0){if(!i.compareByGeneratedPositionsInflated(n,h[f-1]))continue;e+=","}e+=o.encode(n.generatedColumn-s),s=n.generatedColumn,null!=n.source&&(t=this._sources.indexOf(n.source),e+=o.encode(t-g),g=t,e+=o.encode(n.originalLine-1-l),l=n.originalLine-1,e+=o.encode(n.originalColumn-u),u=n.originalColumn,null!=n.name&&(r=this._names.indexOf(n.name),e+=o.encode(r-c),c=r)),p+=e}return p},t.prototype._generateSourcesContent=function(e,n){return e.map(function(e){if(!this._sourcesContents)return null;null!=n&&(e=i.relative(n,e));var r=i.toSetString(e);return Object.prototype.hasOwnProperty.call(this._sourcesContents,r)?this._sourcesContents[r]:null},this)},t.prototype.toJSON=function(){var e={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return null!=this._file&&(e.file=this._file),null!=this._sourceRoot&&(e.sourceRoot=this._sourceRoot),this._sourcesContents&&(e.sourcesContent=this._generateSourcesContent(e.sources,e.sourceRoot)),e},t.prototype.toString=function(){return JSON.stringify(this.toJSON())},n.SourceMapGenerator=t},function(e,n,r){function t(e){return e<0?(-e<<1)+1:(e<<1)+0}function o(e){var n=1===(1&e),r=e>>1;return n?-r:r}var i=r(3),s=5,a=1<>>=s,o>0&&(n|=l),r+=i.encode(n);while(o>0);return r},n.decode=function(e,n,r){var t,a,c=e.length,g=0,p=0;do{if(n>=c)throw new Error("Expected more digits in base 64 VLQ value.");if(a=i.decode(e.charCodeAt(n++)),a===-1)throw new Error("Invalid base64 digit: "+e.charAt(n-1));t=!!(a&l),a&=u,g+=a< =0;c--)s=u[c],"."===s?u.splice(c,1):".."===s?l++:l>0&&(""===s?(u.splice(c+1,l),l=0):(u.splice(c,2),l--));return r=u.join("/"),""===r&&(r=a?"/":"."),i?(i.path=r,o(i)):r}function s(e,n){""===e&&(e="."),""===n&&(n=".");var r=t(n),s=t(e);if(s&&(e=s.path||"/"),r&&!r.scheme)return s&&(r.scheme=s.scheme),o(r);if(r||n.match(y))return n;if(s&&!s.host&&!s.path)return s.host=n,o(s);var a="/"===n.charAt(0)?n:i(e.replace(/\/+$/,"")+"/"+n);return s?(s.path=a,o(s)):a}function a(e,n){""===e&&(e="."),e=e.replace(/\/$/,"");for(var r=0;0!==n.indexOf(e+"/");){var t=e.lastIndexOf("/");if(t<0)return n;if(e=e.slice(0,t),e.match(/^([^\/]+:\/)?\/*$/))return n;++r}return Array(r+1).join("../")+n.substr(e.length+1)}function u(e){return e}function l(e){return g(e)?"$"+e:e}function c(e){return g(e)?e.slice(1):e}function g(e){if(!e)return!1;var n=e.length;if(n<9)return!1;if(95!==e.charCodeAt(n-1)||95!==e.charCodeAt(n-2)||111!==e.charCodeAt(n-3)||116!==e.charCodeAt(n-4)||111!==e.charCodeAt(n-5)||114!==e.charCodeAt(n-6)||112!==e.charCodeAt(n-7)||95!==e.charCodeAt(n-8)||95!==e.charCodeAt(n-9))return!1;for(var r=n-10;r>=0;r--)if(36!==e.charCodeAt(r))return!1;return!0}function p(e,n,r){var t=f(e.source,n.source);return 0!==t?t:(t=e.originalLine-n.originalLine,0!==t?t:(t=e.originalColumn-n.originalColumn,0!==t||r?t:(t=e.generatedColumn-n.generatedColumn,0!==t?t:(t=e.generatedLine-n.generatedLine,0!==t?t:f(e.name,n.name)))))}function h(e,n,r){var t=e.generatedLine-n.generatedLine;return 0!==t?t:(t=e.generatedColumn-n.generatedColumn,0!==t||r?t:(t=f(e.source,n.source),0!==t?t:(t=e.originalLine-n.originalLine,0!==t?t:(t=e.originalColumn-n.originalColumn,0!==t?t:f(e.name,n.name)))))}function f(e,n){return e===n?0:null===e?1:null===n?-1:e>n?1:-1}function d(e,n){var r=e.generatedLine-n.generatedLine;return 0!==r?r:(r=e.generatedColumn-n.generatedColumn,0!==r?r:(r=f(e.source,n.source),0!==r?r:(r=e.originalLine-n.originalLine,0!==r?r:(r=e.originalColumn-n.originalColumn,0!==r?r:f(e.name,n.name)))))}function m(e){return JSON.parse(e.replace(/^\)]}'[^\n]*\n/,""))}function _(e,n,r){if(n=n||"",e&&("/"!==e[e.length-1]&&"/"!==n[0]&&(e+="/"),n=e+n),r){var a=t(r);if(!a)throw new Error("sourceMapURL could not be parsed");if(a.path){var u=a.path.lastIndexOf("/");u>=0&&(a.path=a.path.substring(0,u+1))}n=s(o(a),n)}return i(n)}n.getArg=r;var v=/^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.-]*)(?::(\d+))?(.*)$/,y=/^data:.+\,.+$/;n.urlParse=t,n.urlGenerate=o,n.normalize=i,n.join=s,n.isAbsolute=function(e){return"/"===e.charAt(0)||v.test(e)},n.relative=a;var C=function(){var e=Object.create(null);return!("__proto__"in e)}();n.toSetString=C?u:l,n.fromSetString=C?u:c,n.compareByOriginalPositions=p,n.compareByGeneratedPositionsDeflated=h,n.compareByGeneratedPositionsInflated=d,n.parseSourceMapInput=m,n.computeSourceURL=_},function(e,n,r){function t(){this._array=[],this._set=s?new Map:Object.create(null)}var o=r(4),i=Object.prototype.hasOwnProperty,s="undefined"!=typeof Map;t.fromArray=function(e,n){for(var r=new t,o=0,i=e.length;o=0)return n}else{var r=o.toSetString(e);if(i.call(this._set,r))return this._set[r]}throw new Error('"'+e+'" is not in the set.')},t.prototype.at=function(e){if(e>=0&&er||t==r&&s>=o||i.compareByGeneratedPositionsInflated(e,n)<=0}function o(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}var i=r(4);o.prototype.unsortedForEach=function(e,n){this._array.forEach(e,n)},o.prototype.add=function(e){t(this._last,e)?(this._last=e,this._array.push(e)):(this._sorted=!1,this._array.push(e))},o.prototype.toArray=function(){return this._sorted||(this._array.sort(i.compareByGeneratedPositionsInflated),this._sorted=!0),this._array},n.MappingList=o},function(e,n,r){function t(e,n){var r=e;return"string"==typeof e&&(r=a.parseSourceMapInput(e)),null!=r.sections?new s(r,n):new o(r,n)}function o(e,n){var r=e;"string"==typeof e&&(r=a.parseSourceMapInput(e));var t=a.getArg(r,"version"),o=a.getArg(r,"sources"),i=a.getArg(r,"names",[]),s=a.getArg(r,"sourceRoot",null),u=a.getArg(r,"sourcesContent",null),c=a.getArg(r,"mappings"),g=a.getArg(r,"file",null);if(t!=this._version)throw new Error("Unsupported version: "+t);s&&(s=a.normalize(s)),o=o.map(String).map(a.normalize).map(function(e){return s&&a.isAbsolute(s)&&a.isAbsolute(e)?a.relative(s,e):e}),this._names=l.fromArray(i.map(String),!0),this._sources=l.fromArray(o,!0),this._absoluteSources=this._sources.toArray().map(function(e){return a.computeSourceURL(s,e,n)}),this.sourceRoot=s,this.sourcesContent=u,this._mappings=c,this._sourceMapURL=n,this.file=g}function i(){this.generatedLine=0,this.generatedColumn=0,this.source=null,this.originalLine=null,this.originalColumn=null,this.name=null}function s(e,n){var r=e;"string"==typeof e&&(r=a.parseSourceMapInput(e));var o=a.getArg(r,"version"),i=a.getArg(r,"sections");if(o!=this._version)throw new Error("Unsupported version: "+o);this._sources=new l,this._names=new l;var s={line:-1,column:0};this._sections=i.map(function(e){if(e.url)throw new Error("Support for url field in sections not implemented.");var r=a.getArg(e,"offset"),o=a.getArg(r,"line"),i=a.getArg(r,"column");if(o=0){var i=this._originalMappings[o];if(void 0===e.column)for(var s=i.originalLine;i&&i.originalLine===s;)t.push({line:a.getArg(i,"generatedLine",null),column:a.getArg(i,"generatedColumn",null),lastColumn:a.getArg(i,"lastGeneratedColumn",null)}),i=this._originalMappings[++o];else for(var l=i.originalColumn;i&&i.originalLine===n&&i.originalColumn==l;)t.push({line:a.getArg(i,"generatedLine",null),column:a.getArg(i,"generatedColumn",null),lastColumn:a.getArg(i,"lastGeneratedColumn",null)}),i=this._originalMappings[++o]}return t},n.SourceMapConsumer=t,o.prototype=Object.create(t.prototype),o.prototype.consumer=t,o.prototype._findSourceIndex=function(e){var n=e;if(null!=this.sourceRoot&&(n=a.relative(this.sourceRoot,n)),this._sources.has(n))return this._sources.indexOf(n);var r;for(r=0;r1&&(r.source=d+o[1],d+=o[1],r.originalLine=h+o[2],h=r.originalLine,r.originalLine+=1,r.originalColumn=f+o[3],f=r.originalColumn,o.length>4&&(r.name=m+o[4],m+=o[4])),A.push(r),"number"==typeof r.originalLine&&S.push(r)}g(A,a.compareByGeneratedPositionsDeflated),this.__generatedMappings=A,g(S,a.compareByOriginalPositions),this.__originalMappings=S},o.prototype._findMapping=function(e,n,r,t,o,i){if(e[r]<=0)throw new TypeError("Line must be greater than or equal to 1, got "+e[r]);if(e[t]<0)throw new TypeError("Column must be greater than or equal to 0, got "+e[t]);return u.search(e,n,o,i)},o.prototype.computeColumnSpans=function(){for(var e=0;e=0){var o=this._generatedMappings[r];if(o.generatedLine===n.generatedLine){var i=a.getArg(o,"source",null);null!==i&&(i=this._sources.at(i),i=a.computeSourceURL(this.sourceRoot,i,this._sourceMapURL));var s=a.getArg(o,"name",null);return null!==s&&(s=this._names.at(s)),{source:i,line:a.getArg(o,"originalLine",null),column:a.getArg(o,"originalColumn",null),name:s}}}return{source:null,line:null,column:null,name:null}},o.prototype.hasContentsOfAllSources=function(){return!!this.sourcesContent&&(this.sourcesContent.length>=this._sources.size()&&!this.sourcesContent.some(function(e){return null==e}))},o.prototype.sourceContentFor=function(e,n){if(!this.sourcesContent)return null;var r=this._findSourceIndex(e);if(r>=0)return this.sourcesContent[r];var t=e;null!=this.sourceRoot&&(t=a.relative(this.sourceRoot,t));var o;if(null!=this.sourceRoot&&(o=a.urlParse(this.sourceRoot))){var i=t.replace(/^file:\/\//,"");if("file"==o.scheme&&this._sources.has(i))return this.sourcesContent[this._sources.indexOf(i)];if((!o.path||"/"==o.path)&&this._sources.has("/"+t))return this.sourcesContent[this._sources.indexOf("/"+t)]}if(n)return null;throw new Error('"'+t+'" is not in the SourceMap.')},o.prototype.generatedPositionFor=function(e){var n=a.getArg(e,"source");if(n=this._findSourceIndex(n),n<0)return{line:null,column:null,lastColumn:null};var r={source:n,originalLine:a.getArg(e,"line"),originalColumn:a.getArg(e,"column")},o=this._findMapping(r,this._originalMappings,"originalLine","originalColumn",a.compareByOriginalPositions,a.getArg(e,"bias",t.GREATEST_LOWER_BOUND));if(o>=0){var i=this._originalMappings[o];if(i.source===r.source)return{line:a.getArg(i,"generatedLine",null),column:a.getArg(i,"generatedColumn",null),lastColumn:a.getArg(i,"lastGeneratedColumn",null)}}return{line:null,column:null,lastColumn:null}},n.BasicSourceMapConsumer=o,s.prototype=Object.create(t.prototype),s.prototype.constructor=t,s.prototype._version=3,Object.defineProperty(s.prototype,"sources",{get:function(){for(var e=[],n=0;n0?t-u>1?r(u,t,o,i,s,a):a==n.LEAST_UPPER_BOUND?t1?r(e,u,o,i,s,a):a==n.LEAST_UPPER_BOUND?u:e<0?-1:e}n.GREATEST_LOWER_BOUND=1,n.LEAST_UPPER_BOUND=2,n.search=function(e,t,o,i){if(0===t.length)return-1;var s=r(-1,t.length,e,t,o,i||n.GREATEST_LOWER_BOUND);if(s<0)return-1;for(;s-1>=0&&0===o(t[s],t[s-1],!0);)--s;return s}},function(e,n){function r(e,n,r){var t=e[n];e[n]=e[r],e[r]=t}function t(e,n){return Math.round(e+Math.random()*(n-e))}function o(e,n,i,s){if(i=0;n--)this.prepend(e[n]);else{if(!e[u]&&"string"!=typeof e)throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+e);this.children.unshift(e)}return this},t.prototype.walk=function(e){for(var n,r=0,t=this.children.length;r0){for(n=[],r=0;r 0 && aGenerated.column >= 0\n\t && !aOriginal && !aSource && !aName) {\n\t // Case 1.\n\t return;\n\t }\n\t else if (aGenerated && 'line' in aGenerated && 'column' in aGenerated\n\t && aOriginal && 'line' in aOriginal && 'column' in aOriginal\n\t && aGenerated.line > 0 && aGenerated.column >= 0\n\t && aOriginal.line > 0 && aOriginal.column >= 0\n\t && aSource) {\n\t // Cases 2 and 3.\n\t return;\n\t }\n\t else {\n\t throw new Error('Invalid mapping: ' + JSON.stringify({\n\t generated: aGenerated,\n\t source: aSource,\n\t original: aOriginal,\n\t name: aName\n\t }));\n\t }\n\t };\n\t\n\t/**\n\t * Serialize the accumulated mappings in to the stream of base 64 VLQs\n\t * specified by the source map format.\n\t */\n\tSourceMapGenerator.prototype._serializeMappings =\n\t function SourceMapGenerator_serializeMappings() {\n\t var previousGeneratedColumn = 0;\n\t var previousGeneratedLine = 1;\n\t var previousOriginalColumn = 0;\n\t var previousOriginalLine = 0;\n\t var previousName = 0;\n\t var previousSource = 0;\n\t var result = '';\n\t var next;\n\t var mapping;\n\t var nameIdx;\n\t var sourceIdx;\n\t\n\t var mappings = this._mappings.toArray();\n\t for (var i = 0, len = mappings.length; i < len; i++) {\n\t mapping = mappings[i];\n\t next = ''\n\t\n\t if (mapping.generatedLine !== previousGeneratedLine) {\n\t previousGeneratedColumn = 0;\n\t while (mapping.generatedLine !== previousGeneratedLine) {\n\t next += ';';\n\t previousGeneratedLine++;\n\t }\n\t }\n\t else {\n\t if (i > 0) {\n\t if (!util.compareByGeneratedPositionsInflated(mapping, mappings[i - 1])) {\n\t continue;\n\t }\n\t next += ',';\n\t }\n\t }\n\t\n\t next += base64VLQ.encode(mapping.generatedColumn\n\t - previousGeneratedColumn);\n\t previousGeneratedColumn = mapping.generatedColumn;\n\t\n\t if (mapping.source != null) {\n\t sourceIdx = this._sources.indexOf(mapping.source);\n\t next += base64VLQ.encode(sourceIdx - previousSource);\n\t previousSource = sourceIdx;\n\t\n\t // lines are stored 0-based in SourceMap spec version 3\n\t next += base64VLQ.encode(mapping.originalLine - 1\n\t - previousOriginalLine);\n\t previousOriginalLine = mapping.originalLine - 1;\n\t\n\t next += base64VLQ.encode(mapping.originalColumn\n\t - previousOriginalColumn);\n\t previousOriginalColumn = mapping.originalColumn;\n\t\n\t if (mapping.name != null) {\n\t nameIdx = this._names.indexOf(mapping.name);\n\t next += base64VLQ.encode(nameIdx - previousName);\n\t previousName = nameIdx;\n\t }\n\t }\n\t\n\t result += next;\n\t }\n\t\n\t return result;\n\t };\n\t\n\tSourceMapGenerator.prototype._generateSourcesContent =\n\t function SourceMapGenerator_generateSourcesContent(aSources, aSourceRoot) {\n\t return aSources.map(function (source) {\n\t if (!this._sourcesContents) {\n\t return null;\n\t }\n\t if (aSourceRoot != null) {\n\t source = util.relative(aSourceRoot, source);\n\t }\n\t var key = util.toSetString(source);\n\t return Object.prototype.hasOwnProperty.call(this._sourcesContents, key)\n\t ? this._sourcesContents[key]\n\t : null;\n\t }, this);\n\t };\n\t\n\t/**\n\t * Externalize the source map.\n\t */\n\tSourceMapGenerator.prototype.toJSON =\n\t function SourceMapGenerator_toJSON() {\n\t var map = {\n\t version: this._version,\n\t sources: this._sources.toArray(),\n\t names: this._names.toArray(),\n\t mappings: this._serializeMappings()\n\t };\n\t if (this._file != null) {\n\t map.file = this._file;\n\t }\n\t if (this._sourceRoot != null) {\n\t map.sourceRoot = this._sourceRoot;\n\t }\n\t if (this._sourcesContents) {\n\t map.sourcesContent = this._generateSourcesContent(map.sources, map.sourceRoot);\n\t }\n\t\n\t return map;\n\t };\n\t\n\t/**\n\t * Render the source map being generated to a string.\n\t */\n\tSourceMapGenerator.prototype.toString =\n\t function SourceMapGenerator_toString() {\n\t return JSON.stringify(this.toJSON());\n\t };\n\t\n\texports.SourceMapGenerator = SourceMapGenerator;\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* -*- Mode: js; js-indent-level: 2; -*- */\n\t/*\n\t * Copyright 2011 Mozilla Foundation and contributors\n\t * Licensed under the New BSD license. See LICENSE or:\n\t * http://opensource.org/licenses/BSD-3-Clause\n\t *\n\t * Based on the Base 64 VLQ implementation in Closure Compiler:\n\t * https://code.google.com/p/closure-compiler/source/browse/trunk/src/com/google/debugging/sourcemap/Base64VLQ.java\n\t *\n\t * Copyright 2011 The Closure Compiler Authors. All rights reserved.\n\t * Redistribution and use in source and binary forms, with or without\n\t * modification, are permitted provided that the following conditions are\n\t * met:\n\t *\n\t * * Redistributions of source code must retain the above copyright\n\t * notice, this list of conditions and the following disclaimer.\n\t * * Redistributions in binary form must reproduce the above\n\t * copyright notice, this list of conditions and the following\n\t * disclaimer in the documentation and/or other materials provided\n\t * with the distribution.\n\t * * Neither the name of Google Inc. nor the names of its\n\t * contributors may be used to endorse or promote products derived\n\t * from this software without specific prior written permission.\n\t *\n\t * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n\t * \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n\t * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n\t * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n\t * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n\t * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n\t * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n\t * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n\t * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n\t * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n\t * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\t */\n\t\n\tvar base64 = __webpack_require__(3);\n\t\n\t// A single base 64 digit can contain 6 bits of data. For the base 64 variable\n\t// length quantities we use in the source map spec, the first bit is the sign,\n\t// the next four bits are the actual value, and the 6th bit is the\n\t// continuation bit. The continuation bit tells us whether there are more\n\t// digits in this value following this digit.\n\t//\n\t// Continuation\n\t// | Sign\n\t// | |\n\t// V V\n\t// 101011\n\t\n\tvar VLQ_BASE_SHIFT = 5;\n\t\n\t// binary: 100000\n\tvar VLQ_BASE = 1 << VLQ_BASE_SHIFT;\n\t\n\t// binary: 011111\n\tvar VLQ_BASE_MASK = VLQ_BASE - 1;\n\t\n\t// binary: 100000\n\tvar VLQ_CONTINUATION_BIT = VLQ_BASE;\n\t\n\t/**\n\t * Converts from a two-complement value to a value where the sign bit is\n\t * placed in the least significant bit. For example, as decimals:\n\t * 1 becomes 2 (10 binary), -1 becomes 3 (11 binary)\n\t * 2 becomes 4 (100 binary), -2 becomes 5 (101 binary)\n\t */\n\tfunction toVLQSigned(aValue) {\n\t return aValue < 0\n\t ? ((-aValue) << 1) + 1\n\t : (aValue << 1) + 0;\n\t}\n\t\n\t/**\n\t * Converts to a two-complement value from a value where the sign bit is\n\t * placed in the least significant bit. For example, as decimals:\n\t * 2 (10 binary) becomes 1, 3 (11 binary) becomes -1\n\t * 4 (100 binary) becomes 2, 5 (101 binary) becomes -2\n\t */\n\tfunction fromVLQSigned(aValue) {\n\t var isNegative = (aValue & 1) === 1;\n\t var shifted = aValue >> 1;\n\t return isNegative\n\t ? -shifted\n\t : shifted;\n\t}\n\t\n\t/**\n\t * Returns the base 64 VLQ encoded value.\n\t */\n\texports.encode = function base64VLQ_encode(aValue) {\n\t var encoded = \"\";\n\t var digit;\n\t\n\t var vlq = toVLQSigned(aValue);\n\t\n\t do {\n\t digit = vlq & VLQ_BASE_MASK;\n\t vlq >>>= VLQ_BASE_SHIFT;\n\t if (vlq > 0) {\n\t // There are still more digits in this value, so we must make sure the\n\t // continuation bit is marked.\n\t digit |= VLQ_CONTINUATION_BIT;\n\t }\n\t encoded += base64.encode(digit);\n\t } while (vlq > 0);\n\t\n\t return encoded;\n\t};\n\t\n\t/**\n\t * Decodes the next base 64 VLQ value from the given string and returns the\n\t * value and the rest of the string via the out parameter.\n\t */\n\texports.decode = function base64VLQ_decode(aStr, aIndex, aOutParam) {\n\t var strLen = aStr.length;\n\t var result = 0;\n\t var shift = 0;\n\t var continuation, digit;\n\t\n\t do {\n\t if (aIndex >= strLen) {\n\t throw new Error(\"Expected more digits in base 64 VLQ value.\");\n\t }\n\t\n\t digit = base64.decode(aStr.charCodeAt(aIndex++));\n\t if (digit === -1) {\n\t throw new Error(\"Invalid base64 digit: \" + aStr.charAt(aIndex - 1));\n\t }\n\t\n\t continuation = !!(digit & VLQ_CONTINUATION_BIT);\n\t digit &= VLQ_BASE_MASK;\n\t result = result + (digit << shift);\n\t shift += VLQ_BASE_SHIFT;\n\t } while (continuation);\n\t\n\t aOutParam.value = fromVLQSigned(result);\n\t aOutParam.rest = aIndex;\n\t};\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports) {\n\n\t/* -*- Mode: js; js-indent-level: 2; -*- */\n\t/*\n\t * Copyright 2011 Mozilla Foundation and contributors\n\t * Licensed under the New BSD license. See LICENSE or:\n\t * http://opensource.org/licenses/BSD-3-Clause\n\t */\n\t\n\tvar intToCharMap = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.split('');\n\t\n\t/**\n\t * Encode an integer in the range of 0 to 63 to a single base 64 digit.\n\t */\n\texports.encode = function (number) {\n\t if (0 <= number && number < intToCharMap.length) {\n\t return intToCharMap[number];\n\t }\n\t throw new TypeError(\"Must be between 0 and 63: \" + number);\n\t};\n\t\n\t/**\n\t * Decode a single base 64 character code digit to an integer. Returns -1 on\n\t * failure.\n\t */\n\texports.decode = function (charCode) {\n\t var bigA = 65; // 'A'\n\t var bigZ = 90; // 'Z'\n\t\n\t var littleA = 97; // 'a'\n\t var littleZ = 122; // 'z'\n\t\n\t var zero = 48; // '0'\n\t var nine = 57; // '9'\n\t\n\t var plus = 43; // '+'\n\t var slash = 47; // '/'\n\t\n\t var littleOffset = 26;\n\t var numberOffset = 52;\n\t\n\t // 0 - 25: ABCDEFGHIJKLMNOPQRSTUVWXYZ\n\t if (bigA <= charCode && charCode <= bigZ) {\n\t return (charCode - bigA);\n\t }\n\t\n\t // 26 - 51: abcdefghijklmnopqrstuvwxyz\n\t if (littleA <= charCode && charCode <= littleZ) {\n\t return (charCode - littleA + littleOffset);\n\t }\n\t\n\t // 52 - 61: 0123456789\n\t if (zero <= charCode && charCode <= nine) {\n\t return (charCode - zero + numberOffset);\n\t }\n\t\n\t // 62: +\n\t if (charCode == plus) {\n\t return 62;\n\t }\n\t\n\t // 63: /\n\t if (charCode == slash) {\n\t return 63;\n\t }\n\t\n\t // Invalid base64 digit.\n\t return -1;\n\t};\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports) {\n\n\t/* -*- Mode: js; js-indent-level: 2; -*- */\n\t/*\n\t * Copyright 2011 Mozilla Foundation and contributors\n\t * Licensed under the New BSD license. See LICENSE or:\n\t * http://opensource.org/licenses/BSD-3-Clause\n\t */\n\t\n\t/**\n\t * This is a helper function for getting values from parameter/options\n\t * objects.\n\t *\n\t * @param args The object we are extracting values from\n\t * @param name The name of the property we are getting.\n\t * @param defaultValue An optional value to return if the property is missing\n\t * from the object. If this is not specified and the property is missing, an\n\t * error will be thrown.\n\t */\n\tfunction getArg(aArgs, aName, aDefaultValue) {\n\t if (aName in aArgs) {\n\t return aArgs[aName];\n\t } else if (arguments.length === 3) {\n\t return aDefaultValue;\n\t } else {\n\t throw new Error('\"' + aName + '\" is a required argument.');\n\t }\n\t}\n\texports.getArg = getArg;\n\t\n\tvar urlRegexp = /^(?:([\\w+\\-.]+):)?\\/\\/(?:(\\w+:\\w+)@)?([\\w.-]*)(?::(\\d+))?(.*)$/;\n\tvar dataUrlRegexp = /^data:.+\\,.+$/;\n\t\n\tfunction urlParse(aUrl) {\n\t var match = aUrl.match(urlRegexp);\n\t if (!match) {\n\t return null;\n\t }\n\t return {\n\t scheme: match[1],\n\t auth: match[2],\n\t host: match[3],\n\t port: match[4],\n\t path: match[5]\n\t };\n\t}\n\texports.urlParse = urlParse;\n\t\n\tfunction urlGenerate(aParsedUrl) {\n\t var url = '';\n\t if (aParsedUrl.scheme) {\n\t url += aParsedUrl.scheme + ':';\n\t }\n\t url += '//';\n\t if (aParsedUrl.auth) {\n\t url += aParsedUrl.auth + '@';\n\t }\n\t if (aParsedUrl.host) {\n\t url += aParsedUrl.host;\n\t }\n\t if (aParsedUrl.port) {\n\t url += \":\" + aParsedUrl.port\n\t }\n\t if (aParsedUrl.path) {\n\t url += aParsedUrl.path;\n\t }\n\t return url;\n\t}\n\texports.urlGenerate = urlGenerate;\n\t\n\t/**\n\t * Normalizes a path, or the path portion of a URL:\n\t *\n\t * - Replaces consecutive slashes with one slash.\n\t * - Removes unnecessary '.' parts.\n\t * - Removes unnecessary '/..' parts.\n\t *\n\t * Based on code in the Node.js 'path' core module.\n\t *\n\t * @param aPath The path or url to normalize.\n\t */\n\tfunction normalize(aPath) {\n\t var path = aPath;\n\t var url = urlParse(aPath);\n\t if (url) {\n\t if (!url.path) {\n\t return aPath;\n\t }\n\t path = url.path;\n\t }\n\t var isAbsolute = exports.isAbsolute(path);\n\t\n\t var parts = path.split(/\\/+/);\n\t for (var part, up = 0, i = parts.length - 1; i >= 0; i--) {\n\t part = parts[i];\n\t if (part === '.') {\n\t parts.splice(i, 1);\n\t } else if (part === '..') {\n\t up++;\n\t } else if (up > 0) {\n\t if (part === '') {\n\t // The first part is blank if the path is absolute. Trying to go\n\t // above the root is a no-op. Therefore we can remove all '..' parts\n\t // directly after the root.\n\t parts.splice(i + 1, up);\n\t up = 0;\n\t } else {\n\t parts.splice(i, 2);\n\t up--;\n\t }\n\t }\n\t }\n\t path = parts.join('/');\n\t\n\t if (path === '') {\n\t path = isAbsolute ? '/' : '.';\n\t }\n\t\n\t if (url) {\n\t url.path = path;\n\t return urlGenerate(url);\n\t }\n\t return path;\n\t}\n\texports.normalize = normalize;\n\t\n\t/**\n\t * Joins two paths/URLs.\n\t *\n\t * @param aRoot The root path or URL.\n\t * @param aPath The path or URL to be joined with the root.\n\t *\n\t * - If aPath is a URL or a data URI, aPath is returned, unless aPath is a\n\t * scheme-relative URL: Then the scheme of aRoot, if any, is prepended\n\t * first.\n\t * - Otherwise aPath is a path. If aRoot is a URL, then its path portion\n\t * is updated with the result and aRoot is returned. Otherwise the result\n\t * is returned.\n\t * - If aPath is absolute, the result is aPath.\n\t * - Otherwise the two paths are joined with a slash.\n\t * - Joining for example 'http://' and 'www.example.com' is also supported.\n\t */\n\tfunction join(aRoot, aPath) {\n\t if (aRoot === \"\") {\n\t aRoot = \".\";\n\t }\n\t if (aPath === \"\") {\n\t aPath = \".\";\n\t }\n\t var aPathUrl = urlParse(aPath);\n\t var aRootUrl = urlParse(aRoot);\n\t if (aRootUrl) {\n\t aRoot = aRootUrl.path || '/';\n\t }\n\t\n\t // `join(foo, '//www.example.org')`\n\t if (aPathUrl && !aPathUrl.scheme) {\n\t if (aRootUrl) {\n\t aPathUrl.scheme = aRootUrl.scheme;\n\t }\n\t return urlGenerate(aPathUrl);\n\t }\n\t\n\t if (aPathUrl || aPath.match(dataUrlRegexp)) {\n\t return aPath;\n\t }\n\t\n\t // `join('http://', 'www.example.com')`\n\t if (aRootUrl && !aRootUrl.host && !aRootUrl.path) {\n\t aRootUrl.host = aPath;\n\t return urlGenerate(aRootUrl);\n\t }\n\t\n\t var joined = aPath.charAt(0) === '/'\n\t ? aPath\n\t : normalize(aRoot.replace(/\\/+$/, '') + '/' + aPath);\n\t\n\t if (aRootUrl) {\n\t aRootUrl.path = joined;\n\t return urlGenerate(aRootUrl);\n\t }\n\t return joined;\n\t}\n\texports.join = join;\n\t\n\texports.isAbsolute = function (aPath) {\n\t return aPath.charAt(0) === '/' || urlRegexp.test(aPath);\n\t};\n\t\n\t/**\n\t * Make a path relative to a URL or another path.\n\t *\n\t * @param aRoot The root path or URL.\n\t * @param aPath The path or URL to be made relative to aRoot.\n\t */\n\tfunction relative(aRoot, aPath) {\n\t if (aRoot === \"\") {\n\t aRoot = \".\";\n\t }\n\t\n\t aRoot = aRoot.replace(/\\/$/, '');\n\t\n\t // It is possible for the path to be above the root. In this case, simply\n\t // checking whether the root is a prefix of the path won't work. Instead, we\n\t // need to remove components from the root one by one, until either we find\n\t // a prefix that fits, or we run out of components to remove.\n\t var level = 0;\n\t while (aPath.indexOf(aRoot + '/') !== 0) {\n\t var index = aRoot.lastIndexOf(\"/\");\n\t if (index < 0) {\n\t return aPath;\n\t }\n\t\n\t // If the only part of the root that is left is the scheme (i.e. http://,\n\t // file:///, etc.), one or more slashes (/), or simply nothing at all, we\n\t // have exhausted all components, so the path is not relative to the root.\n\t aRoot = aRoot.slice(0, index);\n\t if (aRoot.match(/^([^\\/]+:\\/)?\\/*$/)) {\n\t return aPath;\n\t }\n\t\n\t ++level;\n\t }\n\t\n\t // Make sure we add a \"../\" for each component we removed from the root.\n\t return Array(level + 1).join(\"../\") + aPath.substr(aRoot.length + 1);\n\t}\n\texports.relative = relative;\n\t\n\tvar supportsNullProto = (function () {\n\t var obj = Object.create(null);\n\t return !('__proto__' in obj);\n\t}());\n\t\n\tfunction identity (s) {\n\t return s;\n\t}\n\t\n\t/**\n\t * Because behavior goes wacky when you set `__proto__` on objects, we\n\t * have to prefix all the strings in our set with an arbitrary character.\n\t *\n\t * See https://github.com/mozilla/source-map/pull/31 and\n\t * https://github.com/mozilla/source-map/issues/30\n\t *\n\t * @param String aStr\n\t */\n\tfunction toSetString(aStr) {\n\t if (isProtoString(aStr)) {\n\t return '$' + aStr;\n\t }\n\t\n\t return aStr;\n\t}\n\texports.toSetString = supportsNullProto ? identity : toSetString;\n\t\n\tfunction fromSetString(aStr) {\n\t if (isProtoString(aStr)) {\n\t return aStr.slice(1);\n\t }\n\t\n\t return aStr;\n\t}\n\texports.fromSetString = supportsNullProto ? identity : fromSetString;\n\t\n\tfunction isProtoString(s) {\n\t if (!s) {\n\t return false;\n\t }\n\t\n\t var length = s.length;\n\t\n\t if (length < 9 /* \"__proto__\".length */) {\n\t return false;\n\t }\n\t\n\t if (s.charCodeAt(length - 1) !== 95 /* '_' */ ||\n\t s.charCodeAt(length - 2) !== 95 /* '_' */ ||\n\t s.charCodeAt(length - 3) !== 111 /* 'o' */ ||\n\t s.charCodeAt(length - 4) !== 116 /* 't' */ ||\n\t s.charCodeAt(length - 5) !== 111 /* 'o' */ ||\n\t s.charCodeAt(length - 6) !== 114 /* 'r' */ ||\n\t s.charCodeAt(length - 7) !== 112 /* 'p' */ ||\n\t s.charCodeAt(length - 8) !== 95 /* '_' */ ||\n\t s.charCodeAt(length - 9) !== 95 /* '_' */) {\n\t return false;\n\t }\n\t\n\t for (var i = length - 10; i >= 0; i--) {\n\t if (s.charCodeAt(i) !== 36 /* '$' */) {\n\t return false;\n\t }\n\t }\n\t\n\t return true;\n\t}\n\t\n\t/**\n\t * Comparator between two mappings where the original positions are compared.\n\t *\n\t * Optionally pass in `true` as `onlyCompareGenerated` to consider two\n\t * mappings with the same original source/line/column, but different generated\n\t * line and column the same. Useful when searching for a mapping with a\n\t * stubbed out mapping.\n\t */\n\tfunction compareByOriginalPositions(mappingA, mappingB, onlyCompareOriginal) {\n\t var cmp = strcmp(mappingA.source, mappingB.source);\n\t if (cmp !== 0) {\n\t return cmp;\n\t }\n\t\n\t cmp = mappingA.originalLine - mappingB.originalLine;\n\t if (cmp !== 0) {\n\t return cmp;\n\t }\n\t\n\t cmp = mappingA.originalColumn - mappingB.originalColumn;\n\t if (cmp !== 0 || onlyCompareOriginal) {\n\t return cmp;\n\t }\n\t\n\t cmp = mappingA.generatedColumn - mappingB.generatedColumn;\n\t if (cmp !== 0) {\n\t return cmp;\n\t }\n\t\n\t cmp = mappingA.generatedLine - mappingB.generatedLine;\n\t if (cmp !== 0) {\n\t return cmp;\n\t }\n\t\n\t return strcmp(mappingA.name, mappingB.name);\n\t}\n\texports.compareByOriginalPositions = compareByOriginalPositions;\n\t\n\t/**\n\t * Comparator between two mappings with deflated source and name indices where\n\t * the generated positions are compared.\n\t *\n\t * Optionally pass in `true` as `onlyCompareGenerated` to consider two\n\t * mappings with the same generated line and column, but different\n\t * source/name/original line and column the same. Useful when searching for a\n\t * mapping with a stubbed out mapping.\n\t */\n\tfunction compareByGeneratedPositionsDeflated(mappingA, mappingB, onlyCompareGenerated) {\n\t var cmp = mappingA.generatedLine - mappingB.generatedLine;\n\t if (cmp !== 0) {\n\t return cmp;\n\t }\n\t\n\t cmp = mappingA.generatedColumn - mappingB.generatedColumn;\n\t if (cmp !== 0 || onlyCompareGenerated) {\n\t return cmp;\n\t }\n\t\n\t cmp = strcmp(mappingA.source, mappingB.source);\n\t if (cmp !== 0) {\n\t return cmp;\n\t }\n\t\n\t cmp = mappingA.originalLine - mappingB.originalLine;\n\t if (cmp !== 0) {\n\t return cmp;\n\t }\n\t\n\t cmp = mappingA.originalColumn - mappingB.originalColumn;\n\t if (cmp !== 0) {\n\t return cmp;\n\t }\n\t\n\t return strcmp(mappingA.name, mappingB.name);\n\t}\n\texports.compareByGeneratedPositionsDeflated = compareByGeneratedPositionsDeflated;\n\t\n\tfunction strcmp(aStr1, aStr2) {\n\t if (aStr1 === aStr2) {\n\t return 0;\n\t }\n\t\n\t if (aStr1 === null) {\n\t return 1; // aStr2 !== null\n\t }\n\t\n\t if (aStr2 === null) {\n\t return -1; // aStr1 !== null\n\t }\n\t\n\t if (aStr1 > aStr2) {\n\t return 1;\n\t }\n\t\n\t return -1;\n\t}\n\t\n\t/**\n\t * Comparator between two mappings with inflated source and name strings where\n\t * the generated positions are compared.\n\t */\n\tfunction compareByGeneratedPositionsInflated(mappingA, mappingB) {\n\t var cmp = mappingA.generatedLine - mappingB.generatedLine;\n\t if (cmp !== 0) {\n\t return cmp;\n\t }\n\t\n\t cmp = mappingA.generatedColumn - mappingB.generatedColumn;\n\t if (cmp !== 0) {\n\t return cmp;\n\t }\n\t\n\t cmp = strcmp(mappingA.source, mappingB.source);\n\t if (cmp !== 0) {\n\t return cmp;\n\t }\n\t\n\t cmp = mappingA.originalLine - mappingB.originalLine;\n\t if (cmp !== 0) {\n\t return cmp;\n\t }\n\t\n\t cmp = mappingA.originalColumn - mappingB.originalColumn;\n\t if (cmp !== 0) {\n\t return cmp;\n\t }\n\t\n\t return strcmp(mappingA.name, mappingB.name);\n\t}\n\texports.compareByGeneratedPositionsInflated = compareByGeneratedPositionsInflated;\n\t\n\t/**\n\t * Strip any JSON XSSI avoidance prefix from the string (as documented\n\t * in the source maps specification), and then parse the string as\n\t * JSON.\n\t */\n\tfunction parseSourceMapInput(str) {\n\t return JSON.parse(str.replace(/^\\)]}'[^\\n]*\\n/, ''));\n\t}\n\texports.parseSourceMapInput = parseSourceMapInput;\n\t\n\t/**\n\t * Compute the URL of a source given the the source root, the source's\n\t * URL, and the source map's URL.\n\t */\n\tfunction computeSourceURL(sourceRoot, sourceURL, sourceMapURL) {\n\t sourceURL = sourceURL || '';\n\t\n\t if (sourceRoot) {\n\t // This follows what Chrome does.\n\t if (sourceRoot[sourceRoot.length - 1] !== '/' && sourceURL[0] !== '/') {\n\t sourceRoot += '/';\n\t }\n\t // The spec says:\n\t // Line 4: An optional source root, useful for relocating source\n\t // files on a server or removing repeated values in the\n\t // “sources” entry. This value is prepended to the individual\n\t // entries in the “source” field.\n\t sourceURL = sourceRoot + sourceURL;\n\t }\n\t\n\t // Historically, SourceMapConsumer did not take the sourceMapURL as\n\t // a parameter. This mode is still somewhat supported, which is why\n\t // this code block is conditional. However, it's preferable to pass\n\t // the source map URL to SourceMapConsumer, so that this function\n\t // can implement the source URL resolution algorithm as outlined in\n\t // the spec. This block is basically the equivalent of:\n\t // new URL(sourceURL, sourceMapURL).toString()\n\t // ... except it avoids using URL, which wasn't available in the\n\t // older releases of node still supported by this library.\n\t //\n\t // The spec says:\n\t // If the sources are not absolute URLs after prepending of the\n\t // “sourceRoot”, the sources are resolved relative to the\n\t // SourceMap (like resolving script src in a html document).\n\t if (sourceMapURL) {\n\t var parsed = urlParse(sourceMapURL);\n\t if (!parsed) {\n\t throw new Error(\"sourceMapURL could not be parsed\");\n\t }\n\t if (parsed.path) {\n\t // Strip the last path component, but keep the \"/\".\n\t var index = parsed.path.lastIndexOf('/');\n\t if (index >= 0) {\n\t parsed.path = parsed.path.substring(0, index + 1);\n\t }\n\t }\n\t sourceURL = join(urlGenerate(parsed), sourceURL);\n\t }\n\t\n\t return normalize(sourceURL);\n\t}\n\texports.computeSourceURL = computeSourceURL;\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* -*- Mode: js; js-indent-level: 2; -*- */\n\t/*\n\t * Copyright 2011 Mozilla Foundation and contributors\n\t * Licensed under the New BSD license. See LICENSE or:\n\t * http://opensource.org/licenses/BSD-3-Clause\n\t */\n\t\n\tvar util = __webpack_require__(4);\n\tvar has = Object.prototype.hasOwnProperty;\n\tvar hasNativeMap = typeof Map !== \"undefined\";\n\t\n\t/**\n\t * A data structure which is a combination of an array and a set. Adding a new\n\t * member is O(1), testing for membership is O(1), and finding the index of an\n\t * element is O(1). Removing elements from the set is not supported. Only\n\t * strings are supported for membership.\n\t */\n\tfunction ArraySet() {\n\t this._array = [];\n\t this._set = hasNativeMap ? new Map() : Object.create(null);\n\t}\n\t\n\t/**\n\t * Static method for creating ArraySet instances from an existing array.\n\t */\n\tArraySet.fromArray = function ArraySet_fromArray(aArray, aAllowDuplicates) {\n\t var set = new ArraySet();\n\t for (var i = 0, len = aArray.length; i < len; i++) {\n\t set.add(aArray[i], aAllowDuplicates);\n\t }\n\t return set;\n\t};\n\t\n\t/**\n\t * Return how many unique items are in this ArraySet. If duplicates have been\n\t * added, than those do not count towards the size.\n\t *\n\t * @returns Number\n\t */\n\tArraySet.prototype.size = function ArraySet_size() {\n\t return hasNativeMap ? this._set.size : Object.getOwnPropertyNames(this._set).length;\n\t};\n\t\n\t/**\n\t * Add the given string to this set.\n\t *\n\t * @param String aStr\n\t */\n\tArraySet.prototype.add = function ArraySet_add(aStr, aAllowDuplicates) {\n\t var sStr = hasNativeMap ? aStr : util.toSetString(aStr);\n\t var isDuplicate = hasNativeMap ? this.has(aStr) : has.call(this._set, sStr);\n\t var idx = this._array.length;\n\t if (!isDuplicate || aAllowDuplicates) {\n\t this._array.push(aStr);\n\t }\n\t if (!isDuplicate) {\n\t if (hasNativeMap) {\n\t this._set.set(aStr, idx);\n\t } else {\n\t this._set[sStr] = idx;\n\t }\n\t }\n\t};\n\t\n\t/**\n\t * Is the given string a member of this set?\n\t *\n\t * @param String aStr\n\t */\n\tArraySet.prototype.has = function ArraySet_has(aStr) {\n\t if (hasNativeMap) {\n\t return this._set.has(aStr);\n\t } else {\n\t var sStr = util.toSetString(aStr);\n\t return has.call(this._set, sStr);\n\t }\n\t};\n\t\n\t/**\n\t * What is the index of the given string in the array?\n\t *\n\t * @param String aStr\n\t */\n\tArraySet.prototype.indexOf = function ArraySet_indexOf(aStr) {\n\t if (hasNativeMap) {\n\t var idx = this._set.get(aStr);\n\t if (idx >= 0) {\n\t return idx;\n\t }\n\t } else {\n\t var sStr = util.toSetString(aStr);\n\t if (has.call(this._set, sStr)) {\n\t return this._set[sStr];\n\t }\n\t }\n\t\n\t throw new Error('\"' + aStr + '\" is not in the set.');\n\t};\n\t\n\t/**\n\t * What is the element at the given index?\n\t *\n\t * @param Number aIdx\n\t */\n\tArraySet.prototype.at = function ArraySet_at(aIdx) {\n\t if (aIdx >= 0 && aIdx < this._array.length) {\n\t return this._array[aIdx];\n\t }\n\t throw new Error('No element indexed by ' + aIdx);\n\t};\n\t\n\t/**\n\t * Returns the array representation of this set (which has the proper indices\n\t * indicated by indexOf). Note that this is a copy of the internal array used\n\t * for storing the members so that no one can mess with internal state.\n\t */\n\tArraySet.prototype.toArray = function ArraySet_toArray() {\n\t return this._array.slice();\n\t};\n\t\n\texports.ArraySet = ArraySet;\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* -*- Mode: js; js-indent-level: 2; -*- */\n\t/*\n\t * Copyright 2014 Mozilla Foundation and contributors\n\t * Licensed under the New BSD license. See LICENSE or:\n\t * http://opensource.org/licenses/BSD-3-Clause\n\t */\n\t\n\tvar util = __webpack_require__(4);\n\t\n\t/**\n\t * Determine whether mappingB is after mappingA with respect to generated\n\t * position.\n\t */\n\tfunction generatedPositionAfter(mappingA, mappingB) {\n\t // Optimized for most common case\n\t var lineA = mappingA.generatedLine;\n\t var lineB = mappingB.generatedLine;\n\t var columnA = mappingA.generatedColumn;\n\t var columnB = mappingB.generatedColumn;\n\t return lineB > lineA || lineB == lineA && columnB >= columnA ||\n\t util.compareByGeneratedPositionsInflated(mappingA, mappingB) <= 0;\n\t}\n\t\n\t/**\n\t * A data structure to provide a sorted view of accumulated mappings in a\n\t * performance conscious manner. It trades a neglibable overhead in general\n\t * case for a large speedup in case of mappings being added in order.\n\t */\n\tfunction MappingList() {\n\t this._array = [];\n\t this._sorted = true;\n\t // Serves as infimum\n\t this._last = {generatedLine: -1, generatedColumn: 0};\n\t}\n\t\n\t/**\n\t * Iterate through internal items. This method takes the same arguments that\n\t * `Array.prototype.forEach` takes.\n\t *\n\t * NOTE: The order of the mappings is NOT guaranteed.\n\t */\n\tMappingList.prototype.unsortedForEach =\n\t function MappingList_forEach(aCallback, aThisArg) {\n\t this._array.forEach(aCallback, aThisArg);\n\t };\n\t\n\t/**\n\t * Add the given source mapping.\n\t *\n\t * @param Object aMapping\n\t */\n\tMappingList.prototype.add = function MappingList_add(aMapping) {\n\t if (generatedPositionAfter(this._last, aMapping)) {\n\t this._last = aMapping;\n\t this._array.push(aMapping);\n\t } else {\n\t this._sorted = false;\n\t this._array.push(aMapping);\n\t }\n\t};\n\t\n\t/**\n\t * Returns the flat, sorted array of mappings. The mappings are sorted by\n\t * generated position.\n\t *\n\t * WARNING: This method returns internal data without copying, for\n\t * performance. The return value must NOT be mutated, and should be treated as\n\t * an immutable borrow. If you want to take ownership, you must make your own\n\t * copy.\n\t */\n\tMappingList.prototype.toArray = function MappingList_toArray() {\n\t if (!this._sorted) {\n\t this._array.sort(util.compareByGeneratedPositionsInflated);\n\t this._sorted = true;\n\t }\n\t return this._array;\n\t};\n\t\n\texports.MappingList = MappingList;\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* -*- Mode: js; js-indent-level: 2; -*- */\n\t/*\n\t * Copyright 2011 Mozilla Foundation and contributors\n\t * Licensed under the New BSD license. See LICENSE or:\n\t * http://opensource.org/licenses/BSD-3-Clause\n\t */\n\t\n\tvar util = __webpack_require__(4);\n\tvar binarySearch = __webpack_require__(8);\n\tvar ArraySet = __webpack_require__(5).ArraySet;\n\tvar base64VLQ = __webpack_require__(2);\n\tvar quickSort = __webpack_require__(9).quickSort;\n\t\n\tfunction SourceMapConsumer(aSourceMap, aSourceMapURL) {\n\t var sourceMap = aSourceMap;\n\t if (typeof aSourceMap === 'string') {\n\t sourceMap = util.parseSourceMapInput(aSourceMap);\n\t }\n\t\n\t return sourceMap.sections != null\n\t ? new IndexedSourceMapConsumer(sourceMap, aSourceMapURL)\n\t : new BasicSourceMapConsumer(sourceMap, aSourceMapURL);\n\t}\n\t\n\tSourceMapConsumer.fromSourceMap = function(aSourceMap, aSourceMapURL) {\n\t return BasicSourceMapConsumer.fromSourceMap(aSourceMap, aSourceMapURL);\n\t}\n\t\n\t/**\n\t * The version of the source mapping spec that we are consuming.\n\t */\n\tSourceMapConsumer.prototype._version = 3;\n\t\n\t// `__generatedMappings` and `__originalMappings` are arrays that hold the\n\t// parsed mapping coordinates from the source map's \"mappings\" attribute. They\n\t// are lazily instantiated, accessed via the `_generatedMappings` and\n\t// `_originalMappings` getters respectively, and we only parse the mappings\n\t// and create these arrays once queried for a source location. We jump through\n\t// these hoops because there can be many thousands of mappings, and parsing\n\t// them is expensive, so we only want to do it if we must.\n\t//\n\t// Each object in the arrays is of the form:\n\t//\n\t// {\n\t// generatedLine: The line number in the generated code,\n\t// generatedColumn: The column number in the generated code,\n\t// source: The path to the original source file that generated this\n\t// chunk of code,\n\t// originalLine: The line number in the original source that\n\t// corresponds to this chunk of generated code,\n\t// originalColumn: The column number in the original source that\n\t// corresponds to this chunk of generated code,\n\t// name: The name of the original symbol which generated this chunk of\n\t// code.\n\t// }\n\t//\n\t// All properties except for `generatedLine` and `generatedColumn` can be\n\t// `null`.\n\t//\n\t// `_generatedMappings` is ordered by the generated positions.\n\t//\n\t// `_originalMappings` is ordered by the original positions.\n\t\n\tSourceMapConsumer.prototype.__generatedMappings = null;\n\tObject.defineProperty(SourceMapConsumer.prototype, '_generatedMappings', {\n\t configurable: true,\n\t enumerable: true,\n\t get: function () {\n\t if (!this.__generatedMappings) {\n\t this._parseMappings(this._mappings, this.sourceRoot);\n\t }\n\t\n\t return this.__generatedMappings;\n\t }\n\t});\n\t\n\tSourceMapConsumer.prototype.__originalMappings = null;\n\tObject.defineProperty(SourceMapConsumer.prototype, '_originalMappings', {\n\t configurable: true,\n\t enumerable: true,\n\t get: function () {\n\t if (!this.__originalMappings) {\n\t this._parseMappings(this._mappings, this.sourceRoot);\n\t }\n\t\n\t return this.__originalMappings;\n\t }\n\t});\n\t\n\tSourceMapConsumer.prototype._charIsMappingSeparator =\n\t function SourceMapConsumer_charIsMappingSeparator(aStr, index) {\n\t var c = aStr.charAt(index);\n\t return c === \";\" || c === \",\";\n\t };\n\t\n\t/**\n\t * Parse the mappings in a string in to a data structure which we can easily\n\t * query (the ordered arrays in the `this.__generatedMappings` and\n\t * `this.__originalMappings` properties).\n\t */\n\tSourceMapConsumer.prototype._parseMappings =\n\t function SourceMapConsumer_parseMappings(aStr, aSourceRoot) {\n\t throw new Error(\"Subclasses must implement _parseMappings\");\n\t };\n\t\n\tSourceMapConsumer.GENERATED_ORDER = 1;\n\tSourceMapConsumer.ORIGINAL_ORDER = 2;\n\t\n\tSourceMapConsumer.GREATEST_LOWER_BOUND = 1;\n\tSourceMapConsumer.LEAST_UPPER_BOUND = 2;\n\t\n\t/**\n\t * Iterate over each mapping between an original source/line/column and a\n\t * generated line/column in this source map.\n\t *\n\t * @param Function aCallback\n\t * The function that is called with each mapping.\n\t * @param Object aContext\n\t * Optional. If specified, this object will be the value of `this` every\n\t * time that `aCallback` is called.\n\t * @param aOrder\n\t * Either `SourceMapConsumer.GENERATED_ORDER` or\n\t * `SourceMapConsumer.ORIGINAL_ORDER`. Specifies whether you want to\n\t * iterate over the mappings sorted by the generated file's line/column\n\t * order or the original's source/line/column order, respectively. Defaults to\n\t * `SourceMapConsumer.GENERATED_ORDER`.\n\t */\n\tSourceMapConsumer.prototype.eachMapping =\n\t function SourceMapConsumer_eachMapping(aCallback, aContext, aOrder) {\n\t var context = aContext || null;\n\t var order = aOrder || SourceMapConsumer.GENERATED_ORDER;\n\t\n\t var mappings;\n\t switch (order) {\n\t case SourceMapConsumer.GENERATED_ORDER:\n\t mappings = this._generatedMappings;\n\t break;\n\t case SourceMapConsumer.ORIGINAL_ORDER:\n\t mappings = this._originalMappings;\n\t break;\n\t default:\n\t throw new Error(\"Unknown order of iteration.\");\n\t }\n\t\n\t var sourceRoot = this.sourceRoot;\n\t mappings.map(function (mapping) {\n\t var source = mapping.source === null ? null : this._sources.at(mapping.source);\n\t source = util.computeSourceURL(sourceRoot, source, this._sourceMapURL);\n\t return {\n\t source: source,\n\t generatedLine: mapping.generatedLine,\n\t generatedColumn: mapping.generatedColumn,\n\t originalLine: mapping.originalLine,\n\t originalColumn: mapping.originalColumn,\n\t name: mapping.name === null ? null : this._names.at(mapping.name)\n\t };\n\t }, this).forEach(aCallback, context);\n\t };\n\t\n\t/**\n\t * Returns all generated line and column information for the original source,\n\t * line, and column provided. If no column is provided, returns all mappings\n\t * corresponding to a either the line we are searching for or the next\n\t * closest line that has any mappings. Otherwise, returns all mappings\n\t * corresponding to the given line and either the column we are searching for\n\t * or the next closest column that has any offsets.\n\t *\n\t * The only argument is an object with the following properties:\n\t *\n\t * - source: The filename of the original source.\n\t * - line: The line number in the original source. The line number is 1-based.\n\t * - column: Optional. the column number in the original source.\n\t * The column number is 0-based.\n\t *\n\t * and an array of objects is returned, each with the following properties:\n\t *\n\t * - line: The line number in the generated source, or null. The\n\t * line number is 1-based.\n\t * - column: The column number in the generated source, or null.\n\t * The column number is 0-based.\n\t */\n\tSourceMapConsumer.prototype.allGeneratedPositionsFor =\n\t function SourceMapConsumer_allGeneratedPositionsFor(aArgs) {\n\t var line = util.getArg(aArgs, 'line');\n\t\n\t // When there is no exact match, BasicSourceMapConsumer.prototype._findMapping\n\t // returns the index of the closest mapping less than the needle. By\n\t // setting needle.originalColumn to 0, we thus find the last mapping for\n\t // the given line, provided such a mapping exists.\n\t var needle = {\n\t source: util.getArg(aArgs, 'source'),\n\t originalLine: line,\n\t originalColumn: util.getArg(aArgs, 'column', 0)\n\t };\n\t\n\t needle.source = this._findSourceIndex(needle.source);\n\t if (needle.source < 0) {\n\t return [];\n\t }\n\t\n\t var mappings = [];\n\t\n\t var index = this._findMapping(needle,\n\t this._originalMappings,\n\t \"originalLine\",\n\t \"originalColumn\",\n\t util.compareByOriginalPositions,\n\t binarySearch.LEAST_UPPER_BOUND);\n\t if (index >= 0) {\n\t var mapping = this._originalMappings[index];\n\t\n\t if (aArgs.column === undefined) {\n\t var originalLine = mapping.originalLine;\n\t\n\t // Iterate until either we run out of mappings, or we run into\n\t // a mapping for a different line than the one we found. Since\n\t // mappings are sorted, this is guaranteed to find all mappings for\n\t // the line we found.\n\t while (mapping && mapping.originalLine === originalLine) {\n\t mappings.push({\n\t line: util.getArg(mapping, 'generatedLine', null),\n\t column: util.getArg(mapping, 'generatedColumn', null),\n\t lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null)\n\t });\n\t\n\t mapping = this._originalMappings[++index];\n\t }\n\t } else {\n\t var originalColumn = mapping.originalColumn;\n\t\n\t // Iterate until either we run out of mappings, or we run into\n\t // a mapping for a different line than the one we were searching for.\n\t // Since mappings are sorted, this is guaranteed to find all mappings for\n\t // the line we are searching for.\n\t while (mapping &&\n\t mapping.originalLine === line &&\n\t mapping.originalColumn == originalColumn) {\n\t mappings.push({\n\t line: util.getArg(mapping, 'generatedLine', null),\n\t column: util.getArg(mapping, 'generatedColumn', null),\n\t lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null)\n\t });\n\t\n\t mapping = this._originalMappings[++index];\n\t }\n\t }\n\t }\n\t\n\t return mappings;\n\t };\n\t\n\texports.SourceMapConsumer = SourceMapConsumer;\n\t\n\t/**\n\t * A BasicSourceMapConsumer instance represents a parsed source map which we can\n\t * query for information about the original file positions by giving it a file\n\t * position in the generated source.\n\t *\n\t * The first parameter is the raw source map (either as a JSON string, or\n\t * already parsed to an object). According to the spec, source maps have the\n\t * following attributes:\n\t *\n\t * - version: Which version of the source map spec this map is following.\n\t * - sources: An array of URLs to the original source files.\n\t * - names: An array of identifiers which can be referrenced by individual mappings.\n\t * - sourceRoot: Optional. The URL root from which all sources are relative.\n\t * - sourcesContent: Optional. An array of contents of the original source files.\n\t * - mappings: A string of base64 VLQs which contain the actual mappings.\n\t * - file: Optional. The generated file this source map is associated with.\n\t *\n\t * Here is an example source map, taken from the source map spec[0]:\n\t *\n\t * {\n\t * version : 3,\n\t * file: \"out.js\",\n\t * sourceRoot : \"\",\n\t * sources: [\"foo.js\", \"bar.js\"],\n\t * names: [\"src\", \"maps\", \"are\", \"fun\"],\n\t * mappings: \"AA,AB;;ABCDE;\"\n\t * }\n\t *\n\t * The second parameter, if given, is a string whose value is the URL\n\t * at which the source map was found. This URL is used to compute the\n\t * sources array.\n\t *\n\t * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit?pli=1#\n\t */\n\tfunction BasicSourceMapConsumer(aSourceMap, aSourceMapURL) {\n\t var sourceMap = aSourceMap;\n\t if (typeof aSourceMap === 'string') {\n\t sourceMap = util.parseSourceMapInput(aSourceMap);\n\t }\n\t\n\t var version = util.getArg(sourceMap, 'version');\n\t var sources = util.getArg(sourceMap, 'sources');\n\t // Sass 3.3 leaves out the 'names' array, so we deviate from the spec (which\n\t // requires the array) to play nice here.\n\t var names = util.getArg(sourceMap, 'names', []);\n\t var sourceRoot = util.getArg(sourceMap, 'sourceRoot', null);\n\t var sourcesContent = util.getArg(sourceMap, 'sourcesContent', null);\n\t var mappings = util.getArg(sourceMap, 'mappings');\n\t var file = util.getArg(sourceMap, 'file', null);\n\t\n\t // Once again, Sass deviates from the spec and supplies the version as a\n\t // string rather than a number, so we use loose equality checking here.\n\t if (version != this._version) {\n\t throw new Error('Unsupported version: ' + version);\n\t }\n\t\n\t if (sourceRoot) {\n\t sourceRoot = util.normalize(sourceRoot);\n\t }\n\t\n\t sources = sources\n\t .map(String)\n\t // Some source maps produce relative source paths like \"./foo.js\" instead of\n\t // \"foo.js\". Normalize these first so that future comparisons will succeed.\n\t // See bugzil.la/1090768.\n\t .map(util.normalize)\n\t // Always ensure that absolute sources are internally stored relative to\n\t // the source root, if the source root is absolute. Not doing this would\n\t // be particularly problematic when the source root is a prefix of the\n\t // source (valid, but why??). See github issue #199 and bugzil.la/1188982.\n\t .map(function (source) {\n\t return sourceRoot && util.isAbsolute(sourceRoot) && util.isAbsolute(source)\n\t ? util.relative(sourceRoot, source)\n\t : source;\n\t });\n\t\n\t // Pass `true` below to allow duplicate names and sources. While source maps\n\t // are intended to be compressed and deduplicated, the TypeScript compiler\n\t // sometimes generates source maps with duplicates in them. See Github issue\n\t // #72 and bugzil.la/889492.\n\t this._names = ArraySet.fromArray(names.map(String), true);\n\t this._sources = ArraySet.fromArray(sources, true);\n\t\n\t this._absoluteSources = this._sources.toArray().map(function (s) {\n\t return util.computeSourceURL(sourceRoot, s, aSourceMapURL);\n\t });\n\t\n\t this.sourceRoot = sourceRoot;\n\t this.sourcesContent = sourcesContent;\n\t this._mappings = mappings;\n\t this._sourceMapURL = aSourceMapURL;\n\t this.file = file;\n\t}\n\t\n\tBasicSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype);\n\tBasicSourceMapConsumer.prototype.consumer = SourceMapConsumer;\n\t\n\t/**\n\t * Utility function to find the index of a source. Returns -1 if not\n\t * found.\n\t */\n\tBasicSourceMapConsumer.prototype._findSourceIndex = function(aSource) {\n\t var relativeSource = aSource;\n\t if (this.sourceRoot != null) {\n\t relativeSource = util.relative(this.sourceRoot, relativeSource);\n\t }\n\t\n\t if (this._sources.has(relativeSource)) {\n\t return this._sources.indexOf(relativeSource);\n\t }\n\t\n\t // Maybe aSource is an absolute URL as returned by |sources|. In\n\t // this case we can't simply undo the transform.\n\t var i;\n\t for (i = 0; i < this._absoluteSources.length; ++i) {\n\t if (this._absoluteSources[i] == aSource) {\n\t return i;\n\t }\n\t }\n\t\n\t return -1;\n\t};\n\t\n\t/**\n\t * Create a BasicSourceMapConsumer from a SourceMapGenerator.\n\t *\n\t * @param SourceMapGenerator aSourceMap\n\t * The source map that will be consumed.\n\t * @param String aSourceMapURL\n\t * The URL at which the source map can be found (optional)\n\t * @returns BasicSourceMapConsumer\n\t */\n\tBasicSourceMapConsumer.fromSourceMap =\n\t function SourceMapConsumer_fromSourceMap(aSourceMap, aSourceMapURL) {\n\t var smc = Object.create(BasicSourceMapConsumer.prototype);\n\t\n\t var names = smc._names = ArraySet.fromArray(aSourceMap._names.toArray(), true);\n\t var sources = smc._sources = ArraySet.fromArray(aSourceMap._sources.toArray(), true);\n\t smc.sourceRoot = aSourceMap._sourceRoot;\n\t smc.sourcesContent = aSourceMap._generateSourcesContent(smc._sources.toArray(),\n\t smc.sourceRoot);\n\t smc.file = aSourceMap._file;\n\t smc._sourceMapURL = aSourceMapURL;\n\t smc._absoluteSources = smc._sources.toArray().map(function (s) {\n\t return util.computeSourceURL(smc.sourceRoot, s, aSourceMapURL);\n\t });\n\t\n\t // Because we are modifying the entries (by converting string sources and\n\t // names to indices into the sources and names ArraySets), we have to make\n\t // a copy of the entry or else bad things happen. Shared mutable state\n\t // strikes again! See github issue #191.\n\t\n\t var generatedMappings = aSourceMap._mappings.toArray().slice();\n\t var destGeneratedMappings = smc.__generatedMappings = [];\n\t var destOriginalMappings = smc.__originalMappings = [];\n\t\n\t for (var i = 0, length = generatedMappings.length; i < length; i++) {\n\t var srcMapping = generatedMappings[i];\n\t var destMapping = new Mapping;\n\t destMapping.generatedLine = srcMapping.generatedLine;\n\t destMapping.generatedColumn = srcMapping.generatedColumn;\n\t\n\t if (srcMapping.source) {\n\t destMapping.source = sources.indexOf(srcMapping.source);\n\t destMapping.originalLine = srcMapping.originalLine;\n\t destMapping.originalColumn = srcMapping.originalColumn;\n\t\n\t if (srcMapping.name) {\n\t destMapping.name = names.indexOf(srcMapping.name);\n\t }\n\t\n\t destOriginalMappings.push(destMapping);\n\t }\n\t\n\t destGeneratedMappings.push(destMapping);\n\t }\n\t\n\t quickSort(smc.__originalMappings, util.compareByOriginalPositions);\n\t\n\t return smc;\n\t };\n\t\n\t/**\n\t * The version of the source mapping spec that we are consuming.\n\t */\n\tBasicSourceMapConsumer.prototype._version = 3;\n\t\n\t/**\n\t * The list of original sources.\n\t */\n\tObject.defineProperty(BasicSourceMapConsumer.prototype, 'sources', {\n\t get: function () {\n\t return this._absoluteSources.slice();\n\t }\n\t});\n\t\n\t/**\n\t * Provide the JIT with a nice shape / hidden class.\n\t */\n\tfunction Mapping() {\n\t this.generatedLine = 0;\n\t this.generatedColumn = 0;\n\t this.source = null;\n\t this.originalLine = null;\n\t this.originalColumn = null;\n\t this.name = null;\n\t}\n\t\n\t/**\n\t * Parse the mappings in a string in to a data structure which we can easily\n\t * query (the ordered arrays in the `this.__generatedMappings` and\n\t * `this.__originalMappings` properties).\n\t */\n\tBasicSourceMapConsumer.prototype._parseMappings =\n\t function SourceMapConsumer_parseMappings(aStr, aSourceRoot) {\n\t var generatedLine = 1;\n\t var previousGeneratedColumn = 0;\n\t var previousOriginalLine = 0;\n\t var previousOriginalColumn = 0;\n\t var previousSource = 0;\n\t var previousName = 0;\n\t var length = aStr.length;\n\t var index = 0;\n\t var cachedSegments = {};\n\t var temp = {};\n\t var originalMappings = [];\n\t var generatedMappings = [];\n\t var mapping, str, segment, end, value;\n\t\n\t while (index < length) {\n\t if (aStr.charAt(index) === ';') {\n\t generatedLine++;\n\t index++;\n\t previousGeneratedColumn = 0;\n\t }\n\t else if (aStr.charAt(index) === ',') {\n\t index++;\n\t }\n\t else {\n\t mapping = new Mapping();\n\t mapping.generatedLine = generatedLine;\n\t\n\t // Because each offset is encoded relative to the previous one,\n\t // many segments often have the same encoding. We can exploit this\n\t // fact by caching the parsed variable length fields of each segment,\n\t // allowing us to avoid a second parse if we encounter the same\n\t // segment again.\n\t for (end = index; end < length; end++) {\n\t if (this._charIsMappingSeparator(aStr, end)) {\n\t break;\n\t }\n\t }\n\t str = aStr.slice(index, end);\n\t\n\t segment = cachedSegments[str];\n\t if (segment) {\n\t index += str.length;\n\t } else {\n\t segment = [];\n\t while (index < end) {\n\t base64VLQ.decode(aStr, index, temp);\n\t value = temp.value;\n\t index = temp.rest;\n\t segment.push(value);\n\t }\n\t\n\t if (segment.length === 2) {\n\t throw new Error('Found a source, but no line and column');\n\t }\n\t\n\t if (segment.length === 3) {\n\t throw new Error('Found a source and line, but no column');\n\t }\n\t\n\t cachedSegments[str] = segment;\n\t }\n\t\n\t // Generated column.\n\t mapping.generatedColumn = previousGeneratedColumn + segment[0];\n\t previousGeneratedColumn = mapping.generatedColumn;\n\t\n\t if (segment.length > 1) {\n\t // Original source.\n\t mapping.source = previousSource + segment[1];\n\t previousSource += segment[1];\n\t\n\t // Original line.\n\t mapping.originalLine = previousOriginalLine + segment[2];\n\t previousOriginalLine = mapping.originalLine;\n\t // Lines are stored 0-based\n\t mapping.originalLine += 1;\n\t\n\t // Original column.\n\t mapping.originalColumn = previousOriginalColumn + segment[3];\n\t previousOriginalColumn = mapping.originalColumn;\n\t\n\t if (segment.length > 4) {\n\t // Original name.\n\t mapping.name = previousName + segment[4];\n\t previousName += segment[4];\n\t }\n\t }\n\t\n\t generatedMappings.push(mapping);\n\t if (typeof mapping.originalLine === 'number') {\n\t originalMappings.push(mapping);\n\t }\n\t }\n\t }\n\t\n\t quickSort(generatedMappings, util.compareByGeneratedPositionsDeflated);\n\t this.__generatedMappings = generatedMappings;\n\t\n\t quickSort(originalMappings, util.compareByOriginalPositions);\n\t this.__originalMappings = originalMappings;\n\t };\n\t\n\t/**\n\t * Find the mapping that best matches the hypothetical \"needle\" mapping that\n\t * we are searching for in the given \"haystack\" of mappings.\n\t */\n\tBasicSourceMapConsumer.prototype._findMapping =\n\t function SourceMapConsumer_findMapping(aNeedle, aMappings, aLineName,\n\t aColumnName, aComparator, aBias) {\n\t // To return the position we are searching for, we must first find the\n\t // mapping for the given position and then return the opposite position it\n\t // points to. Because the mappings are sorted, we can use binary search to\n\t // find the best mapping.\n\t\n\t if (aNeedle[aLineName] <= 0) {\n\t throw new TypeError('Line must be greater than or equal to 1, got '\n\t + aNeedle[aLineName]);\n\t }\n\t if (aNeedle[aColumnName] < 0) {\n\t throw new TypeError('Column must be greater than or equal to 0, got '\n\t + aNeedle[aColumnName]);\n\t }\n\t\n\t return binarySearch.search(aNeedle, aMappings, aComparator, aBias);\n\t };\n\t\n\t/**\n\t * Compute the last column for each generated mapping. The last column is\n\t * inclusive.\n\t */\n\tBasicSourceMapConsumer.prototype.computeColumnSpans =\n\t function SourceMapConsumer_computeColumnSpans() {\n\t for (var index = 0; index < this._generatedMappings.length; ++index) {\n\t var mapping = this._generatedMappings[index];\n\t\n\t // Mappings do not contain a field for the last generated columnt. We\n\t // can come up with an optimistic estimate, however, by assuming that\n\t // mappings are contiguous (i.e. given two consecutive mappings, the\n\t // first mapping ends where the second one starts).\n\t if (index + 1 < this._generatedMappings.length) {\n\t var nextMapping = this._generatedMappings[index + 1];\n\t\n\t if (mapping.generatedLine === nextMapping.generatedLine) {\n\t mapping.lastGeneratedColumn = nextMapping.generatedColumn - 1;\n\t continue;\n\t }\n\t }\n\t\n\t // The last mapping for each line spans the entire line.\n\t mapping.lastGeneratedColumn = Infinity;\n\t }\n\t };\n\t\n\t/**\n\t * Returns the original source, line, and column information for the generated\n\t * source's line and column positions provided. The only argument is an object\n\t * with the following properties:\n\t *\n\t * - line: The line number in the generated source. The line number\n\t * is 1-based.\n\t * - column: The column number in the generated source. The column\n\t * number is 0-based.\n\t * - bias: Either 'SourceMapConsumer.GREATEST_LOWER_BOUND' or\n\t * 'SourceMapConsumer.LEAST_UPPER_BOUND'. Specifies whether to return the\n\t * closest element that is smaller than or greater than the one we are\n\t * searching for, respectively, if the exact element cannot be found.\n\t * Defaults to 'SourceMapConsumer.GREATEST_LOWER_BOUND'.\n\t *\n\t * and an object is returned with the following properties:\n\t *\n\t * - source: The original source file, or null.\n\t * - line: The line number in the original source, or null. The\n\t * line number is 1-based.\n\t * - column: The column number in the original source, or null. The\n\t * column number is 0-based.\n\t * - name: The original identifier, or null.\n\t */\n\tBasicSourceMapConsumer.prototype.originalPositionFor =\n\t function SourceMapConsumer_originalPositionFor(aArgs) {\n\t var needle = {\n\t generatedLine: util.getArg(aArgs, 'line'),\n\t generatedColumn: util.getArg(aArgs, 'column')\n\t };\n\t\n\t var index = this._findMapping(\n\t needle,\n\t this._generatedMappings,\n\t \"generatedLine\",\n\t \"generatedColumn\",\n\t util.compareByGeneratedPositionsDeflated,\n\t util.getArg(aArgs, 'bias', SourceMapConsumer.GREATEST_LOWER_BOUND)\n\t );\n\t\n\t if (index >= 0) {\n\t var mapping = this._generatedMappings[index];\n\t\n\t if (mapping.generatedLine === needle.generatedLine) {\n\t var source = util.getArg(mapping, 'source', null);\n\t if (source !== null) {\n\t source = this._sources.at(source);\n\t source = util.computeSourceURL(this.sourceRoot, source, this._sourceMapURL);\n\t }\n\t var name = util.getArg(mapping, 'name', null);\n\t if (name !== null) {\n\t name = this._names.at(name);\n\t }\n\t return {\n\t source: source,\n\t line: util.getArg(mapping, 'originalLine', null),\n\t column: util.getArg(mapping, 'originalColumn', null),\n\t name: name\n\t };\n\t }\n\t }\n\t\n\t return {\n\t source: null,\n\t line: null,\n\t column: null,\n\t name: null\n\t };\n\t };\n\t\n\t/**\n\t * Return true if we have the source content for every source in the source\n\t * map, false otherwise.\n\t */\n\tBasicSourceMapConsumer.prototype.hasContentsOfAllSources =\n\t function BasicSourceMapConsumer_hasContentsOfAllSources() {\n\t if (!this.sourcesContent) {\n\t return false;\n\t }\n\t return this.sourcesContent.length >= this._sources.size() &&\n\t !this.sourcesContent.some(function (sc) { return sc == null; });\n\t };\n\t\n\t/**\n\t * Returns the original source content. The only argument is the url of the\n\t * original source file. Returns null if no original source content is\n\t * available.\n\t */\n\tBasicSourceMapConsumer.prototype.sourceContentFor =\n\t function SourceMapConsumer_sourceContentFor(aSource, nullOnMissing) {\n\t if (!this.sourcesContent) {\n\t return null;\n\t }\n\t\n\t var index = this._findSourceIndex(aSource);\n\t if (index >= 0) {\n\t return this.sourcesContent[index];\n\t }\n\t\n\t var relativeSource = aSource;\n\t if (this.sourceRoot != null) {\n\t relativeSource = util.relative(this.sourceRoot, relativeSource);\n\t }\n\t\n\t var url;\n\t if (this.sourceRoot != null\n\t && (url = util.urlParse(this.sourceRoot))) {\n\t // XXX: file:// URIs and absolute paths lead to unexpected behavior for\n\t // many users. We can help them out when they expect file:// URIs to\n\t // behave like it would if they were running a local HTTP server. See\n\t // https://bugzilla.mozilla.org/show_bug.cgi?id=885597.\n\t var fileUriAbsPath = relativeSource.replace(/^file:\\/\\//, \"\");\n\t if (url.scheme == \"file\"\n\t && this._sources.has(fileUriAbsPath)) {\n\t return this.sourcesContent[this._sources.indexOf(fileUriAbsPath)]\n\t }\n\t\n\t if ((!url.path || url.path == \"/\")\n\t && this._sources.has(\"/\" + relativeSource)) {\n\t return this.sourcesContent[this._sources.indexOf(\"/\" + relativeSource)];\n\t }\n\t }\n\t\n\t // This function is used recursively from\n\t // IndexedSourceMapConsumer.prototype.sourceContentFor. In that case, we\n\t // don't want to throw if we can't find the source - we just want to\n\t // return null, so we provide a flag to exit gracefully.\n\t if (nullOnMissing) {\n\t return null;\n\t }\n\t else {\n\t throw new Error('\"' + relativeSource + '\" is not in the SourceMap.');\n\t }\n\t };\n\t\n\t/**\n\t * Returns the generated line and column information for the original source,\n\t * line, and column positions provided. The only argument is an object with\n\t * the following properties:\n\t *\n\t * - source: The filename of the original source.\n\t * - line: The line number in the original source. The line number\n\t * is 1-based.\n\t * - column: The column number in the original source. The column\n\t * number is 0-based.\n\t * - bias: Either 'SourceMapConsumer.GREATEST_LOWER_BOUND' or\n\t * 'SourceMapConsumer.LEAST_UPPER_BOUND'. Specifies whether to return the\n\t * closest element that is smaller than or greater than the one we are\n\t * searching for, respectively, if the exact element cannot be found.\n\t * Defaults to 'SourceMapConsumer.GREATEST_LOWER_BOUND'.\n\t *\n\t * and an object is returned with the following properties:\n\t *\n\t * - line: The line number in the generated source, or null. The\n\t * line number is 1-based.\n\t * - column: The column number in the generated source, or null.\n\t * The column number is 0-based.\n\t */\n\tBasicSourceMapConsumer.prototype.generatedPositionFor =\n\t function SourceMapConsumer_generatedPositionFor(aArgs) {\n\t var source = util.getArg(aArgs, 'source');\n\t source = this._findSourceIndex(source);\n\t if (source < 0) {\n\t return {\n\t line: null,\n\t column: null,\n\t lastColumn: null\n\t };\n\t }\n\t\n\t var needle = {\n\t source: source,\n\t originalLine: util.getArg(aArgs, 'line'),\n\t originalColumn: util.getArg(aArgs, 'column')\n\t };\n\t\n\t var index = this._findMapping(\n\t needle,\n\t this._originalMappings,\n\t \"originalLine\",\n\t \"originalColumn\",\n\t util.compareByOriginalPositions,\n\t util.getArg(aArgs, 'bias', SourceMapConsumer.GREATEST_LOWER_BOUND)\n\t );\n\t\n\t if (index >= 0) {\n\t var mapping = this._originalMappings[index];\n\t\n\t if (mapping.source === needle.source) {\n\t return {\n\t line: util.getArg(mapping, 'generatedLine', null),\n\t column: util.getArg(mapping, 'generatedColumn', null),\n\t lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null)\n\t };\n\t }\n\t }\n\t\n\t return {\n\t line: null,\n\t column: null,\n\t lastColumn: null\n\t };\n\t };\n\t\n\texports.BasicSourceMapConsumer = BasicSourceMapConsumer;\n\t\n\t/**\n\t * An IndexedSourceMapConsumer instance represents a parsed source map which\n\t * we can query for information. It differs from BasicSourceMapConsumer in\n\t * that it takes \"indexed\" source maps (i.e. ones with a \"sections\" field) as\n\t * input.\n\t *\n\t * The first parameter is a raw source map (either as a JSON string, or already\n\t * parsed to an object). According to the spec for indexed source maps, they\n\t * have the following attributes:\n\t *\n\t * - version: Which version of the source map spec this map is following.\n\t * - file: Optional. The generated file this source map is associated with.\n\t * - sections: A list of section definitions.\n\t *\n\t * Each value under the \"sections\" field has two fields:\n\t * - offset: The offset into the original specified at which this section\n\t * begins to apply, defined as an object with a \"line\" and \"column\"\n\t * field.\n\t * - map: A source map definition. This source map could also be indexed,\n\t * but doesn't have to be.\n\t *\n\t * Instead of the \"map\" field, it's also possible to have a \"url\" field\n\t * specifying a URL to retrieve a source map from, but that's currently\n\t * unsupported.\n\t *\n\t * Here's an example source map, taken from the source map spec[0], but\n\t * modified to omit a section which uses the \"url\" field.\n\t *\n\t * {\n\t * version : 3,\n\t * file: \"app.js\",\n\t * sections: [{\n\t * offset: {line:100, column:10},\n\t * map: {\n\t * version : 3,\n\t * file: \"section.js\",\n\t * sources: [\"foo.js\", \"bar.js\"],\n\t * names: [\"src\", \"maps\", \"are\", \"fun\"],\n\t * mappings: \"AAAA,E;;ABCDE;\"\n\t * }\n\t * }],\n\t * }\n\t *\n\t * The second parameter, if given, is a string whose value is the URL\n\t * at which the source map was found. This URL is used to compute the\n\t * sources array.\n\t *\n\t * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit#heading=h.535es3xeprgt\n\t */\n\tfunction IndexedSourceMapConsumer(aSourceMap, aSourceMapURL) {\n\t var sourceMap = aSourceMap;\n\t if (typeof aSourceMap === 'string') {\n\t sourceMap = util.parseSourceMapInput(aSourceMap);\n\t }\n\t\n\t var version = util.getArg(sourceMap, 'version');\n\t var sections = util.getArg(sourceMap, 'sections');\n\t\n\t if (version != this._version) {\n\t throw new Error('Unsupported version: ' + version);\n\t }\n\t\n\t this._sources = new ArraySet();\n\t this._names = new ArraySet();\n\t\n\t var lastOffset = {\n\t line: -1,\n\t column: 0\n\t };\n\t this._sections = sections.map(function (s) {\n\t if (s.url) {\n\t // The url field will require support for asynchronicity.\n\t // See https://github.com/mozilla/source-map/issues/16\n\t throw new Error('Support for url field in sections not implemented.');\n\t }\n\t var offset = util.getArg(s, 'offset');\n\t var offsetLine = util.getArg(offset, 'line');\n\t var offsetColumn = util.getArg(offset, 'column');\n\t\n\t if (offsetLine < lastOffset.line ||\n\t (offsetLine === lastOffset.line && offsetColumn < lastOffset.column)) {\n\t throw new Error('Section offsets must be ordered and non-overlapping.');\n\t }\n\t lastOffset = offset;\n\t\n\t return {\n\t generatedOffset: {\n\t // The offset fields are 0-based, but we use 1-based indices when\n\t // encoding/decoding from VLQ.\n\t generatedLine: offsetLine + 1,\n\t generatedColumn: offsetColumn + 1\n\t },\n\t consumer: new SourceMapConsumer(util.getArg(s, 'map'), aSourceMapURL)\n\t }\n\t });\n\t}\n\t\n\tIndexedSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype);\n\tIndexedSourceMapConsumer.prototype.constructor = SourceMapConsumer;\n\t\n\t/**\n\t * The version of the source mapping spec that we are consuming.\n\t */\n\tIndexedSourceMapConsumer.prototype._version = 3;\n\t\n\t/**\n\t * The list of original sources.\n\t */\n\tObject.defineProperty(IndexedSourceMapConsumer.prototype, 'sources', {\n\t get: function () {\n\t var sources = [];\n\t for (var i = 0; i < this._sections.length; i++) {\n\t for (var j = 0; j < this._sections[i].consumer.sources.length; j++) {\n\t sources.push(this._sections[i].consumer.sources[j]);\n\t }\n\t }\n\t return sources;\n\t }\n\t});\n\t\n\t/**\n\t * Returns the original source, line, and column information for the generated\n\t * source's line and column positions provided. The only argument is an object\n\t * with the following properties:\n\t *\n\t * - line: The line number in the generated source. The line number\n\t * is 1-based.\n\t * - column: The column number in the generated source. The column\n\t * number is 0-based.\n\t *\n\t * and an object is returned with the following properties:\n\t *\n\t * - source: The original source file, or null.\n\t * - line: The line number in the original source, or null. The\n\t * line number is 1-based.\n\t * - column: The column number in the original source, or null. The\n\t * column number is 0-based.\n\t * - name: The original identifier, or null.\n\t */\n\tIndexedSourceMapConsumer.prototype.originalPositionFor =\n\t function IndexedSourceMapConsumer_originalPositionFor(aArgs) {\n\t var needle = {\n\t generatedLine: util.getArg(aArgs, 'line'),\n\t generatedColumn: util.getArg(aArgs, 'column')\n\t };\n\t\n\t // Find the section containing the generated position we're trying to map\n\t // to an original position.\n\t var sectionIndex = binarySearch.search(needle, this._sections,\n\t function(needle, section) {\n\t var cmp = needle.generatedLine - section.generatedOffset.generatedLine;\n\t if (cmp) {\n\t return cmp;\n\t }\n\t\n\t return (needle.generatedColumn -\n\t section.generatedOffset.generatedColumn);\n\t });\n\t var section = this._sections[sectionIndex];\n\t\n\t if (!section) {\n\t return {\n\t source: null,\n\t line: null,\n\t column: null,\n\t name: null\n\t };\n\t }\n\t\n\t return section.consumer.originalPositionFor({\n\t line: needle.generatedLine -\n\t (section.generatedOffset.generatedLine - 1),\n\t column: needle.generatedColumn -\n\t (section.generatedOffset.generatedLine === needle.generatedLine\n\t ? section.generatedOffset.generatedColumn - 1\n\t : 0),\n\t bias: aArgs.bias\n\t });\n\t };\n\t\n\t/**\n\t * Return true if we have the source content for every source in the source\n\t * map, false otherwise.\n\t */\n\tIndexedSourceMapConsumer.prototype.hasContentsOfAllSources =\n\t function IndexedSourceMapConsumer_hasContentsOfAllSources() {\n\t return this._sections.every(function (s) {\n\t return s.consumer.hasContentsOfAllSources();\n\t });\n\t };\n\t\n\t/**\n\t * Returns the original source content. The only argument is the url of the\n\t * original source file. Returns null if no original source content is\n\t * available.\n\t */\n\tIndexedSourceMapConsumer.prototype.sourceContentFor =\n\t function IndexedSourceMapConsumer_sourceContentFor(aSource, nullOnMissing) {\n\t for (var i = 0; i < this._sections.length; i++) {\n\t var section = this._sections[i];\n\t\n\t var content = section.consumer.sourceContentFor(aSource, true);\n\t if (content) {\n\t return content;\n\t }\n\t }\n\t if (nullOnMissing) {\n\t return null;\n\t }\n\t else {\n\t throw new Error('\"' + aSource + '\" is not in the SourceMap.');\n\t }\n\t };\n\t\n\t/**\n\t * Returns the generated line and column information for the original source,\n\t * line, and column positions provided. The only argument is an object with\n\t * the following properties:\n\t *\n\t * - source: The filename of the original source.\n\t * - line: The line number in the original source. The line number\n\t * is 1-based.\n\t * - column: The column number in the original source. The column\n\t * number is 0-based.\n\t *\n\t * and an object is returned with the following properties:\n\t *\n\t * - line: The line number in the generated source, or null. The\n\t * line number is 1-based. \n\t * - column: The column number in the generated source, or null.\n\t * The column number is 0-based.\n\t */\n\tIndexedSourceMapConsumer.prototype.generatedPositionFor =\n\t function IndexedSourceMapConsumer_generatedPositionFor(aArgs) {\n\t for (var i = 0; i < this._sections.length; i++) {\n\t var section = this._sections[i];\n\t\n\t // Only consider this section if the requested source is in the list of\n\t // sources of the consumer.\n\t if (section.consumer._findSourceIndex(util.getArg(aArgs, 'source')) === -1) {\n\t continue;\n\t }\n\t var generatedPosition = section.consumer.generatedPositionFor(aArgs);\n\t if (generatedPosition) {\n\t var ret = {\n\t line: generatedPosition.line +\n\t (section.generatedOffset.generatedLine - 1),\n\t column: generatedPosition.column +\n\t (section.generatedOffset.generatedLine === generatedPosition.line\n\t ? section.generatedOffset.generatedColumn - 1\n\t : 0)\n\t };\n\t return ret;\n\t }\n\t }\n\t\n\t return {\n\t line: null,\n\t column: null\n\t };\n\t };\n\t\n\t/**\n\t * Parse the mappings in a string in to a data structure which we can easily\n\t * query (the ordered arrays in the `this.__generatedMappings` and\n\t * `this.__originalMappings` properties).\n\t */\n\tIndexedSourceMapConsumer.prototype._parseMappings =\n\t function IndexedSourceMapConsumer_parseMappings(aStr, aSourceRoot) {\n\t this.__generatedMappings = [];\n\t this.__originalMappings = [];\n\t for (var i = 0; i < this._sections.length; i++) {\n\t var section = this._sections[i];\n\t var sectionMappings = section.consumer._generatedMappings;\n\t for (var j = 0; j < sectionMappings.length; j++) {\n\t var mapping = sectionMappings[j];\n\t\n\t var source = section.consumer._sources.at(mapping.source);\n\t source = util.computeSourceURL(section.consumer.sourceRoot, source, this._sourceMapURL);\n\t this._sources.add(source);\n\t source = this._sources.indexOf(source);\n\t\n\t var name = null;\n\t if (mapping.name) {\n\t name = section.consumer._names.at(mapping.name);\n\t this._names.add(name);\n\t name = this._names.indexOf(name);\n\t }\n\t\n\t // The mappings coming from the consumer for the section have\n\t // generated positions relative to the start of the section, so we\n\t // need to offset them to be relative to the start of the concatenated\n\t // generated file.\n\t var adjustedMapping = {\n\t source: source,\n\t generatedLine: mapping.generatedLine +\n\t (section.generatedOffset.generatedLine - 1),\n\t generatedColumn: mapping.generatedColumn +\n\t (section.generatedOffset.generatedLine === mapping.generatedLine\n\t ? section.generatedOffset.generatedColumn - 1\n\t : 0),\n\t originalLine: mapping.originalLine,\n\t originalColumn: mapping.originalColumn,\n\t name: name\n\t };\n\t\n\t this.__generatedMappings.push(adjustedMapping);\n\t if (typeof adjustedMapping.originalLine === 'number') {\n\t this.__originalMappings.push(adjustedMapping);\n\t }\n\t }\n\t }\n\t\n\t quickSort(this.__generatedMappings, util.compareByGeneratedPositionsDeflated);\n\t quickSort(this.__originalMappings, util.compareByOriginalPositions);\n\t };\n\t\n\texports.IndexedSourceMapConsumer = IndexedSourceMapConsumer;\n\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports) {\n\n\t/* -*- Mode: js; js-indent-level: 2; -*- */\n\t/*\n\t * Copyright 2011 Mozilla Foundation and contributors\n\t * Licensed under the New BSD license. See LICENSE or:\n\t * http://opensource.org/licenses/BSD-3-Clause\n\t */\n\t\n\texports.GREATEST_LOWER_BOUND = 1;\n\texports.LEAST_UPPER_BOUND = 2;\n\t\n\t/**\n\t * Recursive implementation of binary search.\n\t *\n\t * @param aLow Indices here and lower do not contain the needle.\n\t * @param aHigh Indices here and higher do not contain the needle.\n\t * @param aNeedle The element being searched for.\n\t * @param aHaystack The non-empty array being searched.\n\t * @param aCompare Function which takes two elements and returns -1, 0, or 1.\n\t * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or\n\t * 'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the\n\t * closest element that is smaller than or greater than the one we are\n\t * searching for, respectively, if the exact element cannot be found.\n\t */\n\tfunction recursiveSearch(aLow, aHigh, aNeedle, aHaystack, aCompare, aBias) {\n\t // This function terminates when one of the following is true:\n\t //\n\t // 1. We find the exact element we are looking for.\n\t //\n\t // 2. We did not find the exact element, but we can return the index of\n\t // the next-closest element.\n\t //\n\t // 3. We did not find the exact element, and there is no next-closest\n\t // element than the one we are searching for, so we return -1.\n\t var mid = Math.floor((aHigh - aLow) / 2) + aLow;\n\t var cmp = aCompare(aNeedle, aHaystack[mid], true);\n\t if (cmp === 0) {\n\t // Found the element we are looking for.\n\t return mid;\n\t }\n\t else if (cmp > 0) {\n\t // Our needle is greater than aHaystack[mid].\n\t if (aHigh - mid > 1) {\n\t // The element is in the upper half.\n\t return recursiveSearch(mid, aHigh, aNeedle, aHaystack, aCompare, aBias);\n\t }\n\t\n\t // The exact needle element was not found in this haystack. Determine if\n\t // we are in termination case (3) or (2) and return the appropriate thing.\n\t if (aBias == exports.LEAST_UPPER_BOUND) {\n\t return aHigh < aHaystack.length ? aHigh : -1;\n\t } else {\n\t return mid;\n\t }\n\t }\n\t else {\n\t // Our needle is less than aHaystack[mid].\n\t if (mid - aLow > 1) {\n\t // The element is in the lower half.\n\t return recursiveSearch(aLow, mid, aNeedle, aHaystack, aCompare, aBias);\n\t }\n\t\n\t // we are in termination case (3) or (2) and return the appropriate thing.\n\t if (aBias == exports.LEAST_UPPER_BOUND) {\n\t return mid;\n\t } else {\n\t return aLow < 0 ? -1 : aLow;\n\t }\n\t }\n\t}\n\t\n\t/**\n\t * This is an implementation of binary search which will always try and return\n\t * the index of the closest element if there is no exact hit. This is because\n\t * mappings between original and generated line/col pairs are single points,\n\t * and there is an implicit region between each of them, so a miss just means\n\t * that you aren't on the very start of a region.\n\t *\n\t * @param aNeedle The element you are looking for.\n\t * @param aHaystack The array that is being searched.\n\t * @param aCompare A function which takes the needle and an element in the\n\t * array and returns -1, 0, or 1 depending on whether the needle is less\n\t * than, equal to, or greater than the element, respectively.\n\t * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or\n\t * 'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the\n\t * closest element that is smaller than or greater than the one we are\n\t * searching for, respectively, if the exact element cannot be found.\n\t * Defaults to 'binarySearch.GREATEST_LOWER_BOUND'.\n\t */\n\texports.search = function search(aNeedle, aHaystack, aCompare, aBias) {\n\t if (aHaystack.length === 0) {\n\t return -1;\n\t }\n\t\n\t var index = recursiveSearch(-1, aHaystack.length, aNeedle, aHaystack,\n\t aCompare, aBias || exports.GREATEST_LOWER_BOUND);\n\t if (index < 0) {\n\t return -1;\n\t }\n\t\n\t // We have found either the exact element, or the next-closest element than\n\t // the one we are searching for. However, there may be more than one such\n\t // element. Make sure we always return the smallest of these.\n\t while (index - 1 >= 0) {\n\t if (aCompare(aHaystack[index], aHaystack[index - 1], true) !== 0) {\n\t break;\n\t }\n\t --index;\n\t }\n\t\n\t return index;\n\t};\n\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports) {\n\n\t/* -*- Mode: js; js-indent-level: 2; -*- */\n\t/*\n\t * Copyright 2011 Mozilla Foundation and contributors\n\t * Licensed under the New BSD license. See LICENSE or:\n\t * http://opensource.org/licenses/BSD-3-Clause\n\t */\n\t\n\t// It turns out that some (most?) JavaScript engines don't self-host\n\t// `Array.prototype.sort`. This makes sense because C++ will likely remain\n\t// faster than JS when doing raw CPU-intensive sorting. However, when using a\n\t// custom comparator function, calling back and forth between the VM's C++ and\n\t// JIT'd JS is rather slow *and* loses JIT type information, resulting in\n\t// worse generated code for the comparator function than would be optimal. In\n\t// fact, when sorting with a comparator, these costs outweigh the benefits of\n\t// sorting in C++. By using our own JS-implemented Quick Sort (below), we get\n\t// a ~3500ms mean speed-up in `bench/bench.html`.\n\t\n\t/**\n\t * Swap the elements indexed by `x` and `y` in the array `ary`.\n\t *\n\t * @param {Array} ary\n\t * The array.\n\t * @param {Number} x\n\t * The index of the first item.\n\t * @param {Number} y\n\t * The index of the second item.\n\t */\n\tfunction swap(ary, x, y) {\n\t var temp = ary[x];\n\t ary[x] = ary[y];\n\t ary[y] = temp;\n\t}\n\t\n\t/**\n\t * Returns a random integer within the range `low .. high` inclusive.\n\t *\n\t * @param {Number} low\n\t * The lower bound on the range.\n\t * @param {Number} high\n\t * The upper bound on the range.\n\t */\n\tfunction randomIntInRange(low, high) {\n\t return Math.round(low + (Math.random() * (high - low)));\n\t}\n\t\n\t/**\n\t * The Quick Sort algorithm.\n\t *\n\t * @param {Array} ary\n\t * An array to sort.\n\t * @param {function} comparator\n\t * Function to use to compare two items.\n\t * @param {Number} p\n\t * Start index of the array\n\t * @param {Number} r\n\t * End index of the array\n\t */\n\tfunction doQuickSort(ary, comparator, p, r) {\n\t // If our lower bound is less than our upper bound, we (1) partition the\n\t // array into two pieces and (2) recurse on each half. If it is not, this is\n\t // the empty array and our base case.\n\t\n\t if (p < r) {\n\t // (1) Partitioning.\n\t //\n\t // The partitioning chooses a pivot between `p` and `r` and moves all\n\t // elements that are less than or equal to the pivot to the before it, and\n\t // all the elements that are greater than it after it. The effect is that\n\t // once partition is done, the pivot is in the exact place it will be when\n\t // the array is put in sorted order, and it will not need to be moved\n\t // again. This runs in O(n) time.\n\t\n\t // Always choose a random pivot so that an input array which is reverse\n\t // sorted does not cause O(n^2) running time.\n\t var pivotIndex = randomIntInRange(p, r);\n\t var i = p - 1;\n\t\n\t swap(ary, pivotIndex, r);\n\t var pivot = ary[r];\n\t\n\t // Immediately after `j` is incremented in this loop, the following hold\n\t // true:\n\t //\n\t // * Every element in `ary[p .. i]` is less than or equal to the pivot.\n\t //\n\t // * Every element in `ary[i+1 .. j-1]` is greater than the pivot.\n\t for (var j = p; j < r; j++) {\n\t if (comparator(ary[j], pivot) <= 0) {\n\t i += 1;\n\t swap(ary, i, j);\n\t }\n\t }\n\t\n\t swap(ary, i + 1, j);\n\t var q = i + 1;\n\t\n\t // (2) Recurse on each half.\n\t\n\t doQuickSort(ary, comparator, p, q - 1);\n\t doQuickSort(ary, comparator, q + 1, r);\n\t }\n\t}\n\t\n\t/**\n\t * Sort the given array in-place with the given comparator function.\n\t *\n\t * @param {Array} ary\n\t * An array to sort.\n\t * @param {function} comparator\n\t * Function to use to compare two items.\n\t */\n\texports.quickSort = function (ary, comparator) {\n\t doQuickSort(ary, comparator, 0, ary.length - 1);\n\t};\n\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* -*- Mode: js; js-indent-level: 2; -*- */\n\t/*\n\t * Copyright 2011 Mozilla Foundation and contributors\n\t * Licensed under the New BSD license. See LICENSE or:\n\t * http://opensource.org/licenses/BSD-3-Clause\n\t */\n\t\n\tvar SourceMapGenerator = __webpack_require__(1).SourceMapGenerator;\n\tvar util = __webpack_require__(4);\n\t\n\t// Matches a Windows-style `\\r\\n` newline or a `\\n` newline used by all other\n\t// operating systems these days (capturing the result).\n\tvar REGEX_NEWLINE = /(\\r?\\n)/;\n\t\n\t// Newline character code for charCodeAt() comparisons\n\tvar NEWLINE_CODE = 10;\n\t\n\t// Private symbol for identifying `SourceNode`s when multiple versions of\n\t// the source-map library are loaded. This MUST NOT CHANGE across\n\t// versions!\n\tvar isSourceNode = \"$$$isSourceNode$$$\";\n\t\n\t/**\n\t * SourceNodes provide a way to abstract over interpolating/concatenating\n\t * snippets of generated JavaScript source code while maintaining the line and\n\t * column information associated with the original source code.\n\t *\n\t * @param aLine The original line number.\n\t * @param aColumn The original column number.\n\t * @param aSource The original source's filename.\n\t * @param aChunks Optional. An array of strings which are snippets of\n\t * generated JS, or other SourceNodes.\n\t * @param aName The original identifier.\n\t */\n\tfunction SourceNode(aLine, aColumn, aSource, aChunks, aName) {\n\t this.children = [];\n\t this.sourceContents = {};\n\t this.line = aLine == null ? null : aLine;\n\t this.column = aColumn == null ? null : aColumn;\n\t this.source = aSource == null ? null : aSource;\n\t this.name = aName == null ? null : aName;\n\t this[isSourceNode] = true;\n\t if (aChunks != null) this.add(aChunks);\n\t}\n\t\n\t/**\n\t * Creates a SourceNode from generated code and a SourceMapConsumer.\n\t *\n\t * @param aGeneratedCode The generated code\n\t * @param aSourceMapConsumer The SourceMap for the generated code\n\t * @param aRelativePath Optional. The path that relative sources in the\n\t * SourceMapConsumer should be relative to.\n\t */\n\tSourceNode.fromStringWithSourceMap =\n\t function SourceNode_fromStringWithSourceMap(aGeneratedCode, aSourceMapConsumer, aRelativePath) {\n\t // The SourceNode we want to fill with the generated code\n\t // and the SourceMap\n\t var node = new SourceNode();\n\t\n\t // All even indices of this array are one line of the generated code,\n\t // while all odd indices are the newlines between two adjacent lines\n\t // (since `REGEX_NEWLINE` captures its match).\n\t // Processed fragments are accessed by calling `shiftNextLine`.\n\t var remainingLines = aGeneratedCode.split(REGEX_NEWLINE);\n\t var remainingLinesIndex = 0;\n\t var shiftNextLine = function() {\n\t var lineContents = getNextLine();\n\t // The last line of a file might not have a newline.\n\t var newLine = getNextLine() || \"\";\n\t return lineContents + newLine;\n\t\n\t function getNextLine() {\n\t return remainingLinesIndex < remainingLines.length ?\n\t remainingLines[remainingLinesIndex++] : undefined;\n\t }\n\t };\n\t\n\t // We need to remember the position of \"remainingLines\"\n\t var lastGeneratedLine = 1, lastGeneratedColumn = 0;\n\t\n\t // The generate SourceNodes we need a code range.\n\t // To extract it current and last mapping is used.\n\t // Here we store the last mapping.\n\t var lastMapping = null;\n\t\n\t aSourceMapConsumer.eachMapping(function (mapping) {\n\t if (lastMapping !== null) {\n\t // We add the code from \"lastMapping\" to \"mapping\":\n\t // First check if there is a new line in between.\n\t if (lastGeneratedLine < mapping.generatedLine) {\n\t // Associate first line with \"lastMapping\"\n\t addMappingWithCode(lastMapping, shiftNextLine());\n\t lastGeneratedLine++;\n\t lastGeneratedColumn = 0;\n\t // The remaining code is added without mapping\n\t } else {\n\t // There is no new line in between.\n\t // Associate the code between \"lastGeneratedColumn\" and\n\t // \"mapping.generatedColumn\" with \"lastMapping\"\n\t var nextLine = remainingLines[remainingLinesIndex] || '';\n\t var code = nextLine.substr(0, mapping.generatedColumn -\n\t lastGeneratedColumn);\n\t remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn -\n\t lastGeneratedColumn);\n\t lastGeneratedColumn = mapping.generatedColumn;\n\t addMappingWithCode(lastMapping, code);\n\t // No more remaining code, continue\n\t lastMapping = mapping;\n\t return;\n\t }\n\t }\n\t // We add the generated code until the first mapping\n\t // to the SourceNode without any mapping.\n\t // Each line is added as separate string.\n\t while (lastGeneratedLine < mapping.generatedLine) {\n\t node.add(shiftNextLine());\n\t lastGeneratedLine++;\n\t }\n\t if (lastGeneratedColumn < mapping.generatedColumn) {\n\t var nextLine = remainingLines[remainingLinesIndex] || '';\n\t node.add(nextLine.substr(0, mapping.generatedColumn));\n\t remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn);\n\t lastGeneratedColumn = mapping.generatedColumn;\n\t }\n\t lastMapping = mapping;\n\t }, this);\n\t // We have processed all mappings.\n\t if (remainingLinesIndex < remainingLines.length) {\n\t if (lastMapping) {\n\t // Associate the remaining code in the current line with \"lastMapping\"\n\t addMappingWithCode(lastMapping, shiftNextLine());\n\t }\n\t // and add the remaining lines without any mapping\n\t node.add(remainingLines.splice(remainingLinesIndex).join(\"\"));\n\t }\n\t\n\t // Copy sourcesContent into SourceNode\n\t aSourceMapConsumer.sources.forEach(function (sourceFile) {\n\t var content = aSourceMapConsumer.sourceContentFor(sourceFile);\n\t if (content != null) {\n\t if (aRelativePath != null) {\n\t sourceFile = util.join(aRelativePath, sourceFile);\n\t }\n\t node.setSourceContent(sourceFile, content);\n\t }\n\t });\n\t\n\t return node;\n\t\n\t function addMappingWithCode(mapping, code) {\n\t if (mapping === null || mapping.source === undefined) {\n\t node.add(code);\n\t } else {\n\t var source = aRelativePath\n\t ? util.join(aRelativePath, mapping.source)\n\t : mapping.source;\n\t node.add(new SourceNode(mapping.originalLine,\n\t mapping.originalColumn,\n\t source,\n\t code,\n\t mapping.name));\n\t }\n\t }\n\t };\n\t\n\t/**\n\t * Add a chunk of generated JS to this source node.\n\t *\n\t * @param aChunk A string snippet of generated JS code, another instance of\n\t * SourceNode, or an array where each member is one of those things.\n\t */\n\tSourceNode.prototype.add = function SourceNode_add(aChunk) {\n\t if (Array.isArray(aChunk)) {\n\t aChunk.forEach(function (chunk) {\n\t this.add(chunk);\n\t }, this);\n\t }\n\t else if (aChunk[isSourceNode] || typeof aChunk === \"string\") {\n\t if (aChunk) {\n\t this.children.push(aChunk);\n\t }\n\t }\n\t else {\n\t throw new TypeError(\n\t \"Expected a SourceNode, string, or an array of SourceNodes and strings. Got \" + aChunk\n\t );\n\t }\n\t return this;\n\t};\n\t\n\t/**\n\t * Add a chunk of generated JS to the beginning of this source node.\n\t *\n\t * @param aChunk A string snippet of generated JS code, another instance of\n\t * SourceNode, or an array where each member is one of those things.\n\t */\n\tSourceNode.prototype.prepend = function SourceNode_prepend(aChunk) {\n\t if (Array.isArray(aChunk)) {\n\t for (var i = aChunk.length-1; i >= 0; i--) {\n\t this.prepend(aChunk[i]);\n\t }\n\t }\n\t else if (aChunk[isSourceNode] || typeof aChunk === \"string\") {\n\t this.children.unshift(aChunk);\n\t }\n\t else {\n\t throw new TypeError(\n\t \"Expected a SourceNode, string, or an array of SourceNodes and strings. Got \" + aChunk\n\t );\n\t }\n\t return this;\n\t};\n\t\n\t/**\n\t * Walk over the tree of JS snippets in this node and its children. The\n\t * walking function is called once for each snippet of JS and is passed that\n\t * snippet and the its original associated source's line/column location.\n\t *\n\t * @param aFn The traversal function.\n\t */\n\tSourceNode.prototype.walk = function SourceNode_walk(aFn) {\n\t var chunk;\n\t for (var i = 0, len = this.children.length; i < len; i++) {\n\t chunk = this.children[i];\n\t if (chunk[isSourceNode]) {\n\t chunk.walk(aFn);\n\t }\n\t else {\n\t if (chunk !== '') {\n\t aFn(chunk, { source: this.source,\n\t line: this.line,\n\t column: this.column,\n\t name: this.name });\n\t }\n\t }\n\t }\n\t};\n\t\n\t/**\n\t * Like `String.prototype.join` except for SourceNodes. Inserts `aStr` between\n\t * each of `this.children`.\n\t *\n\t * @param aSep The separator.\n\t */\n\tSourceNode.prototype.join = function SourceNode_join(aSep) {\n\t var newChildren;\n\t var i;\n\t var len = this.children.length;\n\t if (len > 0) {\n\t newChildren = [];\n\t for (i = 0; i < len-1; i++) {\n\t newChildren.push(this.children[i]);\n\t newChildren.push(aSep);\n\t }\n\t newChildren.push(this.children[i]);\n\t this.children = newChildren;\n\t }\n\t return this;\n\t};\n\t\n\t/**\n\t * Call String.prototype.replace on the very right-most source snippet. Useful\n\t * for trimming whitespace from the end of a source node, etc.\n\t *\n\t * @param aPattern The pattern to replace.\n\t * @param aReplacement The thing to replace the pattern with.\n\t */\n\tSourceNode.prototype.replaceRight = function SourceNode_replaceRight(aPattern, aReplacement) {\n\t var lastChild = this.children[this.children.length - 1];\n\t if (lastChild[isSourceNode]) {\n\t lastChild.replaceRight(aPattern, aReplacement);\n\t }\n\t else if (typeof lastChild === 'string') {\n\t this.children[this.children.length - 1] = lastChild.replace(aPattern, aReplacement);\n\t }\n\t else {\n\t this.children.push(''.replace(aPattern, aReplacement));\n\t }\n\t return this;\n\t};\n\t\n\t/**\n\t * Set the source content for a source file. This will be added to the SourceMapGenerator\n\t * in the sourcesContent field.\n\t *\n\t * @param aSourceFile The filename of the source file\n\t * @param aSourceContent The content of the source file\n\t */\n\tSourceNode.prototype.setSourceContent =\n\t function SourceNode_setSourceContent(aSourceFile, aSourceContent) {\n\t this.sourceContents[util.toSetString(aSourceFile)] = aSourceContent;\n\t };\n\t\n\t/**\n\t * Walk over the tree of SourceNodes. The walking function is called for each\n\t * source file content and is passed the filename and source content.\n\t *\n\t * @param aFn The traversal function.\n\t */\n\tSourceNode.prototype.walkSourceContents =\n\t function SourceNode_walkSourceContents(aFn) {\n\t for (var i = 0, len = this.children.length; i < len; i++) {\n\t if (this.children[i][isSourceNode]) {\n\t this.children[i].walkSourceContents(aFn);\n\t }\n\t }\n\t\n\t var sources = Object.keys(this.sourceContents);\n\t for (var i = 0, len = sources.length; i < len; i++) {\n\t aFn(util.fromSetString(sources[i]), this.sourceContents[sources[i]]);\n\t }\n\t };\n\t\n\t/**\n\t * Return the string representation of this source node. Walks over the tree\n\t * and concatenates all the various snippets together to one string.\n\t */\n\tSourceNode.prototype.toString = function SourceNode_toString() {\n\t var str = \"\";\n\t this.walk(function (chunk) {\n\t str += chunk;\n\t });\n\t return str;\n\t};\n\t\n\t/**\n\t * Returns the string representation of this source node along with a source\n\t * map.\n\t */\n\tSourceNode.prototype.toStringWithSourceMap = function SourceNode_toStringWithSourceMap(aArgs) {\n\t var generated = {\n\t code: \"\",\n\t line: 1,\n\t column: 0\n\t };\n\t var map = new SourceMapGenerator(aArgs);\n\t var sourceMappingActive = false;\n\t var lastOriginalSource = null;\n\t var lastOriginalLine = null;\n\t var lastOriginalColumn = null;\n\t var lastOriginalName = null;\n\t this.walk(function (chunk, original) {\n\t generated.code += chunk;\n\t if (original.source !== null\n\t && original.line !== null\n\t && original.column !== null) {\n\t if(lastOriginalSource !== original.source\n\t || lastOriginalLine !== original.line\n\t || lastOriginalColumn !== original.column\n\t || lastOriginalName !== original.name) {\n\t map.addMapping({\n\t source: original.source,\n\t original: {\n\t line: original.line,\n\t column: original.column\n\t },\n\t generated: {\n\t line: generated.line,\n\t column: generated.column\n\t },\n\t name: original.name\n\t });\n\t }\n\t lastOriginalSource = original.source;\n\t lastOriginalLine = original.line;\n\t lastOriginalColumn = original.column;\n\t lastOriginalName = original.name;\n\t sourceMappingActive = true;\n\t } else if (sourceMappingActive) {\n\t map.addMapping({\n\t generated: {\n\t line: generated.line,\n\t column: generated.column\n\t }\n\t });\n\t lastOriginalSource = null;\n\t sourceMappingActive = false;\n\t }\n\t for (var idx = 0, length = chunk.length; idx < length; idx++) {\n\t if (chunk.charCodeAt(idx) === NEWLINE_CODE) {\n\t generated.line++;\n\t generated.column = 0;\n\t // Mappings end at eol\n\t if (idx + 1 === length) {\n\t lastOriginalSource = null;\n\t sourceMappingActive = false;\n\t } else if (sourceMappingActive) {\n\t map.addMapping({\n\t source: original.source,\n\t original: {\n\t line: original.line,\n\t column: original.column\n\t },\n\t generated: {\n\t line: generated.line,\n\t column: generated.column\n\t },\n\t name: original.name\n\t });\n\t }\n\t } else {\n\t generated.column++;\n\t }\n\t }\n\t });\n\t this.walkSourceContents(function (sourceFile, sourceContent) {\n\t map.setSourceContent(sourceFile, sourceContent);\n\t });\n\t\n\t return { code: generated.code, map: map };\n\t};\n\t\n\texports.SourceNode = SourceNode;\n\n\n/***/ })\n/******/ ])\n});\n;\n\n\n// WEBPACK FOOTER //\n// source-map.min.js"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 0fd5815da764db5fb9fe","/*\n * Copyright 2009-2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE.txt or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\nexports.SourceMapGenerator = require('./lib/source-map-generator').SourceMapGenerator;\nexports.SourceMapConsumer = require('./lib/source-map-consumer').SourceMapConsumer;\nexports.SourceNode = require('./lib/source-node').SourceNode;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./source-map.js\n// module id = 0\n// module chunks = 0","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar base64VLQ = require('./base64-vlq');\nvar util = require('./util');\nvar ArraySet = require('./array-set').ArraySet;\nvar MappingList = require('./mapping-list').MappingList;\n\n/**\n * An instance of the SourceMapGenerator represents a source map which is\n * being built incrementally. You may pass an object with the following\n * properties:\n *\n * - file: The filename of the generated source.\n * - sourceRoot: A root for all relative URLs in this source map.\n */\nfunction SourceMapGenerator(aArgs) {\n if (!aArgs) {\n aArgs = {};\n }\n this._file = util.getArg(aArgs, 'file', null);\n this._sourceRoot = util.getArg(aArgs, 'sourceRoot', null);\n this._skipValidation = util.getArg(aArgs, 'skipValidation', false);\n this._sources = new ArraySet();\n this._names = new ArraySet();\n this._mappings = new MappingList();\n this._sourcesContents = null;\n}\n\nSourceMapGenerator.prototype._version = 3;\n\n/**\n * Creates a new SourceMapGenerator based on a SourceMapConsumer\n *\n * @param aSourceMapConsumer The SourceMap.\n */\nSourceMapGenerator.fromSourceMap =\n function SourceMapGenerator_fromSourceMap(aSourceMapConsumer) {\n var sourceRoot = aSourceMapConsumer.sourceRoot;\n var generator = new SourceMapGenerator({\n file: aSourceMapConsumer.file,\n sourceRoot: sourceRoot\n });\n aSourceMapConsumer.eachMapping(function (mapping) {\n var newMapping = {\n generated: {\n line: mapping.generatedLine,\n column: mapping.generatedColumn\n }\n };\n\n if (mapping.source != null) {\n newMapping.source = mapping.source;\n if (sourceRoot != null) {\n newMapping.source = util.relative(sourceRoot, newMapping.source);\n }\n\n newMapping.original = {\n line: mapping.originalLine,\n column: mapping.originalColumn\n };\n\n if (mapping.name != null) {\n newMapping.name = mapping.name;\n }\n }\n\n generator.addMapping(newMapping);\n });\n aSourceMapConsumer.sources.forEach(function (sourceFile) {\n var sourceRelative = sourceFile;\n if (sourceRoot !== null) {\n sourceRelative = util.relative(sourceRoot, sourceFile);\n }\n\n if (!generator._sources.has(sourceRelative)) {\n generator._sources.add(sourceRelative);\n }\n\n var content = aSourceMapConsumer.sourceContentFor(sourceFile);\n if (content != null) {\n generator.setSourceContent(sourceFile, content);\n }\n });\n return generator;\n };\n\n/**\n * Add a single mapping from original source line and column to the generated\n * source's line and column for this source map being created. The mapping\n * object should have the following properties:\n *\n * - generated: An object with the generated line and column positions.\n * - original: An object with the original line and column positions.\n * - source: The original source file (relative to the sourceRoot).\n * - name: An optional original token name for this mapping.\n */\nSourceMapGenerator.prototype.addMapping =\n function SourceMapGenerator_addMapping(aArgs) {\n var generated = util.getArg(aArgs, 'generated');\n var original = util.getArg(aArgs, 'original', null);\n var source = util.getArg(aArgs, 'source', null);\n var name = util.getArg(aArgs, 'name', null);\n\n if (!this._skipValidation) {\n this._validateMapping(generated, original, source, name);\n }\n\n if (source != null) {\n source = String(source);\n if (!this._sources.has(source)) {\n this._sources.add(source);\n }\n }\n\n if (name != null) {\n name = String(name);\n if (!this._names.has(name)) {\n this._names.add(name);\n }\n }\n\n this._mappings.add({\n generatedLine: generated.line,\n generatedColumn: generated.column,\n originalLine: original != null && original.line,\n originalColumn: original != null && original.column,\n source: source,\n name: name\n });\n };\n\n/**\n * Set the source content for a source file.\n */\nSourceMapGenerator.prototype.setSourceContent =\n function SourceMapGenerator_setSourceContent(aSourceFile, aSourceContent) {\n var source = aSourceFile;\n if (this._sourceRoot != null) {\n source = util.relative(this._sourceRoot, source);\n }\n\n if (aSourceContent != null) {\n // Add the source content to the _sourcesContents map.\n // Create a new _sourcesContents map if the property is null.\n if (!this._sourcesContents) {\n this._sourcesContents = Object.create(null);\n }\n this._sourcesContents[util.toSetString(source)] = aSourceContent;\n } else if (this._sourcesContents) {\n // Remove the source file from the _sourcesContents map.\n // If the _sourcesContents map is empty, set the property to null.\n delete this._sourcesContents[util.toSetString(source)];\n if (Object.keys(this._sourcesContents).length === 0) {\n this._sourcesContents = null;\n }\n }\n };\n\n/**\n * Applies the mappings of a sub-source-map for a specific source file to the\n * source map being generated. Each mapping to the supplied source file is\n * rewritten using the supplied source map. Note: The resolution for the\n * resulting mappings is the minimium of this map and the supplied map.\n *\n * @param aSourceMapConsumer The source map to be applied.\n * @param aSourceFile Optional. The filename of the source file.\n * If omitted, SourceMapConsumer's file property will be used.\n * @param aSourceMapPath Optional. The dirname of the path to the source map\n * to be applied. If relative, it is relative to the SourceMapConsumer.\n * This parameter is needed when the two source maps aren't in the same\n * directory, and the source map to be applied contains relative source\n * paths. If so, those relative source paths need to be rewritten\n * relative to the SourceMapGenerator.\n */\nSourceMapGenerator.prototype.applySourceMap =\n function SourceMapGenerator_applySourceMap(aSourceMapConsumer, aSourceFile, aSourceMapPath) {\n var sourceFile = aSourceFile;\n // If aSourceFile is omitted, we will use the file property of the SourceMap\n if (aSourceFile == null) {\n if (aSourceMapConsumer.file == null) {\n throw new Error(\n 'SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, ' +\n 'or the source map\\'s \"file\" property. Both were omitted.'\n );\n }\n sourceFile = aSourceMapConsumer.file;\n }\n var sourceRoot = this._sourceRoot;\n // Make \"sourceFile\" relative if an absolute Url is passed.\n if (sourceRoot != null) {\n sourceFile = util.relative(sourceRoot, sourceFile);\n }\n // Applying the SourceMap can add and remove items from the sources and\n // the names array.\n var newSources = new ArraySet();\n var newNames = new ArraySet();\n\n // Find mappings for the \"sourceFile\"\n this._mappings.unsortedForEach(function (mapping) {\n if (mapping.source === sourceFile && mapping.originalLine != null) {\n // Check if it can be mapped by the source map, then update the mapping.\n var original = aSourceMapConsumer.originalPositionFor({\n line: mapping.originalLine,\n column: mapping.originalColumn\n });\n if (original.source != null) {\n // Copy mapping\n mapping.source = original.source;\n if (aSourceMapPath != null) {\n mapping.source = util.join(aSourceMapPath, mapping.source)\n }\n if (sourceRoot != null) {\n mapping.source = util.relative(sourceRoot, mapping.source);\n }\n mapping.originalLine = original.line;\n mapping.originalColumn = original.column;\n if (original.name != null) {\n mapping.name = original.name;\n }\n }\n }\n\n var source = mapping.source;\n if (source != null && !newSources.has(source)) {\n newSources.add(source);\n }\n\n var name = mapping.name;\n if (name != null && !newNames.has(name)) {\n newNames.add(name);\n }\n\n }, this);\n this._sources = newSources;\n this._names = newNames;\n\n // Copy sourcesContents of applied map.\n aSourceMapConsumer.sources.forEach(function (sourceFile) {\n var content = aSourceMapConsumer.sourceContentFor(sourceFile);\n if (content != null) {\n if (aSourceMapPath != null) {\n sourceFile = util.join(aSourceMapPath, sourceFile);\n }\n if (sourceRoot != null) {\n sourceFile = util.relative(sourceRoot, sourceFile);\n }\n this.setSourceContent(sourceFile, content);\n }\n }, this);\n };\n\n/**\n * A mapping can have one of the three levels of data:\n *\n * 1. Just the generated position.\n * 2. The Generated position, original position, and original source.\n * 3. Generated and original position, original source, as well as a name\n * token.\n *\n * To maintain consistency, we validate that any new mapping being added falls\n * in to one of these categories.\n */\nSourceMapGenerator.prototype._validateMapping =\n function SourceMapGenerator_validateMapping(aGenerated, aOriginal, aSource,\n aName) {\n // When aOriginal is truthy but has empty values for .line and .column,\n // it is most likely a programmer error. In this case we throw a very\n // specific error message to try to guide them the right way.\n // For example: https://github.com/Polymer/polymer-bundler/pull/519\n if (aOriginal && typeof aOriginal.line !== 'number' && typeof aOriginal.column !== 'number') {\n throw new Error(\n 'original.line and original.column are not numbers -- you probably meant to omit ' +\n 'the original mapping entirely and only map the generated position. If so, pass ' +\n 'null for the original mapping instead of an object with empty or null values.'\n );\n }\n\n if (aGenerated && 'line' in aGenerated && 'column' in aGenerated\n && aGenerated.line > 0 && aGenerated.column >= 0\n && !aOriginal && !aSource && !aName) {\n // Case 1.\n return;\n }\n else if (aGenerated && 'line' in aGenerated && 'column' in aGenerated\n && aOriginal && 'line' in aOriginal && 'column' in aOriginal\n && aGenerated.line > 0 && aGenerated.column >= 0\n && aOriginal.line > 0 && aOriginal.column >= 0\n && aSource) {\n // Cases 2 and 3.\n return;\n }\n else {\n throw new Error('Invalid mapping: ' + JSON.stringify({\n generated: aGenerated,\n source: aSource,\n original: aOriginal,\n name: aName\n }));\n }\n };\n\n/**\n * Serialize the accumulated mappings in to the stream of base 64 VLQs\n * specified by the source map format.\n */\nSourceMapGenerator.prototype._serializeMappings =\n function SourceMapGenerator_serializeMappings() {\n var previousGeneratedColumn = 0;\n var previousGeneratedLine = 1;\n var previousOriginalColumn = 0;\n var previousOriginalLine = 0;\n var previousName = 0;\n var previousSource = 0;\n var result = '';\n var next;\n var mapping;\n var nameIdx;\n var sourceIdx;\n\n var mappings = this._mappings.toArray();\n for (var i = 0, len = mappings.length; i < len; i++) {\n mapping = mappings[i];\n next = ''\n\n if (mapping.generatedLine !== previousGeneratedLine) {\n previousGeneratedColumn = 0;\n while (mapping.generatedLine !== previousGeneratedLine) {\n next += ';';\n previousGeneratedLine++;\n }\n }\n else {\n if (i > 0) {\n if (!util.compareByGeneratedPositionsInflated(mapping, mappings[i - 1])) {\n continue;\n }\n next += ',';\n }\n }\n\n next += base64VLQ.encode(mapping.generatedColumn\n - previousGeneratedColumn);\n previousGeneratedColumn = mapping.generatedColumn;\n\n if (mapping.source != null) {\n sourceIdx = this._sources.indexOf(mapping.source);\n next += base64VLQ.encode(sourceIdx - previousSource);\n previousSource = sourceIdx;\n\n // lines are stored 0-based in SourceMap spec version 3\n next += base64VLQ.encode(mapping.originalLine - 1\n - previousOriginalLine);\n previousOriginalLine = mapping.originalLine - 1;\n\n next += base64VLQ.encode(mapping.originalColumn\n - previousOriginalColumn);\n previousOriginalColumn = mapping.originalColumn;\n\n if (mapping.name != null) {\n nameIdx = this._names.indexOf(mapping.name);\n next += base64VLQ.encode(nameIdx - previousName);\n previousName = nameIdx;\n }\n }\n\n result += next;\n }\n\n return result;\n };\n\nSourceMapGenerator.prototype._generateSourcesContent =\n function SourceMapGenerator_generateSourcesContent(aSources, aSourceRoot) {\n return aSources.map(function (source) {\n if (!this._sourcesContents) {\n return null;\n }\n if (aSourceRoot != null) {\n source = util.relative(aSourceRoot, source);\n }\n var key = util.toSetString(source);\n return Object.prototype.hasOwnProperty.call(this._sourcesContents, key)\n ? this._sourcesContents[key]\n : null;\n }, this);\n };\n\n/**\n * Externalize the source map.\n */\nSourceMapGenerator.prototype.toJSON =\n function SourceMapGenerator_toJSON() {\n var map = {\n version: this._version,\n sources: this._sources.toArray(),\n names: this._names.toArray(),\n mappings: this._serializeMappings()\n };\n if (this._file != null) {\n map.file = this._file;\n }\n if (this._sourceRoot != null) {\n map.sourceRoot = this._sourceRoot;\n }\n if (this._sourcesContents) {\n map.sourcesContent = this._generateSourcesContent(map.sources, map.sourceRoot);\n }\n\n return map;\n };\n\n/**\n * Render the source map being generated to a string.\n */\nSourceMapGenerator.prototype.toString =\n function SourceMapGenerator_toString() {\n return JSON.stringify(this.toJSON());\n };\n\nexports.SourceMapGenerator = SourceMapGenerator;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/source-map-generator.js\n// module id = 1\n// module chunks = 0","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n *\n * Based on the Base 64 VLQ implementation in Closure Compiler:\n * https://code.google.com/p/closure-compiler/source/browse/trunk/src/com/google/debugging/sourcemap/Base64VLQ.java\n *\n * Copyright 2011 The Closure Compiler Authors. All rights reserved.\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are\n * met:\n *\n * * Redistributions of source code must retain the above copyright\n * notice, this list of conditions and the following disclaimer.\n * * Redistributions in binary form must reproduce the above\n * copyright notice, this list of conditions and the following\n * disclaimer in the documentation and/or other materials provided\n * with the distribution.\n * * Neither the name of Google Inc. nor the names of its\n * contributors may be used to endorse or promote products derived\n * from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n * \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n */\n\nvar base64 = require('./base64');\n\n// A single base 64 digit can contain 6 bits of data. For the base 64 variable\n// length quantities we use in the source map spec, the first bit is the sign,\n// the next four bits are the actual value, and the 6th bit is the\n// continuation bit. The continuation bit tells us whether there are more\n// digits in this value following this digit.\n//\n// Continuation\n// | Sign\n// | |\n// V V\n// 101011\n\nvar VLQ_BASE_SHIFT = 5;\n\n// binary: 100000\nvar VLQ_BASE = 1 << VLQ_BASE_SHIFT;\n\n// binary: 011111\nvar VLQ_BASE_MASK = VLQ_BASE - 1;\n\n// binary: 100000\nvar VLQ_CONTINUATION_BIT = VLQ_BASE;\n\n/**\n * Converts from a two-complement value to a value where the sign bit is\n * placed in the least significant bit. For example, as decimals:\n * 1 becomes 2 (10 binary), -1 becomes 3 (11 binary)\n * 2 becomes 4 (100 binary), -2 becomes 5 (101 binary)\n */\nfunction toVLQSigned(aValue) {\n return aValue < 0\n ? ((-aValue) << 1) + 1\n : (aValue << 1) + 0;\n}\n\n/**\n * Converts to a two-complement value from a value where the sign bit is\n * placed in the least significant bit. For example, as decimals:\n * 2 (10 binary) becomes 1, 3 (11 binary) becomes -1\n * 4 (100 binary) becomes 2, 5 (101 binary) becomes -2\n */\nfunction fromVLQSigned(aValue) {\n var isNegative = (aValue & 1) === 1;\n var shifted = aValue >> 1;\n return isNegative\n ? -shifted\n : shifted;\n}\n\n/**\n * Returns the base 64 VLQ encoded value.\n */\nexports.encode = function base64VLQ_encode(aValue) {\n var encoded = \"\";\n var digit;\n\n var vlq = toVLQSigned(aValue);\n\n do {\n digit = vlq & VLQ_BASE_MASK;\n vlq >>>= VLQ_BASE_SHIFT;\n if (vlq > 0) {\n // There are still more digits in this value, so we must make sure the\n // continuation bit is marked.\n digit |= VLQ_CONTINUATION_BIT;\n }\n encoded += base64.encode(digit);\n } while (vlq > 0);\n\n return encoded;\n};\n\n/**\n * Decodes the next base 64 VLQ value from the given string and returns the\n * value and the rest of the string via the out parameter.\n */\nexports.decode = function base64VLQ_decode(aStr, aIndex, aOutParam) {\n var strLen = aStr.length;\n var result = 0;\n var shift = 0;\n var continuation, digit;\n\n do {\n if (aIndex >= strLen) {\n throw new Error(\"Expected more digits in base 64 VLQ value.\");\n }\n\n digit = base64.decode(aStr.charCodeAt(aIndex++));\n if (digit === -1) {\n throw new Error(\"Invalid base64 digit: \" + aStr.charAt(aIndex - 1));\n }\n\n continuation = !!(digit & VLQ_CONTINUATION_BIT);\n digit &= VLQ_BASE_MASK;\n result = result + (digit << shift);\n shift += VLQ_BASE_SHIFT;\n } while (continuation);\n\n aOutParam.value = fromVLQSigned(result);\n aOutParam.rest = aIndex;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/base64-vlq.js\n// module id = 2\n// module chunks = 0","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar intToCharMap = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.split('');\n\n/**\n * Encode an integer in the range of 0 to 63 to a single base 64 digit.\n */\nexports.encode = function (number) {\n if (0 <= number && number < intToCharMap.length) {\n return intToCharMap[number];\n }\n throw new TypeError(\"Must be between 0 and 63: \" + number);\n};\n\n/**\n * Decode a single base 64 character code digit to an integer. Returns -1 on\n * failure.\n */\nexports.decode = function (charCode) {\n var bigA = 65; // 'A'\n var bigZ = 90; // 'Z'\n\n var littleA = 97; // 'a'\n var littleZ = 122; // 'z'\n\n var zero = 48; // '0'\n var nine = 57; // '9'\n\n var plus = 43; // '+'\n var slash = 47; // '/'\n\n var littleOffset = 26;\n var numberOffset = 52;\n\n // 0 - 25: ABCDEFGHIJKLMNOPQRSTUVWXYZ\n if (bigA <= charCode && charCode <= bigZ) {\n return (charCode - bigA);\n }\n\n // 26 - 51: abcdefghijklmnopqrstuvwxyz\n if (littleA <= charCode && charCode <= littleZ) {\n return (charCode - littleA + littleOffset);\n }\n\n // 52 - 61: 0123456789\n if (zero <= charCode && charCode <= nine) {\n return (charCode - zero + numberOffset);\n }\n\n // 62: +\n if (charCode == plus) {\n return 62;\n }\n\n // 63: /\n if (charCode == slash) {\n return 63;\n }\n\n // Invalid base64 digit.\n return -1;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/base64.js\n// module id = 3\n// module chunks = 0","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\n/**\n * This is a helper function for getting values from parameter/options\n * objects.\n *\n * @param args The object we are extracting values from\n * @param name The name of the property we are getting.\n * @param defaultValue An optional value to return if the property is missing\n * from the object. If this is not specified and the property is missing, an\n * error will be thrown.\n */\nfunction getArg(aArgs, aName, aDefaultValue) {\n if (aName in aArgs) {\n return aArgs[aName];\n } else if (arguments.length === 3) {\n return aDefaultValue;\n } else {\n throw new Error('\"' + aName + '\" is a required argument.');\n }\n}\nexports.getArg = getArg;\n\nvar urlRegexp = /^(?:([\\w+\\-.]+):)?\\/\\/(?:(\\w+:\\w+)@)?([\\w.-]*)(?::(\\d+))?(.*)$/;\nvar dataUrlRegexp = /^data:.+\\,.+$/;\n\nfunction urlParse(aUrl) {\n var match = aUrl.match(urlRegexp);\n if (!match) {\n return null;\n }\n return {\n scheme: match[1],\n auth: match[2],\n host: match[3],\n port: match[4],\n path: match[5]\n };\n}\nexports.urlParse = urlParse;\n\nfunction urlGenerate(aParsedUrl) {\n var url = '';\n if (aParsedUrl.scheme) {\n url += aParsedUrl.scheme + ':';\n }\n url += '//';\n if (aParsedUrl.auth) {\n url += aParsedUrl.auth + '@';\n }\n if (aParsedUrl.host) {\n url += aParsedUrl.host;\n }\n if (aParsedUrl.port) {\n url += \":\" + aParsedUrl.port\n }\n if (aParsedUrl.path) {\n url += aParsedUrl.path;\n }\n return url;\n}\nexports.urlGenerate = urlGenerate;\n\n/**\n * Normalizes a path, or the path portion of a URL:\n *\n * - Replaces consecutive slashes with one slash.\n * - Removes unnecessary '.' parts.\n * - Removes unnecessary '/..' parts.\n *\n * Based on code in the Node.js 'path' core module.\n *\n * @param aPath The path or url to normalize.\n */\nfunction normalize(aPath) {\n var path = aPath;\n var url = urlParse(aPath);\n if (url) {\n if (!url.path) {\n return aPath;\n }\n path = url.path;\n }\n var isAbsolute = exports.isAbsolute(path);\n\n var parts = path.split(/\\/+/);\n for (var part, up = 0, i = parts.length - 1; i >= 0; i--) {\n part = parts[i];\n if (part === '.') {\n parts.splice(i, 1);\n } else if (part === '..') {\n up++;\n } else if (up > 0) {\n if (part === '') {\n // The first part is blank if the path is absolute. Trying to go\n // above the root is a no-op. Therefore we can remove all '..' parts\n // directly after the root.\n parts.splice(i + 1, up);\n up = 0;\n } else {\n parts.splice(i, 2);\n up--;\n }\n }\n }\n path = parts.join('/');\n\n if (path === '') {\n path = isAbsolute ? '/' : '.';\n }\n\n if (url) {\n url.path = path;\n return urlGenerate(url);\n }\n return path;\n}\nexports.normalize = normalize;\n\n/**\n * Joins two paths/URLs.\n *\n * @param aRoot The root path or URL.\n * @param aPath The path or URL to be joined with the root.\n *\n * - If aPath is a URL or a data URI, aPath is returned, unless aPath is a\n * scheme-relative URL: Then the scheme of aRoot, if any, is prepended\n * first.\n * - Otherwise aPath is a path. If aRoot is a URL, then its path portion\n * is updated with the result and aRoot is returned. Otherwise the result\n * is returned.\n * - If aPath is absolute, the result is aPath.\n * - Otherwise the two paths are joined with a slash.\n * - Joining for example 'http://' and 'www.example.com' is also supported.\n */\nfunction join(aRoot, aPath) {\n if (aRoot === \"\") {\n aRoot = \".\";\n }\n if (aPath === \"\") {\n aPath = \".\";\n }\n var aPathUrl = urlParse(aPath);\n var aRootUrl = urlParse(aRoot);\n if (aRootUrl) {\n aRoot = aRootUrl.path || '/';\n }\n\n // `join(foo, '//www.example.org')`\n if (aPathUrl && !aPathUrl.scheme) {\n if (aRootUrl) {\n aPathUrl.scheme = aRootUrl.scheme;\n }\n return urlGenerate(aPathUrl);\n }\n\n if (aPathUrl || aPath.match(dataUrlRegexp)) {\n return aPath;\n }\n\n // `join('http://', 'www.example.com')`\n if (aRootUrl && !aRootUrl.host && !aRootUrl.path) {\n aRootUrl.host = aPath;\n return urlGenerate(aRootUrl);\n }\n\n var joined = aPath.charAt(0) === '/'\n ? aPath\n : normalize(aRoot.replace(/\\/+$/, '') + '/' + aPath);\n\n if (aRootUrl) {\n aRootUrl.path = joined;\n return urlGenerate(aRootUrl);\n }\n return joined;\n}\nexports.join = join;\n\nexports.isAbsolute = function (aPath) {\n return aPath.charAt(0) === '/' || urlRegexp.test(aPath);\n};\n\n/**\n * Make a path relative to a URL or another path.\n *\n * @param aRoot The root path or URL.\n * @param aPath The path or URL to be made relative to aRoot.\n */\nfunction relative(aRoot, aPath) {\n if (aRoot === \"\") {\n aRoot = \".\";\n }\n\n aRoot = aRoot.replace(/\\/$/, '');\n\n // It is possible for the path to be above the root. In this case, simply\n // checking whether the root is a prefix of the path won't work. Instead, we\n // need to remove components from the root one by one, until either we find\n // a prefix that fits, or we run out of components to remove.\n var level = 0;\n while (aPath.indexOf(aRoot + '/') !== 0) {\n var index = aRoot.lastIndexOf(\"/\");\n if (index < 0) {\n return aPath;\n }\n\n // If the only part of the root that is left is the scheme (i.e. http://,\n // file:///, etc.), one or more slashes (/), or simply nothing at all, we\n // have exhausted all components, so the path is not relative to the root.\n aRoot = aRoot.slice(0, index);\n if (aRoot.match(/^([^\\/]+:\\/)?\\/*$/)) {\n return aPath;\n }\n\n ++level;\n }\n\n // Make sure we add a \"../\" for each component we removed from the root.\n return Array(level + 1).join(\"../\") + aPath.substr(aRoot.length + 1);\n}\nexports.relative = relative;\n\nvar supportsNullProto = (function () {\n var obj = Object.create(null);\n return !('__proto__' in obj);\n}());\n\nfunction identity (s) {\n return s;\n}\n\n/**\n * Because behavior goes wacky when you set `__proto__` on objects, we\n * have to prefix all the strings in our set with an arbitrary character.\n *\n * See https://github.com/mozilla/source-map/pull/31 and\n * https://github.com/mozilla/source-map/issues/30\n *\n * @param String aStr\n */\nfunction toSetString(aStr) {\n if (isProtoString(aStr)) {\n return '$' + aStr;\n }\n\n return aStr;\n}\nexports.toSetString = supportsNullProto ? identity : toSetString;\n\nfunction fromSetString(aStr) {\n if (isProtoString(aStr)) {\n return aStr.slice(1);\n }\n\n return aStr;\n}\nexports.fromSetString = supportsNullProto ? identity : fromSetString;\n\nfunction isProtoString(s) {\n if (!s) {\n return false;\n }\n\n var length = s.length;\n\n if (length < 9 /* \"__proto__\".length */) {\n return false;\n }\n\n if (s.charCodeAt(length - 1) !== 95 /* '_' */ ||\n s.charCodeAt(length - 2) !== 95 /* '_' */ ||\n s.charCodeAt(length - 3) !== 111 /* 'o' */ ||\n s.charCodeAt(length - 4) !== 116 /* 't' */ ||\n s.charCodeAt(length - 5) !== 111 /* 'o' */ ||\n s.charCodeAt(length - 6) !== 114 /* 'r' */ ||\n s.charCodeAt(length - 7) !== 112 /* 'p' */ ||\n s.charCodeAt(length - 8) !== 95 /* '_' */ ||\n s.charCodeAt(length - 9) !== 95 /* '_' */) {\n return false;\n }\n\n for (var i = length - 10; i >= 0; i--) {\n if (s.charCodeAt(i) !== 36 /* '$' */) {\n return false;\n }\n }\n\n return true;\n}\n\n/**\n * Comparator between two mappings where the original positions are compared.\n *\n * Optionally pass in `true` as `onlyCompareGenerated` to consider two\n * mappings with the same original source/line/column, but different generated\n * line and column the same. Useful when searching for a mapping with a\n * stubbed out mapping.\n */\nfunction compareByOriginalPositions(mappingA, mappingB, onlyCompareOriginal) {\n var cmp = strcmp(mappingA.source, mappingB.source);\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalLine - mappingB.originalLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalColumn - mappingB.originalColumn;\n if (cmp !== 0 || onlyCompareOriginal) {\n return cmp;\n }\n\n cmp = mappingA.generatedColumn - mappingB.generatedColumn;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.generatedLine - mappingB.generatedLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n return strcmp(mappingA.name, mappingB.name);\n}\nexports.compareByOriginalPositions = compareByOriginalPositions;\n\n/**\n * Comparator between two mappings with deflated source and name indices where\n * the generated positions are compared.\n *\n * Optionally pass in `true` as `onlyCompareGenerated` to consider two\n * mappings with the same generated line and column, but different\n * source/name/original line and column the same. Useful when searching for a\n * mapping with a stubbed out mapping.\n */\nfunction compareByGeneratedPositionsDeflated(mappingA, mappingB, onlyCompareGenerated) {\n var cmp = mappingA.generatedLine - mappingB.generatedLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.generatedColumn - mappingB.generatedColumn;\n if (cmp !== 0 || onlyCompareGenerated) {\n return cmp;\n }\n\n cmp = strcmp(mappingA.source, mappingB.source);\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalLine - mappingB.originalLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalColumn - mappingB.originalColumn;\n if (cmp !== 0) {\n return cmp;\n }\n\n return strcmp(mappingA.name, mappingB.name);\n}\nexports.compareByGeneratedPositionsDeflated = compareByGeneratedPositionsDeflated;\n\nfunction strcmp(aStr1, aStr2) {\n if (aStr1 === aStr2) {\n return 0;\n }\n\n if (aStr1 === null) {\n return 1; // aStr2 !== null\n }\n\n if (aStr2 === null) {\n return -1; // aStr1 !== null\n }\n\n if (aStr1 > aStr2) {\n return 1;\n }\n\n return -1;\n}\n\n/**\n * Comparator between two mappings with inflated source and name strings where\n * the generated positions are compared.\n */\nfunction compareByGeneratedPositionsInflated(mappingA, mappingB) {\n var cmp = mappingA.generatedLine - mappingB.generatedLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.generatedColumn - mappingB.generatedColumn;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = strcmp(mappingA.source, mappingB.source);\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalLine - mappingB.originalLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalColumn - mappingB.originalColumn;\n if (cmp !== 0) {\n return cmp;\n }\n\n return strcmp(mappingA.name, mappingB.name);\n}\nexports.compareByGeneratedPositionsInflated = compareByGeneratedPositionsInflated;\n\n/**\n * Strip any JSON XSSI avoidance prefix from the string (as documented\n * in the source maps specification), and then parse the string as\n * JSON.\n */\nfunction parseSourceMapInput(str) {\n return JSON.parse(str.replace(/^\\)]}'[^\\n]*\\n/, ''));\n}\nexports.parseSourceMapInput = parseSourceMapInput;\n\n/**\n * Compute the URL of a source given the the source root, the source's\n * URL, and the source map's URL.\n */\nfunction computeSourceURL(sourceRoot, sourceURL, sourceMapURL) {\n sourceURL = sourceURL || '';\n\n if (sourceRoot) {\n // This follows what Chrome does.\n if (sourceRoot[sourceRoot.length - 1] !== '/' && sourceURL[0] !== '/') {\n sourceRoot += '/';\n }\n // The spec says:\n // Line 4: An optional source root, useful for relocating source\n // files on a server or removing repeated values in the\n // “sources” entry. This value is prepended to the individual\n // entries in the “source” field.\n sourceURL = sourceRoot + sourceURL;\n }\n\n // Historically, SourceMapConsumer did not take the sourceMapURL as\n // a parameter. This mode is still somewhat supported, which is why\n // this code block is conditional. However, it's preferable to pass\n // the source map URL to SourceMapConsumer, so that this function\n // can implement the source URL resolution algorithm as outlined in\n // the spec. This block is basically the equivalent of:\n // new URL(sourceURL, sourceMapURL).toString()\n // ... except it avoids using URL, which wasn't available in the\n // older releases of node still supported by this library.\n //\n // The spec says:\n // If the sources are not absolute URLs after prepending of the\n // “sourceRoot”, the sources are resolved relative to the\n // SourceMap (like resolving script src in a html document).\n if (sourceMapURL) {\n var parsed = urlParse(sourceMapURL);\n if (!parsed) {\n throw new Error(\"sourceMapURL could not be parsed\");\n }\n if (parsed.path) {\n // Strip the last path component, but keep the \"/\".\n var index = parsed.path.lastIndexOf('/');\n if (index >= 0) {\n parsed.path = parsed.path.substring(0, index + 1);\n }\n }\n sourceURL = join(urlGenerate(parsed), sourceURL);\n }\n\n return normalize(sourceURL);\n}\nexports.computeSourceURL = computeSourceURL;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/util.js\n// module id = 4\n// module chunks = 0","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar util = require('./util');\nvar has = Object.prototype.hasOwnProperty;\nvar hasNativeMap = typeof Map !== \"undefined\";\n\n/**\n * A data structure which is a combination of an array and a set. Adding a new\n * member is O(1), testing for membership is O(1), and finding the index of an\n * element is O(1). Removing elements from the set is not supported. Only\n * strings are supported for membership.\n */\nfunction ArraySet() {\n this._array = [];\n this._set = hasNativeMap ? new Map() : Object.create(null);\n}\n\n/**\n * Static method for creating ArraySet instances from an existing array.\n */\nArraySet.fromArray = function ArraySet_fromArray(aArray, aAllowDuplicates) {\n var set = new ArraySet();\n for (var i = 0, len = aArray.length; i < len; i++) {\n set.add(aArray[i], aAllowDuplicates);\n }\n return set;\n};\n\n/**\n * Return how many unique items are in this ArraySet. If duplicates have been\n * added, than those do not count towards the size.\n *\n * @returns Number\n */\nArraySet.prototype.size = function ArraySet_size() {\n return hasNativeMap ? this._set.size : Object.getOwnPropertyNames(this._set).length;\n};\n\n/**\n * Add the given string to this set.\n *\n * @param String aStr\n */\nArraySet.prototype.add = function ArraySet_add(aStr, aAllowDuplicates) {\n var sStr = hasNativeMap ? aStr : util.toSetString(aStr);\n var isDuplicate = hasNativeMap ? this.has(aStr) : has.call(this._set, sStr);\n var idx = this._array.length;\n if (!isDuplicate || aAllowDuplicates) {\n this._array.push(aStr);\n }\n if (!isDuplicate) {\n if (hasNativeMap) {\n this._set.set(aStr, idx);\n } else {\n this._set[sStr] = idx;\n }\n }\n};\n\n/**\n * Is the given string a member of this set?\n *\n * @param String aStr\n */\nArraySet.prototype.has = function ArraySet_has(aStr) {\n if (hasNativeMap) {\n return this._set.has(aStr);\n } else {\n var sStr = util.toSetString(aStr);\n return has.call(this._set, sStr);\n }\n};\n\n/**\n * What is the index of the given string in the array?\n *\n * @param String aStr\n */\nArraySet.prototype.indexOf = function ArraySet_indexOf(aStr) {\n if (hasNativeMap) {\n var idx = this._set.get(aStr);\n if (idx >= 0) {\n return idx;\n }\n } else {\n var sStr = util.toSetString(aStr);\n if (has.call(this._set, sStr)) {\n return this._set[sStr];\n }\n }\n\n throw new Error('\"' + aStr + '\" is not in the set.');\n};\n\n/**\n * What is the element at the given index?\n *\n * @param Number aIdx\n */\nArraySet.prototype.at = function ArraySet_at(aIdx) {\n if (aIdx >= 0 && aIdx < this._array.length) {\n return this._array[aIdx];\n }\n throw new Error('No element indexed by ' + aIdx);\n};\n\n/**\n * Returns the array representation of this set (which has the proper indices\n * indicated by indexOf). Note that this is a copy of the internal array used\n * for storing the members so that no one can mess with internal state.\n */\nArraySet.prototype.toArray = function ArraySet_toArray() {\n return this._array.slice();\n};\n\nexports.ArraySet = ArraySet;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/array-set.js\n// module id = 5\n// module chunks = 0","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2014 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar util = require('./util');\n\n/**\n * Determine whether mappingB is after mappingA with respect to generated\n * position.\n */\nfunction generatedPositionAfter(mappingA, mappingB) {\n // Optimized for most common case\n var lineA = mappingA.generatedLine;\n var lineB = mappingB.generatedLine;\n var columnA = mappingA.generatedColumn;\n var columnB = mappingB.generatedColumn;\n return lineB > lineA || lineB == lineA && columnB >= columnA ||\n util.compareByGeneratedPositionsInflated(mappingA, mappingB) <= 0;\n}\n\n/**\n * A data structure to provide a sorted view of accumulated mappings in a\n * performance conscious manner. It trades a neglibable overhead in general\n * case for a large speedup in case of mappings being added in order.\n */\nfunction MappingList() {\n this._array = [];\n this._sorted = true;\n // Serves as infimum\n this._last = {generatedLine: -1, generatedColumn: 0};\n}\n\n/**\n * Iterate through internal items. This method takes the same arguments that\n * `Array.prototype.forEach` takes.\n *\n * NOTE: The order of the mappings is NOT guaranteed.\n */\nMappingList.prototype.unsortedForEach =\n function MappingList_forEach(aCallback, aThisArg) {\n this._array.forEach(aCallback, aThisArg);\n };\n\n/**\n * Add the given source mapping.\n *\n * @param Object aMapping\n */\nMappingList.prototype.add = function MappingList_add(aMapping) {\n if (generatedPositionAfter(this._last, aMapping)) {\n this._last = aMapping;\n this._array.push(aMapping);\n } else {\n this._sorted = false;\n this._array.push(aMapping);\n }\n};\n\n/**\n * Returns the flat, sorted array of mappings. The mappings are sorted by\n * generated position.\n *\n * WARNING: This method returns internal data without copying, for\n * performance. The return value must NOT be mutated, and should be treated as\n * an immutable borrow. If you want to take ownership, you must make your own\n * copy.\n */\nMappingList.prototype.toArray = function MappingList_toArray() {\n if (!this._sorted) {\n this._array.sort(util.compareByGeneratedPositionsInflated);\n this._sorted = true;\n }\n return this._array;\n};\n\nexports.MappingList = MappingList;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/mapping-list.js\n// module id = 6\n// module chunks = 0","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar util = require('./util');\nvar binarySearch = require('./binary-search');\nvar ArraySet = require('./array-set').ArraySet;\nvar base64VLQ = require('./base64-vlq');\nvar quickSort = require('./quick-sort').quickSort;\n\nfunction SourceMapConsumer(aSourceMap, aSourceMapURL) {\n var sourceMap = aSourceMap;\n if (typeof aSourceMap === 'string') {\n sourceMap = util.parseSourceMapInput(aSourceMap);\n }\n\n return sourceMap.sections != null\n ? new IndexedSourceMapConsumer(sourceMap, aSourceMapURL)\n : new BasicSourceMapConsumer(sourceMap, aSourceMapURL);\n}\n\nSourceMapConsumer.fromSourceMap = function(aSourceMap, aSourceMapURL) {\n return BasicSourceMapConsumer.fromSourceMap(aSourceMap, aSourceMapURL);\n}\n\n/**\n * The version of the source mapping spec that we are consuming.\n */\nSourceMapConsumer.prototype._version = 3;\n\n// `__generatedMappings` and `__originalMappings` are arrays that hold the\n// parsed mapping coordinates from the source map's \"mappings\" attribute. They\n// are lazily instantiated, accessed via the `_generatedMappings` and\n// `_originalMappings` getters respectively, and we only parse the mappings\n// and create these arrays once queried for a source location. We jump through\n// these hoops because there can be many thousands of mappings, and parsing\n// them is expensive, so we only want to do it if we must.\n//\n// Each object in the arrays is of the form:\n//\n// {\n// generatedLine: The line number in the generated code,\n// generatedColumn: The column number in the generated code,\n// source: The path to the original source file that generated this\n// chunk of code,\n// originalLine: The line number in the original source that\n// corresponds to this chunk of generated code,\n// originalColumn: The column number in the original source that\n// corresponds to this chunk of generated code,\n// name: The name of the original symbol which generated this chunk of\n// code.\n// }\n//\n// All properties except for `generatedLine` and `generatedColumn` can be\n// `null`.\n//\n// `_generatedMappings` is ordered by the generated positions.\n//\n// `_originalMappings` is ordered by the original positions.\n\nSourceMapConsumer.prototype.__generatedMappings = null;\nObject.defineProperty(SourceMapConsumer.prototype, '_generatedMappings', {\n configurable: true,\n enumerable: true,\n get: function () {\n if (!this.__generatedMappings) {\n this._parseMappings(this._mappings, this.sourceRoot);\n }\n\n return this.__generatedMappings;\n }\n});\n\nSourceMapConsumer.prototype.__originalMappings = null;\nObject.defineProperty(SourceMapConsumer.prototype, '_originalMappings', {\n configurable: true,\n enumerable: true,\n get: function () {\n if (!this.__originalMappings) {\n this._parseMappings(this._mappings, this.sourceRoot);\n }\n\n return this.__originalMappings;\n }\n});\n\nSourceMapConsumer.prototype._charIsMappingSeparator =\n function SourceMapConsumer_charIsMappingSeparator(aStr, index) {\n var c = aStr.charAt(index);\n return c === \";\" || c === \",\";\n };\n\n/**\n * Parse the mappings in a string in to a data structure which we can easily\n * query (the ordered arrays in the `this.__generatedMappings` and\n * `this.__originalMappings` properties).\n */\nSourceMapConsumer.prototype._parseMappings =\n function SourceMapConsumer_parseMappings(aStr, aSourceRoot) {\n throw new Error(\"Subclasses must implement _parseMappings\");\n };\n\nSourceMapConsumer.GENERATED_ORDER = 1;\nSourceMapConsumer.ORIGINAL_ORDER = 2;\n\nSourceMapConsumer.GREATEST_LOWER_BOUND = 1;\nSourceMapConsumer.LEAST_UPPER_BOUND = 2;\n\n/**\n * Iterate over each mapping between an original source/line/column and a\n * generated line/column in this source map.\n *\n * @param Function aCallback\n * The function that is called with each mapping.\n * @param Object aContext\n * Optional. If specified, this object will be the value of `this` every\n * time that `aCallback` is called.\n * @param aOrder\n * Either `SourceMapConsumer.GENERATED_ORDER` or\n * `SourceMapConsumer.ORIGINAL_ORDER`. Specifies whether you want to\n * iterate over the mappings sorted by the generated file's line/column\n * order or the original's source/line/column order, respectively. Defaults to\n * `SourceMapConsumer.GENERATED_ORDER`.\n */\nSourceMapConsumer.prototype.eachMapping =\n function SourceMapConsumer_eachMapping(aCallback, aContext, aOrder) {\n var context = aContext || null;\n var order = aOrder || SourceMapConsumer.GENERATED_ORDER;\n\n var mappings;\n switch (order) {\n case SourceMapConsumer.GENERATED_ORDER:\n mappings = this._generatedMappings;\n break;\n case SourceMapConsumer.ORIGINAL_ORDER:\n mappings = this._originalMappings;\n break;\n default:\n throw new Error(\"Unknown order of iteration.\");\n }\n\n var sourceRoot = this.sourceRoot;\n mappings.map(function (mapping) {\n var source = mapping.source === null ? null : this._sources.at(mapping.source);\n source = util.computeSourceURL(sourceRoot, source, this._sourceMapURL);\n return {\n source: source,\n generatedLine: mapping.generatedLine,\n generatedColumn: mapping.generatedColumn,\n originalLine: mapping.originalLine,\n originalColumn: mapping.originalColumn,\n name: mapping.name === null ? null : this._names.at(mapping.name)\n };\n }, this).forEach(aCallback, context);\n };\n\n/**\n * Returns all generated line and column information for the original source,\n * line, and column provided. If no column is provided, returns all mappings\n * corresponding to a either the line we are searching for or the next\n * closest line that has any mappings. Otherwise, returns all mappings\n * corresponding to the given line and either the column we are searching for\n * or the next closest column that has any offsets.\n *\n * The only argument is an object with the following properties:\n *\n * - source: The filename of the original source.\n * - line: The line number in the original source. The line number is 1-based.\n * - column: Optional. the column number in the original source.\n * The column number is 0-based.\n *\n * and an array of objects is returned, each with the following properties:\n *\n * - line: The line number in the generated source, or null. The\n * line number is 1-based.\n * - column: The column number in the generated source, or null.\n * The column number is 0-based.\n */\nSourceMapConsumer.prototype.allGeneratedPositionsFor =\n function SourceMapConsumer_allGeneratedPositionsFor(aArgs) {\n var line = util.getArg(aArgs, 'line');\n\n // When there is no exact match, BasicSourceMapConsumer.prototype._findMapping\n // returns the index of the closest mapping less than the needle. By\n // setting needle.originalColumn to 0, we thus find the last mapping for\n // the given line, provided such a mapping exists.\n var needle = {\n source: util.getArg(aArgs, 'source'),\n originalLine: line,\n originalColumn: util.getArg(aArgs, 'column', 0)\n };\n\n needle.source = this._findSourceIndex(needle.source);\n if (needle.source < 0) {\n return [];\n }\n\n var mappings = [];\n\n var index = this._findMapping(needle,\n this._originalMappings,\n \"originalLine\",\n \"originalColumn\",\n util.compareByOriginalPositions,\n binarySearch.LEAST_UPPER_BOUND);\n if (index >= 0) {\n var mapping = this._originalMappings[index];\n\n if (aArgs.column === undefined) {\n var originalLine = mapping.originalLine;\n\n // Iterate until either we run out of mappings, or we run into\n // a mapping for a different line than the one we found. Since\n // mappings are sorted, this is guaranteed to find all mappings for\n // the line we found.\n while (mapping && mapping.originalLine === originalLine) {\n mappings.push({\n line: util.getArg(mapping, 'generatedLine', null),\n column: util.getArg(mapping, 'generatedColumn', null),\n lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null)\n });\n\n mapping = this._originalMappings[++index];\n }\n } else {\n var originalColumn = mapping.originalColumn;\n\n // Iterate until either we run out of mappings, or we run into\n // a mapping for a different line than the one we were searching for.\n // Since mappings are sorted, this is guaranteed to find all mappings for\n // the line we are searching for.\n while (mapping &&\n mapping.originalLine === line &&\n mapping.originalColumn == originalColumn) {\n mappings.push({\n line: util.getArg(mapping, 'generatedLine', null),\n column: util.getArg(mapping, 'generatedColumn', null),\n lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null)\n });\n\n mapping = this._originalMappings[++index];\n }\n }\n }\n\n return mappings;\n };\n\nexports.SourceMapConsumer = SourceMapConsumer;\n\n/**\n * A BasicSourceMapConsumer instance represents a parsed source map which we can\n * query for information about the original file positions by giving it a file\n * position in the generated source.\n *\n * The first parameter is the raw source map (either as a JSON string, or\n * already parsed to an object). According to the spec, source maps have the\n * following attributes:\n *\n * - version: Which version of the source map spec this map is following.\n * - sources: An array of URLs to the original source files.\n * - names: An array of identifiers which can be referrenced by individual mappings.\n * - sourceRoot: Optional. The URL root from which all sources are relative.\n * - sourcesContent: Optional. An array of contents of the original source files.\n * - mappings: A string of base64 VLQs which contain the actual mappings.\n * - file: Optional. The generated file this source map is associated with.\n *\n * Here is an example source map, taken from the source map spec[0]:\n *\n * {\n * version : 3,\n * file: \"out.js\",\n * sourceRoot : \"\",\n * sources: [\"foo.js\", \"bar.js\"],\n * names: [\"src\", \"maps\", \"are\", \"fun\"],\n * mappings: \"AA,AB;;ABCDE;\"\n * }\n *\n * The second parameter, if given, is a string whose value is the URL\n * at which the source map was found. This URL is used to compute the\n * sources array.\n *\n * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit?pli=1#\n */\nfunction BasicSourceMapConsumer(aSourceMap, aSourceMapURL) {\n var sourceMap = aSourceMap;\n if (typeof aSourceMap === 'string') {\n sourceMap = util.parseSourceMapInput(aSourceMap);\n }\n\n var version = util.getArg(sourceMap, 'version');\n var sources = util.getArg(sourceMap, 'sources');\n // Sass 3.3 leaves out the 'names' array, so we deviate from the spec (which\n // requires the array) to play nice here.\n var names = util.getArg(sourceMap, 'names', []);\n var sourceRoot = util.getArg(sourceMap, 'sourceRoot', null);\n var sourcesContent = util.getArg(sourceMap, 'sourcesContent', null);\n var mappings = util.getArg(sourceMap, 'mappings');\n var file = util.getArg(sourceMap, 'file', null);\n\n // Once again, Sass deviates from the spec and supplies the version as a\n // string rather than a number, so we use loose equality checking here.\n if (version != this._version) {\n throw new Error('Unsupported version: ' + version);\n }\n\n if (sourceRoot) {\n sourceRoot = util.normalize(sourceRoot);\n }\n\n sources = sources\n .map(String)\n // Some source maps produce relative source paths like \"./foo.js\" instead of\n // \"foo.js\". Normalize these first so that future comparisons will succeed.\n // See bugzil.la/1090768.\n .map(util.normalize)\n // Always ensure that absolute sources are internally stored relative to\n // the source root, if the source root is absolute. Not doing this would\n // be particularly problematic when the source root is a prefix of the\n // source (valid, but why??). See github issue #199 and bugzil.la/1188982.\n .map(function (source) {\n return sourceRoot && util.isAbsolute(sourceRoot) && util.isAbsolute(source)\n ? util.relative(sourceRoot, source)\n : source;\n });\n\n // Pass `true` below to allow duplicate names and sources. While source maps\n // are intended to be compressed and deduplicated, the TypeScript compiler\n // sometimes generates source maps with duplicates in them. See Github issue\n // #72 and bugzil.la/889492.\n this._names = ArraySet.fromArray(names.map(String), true);\n this._sources = ArraySet.fromArray(sources, true);\n\n this._absoluteSources = this._sources.toArray().map(function (s) {\n return util.computeSourceURL(sourceRoot, s, aSourceMapURL);\n });\n\n this.sourceRoot = sourceRoot;\n this.sourcesContent = sourcesContent;\n this._mappings = mappings;\n this._sourceMapURL = aSourceMapURL;\n this.file = file;\n}\n\nBasicSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype);\nBasicSourceMapConsumer.prototype.consumer = SourceMapConsumer;\n\n/**\n * Utility function to find the index of a source. Returns -1 if not\n * found.\n */\nBasicSourceMapConsumer.prototype._findSourceIndex = function(aSource) {\n var relativeSource = aSource;\n if (this.sourceRoot != null) {\n relativeSource = util.relative(this.sourceRoot, relativeSource);\n }\n\n if (this._sources.has(relativeSource)) {\n return this._sources.indexOf(relativeSource);\n }\n\n // Maybe aSource is an absolute URL as returned by |sources|. In\n // this case we can't simply undo the transform.\n var i;\n for (i = 0; i < this._absoluteSources.length; ++i) {\n if (this._absoluteSources[i] == aSource) {\n return i;\n }\n }\n\n return -1;\n};\n\n/**\n * Create a BasicSourceMapConsumer from a SourceMapGenerator.\n *\n * @param SourceMapGenerator aSourceMap\n * The source map that will be consumed.\n * @param String aSourceMapURL\n * The URL at which the source map can be found (optional)\n * @returns BasicSourceMapConsumer\n */\nBasicSourceMapConsumer.fromSourceMap =\n function SourceMapConsumer_fromSourceMap(aSourceMap, aSourceMapURL) {\n var smc = Object.create(BasicSourceMapConsumer.prototype);\n\n var names = smc._names = ArraySet.fromArray(aSourceMap._names.toArray(), true);\n var sources = smc._sources = ArraySet.fromArray(aSourceMap._sources.toArray(), true);\n smc.sourceRoot = aSourceMap._sourceRoot;\n smc.sourcesContent = aSourceMap._generateSourcesContent(smc._sources.toArray(),\n smc.sourceRoot);\n smc.file = aSourceMap._file;\n smc._sourceMapURL = aSourceMapURL;\n smc._absoluteSources = smc._sources.toArray().map(function (s) {\n return util.computeSourceURL(smc.sourceRoot, s, aSourceMapURL);\n });\n\n // Because we are modifying the entries (by converting string sources and\n // names to indices into the sources and names ArraySets), we have to make\n // a copy of the entry or else bad things happen. Shared mutable state\n // strikes again! See github issue #191.\n\n var generatedMappings = aSourceMap._mappings.toArray().slice();\n var destGeneratedMappings = smc.__generatedMappings = [];\n var destOriginalMappings = smc.__originalMappings = [];\n\n for (var i = 0, length = generatedMappings.length; i < length; i++) {\n var srcMapping = generatedMappings[i];\n var destMapping = new Mapping;\n destMapping.generatedLine = srcMapping.generatedLine;\n destMapping.generatedColumn = srcMapping.generatedColumn;\n\n if (srcMapping.source) {\n destMapping.source = sources.indexOf(srcMapping.source);\n destMapping.originalLine = srcMapping.originalLine;\n destMapping.originalColumn = srcMapping.originalColumn;\n\n if (srcMapping.name) {\n destMapping.name = names.indexOf(srcMapping.name);\n }\n\n destOriginalMappings.push(destMapping);\n }\n\n destGeneratedMappings.push(destMapping);\n }\n\n quickSort(smc.__originalMappings, util.compareByOriginalPositions);\n\n return smc;\n };\n\n/**\n * The version of the source mapping spec that we are consuming.\n */\nBasicSourceMapConsumer.prototype._version = 3;\n\n/**\n * The list of original sources.\n */\nObject.defineProperty(BasicSourceMapConsumer.prototype, 'sources', {\n get: function () {\n return this._absoluteSources.slice();\n }\n});\n\n/**\n * Provide the JIT with a nice shape / hidden class.\n */\nfunction Mapping() {\n this.generatedLine = 0;\n this.generatedColumn = 0;\n this.source = null;\n this.originalLine = null;\n this.originalColumn = null;\n this.name = null;\n}\n\n/**\n * Parse the mappings in a string in to a data structure which we can easily\n * query (the ordered arrays in the `this.__generatedMappings` and\n * `this.__originalMappings` properties).\n */\nBasicSourceMapConsumer.prototype._parseMappings =\n function SourceMapConsumer_parseMappings(aStr, aSourceRoot) {\n var generatedLine = 1;\n var previousGeneratedColumn = 0;\n var previousOriginalLine = 0;\n var previousOriginalColumn = 0;\n var previousSource = 0;\n var previousName = 0;\n var length = aStr.length;\n var index = 0;\n var cachedSegments = {};\n var temp = {};\n var originalMappings = [];\n var generatedMappings = [];\n var mapping, str, segment, end, value;\n\n while (index < length) {\n if (aStr.charAt(index) === ';') {\n generatedLine++;\n index++;\n previousGeneratedColumn = 0;\n }\n else if (aStr.charAt(index) === ',') {\n index++;\n }\n else {\n mapping = new Mapping();\n mapping.generatedLine = generatedLine;\n\n // Because each offset is encoded relative to the previous one,\n // many segments often have the same encoding. We can exploit this\n // fact by caching the parsed variable length fields of each segment,\n // allowing us to avoid a second parse if we encounter the same\n // segment again.\n for (end = index; end < length; end++) {\n if (this._charIsMappingSeparator(aStr, end)) {\n break;\n }\n }\n str = aStr.slice(index, end);\n\n segment = cachedSegments[str];\n if (segment) {\n index += str.length;\n } else {\n segment = [];\n while (index < end) {\n base64VLQ.decode(aStr, index, temp);\n value = temp.value;\n index = temp.rest;\n segment.push(value);\n }\n\n if (segment.length === 2) {\n throw new Error('Found a source, but no line and column');\n }\n\n if (segment.length === 3) {\n throw new Error('Found a source and line, but no column');\n }\n\n cachedSegments[str] = segment;\n }\n\n // Generated column.\n mapping.generatedColumn = previousGeneratedColumn + segment[0];\n previousGeneratedColumn = mapping.generatedColumn;\n\n if (segment.length > 1) {\n // Original source.\n mapping.source = previousSource + segment[1];\n previousSource += segment[1];\n\n // Original line.\n mapping.originalLine = previousOriginalLine + segment[2];\n previousOriginalLine = mapping.originalLine;\n // Lines are stored 0-based\n mapping.originalLine += 1;\n\n // Original column.\n mapping.originalColumn = previousOriginalColumn + segment[3];\n previousOriginalColumn = mapping.originalColumn;\n\n if (segment.length > 4) {\n // Original name.\n mapping.name = previousName + segment[4];\n previousName += segment[4];\n }\n }\n\n generatedMappings.push(mapping);\n if (typeof mapping.originalLine === 'number') {\n originalMappings.push(mapping);\n }\n }\n }\n\n quickSort(generatedMappings, util.compareByGeneratedPositionsDeflated);\n this.__generatedMappings = generatedMappings;\n\n quickSort(originalMappings, util.compareByOriginalPositions);\n this.__originalMappings = originalMappings;\n };\n\n/**\n * Find the mapping that best matches the hypothetical \"needle\" mapping that\n * we are searching for in the given \"haystack\" of mappings.\n */\nBasicSourceMapConsumer.prototype._findMapping =\n function SourceMapConsumer_findMapping(aNeedle, aMappings, aLineName,\n aColumnName, aComparator, aBias) {\n // To return the position we are searching for, we must first find the\n // mapping for the given position and then return the opposite position it\n // points to. Because the mappings are sorted, we can use binary search to\n // find the best mapping.\n\n if (aNeedle[aLineName] <= 0) {\n throw new TypeError('Line must be greater than or equal to 1, got '\n + aNeedle[aLineName]);\n }\n if (aNeedle[aColumnName] < 0) {\n throw new TypeError('Column must be greater than or equal to 0, got '\n + aNeedle[aColumnName]);\n }\n\n return binarySearch.search(aNeedle, aMappings, aComparator, aBias);\n };\n\n/**\n * Compute the last column for each generated mapping. The last column is\n * inclusive.\n */\nBasicSourceMapConsumer.prototype.computeColumnSpans =\n function SourceMapConsumer_computeColumnSpans() {\n for (var index = 0; index < this._generatedMappings.length; ++index) {\n var mapping = this._generatedMappings[index];\n\n // Mappings do not contain a field for the last generated columnt. We\n // can come up with an optimistic estimate, however, by assuming that\n // mappings are contiguous (i.e. given two consecutive mappings, the\n // first mapping ends where the second one starts).\n if (index + 1 < this._generatedMappings.length) {\n var nextMapping = this._generatedMappings[index + 1];\n\n if (mapping.generatedLine === nextMapping.generatedLine) {\n mapping.lastGeneratedColumn = nextMapping.generatedColumn - 1;\n continue;\n }\n }\n\n // The last mapping for each line spans the entire line.\n mapping.lastGeneratedColumn = Infinity;\n }\n };\n\n/**\n * Returns the original source, line, and column information for the generated\n * source's line and column positions provided. The only argument is an object\n * with the following properties:\n *\n * - line: The line number in the generated source. The line number\n * is 1-based.\n * - column: The column number in the generated source. The column\n * number is 0-based.\n * - bias: Either 'SourceMapConsumer.GREATEST_LOWER_BOUND' or\n * 'SourceMapConsumer.LEAST_UPPER_BOUND'. Specifies whether to return the\n * closest element that is smaller than or greater than the one we are\n * searching for, respectively, if the exact element cannot be found.\n * Defaults to 'SourceMapConsumer.GREATEST_LOWER_BOUND'.\n *\n * and an object is returned with the following properties:\n *\n * - source: The original source file, or null.\n * - line: The line number in the original source, or null. The\n * line number is 1-based.\n * - column: The column number in the original source, or null. The\n * column number is 0-based.\n * - name: The original identifier, or null.\n */\nBasicSourceMapConsumer.prototype.originalPositionFor =\n function SourceMapConsumer_originalPositionFor(aArgs) {\n var needle = {\n generatedLine: util.getArg(aArgs, 'line'),\n generatedColumn: util.getArg(aArgs, 'column')\n };\n\n var index = this._findMapping(\n needle,\n this._generatedMappings,\n \"generatedLine\",\n \"generatedColumn\",\n util.compareByGeneratedPositionsDeflated,\n util.getArg(aArgs, 'bias', SourceMapConsumer.GREATEST_LOWER_BOUND)\n );\n\n if (index >= 0) {\n var mapping = this._generatedMappings[index];\n\n if (mapping.generatedLine === needle.generatedLine) {\n var source = util.getArg(mapping, 'source', null);\n if (source !== null) {\n source = this._sources.at(source);\n source = util.computeSourceURL(this.sourceRoot, source, this._sourceMapURL);\n }\n var name = util.getArg(mapping, 'name', null);\n if (name !== null) {\n name = this._names.at(name);\n }\n return {\n source: source,\n line: util.getArg(mapping, 'originalLine', null),\n column: util.getArg(mapping, 'originalColumn', null),\n name: name\n };\n }\n }\n\n return {\n source: null,\n line: null,\n column: null,\n name: null\n };\n };\n\n/**\n * Return true if we have the source content for every source in the source\n * map, false otherwise.\n */\nBasicSourceMapConsumer.prototype.hasContentsOfAllSources =\n function BasicSourceMapConsumer_hasContentsOfAllSources() {\n if (!this.sourcesContent) {\n return false;\n }\n return this.sourcesContent.length >= this._sources.size() &&\n !this.sourcesContent.some(function (sc) { return sc == null; });\n };\n\n/**\n * Returns the original source content. The only argument is the url of the\n * original source file. Returns null if no original source content is\n * available.\n */\nBasicSourceMapConsumer.prototype.sourceContentFor =\n function SourceMapConsumer_sourceContentFor(aSource, nullOnMissing) {\n if (!this.sourcesContent) {\n return null;\n }\n\n var index = this._findSourceIndex(aSource);\n if (index >= 0) {\n return this.sourcesContent[index];\n }\n\n var relativeSource = aSource;\n if (this.sourceRoot != null) {\n relativeSource = util.relative(this.sourceRoot, relativeSource);\n }\n\n var url;\n if (this.sourceRoot != null\n && (url = util.urlParse(this.sourceRoot))) {\n // XXX: file:// URIs and absolute paths lead to unexpected behavior for\n // many users. We can help them out when they expect file:// URIs to\n // behave like it would if they were running a local HTTP server. See\n // https://bugzilla.mozilla.org/show_bug.cgi?id=885597.\n var fileUriAbsPath = relativeSource.replace(/^file:\\/\\//, \"\");\n if (url.scheme == \"file\"\n && this._sources.has(fileUriAbsPath)) {\n return this.sourcesContent[this._sources.indexOf(fileUriAbsPath)]\n }\n\n if ((!url.path || url.path == \"/\")\n && this._sources.has(\"/\" + relativeSource)) {\n return this.sourcesContent[this._sources.indexOf(\"/\" + relativeSource)];\n }\n }\n\n // This function is used recursively from\n // IndexedSourceMapConsumer.prototype.sourceContentFor. In that case, we\n // don't want to throw if we can't find the source - we just want to\n // return null, so we provide a flag to exit gracefully.\n if (nullOnMissing) {\n return null;\n }\n else {\n throw new Error('\"' + relativeSource + '\" is not in the SourceMap.');\n }\n };\n\n/**\n * Returns the generated line and column information for the original source,\n * line, and column positions provided. The only argument is an object with\n * the following properties:\n *\n * - source: The filename of the original source.\n * - line: The line number in the original source. The line number\n * is 1-based.\n * - column: The column number in the original source. The column\n * number is 0-based.\n * - bias: Either 'SourceMapConsumer.GREATEST_LOWER_BOUND' or\n * 'SourceMapConsumer.LEAST_UPPER_BOUND'. Specifies whether to return the\n * closest element that is smaller than or greater than the one we are\n * searching for, respectively, if the exact element cannot be found.\n * Defaults to 'SourceMapConsumer.GREATEST_LOWER_BOUND'.\n *\n * and an object is returned with the following properties:\n *\n * - line: The line number in the generated source, or null. The\n * line number is 1-based.\n * - column: The column number in the generated source, or null.\n * The column number is 0-based.\n */\nBasicSourceMapConsumer.prototype.generatedPositionFor =\n function SourceMapConsumer_generatedPositionFor(aArgs) {\n var source = util.getArg(aArgs, 'source');\n source = this._findSourceIndex(source);\n if (source < 0) {\n return {\n line: null,\n column: null,\n lastColumn: null\n };\n }\n\n var needle = {\n source: source,\n originalLine: util.getArg(aArgs, 'line'),\n originalColumn: util.getArg(aArgs, 'column')\n };\n\n var index = this._findMapping(\n needle,\n this._originalMappings,\n \"originalLine\",\n \"originalColumn\",\n util.compareByOriginalPositions,\n util.getArg(aArgs, 'bias', SourceMapConsumer.GREATEST_LOWER_BOUND)\n );\n\n if (index >= 0) {\n var mapping = this._originalMappings[index];\n\n if (mapping.source === needle.source) {\n return {\n line: util.getArg(mapping, 'generatedLine', null),\n column: util.getArg(mapping, 'generatedColumn', null),\n lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null)\n };\n }\n }\n\n return {\n line: null,\n column: null,\n lastColumn: null\n };\n };\n\nexports.BasicSourceMapConsumer = BasicSourceMapConsumer;\n\n/**\n * An IndexedSourceMapConsumer instance represents a parsed source map which\n * we can query for information. It differs from BasicSourceMapConsumer in\n * that it takes \"indexed\" source maps (i.e. ones with a \"sections\" field) as\n * input.\n *\n * The first parameter is a raw source map (either as a JSON string, or already\n * parsed to an object). According to the spec for indexed source maps, they\n * have the following attributes:\n *\n * - version: Which version of the source map spec this map is following.\n * - file: Optional. The generated file this source map is associated with.\n * - sections: A list of section definitions.\n *\n * Each value under the \"sections\" field has two fields:\n * - offset: The offset into the original specified at which this section\n * begins to apply, defined as an object with a \"line\" and \"column\"\n * field.\n * - map: A source map definition. This source map could also be indexed,\n * but doesn't have to be.\n *\n * Instead of the \"map\" field, it's also possible to have a \"url\" field\n * specifying a URL to retrieve a source map from, but that's currently\n * unsupported.\n *\n * Here's an example source map, taken from the source map spec[0], but\n * modified to omit a section which uses the \"url\" field.\n *\n * {\n * version : 3,\n * file: \"app.js\",\n * sections: [{\n * offset: {line:100, column:10},\n * map: {\n * version : 3,\n * file: \"section.js\",\n * sources: [\"foo.js\", \"bar.js\"],\n * names: [\"src\", \"maps\", \"are\", \"fun\"],\n * mappings: \"AAAA,E;;ABCDE;\"\n * }\n * }],\n * }\n *\n * The second parameter, if given, is a string whose value is the URL\n * at which the source map was found. This URL is used to compute the\n * sources array.\n *\n * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit#heading=h.535es3xeprgt\n */\nfunction IndexedSourceMapConsumer(aSourceMap, aSourceMapURL) {\n var sourceMap = aSourceMap;\n if (typeof aSourceMap === 'string') {\n sourceMap = util.parseSourceMapInput(aSourceMap);\n }\n\n var version = util.getArg(sourceMap, 'version');\n var sections = util.getArg(sourceMap, 'sections');\n\n if (version != this._version) {\n throw new Error('Unsupported version: ' + version);\n }\n\n this._sources = new ArraySet();\n this._names = new ArraySet();\n\n var lastOffset = {\n line: -1,\n column: 0\n };\n this._sections = sections.map(function (s) {\n if (s.url) {\n // The url field will require support for asynchronicity.\n // See https://github.com/mozilla/source-map/issues/16\n throw new Error('Support for url field in sections not implemented.');\n }\n var offset = util.getArg(s, 'offset');\n var offsetLine = util.getArg(offset, 'line');\n var offsetColumn = util.getArg(offset, 'column');\n\n if (offsetLine < lastOffset.line ||\n (offsetLine === lastOffset.line && offsetColumn < lastOffset.column)) {\n throw new Error('Section offsets must be ordered and non-overlapping.');\n }\n lastOffset = offset;\n\n return {\n generatedOffset: {\n // The offset fields are 0-based, but we use 1-based indices when\n // encoding/decoding from VLQ.\n generatedLine: offsetLine + 1,\n generatedColumn: offsetColumn + 1\n },\n consumer: new SourceMapConsumer(util.getArg(s, 'map'), aSourceMapURL)\n }\n });\n}\n\nIndexedSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype);\nIndexedSourceMapConsumer.prototype.constructor = SourceMapConsumer;\n\n/**\n * The version of the source mapping spec that we are consuming.\n */\nIndexedSourceMapConsumer.prototype._version = 3;\n\n/**\n * The list of original sources.\n */\nObject.defineProperty(IndexedSourceMapConsumer.prototype, 'sources', {\n get: function () {\n var sources = [];\n for (var i = 0; i < this._sections.length; i++) {\n for (var j = 0; j < this._sections[i].consumer.sources.length; j++) {\n sources.push(this._sections[i].consumer.sources[j]);\n }\n }\n return sources;\n }\n});\n\n/**\n * Returns the original source, line, and column information for the generated\n * source's line and column positions provided. The only argument is an object\n * with the following properties:\n *\n * - line: The line number in the generated source. The line number\n * is 1-based.\n * - column: The column number in the generated source. The column\n * number is 0-based.\n *\n * and an object is returned with the following properties:\n *\n * - source: The original source file, or null.\n * - line: The line number in the original source, or null. The\n * line number is 1-based.\n * - column: The column number in the original source, or null. The\n * column number is 0-based.\n * - name: The original identifier, or null.\n */\nIndexedSourceMapConsumer.prototype.originalPositionFor =\n function IndexedSourceMapConsumer_originalPositionFor(aArgs) {\n var needle = {\n generatedLine: util.getArg(aArgs, 'line'),\n generatedColumn: util.getArg(aArgs, 'column')\n };\n\n // Find the section containing the generated position we're trying to map\n // to an original position.\n var sectionIndex = binarySearch.search(needle, this._sections,\n function(needle, section) {\n var cmp = needle.generatedLine - section.generatedOffset.generatedLine;\n if (cmp) {\n return cmp;\n }\n\n return (needle.generatedColumn -\n section.generatedOffset.generatedColumn);\n });\n var section = this._sections[sectionIndex];\n\n if (!section) {\n return {\n source: null,\n line: null,\n column: null,\n name: null\n };\n }\n\n return section.consumer.originalPositionFor({\n line: needle.generatedLine -\n (section.generatedOffset.generatedLine - 1),\n column: needle.generatedColumn -\n (section.generatedOffset.generatedLine === needle.generatedLine\n ? section.generatedOffset.generatedColumn - 1\n : 0),\n bias: aArgs.bias\n });\n };\n\n/**\n * Return true if we have the source content for every source in the source\n * map, false otherwise.\n */\nIndexedSourceMapConsumer.prototype.hasContentsOfAllSources =\n function IndexedSourceMapConsumer_hasContentsOfAllSources() {\n return this._sections.every(function (s) {\n return s.consumer.hasContentsOfAllSources();\n });\n };\n\n/**\n * Returns the original source content. The only argument is the url of the\n * original source file. Returns null if no original source content is\n * available.\n */\nIndexedSourceMapConsumer.prototype.sourceContentFor =\n function IndexedSourceMapConsumer_sourceContentFor(aSource, nullOnMissing) {\n for (var i = 0; i < this._sections.length; i++) {\n var section = this._sections[i];\n\n var content = section.consumer.sourceContentFor(aSource, true);\n if (content) {\n return content;\n }\n }\n if (nullOnMissing) {\n return null;\n }\n else {\n throw new Error('\"' + aSource + '\" is not in the SourceMap.');\n }\n };\n\n/**\n * Returns the generated line and column information for the original source,\n * line, and column positions provided. The only argument is an object with\n * the following properties:\n *\n * - source: The filename of the original source.\n * - line: The line number in the original source. The line number\n * is 1-based.\n * - column: The column number in the original source. The column\n * number is 0-based.\n *\n * and an object is returned with the following properties:\n *\n * - line: The line number in the generated source, or null. The\n * line number is 1-based. \n * - column: The column number in the generated source, or null.\n * The column number is 0-based.\n */\nIndexedSourceMapConsumer.prototype.generatedPositionFor =\n function IndexedSourceMapConsumer_generatedPositionFor(aArgs) {\n for (var i = 0; i < this._sections.length; i++) {\n var section = this._sections[i];\n\n // Only consider this section if the requested source is in the list of\n // sources of the consumer.\n if (section.consumer._findSourceIndex(util.getArg(aArgs, 'source')) === -1) {\n continue;\n }\n var generatedPosition = section.consumer.generatedPositionFor(aArgs);\n if (generatedPosition) {\n var ret = {\n line: generatedPosition.line +\n (section.generatedOffset.generatedLine - 1),\n column: generatedPosition.column +\n (section.generatedOffset.generatedLine === generatedPosition.line\n ? section.generatedOffset.generatedColumn - 1\n : 0)\n };\n return ret;\n }\n }\n\n return {\n line: null,\n column: null\n };\n };\n\n/**\n * Parse the mappings in a string in to a data structure which we can easily\n * query (the ordered arrays in the `this.__generatedMappings` and\n * `this.__originalMappings` properties).\n */\nIndexedSourceMapConsumer.prototype._parseMappings =\n function IndexedSourceMapConsumer_parseMappings(aStr, aSourceRoot) {\n this.__generatedMappings = [];\n this.__originalMappings = [];\n for (var i = 0; i < this._sections.length; i++) {\n var section = this._sections[i];\n var sectionMappings = section.consumer._generatedMappings;\n for (var j = 0; j < sectionMappings.length; j++) {\n var mapping = sectionMappings[j];\n\n var source = section.consumer._sources.at(mapping.source);\n source = util.computeSourceURL(section.consumer.sourceRoot, source, this._sourceMapURL);\n this._sources.add(source);\n source = this._sources.indexOf(source);\n\n var name = null;\n if (mapping.name) {\n name = section.consumer._names.at(mapping.name);\n this._names.add(name);\n name = this._names.indexOf(name);\n }\n\n // The mappings coming from the consumer for the section have\n // generated positions relative to the start of the section, so we\n // need to offset them to be relative to the start of the concatenated\n // generated file.\n var adjustedMapping = {\n source: source,\n generatedLine: mapping.generatedLine +\n (section.generatedOffset.generatedLine - 1),\n generatedColumn: mapping.generatedColumn +\n (section.generatedOffset.generatedLine === mapping.generatedLine\n ? section.generatedOffset.generatedColumn - 1\n : 0),\n originalLine: mapping.originalLine,\n originalColumn: mapping.originalColumn,\n name: name\n };\n\n this.__generatedMappings.push(adjustedMapping);\n if (typeof adjustedMapping.originalLine === 'number') {\n this.__originalMappings.push(adjustedMapping);\n }\n }\n }\n\n quickSort(this.__generatedMappings, util.compareByGeneratedPositionsDeflated);\n quickSort(this.__originalMappings, util.compareByOriginalPositions);\n };\n\nexports.IndexedSourceMapConsumer = IndexedSourceMapConsumer;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/source-map-consumer.js\n// module id = 7\n// module chunks = 0","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nexports.GREATEST_LOWER_BOUND = 1;\nexports.LEAST_UPPER_BOUND = 2;\n\n/**\n * Recursive implementation of binary search.\n *\n * @param aLow Indices here and lower do not contain the needle.\n * @param aHigh Indices here and higher do not contain the needle.\n * @param aNeedle The element being searched for.\n * @param aHaystack The non-empty array being searched.\n * @param aCompare Function which takes two elements and returns -1, 0, or 1.\n * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or\n * 'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the\n * closest element that is smaller than or greater than the one we are\n * searching for, respectively, if the exact element cannot be found.\n */\nfunction recursiveSearch(aLow, aHigh, aNeedle, aHaystack, aCompare, aBias) {\n // This function terminates when one of the following is true:\n //\n // 1. We find the exact element we are looking for.\n //\n // 2. We did not find the exact element, but we can return the index of\n // the next-closest element.\n //\n // 3. We did not find the exact element, and there is no next-closest\n // element than the one we are searching for, so we return -1.\n var mid = Math.floor((aHigh - aLow) / 2) + aLow;\n var cmp = aCompare(aNeedle, aHaystack[mid], true);\n if (cmp === 0) {\n // Found the element we are looking for.\n return mid;\n }\n else if (cmp > 0) {\n // Our needle is greater than aHaystack[mid].\n if (aHigh - mid > 1) {\n // The element is in the upper half.\n return recursiveSearch(mid, aHigh, aNeedle, aHaystack, aCompare, aBias);\n }\n\n // The exact needle element was not found in this haystack. Determine if\n // we are in termination case (3) or (2) and return the appropriate thing.\n if (aBias == exports.LEAST_UPPER_BOUND) {\n return aHigh < aHaystack.length ? aHigh : -1;\n } else {\n return mid;\n }\n }\n else {\n // Our needle is less than aHaystack[mid].\n if (mid - aLow > 1) {\n // The element is in the lower half.\n return recursiveSearch(aLow, mid, aNeedle, aHaystack, aCompare, aBias);\n }\n\n // we are in termination case (3) or (2) and return the appropriate thing.\n if (aBias == exports.LEAST_UPPER_BOUND) {\n return mid;\n } else {\n return aLow < 0 ? -1 : aLow;\n }\n }\n}\n\n/**\n * This is an implementation of binary search which will always try and return\n * the index of the closest element if there is no exact hit. This is because\n * mappings between original and generated line/col pairs are single points,\n * and there is an implicit region between each of them, so a miss just means\n * that you aren't on the very start of a region.\n *\n * @param aNeedle The element you are looking for.\n * @param aHaystack The array that is being searched.\n * @param aCompare A function which takes the needle and an element in the\n * array and returns -1, 0, or 1 depending on whether the needle is less\n * than, equal to, or greater than the element, respectively.\n * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or\n * 'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the\n * closest element that is smaller than or greater than the one we are\n * searching for, respectively, if the exact element cannot be found.\n * Defaults to 'binarySearch.GREATEST_LOWER_BOUND'.\n */\nexports.search = function search(aNeedle, aHaystack, aCompare, aBias) {\n if (aHaystack.length === 0) {\n return -1;\n }\n\n var index = recursiveSearch(-1, aHaystack.length, aNeedle, aHaystack,\n aCompare, aBias || exports.GREATEST_LOWER_BOUND);\n if (index < 0) {\n return -1;\n }\n\n // We have found either the exact element, or the next-closest element than\n // the one we are searching for. However, there may be more than one such\n // element. Make sure we always return the smallest of these.\n while (index - 1 >= 0) {\n if (aCompare(aHaystack[index], aHaystack[index - 1], true) !== 0) {\n break;\n }\n --index;\n }\n\n return index;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/binary-search.js\n// module id = 8\n// module chunks = 0","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\n// It turns out that some (most?) JavaScript engines don't self-host\n// `Array.prototype.sort`. This makes sense because C++ will likely remain\n// faster than JS when doing raw CPU-intensive sorting. However, when using a\n// custom comparator function, calling back and forth between the VM's C++ and\n// JIT'd JS is rather slow *and* loses JIT type information, resulting in\n// worse generated code for the comparator function than would be optimal. In\n// fact, when sorting with a comparator, these costs outweigh the benefits of\n// sorting in C++. By using our own JS-implemented Quick Sort (below), we get\n// a ~3500ms mean speed-up in `bench/bench.html`.\n\n/**\n * Swap the elements indexed by `x` and `y` in the array `ary`.\n *\n * @param {Array} ary\n * The array.\n * @param {Number} x\n * The index of the first item.\n * @param {Number} y\n * The index of the second item.\n */\nfunction swap(ary, x, y) {\n var temp = ary[x];\n ary[x] = ary[y];\n ary[y] = temp;\n}\n\n/**\n * Returns a random integer within the range `low .. high` inclusive.\n *\n * @param {Number} low\n * The lower bound on the range.\n * @param {Number} high\n * The upper bound on the range.\n */\nfunction randomIntInRange(low, high) {\n return Math.round(low + (Math.random() * (high - low)));\n}\n\n/**\n * The Quick Sort algorithm.\n *\n * @param {Array} ary\n * An array to sort.\n * @param {function} comparator\n * Function to use to compare two items.\n * @param {Number} p\n * Start index of the array\n * @param {Number} r\n * End index of the array\n */\nfunction doQuickSort(ary, comparator, p, r) {\n // If our lower bound is less than our upper bound, we (1) partition the\n // array into two pieces and (2) recurse on each half. If it is not, this is\n // the empty array and our base case.\n\n if (p < r) {\n // (1) Partitioning.\n //\n // The partitioning chooses a pivot between `p` and `r` and moves all\n // elements that are less than or equal to the pivot to the before it, and\n // all the elements that are greater than it after it. The effect is that\n // once partition is done, the pivot is in the exact place it will be when\n // the array is put in sorted order, and it will not need to be moved\n // again. This runs in O(n) time.\n\n // Always choose a random pivot so that an input array which is reverse\n // sorted does not cause O(n^2) running time.\n var pivotIndex = randomIntInRange(p, r);\n var i = p - 1;\n\n swap(ary, pivotIndex, r);\n var pivot = ary[r];\n\n // Immediately after `j` is incremented in this loop, the following hold\n // true:\n //\n // * Every element in `ary[p .. i]` is less than or equal to the pivot.\n //\n // * Every element in `ary[i+1 .. j-1]` is greater than the pivot.\n for (var j = p; j < r; j++) {\n if (comparator(ary[j], pivot) <= 0) {\n i += 1;\n swap(ary, i, j);\n }\n }\n\n swap(ary, i + 1, j);\n var q = i + 1;\n\n // (2) Recurse on each half.\n\n doQuickSort(ary, comparator, p, q - 1);\n doQuickSort(ary, comparator, q + 1, r);\n }\n}\n\n/**\n * Sort the given array in-place with the given comparator function.\n *\n * @param {Array} ary\n * An array to sort.\n * @param {function} comparator\n * Function to use to compare two items.\n */\nexports.quickSort = function (ary, comparator) {\n doQuickSort(ary, comparator, 0, ary.length - 1);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/quick-sort.js\n// module id = 9\n// module chunks = 0","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar SourceMapGenerator = require('./source-map-generator').SourceMapGenerator;\nvar util = require('./util');\n\n// Matches a Windows-style `\\r\\n` newline or a `\\n` newline used by all other\n// operating systems these days (capturing the result).\nvar REGEX_NEWLINE = /(\\r?\\n)/;\n\n// Newline character code for charCodeAt() comparisons\nvar NEWLINE_CODE = 10;\n\n// Private symbol for identifying `SourceNode`s when multiple versions of\n// the source-map library are loaded. This MUST NOT CHANGE across\n// versions!\nvar isSourceNode = \"$$$isSourceNode$$$\";\n\n/**\n * SourceNodes provide a way to abstract over interpolating/concatenating\n * snippets of generated JavaScript source code while maintaining the line and\n * column information associated with the original source code.\n *\n * @param aLine The original line number.\n * @param aColumn The original column number.\n * @param aSource The original source's filename.\n * @param aChunks Optional. An array of strings which are snippets of\n * generated JS, or other SourceNodes.\n * @param aName The original identifier.\n */\nfunction SourceNode(aLine, aColumn, aSource, aChunks, aName) {\n this.children = [];\n this.sourceContents = {};\n this.line = aLine == null ? null : aLine;\n this.column = aColumn == null ? null : aColumn;\n this.source = aSource == null ? null : aSource;\n this.name = aName == null ? null : aName;\n this[isSourceNode] = true;\n if (aChunks != null) this.add(aChunks);\n}\n\n/**\n * Creates a SourceNode from generated code and a SourceMapConsumer.\n *\n * @param aGeneratedCode The generated code\n * @param aSourceMapConsumer The SourceMap for the generated code\n * @param aRelativePath Optional. The path that relative sources in the\n * SourceMapConsumer should be relative to.\n */\nSourceNode.fromStringWithSourceMap =\n function SourceNode_fromStringWithSourceMap(aGeneratedCode, aSourceMapConsumer, aRelativePath) {\n // The SourceNode we want to fill with the generated code\n // and the SourceMap\n var node = new SourceNode();\n\n // All even indices of this array are one line of the generated code,\n // while all odd indices are the newlines between two adjacent lines\n // (since `REGEX_NEWLINE` captures its match).\n // Processed fragments are accessed by calling `shiftNextLine`.\n var remainingLines = aGeneratedCode.split(REGEX_NEWLINE);\n var remainingLinesIndex = 0;\n var shiftNextLine = function() {\n var lineContents = getNextLine();\n // The last line of a file might not have a newline.\n var newLine = getNextLine() || \"\";\n return lineContents + newLine;\n\n function getNextLine() {\n return remainingLinesIndex < remainingLines.length ?\n remainingLines[remainingLinesIndex++] : undefined;\n }\n };\n\n // We need to remember the position of \"remainingLines\"\n var lastGeneratedLine = 1, lastGeneratedColumn = 0;\n\n // The generate SourceNodes we need a code range.\n // To extract it current and last mapping is used.\n // Here we store the last mapping.\n var lastMapping = null;\n\n aSourceMapConsumer.eachMapping(function (mapping) {\n if (lastMapping !== null) {\n // We add the code from \"lastMapping\" to \"mapping\":\n // First check if there is a new line in between.\n if (lastGeneratedLine < mapping.generatedLine) {\n // Associate first line with \"lastMapping\"\n addMappingWithCode(lastMapping, shiftNextLine());\n lastGeneratedLine++;\n lastGeneratedColumn = 0;\n // The remaining code is added without mapping\n } else {\n // There is no new line in between.\n // Associate the code between \"lastGeneratedColumn\" and\n // \"mapping.generatedColumn\" with \"lastMapping\"\n var nextLine = remainingLines[remainingLinesIndex] || '';\n var code = nextLine.substr(0, mapping.generatedColumn -\n lastGeneratedColumn);\n remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn -\n lastGeneratedColumn);\n lastGeneratedColumn = mapping.generatedColumn;\n addMappingWithCode(lastMapping, code);\n // No more remaining code, continue\n lastMapping = mapping;\n return;\n }\n }\n // We add the generated code until the first mapping\n // to the SourceNode without any mapping.\n // Each line is added as separate string.\n while (lastGeneratedLine < mapping.generatedLine) {\n node.add(shiftNextLine());\n lastGeneratedLine++;\n }\n if (lastGeneratedColumn < mapping.generatedColumn) {\n var nextLine = remainingLines[remainingLinesIndex] || '';\n node.add(nextLine.substr(0, mapping.generatedColumn));\n remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn);\n lastGeneratedColumn = mapping.generatedColumn;\n }\n lastMapping = mapping;\n }, this);\n // We have processed all mappings.\n if (remainingLinesIndex < remainingLines.length) {\n if (lastMapping) {\n // Associate the remaining code in the current line with \"lastMapping\"\n addMappingWithCode(lastMapping, shiftNextLine());\n }\n // and add the remaining lines without any mapping\n node.add(remainingLines.splice(remainingLinesIndex).join(\"\"));\n }\n\n // Copy sourcesContent into SourceNode\n aSourceMapConsumer.sources.forEach(function (sourceFile) {\n var content = aSourceMapConsumer.sourceContentFor(sourceFile);\n if (content != null) {\n if (aRelativePath != null) {\n sourceFile = util.join(aRelativePath, sourceFile);\n }\n node.setSourceContent(sourceFile, content);\n }\n });\n\n return node;\n\n function addMappingWithCode(mapping, code) {\n if (mapping === null || mapping.source === undefined) {\n node.add(code);\n } else {\n var source = aRelativePath\n ? util.join(aRelativePath, mapping.source)\n : mapping.source;\n node.add(new SourceNode(mapping.originalLine,\n mapping.originalColumn,\n source,\n code,\n mapping.name));\n }\n }\n };\n\n/**\n * Add a chunk of generated JS to this source node.\n *\n * @param aChunk A string snippet of generated JS code, another instance of\n * SourceNode, or an array where each member is one of those things.\n */\nSourceNode.prototype.add = function SourceNode_add(aChunk) {\n if (Array.isArray(aChunk)) {\n aChunk.forEach(function (chunk) {\n this.add(chunk);\n }, this);\n }\n else if (aChunk[isSourceNode] || typeof aChunk === \"string\") {\n if (aChunk) {\n this.children.push(aChunk);\n }\n }\n else {\n throw new TypeError(\n \"Expected a SourceNode, string, or an array of SourceNodes and strings. Got \" + aChunk\n );\n }\n return this;\n};\n\n/**\n * Add a chunk of generated JS to the beginning of this source node.\n *\n * @param aChunk A string snippet of generated JS code, another instance of\n * SourceNode, or an array where each member is one of those things.\n */\nSourceNode.prototype.prepend = function SourceNode_prepend(aChunk) {\n if (Array.isArray(aChunk)) {\n for (var i = aChunk.length-1; i >= 0; i--) {\n this.prepend(aChunk[i]);\n }\n }\n else if (aChunk[isSourceNode] || typeof aChunk === \"string\") {\n this.children.unshift(aChunk);\n }\n else {\n throw new TypeError(\n \"Expected a SourceNode, string, or an array of SourceNodes and strings. Got \" + aChunk\n );\n }\n return this;\n};\n\n/**\n * Walk over the tree of JS snippets in this node and its children. The\n * walking function is called once for each snippet of JS and is passed that\n * snippet and the its original associated source's line/column location.\n *\n * @param aFn The traversal function.\n */\nSourceNode.prototype.walk = function SourceNode_walk(aFn) {\n var chunk;\n for (var i = 0, len = this.children.length; i < len; i++) {\n chunk = this.children[i];\n if (chunk[isSourceNode]) {\n chunk.walk(aFn);\n }\n else {\n if (chunk !== '') {\n aFn(chunk, { source: this.source,\n line: this.line,\n column: this.column,\n name: this.name });\n }\n }\n }\n};\n\n/**\n * Like `String.prototype.join` except for SourceNodes. Inserts `aStr` between\n * each of `this.children`.\n *\n * @param aSep The separator.\n */\nSourceNode.prototype.join = function SourceNode_join(aSep) {\n var newChildren;\n var i;\n var len = this.children.length;\n if (len > 0) {\n newChildren = [];\n for (i = 0; i < len-1; i++) {\n newChildren.push(this.children[i]);\n newChildren.push(aSep);\n }\n newChildren.push(this.children[i]);\n this.children = newChildren;\n }\n return this;\n};\n\n/**\n * Call String.prototype.replace on the very right-most source snippet. Useful\n * for trimming whitespace from the end of a source node, etc.\n *\n * @param aPattern The pattern to replace.\n * @param aReplacement The thing to replace the pattern with.\n */\nSourceNode.prototype.replaceRight = function SourceNode_replaceRight(aPattern, aReplacement) {\n var lastChild = this.children[this.children.length - 1];\n if (lastChild[isSourceNode]) {\n lastChild.replaceRight(aPattern, aReplacement);\n }\n else if (typeof lastChild === 'string') {\n this.children[this.children.length - 1] = lastChild.replace(aPattern, aReplacement);\n }\n else {\n this.children.push(''.replace(aPattern, aReplacement));\n }\n return this;\n};\n\n/**\n * Set the source content for a source file. This will be added to the SourceMapGenerator\n * in the sourcesContent field.\n *\n * @param aSourceFile The filename of the source file\n * @param aSourceContent The content of the source file\n */\nSourceNode.prototype.setSourceContent =\n function SourceNode_setSourceContent(aSourceFile, aSourceContent) {\n this.sourceContents[util.toSetString(aSourceFile)] = aSourceContent;\n };\n\n/**\n * Walk over the tree of SourceNodes. The walking function is called for each\n * source file content and is passed the filename and source content.\n *\n * @param aFn The traversal function.\n */\nSourceNode.prototype.walkSourceContents =\n function SourceNode_walkSourceContents(aFn) {\n for (var i = 0, len = this.children.length; i < len; i++) {\n if (this.children[i][isSourceNode]) {\n this.children[i].walkSourceContents(aFn);\n }\n }\n\n var sources = Object.keys(this.sourceContents);\n for (var i = 0, len = sources.length; i < len; i++) {\n aFn(util.fromSetString(sources[i]), this.sourceContents[sources[i]]);\n }\n };\n\n/**\n * Return the string representation of this source node. Walks over the tree\n * and concatenates all the various snippets together to one string.\n */\nSourceNode.prototype.toString = function SourceNode_toString() {\n var str = \"\";\n this.walk(function (chunk) {\n str += chunk;\n });\n return str;\n};\n\n/**\n * Returns the string representation of this source node along with a source\n * map.\n */\nSourceNode.prototype.toStringWithSourceMap = function SourceNode_toStringWithSourceMap(aArgs) {\n var generated = {\n code: \"\",\n line: 1,\n column: 0\n };\n var map = new SourceMapGenerator(aArgs);\n var sourceMappingActive = false;\n var lastOriginalSource = null;\n var lastOriginalLine = null;\n var lastOriginalColumn = null;\n var lastOriginalName = null;\n this.walk(function (chunk, original) {\n generated.code += chunk;\n if (original.source !== null\n && original.line !== null\n && original.column !== null) {\n if(lastOriginalSource !== original.source\n || lastOriginalLine !== original.line\n || lastOriginalColumn !== original.column\n || lastOriginalName !== original.name) {\n map.addMapping({\n source: original.source,\n original: {\n line: original.line,\n column: original.column\n },\n generated: {\n line: generated.line,\n column: generated.column\n },\n name: original.name\n });\n }\n lastOriginalSource = original.source;\n lastOriginalLine = original.line;\n lastOriginalColumn = original.column;\n lastOriginalName = original.name;\n sourceMappingActive = true;\n } else if (sourceMappingActive) {\n map.addMapping({\n generated: {\n line: generated.line,\n column: generated.column\n }\n });\n lastOriginalSource = null;\n sourceMappingActive = false;\n }\n for (var idx = 0, length = chunk.length; idx < length; idx++) {\n if (chunk.charCodeAt(idx) === NEWLINE_CODE) {\n generated.line++;\n generated.column = 0;\n // Mappings end at eol\n if (idx + 1 === length) {\n lastOriginalSource = null;\n sourceMappingActive = false;\n } else if (sourceMappingActive) {\n map.addMapping({\n source: original.source,\n original: {\n line: original.line,\n column: original.column\n },\n generated: {\n line: generated.line,\n column: generated.column\n },\n name: original.name\n });\n }\n } else {\n generated.column++;\n }\n }\n });\n this.walkSourceContents(function (sourceFile, sourceContent) {\n map.setSourceContent(sourceFile, sourceContent);\n });\n\n return { code: generated.code, map: map };\n};\n\nexports.SourceNode = SourceNode;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lib/source-node.js\n// module id = 10\n// module chunks = 0"],"sourceRoot":""}
\ No newline at end of file
diff --git a/node_modules/@gulp-sourcemaps/identity-map/node_modules/source-map/lib/array-set.js b/node_modules/@gulp-sourcemaps/identity-map/node_modules/source-map/lib/array-set.js
new file mode 100644
index 0000000..fbd5c81
--- /dev/null
+++ b/node_modules/@gulp-sourcemaps/identity-map/node_modules/source-map/lib/array-set.js
@@ -0,0 +1,121 @@
+/* -*- Mode: js; js-indent-level: 2; -*- */
+/*
+ * Copyright 2011 Mozilla Foundation and contributors
+ * Licensed under the New BSD license. See LICENSE or:
+ * http://opensource.org/licenses/BSD-3-Clause
+ */
+
+var util = require('./util');
+var has = Object.prototype.hasOwnProperty;
+var hasNativeMap = typeof Map !== "undefined";
+
+/**
+ * A data structure which is a combination of an array and a set. Adding a new
+ * member is O(1), testing for membership is O(1), and finding the index of an
+ * element is O(1). Removing elements from the set is not supported. Only
+ * strings are supported for membership.
+ */
+function ArraySet() {
+ this._array = [];
+ this._set = hasNativeMap ? new Map() : Object.create(null);
+}
+
+/**
+ * Static method for creating ArraySet instances from an existing array.
+ */
+ArraySet.fromArray = function ArraySet_fromArray(aArray, aAllowDuplicates) {
+ var set = new ArraySet();
+ for (var i = 0, len = aArray.length; i < len; i++) {
+ set.add(aArray[i], aAllowDuplicates);
+ }
+ return set;
+};
+
+/**
+ * Return how many unique items are in this ArraySet. If duplicates have been
+ * added, than those do not count towards the size.
+ *
+ * @returns Number
+ */
+ArraySet.prototype.size = function ArraySet_size() {
+ return hasNativeMap ? this._set.size : Object.getOwnPropertyNames(this._set).length;
+};
+
+/**
+ * Add the given string to this set.
+ *
+ * @param String aStr
+ */
+ArraySet.prototype.add = function ArraySet_add(aStr, aAllowDuplicates) {
+ var sStr = hasNativeMap ? aStr : util.toSetString(aStr);
+ var isDuplicate = hasNativeMap ? this.has(aStr) : has.call(this._set, sStr);
+ var idx = this._array.length;
+ if (!isDuplicate || aAllowDuplicates) {
+ this._array.push(aStr);
+ }
+ if (!isDuplicate) {
+ if (hasNativeMap) {
+ this._set.set(aStr, idx);
+ } else {
+ this._set[sStr] = idx;
+ }
+ }
+};
+
+/**
+ * Is the given string a member of this set?
+ *
+ * @param String aStr
+ */
+ArraySet.prototype.has = function ArraySet_has(aStr) {
+ if (hasNativeMap) {
+ return this._set.has(aStr);
+ } else {
+ var sStr = util.toSetString(aStr);
+ return has.call(this._set, sStr);
+ }
+};
+
+/**
+ * What is the index of the given string in the array?
+ *
+ * @param String aStr
+ */
+ArraySet.prototype.indexOf = function ArraySet_indexOf(aStr) {
+ if (hasNativeMap) {
+ var idx = this._set.get(aStr);
+ if (idx >= 0) {
+ return idx;
+ }
+ } else {
+ var sStr = util.toSetString(aStr);
+ if (has.call(this._set, sStr)) {
+ return this._set[sStr];
+ }
+ }
+
+ throw new Error('"' + aStr + '" is not in the set.');
+};
+
+/**
+ * What is the element at the given index?
+ *
+ * @param Number aIdx
+ */
+ArraySet.prototype.at = function ArraySet_at(aIdx) {
+ if (aIdx >= 0 && aIdx < this._array.length) {
+ return this._array[aIdx];
+ }
+ throw new Error('No element indexed by ' + aIdx);
+};
+
+/**
+ * Returns the array representation of this set (which has the proper indices
+ * indicated by indexOf). Note that this is a copy of the internal array used
+ * for storing the members so that no one can mess with internal state.
+ */
+ArraySet.prototype.toArray = function ArraySet_toArray() {
+ return this._array.slice();
+};
+
+exports.ArraySet = ArraySet;
diff --git a/node_modules/@gulp-sourcemaps/identity-map/node_modules/source-map/lib/base64-vlq.js b/node_modules/@gulp-sourcemaps/identity-map/node_modules/source-map/lib/base64-vlq.js
new file mode 100644
index 0000000..612b404
--- /dev/null
+++ b/node_modules/@gulp-sourcemaps/identity-map/node_modules/source-map/lib/base64-vlq.js
@@ -0,0 +1,140 @@
+/* -*- Mode: js; js-indent-level: 2; -*- */
+/*
+ * Copyright 2011 Mozilla Foundation and contributors
+ * Licensed under the New BSD license. See LICENSE or:
+ * http://opensource.org/licenses/BSD-3-Clause
+ *
+ * Based on the Base 64 VLQ implementation in Closure Compiler:
+ * https://code.google.com/p/closure-compiler/source/browse/trunk/src/com/google/debugging/sourcemap/Base64VLQ.java
+ *
+ * Copyright 2011 The Closure Compiler Authors. All rights reserved.
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following
+ * disclaimer in the documentation and/or other materials provided
+ * with the distribution.
+ * * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+var base64 = require('./base64');
+
+// A single base 64 digit can contain 6 bits of data. For the base 64 variable
+// length quantities we use in the source map spec, the first bit is the sign,
+// the next four bits are the actual value, and the 6th bit is the
+// continuation bit. The continuation bit tells us whether there are more
+// digits in this value following this digit.
+//
+// Continuation
+// | Sign
+// | |
+// V V
+// 101011
+
+var VLQ_BASE_SHIFT = 5;
+
+// binary: 100000
+var VLQ_BASE = 1 << VLQ_BASE_SHIFT;
+
+// binary: 011111
+var VLQ_BASE_MASK = VLQ_BASE - 1;
+
+// binary: 100000
+var VLQ_CONTINUATION_BIT = VLQ_BASE;
+
+/**
+ * Converts from a two-complement value to a value where the sign bit is
+ * placed in the least significant bit. For example, as decimals:
+ * 1 becomes 2 (10 binary), -1 becomes 3 (11 binary)
+ * 2 becomes 4 (100 binary), -2 becomes 5 (101 binary)
+ */
+function toVLQSigned(aValue) {
+ return aValue < 0
+ ? ((-aValue) << 1) + 1
+ : (aValue << 1) + 0;
+}
+
+/**
+ * Converts to a two-complement value from a value where the sign bit is
+ * placed in the least significant bit. For example, as decimals:
+ * 2 (10 binary) becomes 1, 3 (11 binary) becomes -1
+ * 4 (100 binary) becomes 2, 5 (101 binary) becomes -2
+ */
+function fromVLQSigned(aValue) {
+ var isNegative = (aValue & 1) === 1;
+ var shifted = aValue >> 1;
+ return isNegative
+ ? -shifted
+ : shifted;
+}
+
+/**
+ * Returns the base 64 VLQ encoded value.
+ */
+exports.encode = function base64VLQ_encode(aValue) {
+ var encoded = "";
+ var digit;
+
+ var vlq = toVLQSigned(aValue);
+
+ do {
+ digit = vlq & VLQ_BASE_MASK;
+ vlq >>>= VLQ_BASE_SHIFT;
+ if (vlq > 0) {
+ // There are still more digits in this value, so we must make sure the
+ // continuation bit is marked.
+ digit |= VLQ_CONTINUATION_BIT;
+ }
+ encoded += base64.encode(digit);
+ } while (vlq > 0);
+
+ return encoded;
+};
+
+/**
+ * Decodes the next base 64 VLQ value from the given string and returns the
+ * value and the rest of the string via the out parameter.
+ */
+exports.decode = function base64VLQ_decode(aStr, aIndex, aOutParam) {
+ var strLen = aStr.length;
+ var result = 0;
+ var shift = 0;
+ var continuation, digit;
+
+ do {
+ if (aIndex >= strLen) {
+ throw new Error("Expected more digits in base 64 VLQ value.");
+ }
+
+ digit = base64.decode(aStr.charCodeAt(aIndex++));
+ if (digit === -1) {
+ throw new Error("Invalid base64 digit: " + aStr.charAt(aIndex - 1));
+ }
+
+ continuation = !!(digit & VLQ_CONTINUATION_BIT);
+ digit &= VLQ_BASE_MASK;
+ result = result + (digit << shift);
+ shift += VLQ_BASE_SHIFT;
+ } while (continuation);
+
+ aOutParam.value = fromVLQSigned(result);
+ aOutParam.rest = aIndex;
+};
diff --git a/node_modules/@gulp-sourcemaps/identity-map/node_modules/source-map/lib/base64.js b/node_modules/@gulp-sourcemaps/identity-map/node_modules/source-map/lib/base64.js
new file mode 100644
index 0000000..8aa86b3
--- /dev/null
+++ b/node_modules/@gulp-sourcemaps/identity-map/node_modules/source-map/lib/base64.js
@@ -0,0 +1,67 @@
+/* -*- Mode: js; js-indent-level: 2; -*- */
+/*
+ * Copyright 2011 Mozilla Foundation and contributors
+ * Licensed under the New BSD license. See LICENSE or:
+ * http://opensource.org/licenses/BSD-3-Clause
+ */
+
+var intToCharMap = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.split('');
+
+/**
+ * Encode an integer in the range of 0 to 63 to a single base 64 digit.
+ */
+exports.encode = function (number) {
+ if (0 <= number && number < intToCharMap.length) {
+ return intToCharMap[number];
+ }
+ throw new TypeError("Must be between 0 and 63: " + number);
+};
+
+/**
+ * Decode a single base 64 character code digit to an integer. Returns -1 on
+ * failure.
+ */
+exports.decode = function (charCode) {
+ var bigA = 65; // 'A'
+ var bigZ = 90; // 'Z'
+
+ var littleA = 97; // 'a'
+ var littleZ = 122; // 'z'
+
+ var zero = 48; // '0'
+ var nine = 57; // '9'
+
+ var plus = 43; // '+'
+ var slash = 47; // '/'
+
+ var littleOffset = 26;
+ var numberOffset = 52;
+
+ // 0 - 25: ABCDEFGHIJKLMNOPQRSTUVWXYZ
+ if (bigA <= charCode && charCode <= bigZ) {
+ return (charCode - bigA);
+ }
+
+ // 26 - 51: abcdefghijklmnopqrstuvwxyz
+ if (littleA <= charCode && charCode <= littleZ) {
+ return (charCode - littleA + littleOffset);
+ }
+
+ // 52 - 61: 0123456789
+ if (zero <= charCode && charCode <= nine) {
+ return (charCode - zero + numberOffset);
+ }
+
+ // 62: +
+ if (charCode == plus) {
+ return 62;
+ }
+
+ // 63: /
+ if (charCode == slash) {
+ return 63;
+ }
+
+ // Invalid base64 digit.
+ return -1;
+};
diff --git a/node_modules/@gulp-sourcemaps/identity-map/node_modules/source-map/lib/binary-search.js b/node_modules/@gulp-sourcemaps/identity-map/node_modules/source-map/lib/binary-search.js
new file mode 100644
index 0000000..010ac94
--- /dev/null
+++ b/node_modules/@gulp-sourcemaps/identity-map/node_modules/source-map/lib/binary-search.js
@@ -0,0 +1,111 @@
+/* -*- Mode: js; js-indent-level: 2; -*- */
+/*
+ * Copyright 2011 Mozilla Foundation and contributors
+ * Licensed under the New BSD license. See LICENSE or:
+ * http://opensource.org/licenses/BSD-3-Clause
+ */
+
+exports.GREATEST_LOWER_BOUND = 1;
+exports.LEAST_UPPER_BOUND = 2;
+
+/**
+ * Recursive implementation of binary search.
+ *
+ * @param aLow Indices here and lower do not contain the needle.
+ * @param aHigh Indices here and higher do not contain the needle.
+ * @param aNeedle The element being searched for.
+ * @param aHaystack The non-empty array being searched.
+ * @param aCompare Function which takes two elements and returns -1, 0, or 1.
+ * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or
+ * 'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the
+ * closest element that is smaller than or greater than the one we are
+ * searching for, respectively, if the exact element cannot be found.
+ */
+function recursiveSearch(aLow, aHigh, aNeedle, aHaystack, aCompare, aBias) {
+ // This function terminates when one of the following is true:
+ //
+ // 1. We find the exact element we are looking for.
+ //
+ // 2. We did not find the exact element, but we can return the index of
+ // the next-closest element.
+ //
+ // 3. We did not find the exact element, and there is no next-closest
+ // element than the one we are searching for, so we return -1.
+ var mid = Math.floor((aHigh - aLow) / 2) + aLow;
+ var cmp = aCompare(aNeedle, aHaystack[mid], true);
+ if (cmp === 0) {
+ // Found the element we are looking for.
+ return mid;
+ }
+ else if (cmp > 0) {
+ // Our needle is greater than aHaystack[mid].
+ if (aHigh - mid > 1) {
+ // The element is in the upper half.
+ return recursiveSearch(mid, aHigh, aNeedle, aHaystack, aCompare, aBias);
+ }
+
+ // The exact needle element was not found in this haystack. Determine if
+ // we are in termination case (3) or (2) and return the appropriate thing.
+ if (aBias == exports.LEAST_UPPER_BOUND) {
+ return aHigh < aHaystack.length ? aHigh : -1;
+ } else {
+ return mid;
+ }
+ }
+ else {
+ // Our needle is less than aHaystack[mid].
+ if (mid - aLow > 1) {
+ // The element is in the lower half.
+ return recursiveSearch(aLow, mid, aNeedle, aHaystack, aCompare, aBias);
+ }
+
+ // we are in termination case (3) or (2) and return the appropriate thing.
+ if (aBias == exports.LEAST_UPPER_BOUND) {
+ return mid;
+ } else {
+ return aLow < 0 ? -1 : aLow;
+ }
+ }
+}
+
+/**
+ * This is an implementation of binary search which will always try and return
+ * the index of the closest element if there is no exact hit. This is because
+ * mappings between original and generated line/col pairs are single points,
+ * and there is an implicit region between each of them, so a miss just means
+ * that you aren't on the very start of a region.
+ *
+ * @param aNeedle The element you are looking for.
+ * @param aHaystack The array that is being searched.
+ * @param aCompare A function which takes the needle and an element in the
+ * array and returns -1, 0, or 1 depending on whether the needle is less
+ * than, equal to, or greater than the element, respectively.
+ * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or
+ * 'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the
+ * closest element that is smaller than or greater than the one we are
+ * searching for, respectively, if the exact element cannot be found.
+ * Defaults to 'binarySearch.GREATEST_LOWER_BOUND'.
+ */
+exports.search = function search(aNeedle, aHaystack, aCompare, aBias) {
+ if (aHaystack.length === 0) {
+ return -1;
+ }
+
+ var index = recursiveSearch(-1, aHaystack.length, aNeedle, aHaystack,
+ aCompare, aBias || exports.GREATEST_LOWER_BOUND);
+ if (index < 0) {
+ return -1;
+ }
+
+ // We have found either the exact element, or the next-closest element than
+ // the one we are searching for. However, there may be more than one such
+ // element. Make sure we always return the smallest of these.
+ while (index - 1 >= 0) {
+ if (aCompare(aHaystack[index], aHaystack[index - 1], true) !== 0) {
+ break;
+ }
+ --index;
+ }
+
+ return index;
+};
diff --git a/node_modules/@gulp-sourcemaps/identity-map/node_modules/source-map/lib/mapping-list.js b/node_modules/@gulp-sourcemaps/identity-map/node_modules/source-map/lib/mapping-list.js
new file mode 100644
index 0000000..06d1274
--- /dev/null
+++ b/node_modules/@gulp-sourcemaps/identity-map/node_modules/source-map/lib/mapping-list.js
@@ -0,0 +1,79 @@
+/* -*- Mode: js; js-indent-level: 2; -*- */
+/*
+ * Copyright 2014 Mozilla Foundation and contributors
+ * Licensed under the New BSD license. See LICENSE or:
+ * http://opensource.org/licenses/BSD-3-Clause
+ */
+
+var util = require('./util');
+
+/**
+ * Determine whether mappingB is after mappingA with respect to generated
+ * position.
+ */
+function generatedPositionAfter(mappingA, mappingB) {
+ // Optimized for most common case
+ var lineA = mappingA.generatedLine;
+ var lineB = mappingB.generatedLine;
+ var columnA = mappingA.generatedColumn;
+ var columnB = mappingB.generatedColumn;
+ return lineB > lineA || lineB == lineA && columnB >= columnA ||
+ util.compareByGeneratedPositionsInflated(mappingA, mappingB) <= 0;
+}
+
+/**
+ * A data structure to provide a sorted view of accumulated mappings in a
+ * performance conscious manner. It trades a neglibable overhead in general
+ * case for a large speedup in case of mappings being added in order.
+ */
+function MappingList() {
+ this._array = [];
+ this._sorted = true;
+ // Serves as infimum
+ this._last = {generatedLine: -1, generatedColumn: 0};
+}
+
+/**
+ * Iterate through internal items. This method takes the same arguments that
+ * `Array.prototype.forEach` takes.
+ *
+ * NOTE: The order of the mappings is NOT guaranteed.
+ */
+MappingList.prototype.unsortedForEach =
+ function MappingList_forEach(aCallback, aThisArg) {
+ this._array.forEach(aCallback, aThisArg);
+ };
+
+/**
+ * Add the given source mapping.
+ *
+ * @param Object aMapping
+ */
+MappingList.prototype.add = function MappingList_add(aMapping) {
+ if (generatedPositionAfter(this._last, aMapping)) {
+ this._last = aMapping;
+ this._array.push(aMapping);
+ } else {
+ this._sorted = false;
+ this._array.push(aMapping);
+ }
+};
+
+/**
+ * Returns the flat, sorted array of mappings. The mappings are sorted by
+ * generated position.
+ *
+ * WARNING: This method returns internal data without copying, for
+ * performance. The return value must NOT be mutated, and should be treated as
+ * an immutable borrow. If you want to take ownership, you must make your own
+ * copy.
+ */
+MappingList.prototype.toArray = function MappingList_toArray() {
+ if (!this._sorted) {
+ this._array.sort(util.compareByGeneratedPositionsInflated);
+ this._sorted = true;
+ }
+ return this._array;
+};
+
+exports.MappingList = MappingList;
diff --git a/node_modules/@gulp-sourcemaps/identity-map/node_modules/source-map/lib/quick-sort.js b/node_modules/@gulp-sourcemaps/identity-map/node_modules/source-map/lib/quick-sort.js
new file mode 100644
index 0000000..6a7caad
--- /dev/null
+++ b/node_modules/@gulp-sourcemaps/identity-map/node_modules/source-map/lib/quick-sort.js
@@ -0,0 +1,114 @@
+/* -*- Mode: js; js-indent-level: 2; -*- */
+/*
+ * Copyright 2011 Mozilla Foundation and contributors
+ * Licensed under the New BSD license. See LICENSE or:
+ * http://opensource.org/licenses/BSD-3-Clause
+ */
+
+// It turns out that some (most?) JavaScript engines don't self-host
+// `Array.prototype.sort`. This makes sense because C++ will likely remain
+// faster than JS when doing raw CPU-intensive sorting. However, when using a
+// custom comparator function, calling back and forth between the VM's C++ and
+// JIT'd JS is rather slow *and* loses JIT type information, resulting in
+// worse generated code for the comparator function than would be optimal. In
+// fact, when sorting with a comparator, these costs outweigh the benefits of
+// sorting in C++. By using our own JS-implemented Quick Sort (below), we get
+// a ~3500ms mean speed-up in `bench/bench.html`.
+
+/**
+ * Swap the elements indexed by `x` and `y` in the array `ary`.
+ *
+ * @param {Array} ary
+ * The array.
+ * @param {Number} x
+ * The index of the first item.
+ * @param {Number} y
+ * The index of the second item.
+ */
+function swap(ary, x, y) {
+ var temp = ary[x];
+ ary[x] = ary[y];
+ ary[y] = temp;
+}
+
+/**
+ * Returns a random integer within the range `low .. high` inclusive.
+ *
+ * @param {Number} low
+ * The lower bound on the range.
+ * @param {Number} high
+ * The upper bound on the range.
+ */
+function randomIntInRange(low, high) {
+ return Math.round(low + (Math.random() * (high - low)));
+}
+
+/**
+ * The Quick Sort algorithm.
+ *
+ * @param {Array} ary
+ * An array to sort.
+ * @param {function} comparator
+ * Function to use to compare two items.
+ * @param {Number} p
+ * Start index of the array
+ * @param {Number} r
+ * End index of the array
+ */
+function doQuickSort(ary, comparator, p, r) {
+ // If our lower bound is less than our upper bound, we (1) partition the
+ // array into two pieces and (2) recurse on each half. If it is not, this is
+ // the empty array and our base case.
+
+ if (p < r) {
+ // (1) Partitioning.
+ //
+ // The partitioning chooses a pivot between `p` and `r` and moves all
+ // elements that are less than or equal to the pivot to the before it, and
+ // all the elements that are greater than it after it. The effect is that
+ // once partition is done, the pivot is in the exact place it will be when
+ // the array is put in sorted order, and it will not need to be moved
+ // again. This runs in O(n) time.
+
+ // Always choose a random pivot so that an input array which is reverse
+ // sorted does not cause O(n^2) running time.
+ var pivotIndex = randomIntInRange(p, r);
+ var i = p - 1;
+
+ swap(ary, pivotIndex, r);
+ var pivot = ary[r];
+
+ // Immediately after `j` is incremented in this loop, the following hold
+ // true:
+ //
+ // * Every element in `ary[p .. i]` is less than or equal to the pivot.
+ //
+ // * Every element in `ary[i+1 .. j-1]` is greater than the pivot.
+ for (var j = p; j < r; j++) {
+ if (comparator(ary[j], pivot) <= 0) {
+ i += 1;
+ swap(ary, i, j);
+ }
+ }
+
+ swap(ary, i + 1, j);
+ var q = i + 1;
+
+ // (2) Recurse on each half.
+
+ doQuickSort(ary, comparator, p, q - 1);
+ doQuickSort(ary, comparator, q + 1, r);
+ }
+}
+
+/**
+ * Sort the given array in-place with the given comparator function.
+ *
+ * @param {Array} ary
+ * An array to sort.
+ * @param {function} comparator
+ * Function to use to compare two items.
+ */
+exports.quickSort = function (ary, comparator) {
+ doQuickSort(ary, comparator, 0, ary.length - 1);
+};
diff --git a/node_modules/@gulp-sourcemaps/identity-map/node_modules/source-map/lib/source-map-consumer.js b/node_modules/@gulp-sourcemaps/identity-map/node_modules/source-map/lib/source-map-consumer.js
new file mode 100644
index 0000000..7b99d1d
--- /dev/null
+++ b/node_modules/@gulp-sourcemaps/identity-map/node_modules/source-map/lib/source-map-consumer.js
@@ -0,0 +1,1145 @@
+/* -*- Mode: js; js-indent-level: 2; -*- */
+/*
+ * Copyright 2011 Mozilla Foundation and contributors
+ * Licensed under the New BSD license. See LICENSE or:
+ * http://opensource.org/licenses/BSD-3-Clause
+ */
+
+var util = require('./util');
+var binarySearch = require('./binary-search');
+var ArraySet = require('./array-set').ArraySet;
+var base64VLQ = require('./base64-vlq');
+var quickSort = require('./quick-sort').quickSort;
+
+function SourceMapConsumer(aSourceMap, aSourceMapURL) {
+ var sourceMap = aSourceMap;
+ if (typeof aSourceMap === 'string') {
+ sourceMap = util.parseSourceMapInput(aSourceMap);
+ }
+
+ return sourceMap.sections != null
+ ? new IndexedSourceMapConsumer(sourceMap, aSourceMapURL)
+ : new BasicSourceMapConsumer(sourceMap, aSourceMapURL);
+}
+
+SourceMapConsumer.fromSourceMap = function(aSourceMap, aSourceMapURL) {
+ return BasicSourceMapConsumer.fromSourceMap(aSourceMap, aSourceMapURL);
+}
+
+/**
+ * The version of the source mapping spec that we are consuming.
+ */
+SourceMapConsumer.prototype._version = 3;
+
+// `__generatedMappings` and `__originalMappings` are arrays that hold the
+// parsed mapping coordinates from the source map's "mappings" attribute. They
+// are lazily instantiated, accessed via the `_generatedMappings` and
+// `_originalMappings` getters respectively, and we only parse the mappings
+// and create these arrays once queried for a source location. We jump through
+// these hoops because there can be many thousands of mappings, and parsing
+// them is expensive, so we only want to do it if we must.
+//
+// Each object in the arrays is of the form:
+//
+// {
+// generatedLine: The line number in the generated code,
+// generatedColumn: The column number in the generated code,
+// source: The path to the original source file that generated this
+// chunk of code,
+// originalLine: The line number in the original source that
+// corresponds to this chunk of generated code,
+// originalColumn: The column number in the original source that
+// corresponds to this chunk of generated code,
+// name: The name of the original symbol which generated this chunk of
+// code.
+// }
+//
+// All properties except for `generatedLine` and `generatedColumn` can be
+// `null`.
+//
+// `_generatedMappings` is ordered by the generated positions.
+//
+// `_originalMappings` is ordered by the original positions.
+
+SourceMapConsumer.prototype.__generatedMappings = null;
+Object.defineProperty(SourceMapConsumer.prototype, '_generatedMappings', {
+ configurable: true,
+ enumerable: true,
+ get: function () {
+ if (!this.__generatedMappings) {
+ this._parseMappings(this._mappings, this.sourceRoot);
+ }
+
+ return this.__generatedMappings;
+ }
+});
+
+SourceMapConsumer.prototype.__originalMappings = null;
+Object.defineProperty(SourceMapConsumer.prototype, '_originalMappings', {
+ configurable: true,
+ enumerable: true,
+ get: function () {
+ if (!this.__originalMappings) {
+ this._parseMappings(this._mappings, this.sourceRoot);
+ }
+
+ return this.__originalMappings;
+ }
+});
+
+SourceMapConsumer.prototype._charIsMappingSeparator =
+ function SourceMapConsumer_charIsMappingSeparator(aStr, index) {
+ var c = aStr.charAt(index);
+ return c === ";" || c === ",";
+ };
+
+/**
+ * Parse the mappings in a string in to a data structure which we can easily
+ * query (the ordered arrays in the `this.__generatedMappings` and
+ * `this.__originalMappings` properties).
+ */
+SourceMapConsumer.prototype._parseMappings =
+ function SourceMapConsumer_parseMappings(aStr, aSourceRoot) {
+ throw new Error("Subclasses must implement _parseMappings");
+ };
+
+SourceMapConsumer.GENERATED_ORDER = 1;
+SourceMapConsumer.ORIGINAL_ORDER = 2;
+
+SourceMapConsumer.GREATEST_LOWER_BOUND = 1;
+SourceMapConsumer.LEAST_UPPER_BOUND = 2;
+
+/**
+ * Iterate over each mapping between an original source/line/column and a
+ * generated line/column in this source map.
+ *
+ * @param Function aCallback
+ * The function that is called with each mapping.
+ * @param Object aContext
+ * Optional. If specified, this object will be the value of `this` every
+ * time that `aCallback` is called.
+ * @param aOrder
+ * Either `SourceMapConsumer.GENERATED_ORDER` or
+ * `SourceMapConsumer.ORIGINAL_ORDER`. Specifies whether you want to
+ * iterate over the mappings sorted by the generated file's line/column
+ * order or the original's source/line/column order, respectively. Defaults to
+ * `SourceMapConsumer.GENERATED_ORDER`.
+ */
+SourceMapConsumer.prototype.eachMapping =
+ function SourceMapConsumer_eachMapping(aCallback, aContext, aOrder) {
+ var context = aContext || null;
+ var order = aOrder || SourceMapConsumer.GENERATED_ORDER;
+
+ var mappings;
+ switch (order) {
+ case SourceMapConsumer.GENERATED_ORDER:
+ mappings = this._generatedMappings;
+ break;
+ case SourceMapConsumer.ORIGINAL_ORDER:
+ mappings = this._originalMappings;
+ break;
+ default:
+ throw new Error("Unknown order of iteration.");
+ }
+
+ var sourceRoot = this.sourceRoot;
+ mappings.map(function (mapping) {
+ var source = mapping.source === null ? null : this._sources.at(mapping.source);
+ source = util.computeSourceURL(sourceRoot, source, this._sourceMapURL);
+ return {
+ source: source,
+ generatedLine: mapping.generatedLine,
+ generatedColumn: mapping.generatedColumn,
+ originalLine: mapping.originalLine,
+ originalColumn: mapping.originalColumn,
+ name: mapping.name === null ? null : this._names.at(mapping.name)
+ };
+ }, this).forEach(aCallback, context);
+ };
+
+/**
+ * Returns all generated line and column information for the original source,
+ * line, and column provided. If no column is provided, returns all mappings
+ * corresponding to a either the line we are searching for or the next
+ * closest line that has any mappings. Otherwise, returns all mappings
+ * corresponding to the given line and either the column we are searching for
+ * or the next closest column that has any offsets.
+ *
+ * The only argument is an object with the following properties:
+ *
+ * - source: The filename of the original source.
+ * - line: The line number in the original source. The line number is 1-based.
+ * - column: Optional. the column number in the original source.
+ * The column number is 0-based.
+ *
+ * and an array of objects is returned, each with the following properties:
+ *
+ * - line: The line number in the generated source, or null. The
+ * line number is 1-based.
+ * - column: The column number in the generated source, or null.
+ * The column number is 0-based.
+ */
+SourceMapConsumer.prototype.allGeneratedPositionsFor =
+ function SourceMapConsumer_allGeneratedPositionsFor(aArgs) {
+ var line = util.getArg(aArgs, 'line');
+
+ // When there is no exact match, BasicSourceMapConsumer.prototype._findMapping
+ // returns the index of the closest mapping less than the needle. By
+ // setting needle.originalColumn to 0, we thus find the last mapping for
+ // the given line, provided such a mapping exists.
+ var needle = {
+ source: util.getArg(aArgs, 'source'),
+ originalLine: line,
+ originalColumn: util.getArg(aArgs, 'column', 0)
+ };
+
+ needle.source = this._findSourceIndex(needle.source);
+ if (needle.source < 0) {
+ return [];
+ }
+
+ var mappings = [];
+
+ var index = this._findMapping(needle,
+ this._originalMappings,
+ "originalLine",
+ "originalColumn",
+ util.compareByOriginalPositions,
+ binarySearch.LEAST_UPPER_BOUND);
+ if (index >= 0) {
+ var mapping = this._originalMappings[index];
+
+ if (aArgs.column === undefined) {
+ var originalLine = mapping.originalLine;
+
+ // Iterate until either we run out of mappings, or we run into
+ // a mapping for a different line than the one we found. Since
+ // mappings are sorted, this is guaranteed to find all mappings for
+ // the line we found.
+ while (mapping && mapping.originalLine === originalLine) {
+ mappings.push({
+ line: util.getArg(mapping, 'generatedLine', null),
+ column: util.getArg(mapping, 'generatedColumn', null),
+ lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null)
+ });
+
+ mapping = this._originalMappings[++index];
+ }
+ } else {
+ var originalColumn = mapping.originalColumn;
+
+ // Iterate until either we run out of mappings, or we run into
+ // a mapping for a different line than the one we were searching for.
+ // Since mappings are sorted, this is guaranteed to find all mappings for
+ // the line we are searching for.
+ while (mapping &&
+ mapping.originalLine === line &&
+ mapping.originalColumn == originalColumn) {
+ mappings.push({
+ line: util.getArg(mapping, 'generatedLine', null),
+ column: util.getArg(mapping, 'generatedColumn', null),
+ lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null)
+ });
+
+ mapping = this._originalMappings[++index];
+ }
+ }
+ }
+
+ return mappings;
+ };
+
+exports.SourceMapConsumer = SourceMapConsumer;
+
+/**
+ * A BasicSourceMapConsumer instance represents a parsed source map which we can
+ * query for information about the original file positions by giving it a file
+ * position in the generated source.
+ *
+ * The first parameter is the raw source map (either as a JSON string, or
+ * already parsed to an object). According to the spec, source maps have the
+ * following attributes:
+ *
+ * - version: Which version of the source map spec this map is following.
+ * - sources: An array of URLs to the original source files.
+ * - names: An array of identifiers which can be referrenced by individual mappings.
+ * - sourceRoot: Optional. The URL root from which all sources are relative.
+ * - sourcesContent: Optional. An array of contents of the original source files.
+ * - mappings: A string of base64 VLQs which contain the actual mappings.
+ * - file: Optional. The generated file this source map is associated with.
+ *
+ * Here is an example source map, taken from the source map spec[0]:
+ *
+ * {
+ * version : 3,
+ * file: "out.js",
+ * sourceRoot : "",
+ * sources: ["foo.js", "bar.js"],
+ * names: ["src", "maps", "are", "fun"],
+ * mappings: "AA,AB;;ABCDE;"
+ * }
+ *
+ * The second parameter, if given, is a string whose value is the URL
+ * at which the source map was found. This URL is used to compute the
+ * sources array.
+ *
+ * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit?pli=1#
+ */
+function BasicSourceMapConsumer(aSourceMap, aSourceMapURL) {
+ var sourceMap = aSourceMap;
+ if (typeof aSourceMap === 'string') {
+ sourceMap = util.parseSourceMapInput(aSourceMap);
+ }
+
+ var version = util.getArg(sourceMap, 'version');
+ var sources = util.getArg(sourceMap, 'sources');
+ // Sass 3.3 leaves out the 'names' array, so we deviate from the spec (which
+ // requires the array) to play nice here.
+ var names = util.getArg(sourceMap, 'names', []);
+ var sourceRoot = util.getArg(sourceMap, 'sourceRoot', null);
+ var sourcesContent = util.getArg(sourceMap, 'sourcesContent', null);
+ var mappings = util.getArg(sourceMap, 'mappings');
+ var file = util.getArg(sourceMap, 'file', null);
+
+ // Once again, Sass deviates from the spec and supplies the version as a
+ // string rather than a number, so we use loose equality checking here.
+ if (version != this._version) {
+ throw new Error('Unsupported version: ' + version);
+ }
+
+ if (sourceRoot) {
+ sourceRoot = util.normalize(sourceRoot);
+ }
+
+ sources = sources
+ .map(String)
+ // Some source maps produce relative source paths like "./foo.js" instead of
+ // "foo.js". Normalize these first so that future comparisons will succeed.
+ // See bugzil.la/1090768.
+ .map(util.normalize)
+ // Always ensure that absolute sources are internally stored relative to
+ // the source root, if the source root is absolute. Not doing this would
+ // be particularly problematic when the source root is a prefix of the
+ // source (valid, but why??). See github issue #199 and bugzil.la/1188982.
+ .map(function (source) {
+ return sourceRoot && util.isAbsolute(sourceRoot) && util.isAbsolute(source)
+ ? util.relative(sourceRoot, source)
+ : source;
+ });
+
+ // Pass `true` below to allow duplicate names and sources. While source maps
+ // are intended to be compressed and deduplicated, the TypeScript compiler
+ // sometimes generates source maps with duplicates in them. See Github issue
+ // #72 and bugzil.la/889492.
+ this._names = ArraySet.fromArray(names.map(String), true);
+ this._sources = ArraySet.fromArray(sources, true);
+
+ this._absoluteSources = this._sources.toArray().map(function (s) {
+ return util.computeSourceURL(sourceRoot, s, aSourceMapURL);
+ });
+
+ this.sourceRoot = sourceRoot;
+ this.sourcesContent = sourcesContent;
+ this._mappings = mappings;
+ this._sourceMapURL = aSourceMapURL;
+ this.file = file;
+}
+
+BasicSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype);
+BasicSourceMapConsumer.prototype.consumer = SourceMapConsumer;
+
+/**
+ * Utility function to find the index of a source. Returns -1 if not
+ * found.
+ */
+BasicSourceMapConsumer.prototype._findSourceIndex = function(aSource) {
+ var relativeSource = aSource;
+ if (this.sourceRoot != null) {
+ relativeSource = util.relative(this.sourceRoot, relativeSource);
+ }
+
+ if (this._sources.has(relativeSource)) {
+ return this._sources.indexOf(relativeSource);
+ }
+
+ // Maybe aSource is an absolute URL as returned by |sources|. In
+ // this case we can't simply undo the transform.
+ var i;
+ for (i = 0; i < this._absoluteSources.length; ++i) {
+ if (this._absoluteSources[i] == aSource) {
+ return i;
+ }
+ }
+
+ return -1;
+};
+
+/**
+ * Create a BasicSourceMapConsumer from a SourceMapGenerator.
+ *
+ * @param SourceMapGenerator aSourceMap
+ * The source map that will be consumed.
+ * @param String aSourceMapURL
+ * The URL at which the source map can be found (optional)
+ * @returns BasicSourceMapConsumer
+ */
+BasicSourceMapConsumer.fromSourceMap =
+ function SourceMapConsumer_fromSourceMap(aSourceMap, aSourceMapURL) {
+ var smc = Object.create(BasicSourceMapConsumer.prototype);
+
+ var names = smc._names = ArraySet.fromArray(aSourceMap._names.toArray(), true);
+ var sources = smc._sources = ArraySet.fromArray(aSourceMap._sources.toArray(), true);
+ smc.sourceRoot = aSourceMap._sourceRoot;
+ smc.sourcesContent = aSourceMap._generateSourcesContent(smc._sources.toArray(),
+ smc.sourceRoot);
+ smc.file = aSourceMap._file;
+ smc._sourceMapURL = aSourceMapURL;
+ smc._absoluteSources = smc._sources.toArray().map(function (s) {
+ return util.computeSourceURL(smc.sourceRoot, s, aSourceMapURL);
+ });
+
+ // Because we are modifying the entries (by converting string sources and
+ // names to indices into the sources and names ArraySets), we have to make
+ // a copy of the entry or else bad things happen. Shared mutable state
+ // strikes again! See github issue #191.
+
+ var generatedMappings = aSourceMap._mappings.toArray().slice();
+ var destGeneratedMappings = smc.__generatedMappings = [];
+ var destOriginalMappings = smc.__originalMappings = [];
+
+ for (var i = 0, length = generatedMappings.length; i < length; i++) {
+ var srcMapping = generatedMappings[i];
+ var destMapping = new Mapping;
+ destMapping.generatedLine = srcMapping.generatedLine;
+ destMapping.generatedColumn = srcMapping.generatedColumn;
+
+ if (srcMapping.source) {
+ destMapping.source = sources.indexOf(srcMapping.source);
+ destMapping.originalLine = srcMapping.originalLine;
+ destMapping.originalColumn = srcMapping.originalColumn;
+
+ if (srcMapping.name) {
+ destMapping.name = names.indexOf(srcMapping.name);
+ }
+
+ destOriginalMappings.push(destMapping);
+ }
+
+ destGeneratedMappings.push(destMapping);
+ }
+
+ quickSort(smc.__originalMappings, util.compareByOriginalPositions);
+
+ return smc;
+ };
+
+/**
+ * The version of the source mapping spec that we are consuming.
+ */
+BasicSourceMapConsumer.prototype._version = 3;
+
+/**
+ * The list of original sources.
+ */
+Object.defineProperty(BasicSourceMapConsumer.prototype, 'sources', {
+ get: function () {
+ return this._absoluteSources.slice();
+ }
+});
+
+/**
+ * Provide the JIT with a nice shape / hidden class.
+ */
+function Mapping() {
+ this.generatedLine = 0;
+ this.generatedColumn = 0;
+ this.source = null;
+ this.originalLine = null;
+ this.originalColumn = null;
+ this.name = null;
+}
+
+/**
+ * Parse the mappings in a string in to a data structure which we can easily
+ * query (the ordered arrays in the `this.__generatedMappings` and
+ * `this.__originalMappings` properties).
+ */
+BasicSourceMapConsumer.prototype._parseMappings =
+ function SourceMapConsumer_parseMappings(aStr, aSourceRoot) {
+ var generatedLine = 1;
+ var previousGeneratedColumn = 0;
+ var previousOriginalLine = 0;
+ var previousOriginalColumn = 0;
+ var previousSource = 0;
+ var previousName = 0;
+ var length = aStr.length;
+ var index = 0;
+ var cachedSegments = {};
+ var temp = {};
+ var originalMappings = [];
+ var generatedMappings = [];
+ var mapping, str, segment, end, value;
+
+ while (index < length) {
+ if (aStr.charAt(index) === ';') {
+ generatedLine++;
+ index++;
+ previousGeneratedColumn = 0;
+ }
+ else if (aStr.charAt(index) === ',') {
+ index++;
+ }
+ else {
+ mapping = new Mapping();
+ mapping.generatedLine = generatedLine;
+
+ // Because each offset is encoded relative to the previous one,
+ // many segments often have the same encoding. We can exploit this
+ // fact by caching the parsed variable length fields of each segment,
+ // allowing us to avoid a second parse if we encounter the same
+ // segment again.
+ for (end = index; end < length; end++) {
+ if (this._charIsMappingSeparator(aStr, end)) {
+ break;
+ }
+ }
+ str = aStr.slice(index, end);
+
+ segment = cachedSegments[str];
+ if (segment) {
+ index += str.length;
+ } else {
+ segment = [];
+ while (index < end) {
+ base64VLQ.decode(aStr, index, temp);
+ value = temp.value;
+ index = temp.rest;
+ segment.push(value);
+ }
+
+ if (segment.length === 2) {
+ throw new Error('Found a source, but no line and column');
+ }
+
+ if (segment.length === 3) {
+ throw new Error('Found a source and line, but no column');
+ }
+
+ cachedSegments[str] = segment;
+ }
+
+ // Generated column.
+ mapping.generatedColumn = previousGeneratedColumn + segment[0];
+ previousGeneratedColumn = mapping.generatedColumn;
+
+ if (segment.length > 1) {
+ // Original source.
+ mapping.source = previousSource + segment[1];
+ previousSource += segment[1];
+
+ // Original line.
+ mapping.originalLine = previousOriginalLine + segment[2];
+ previousOriginalLine = mapping.originalLine;
+ // Lines are stored 0-based
+ mapping.originalLine += 1;
+
+ // Original column.
+ mapping.originalColumn = previousOriginalColumn + segment[3];
+ previousOriginalColumn = mapping.originalColumn;
+
+ if (segment.length > 4) {
+ // Original name.
+ mapping.name = previousName + segment[4];
+ previousName += segment[4];
+ }
+ }
+
+ generatedMappings.push(mapping);
+ if (typeof mapping.originalLine === 'number') {
+ originalMappings.push(mapping);
+ }
+ }
+ }
+
+ quickSort(generatedMappings, util.compareByGeneratedPositionsDeflated);
+ this.__generatedMappings = generatedMappings;
+
+ quickSort(originalMappings, util.compareByOriginalPositions);
+ this.__originalMappings = originalMappings;
+ };
+
+/**
+ * Find the mapping that best matches the hypothetical "needle" mapping that
+ * we are searching for in the given "haystack" of mappings.
+ */
+BasicSourceMapConsumer.prototype._findMapping =
+ function SourceMapConsumer_findMapping(aNeedle, aMappings, aLineName,
+ aColumnName, aComparator, aBias) {
+ // To return the position we are searching for, we must first find the
+ // mapping for the given position and then return the opposite position it
+ // points to. Because the mappings are sorted, we can use binary search to
+ // find the best mapping.
+
+ if (aNeedle[aLineName] <= 0) {
+ throw new TypeError('Line must be greater than or equal to 1, got '
+ + aNeedle[aLineName]);
+ }
+ if (aNeedle[aColumnName] < 0) {
+ throw new TypeError('Column must be greater than or equal to 0, got '
+ + aNeedle[aColumnName]);
+ }
+
+ return binarySearch.search(aNeedle, aMappings, aComparator, aBias);
+ };
+
+/**
+ * Compute the last column for each generated mapping. The last column is
+ * inclusive.
+ */
+BasicSourceMapConsumer.prototype.computeColumnSpans =
+ function SourceMapConsumer_computeColumnSpans() {
+ for (var index = 0; index < this._generatedMappings.length; ++index) {
+ var mapping = this._generatedMappings[index];
+
+ // Mappings do not contain a field for the last generated columnt. We
+ // can come up with an optimistic estimate, however, by assuming that
+ // mappings are contiguous (i.e. given two consecutive mappings, the
+ // first mapping ends where the second one starts).
+ if (index + 1 < this._generatedMappings.length) {
+ var nextMapping = this._generatedMappings[index + 1];
+
+ if (mapping.generatedLine === nextMapping.generatedLine) {
+ mapping.lastGeneratedColumn = nextMapping.generatedColumn - 1;
+ continue;
+ }
+ }
+
+ // The last mapping for each line spans the entire line.
+ mapping.lastGeneratedColumn = Infinity;
+ }
+ };
+
+/**
+ * Returns the original source, line, and column information for the generated
+ * source's line and column positions provided. The only argument is an object
+ * with the following properties:
+ *
+ * - line: The line number in the generated source. The line number
+ * is 1-based.
+ * - column: The column number in the generated source. The column
+ * number is 0-based.
+ * - bias: Either 'SourceMapConsumer.GREATEST_LOWER_BOUND' or
+ * 'SourceMapConsumer.LEAST_UPPER_BOUND'. Specifies whether to return the
+ * closest element that is smaller than or greater than the one we are
+ * searching for, respectively, if the exact element cannot be found.
+ * Defaults to 'SourceMapConsumer.GREATEST_LOWER_BOUND'.
+ *
+ * and an object is returned with the following properties:
+ *
+ * - source: The original source file, or null.
+ * - line: The line number in the original source, or null. The
+ * line number is 1-based.
+ * - column: The column number in the original source, or null. The
+ * column number is 0-based.
+ * - name: The original identifier, or null.
+ */
+BasicSourceMapConsumer.prototype.originalPositionFor =
+ function SourceMapConsumer_originalPositionFor(aArgs) {
+ var needle = {
+ generatedLine: util.getArg(aArgs, 'line'),
+ generatedColumn: util.getArg(aArgs, 'column')
+ };
+
+ var index = this._findMapping(
+ needle,
+ this._generatedMappings,
+ "generatedLine",
+ "generatedColumn",
+ util.compareByGeneratedPositionsDeflated,
+ util.getArg(aArgs, 'bias', SourceMapConsumer.GREATEST_LOWER_BOUND)
+ );
+
+ if (index >= 0) {
+ var mapping = this._generatedMappings[index];
+
+ if (mapping.generatedLine === needle.generatedLine) {
+ var source = util.getArg(mapping, 'source', null);
+ if (source !== null) {
+ source = this._sources.at(source);
+ source = util.computeSourceURL(this.sourceRoot, source, this._sourceMapURL);
+ }
+ var name = util.getArg(mapping, 'name', null);
+ if (name !== null) {
+ name = this._names.at(name);
+ }
+ return {
+ source: source,
+ line: util.getArg(mapping, 'originalLine', null),
+ column: util.getArg(mapping, 'originalColumn', null),
+ name: name
+ };
+ }
+ }
+
+ return {
+ source: null,
+ line: null,
+ column: null,
+ name: null
+ };
+ };
+
+/**
+ * Return true if we have the source content for every source in the source
+ * map, false otherwise.
+ */
+BasicSourceMapConsumer.prototype.hasContentsOfAllSources =
+ function BasicSourceMapConsumer_hasContentsOfAllSources() {
+ if (!this.sourcesContent) {
+ return false;
+ }
+ return this.sourcesContent.length >= this._sources.size() &&
+ !this.sourcesContent.some(function (sc) { return sc == null; });
+ };
+
+/**
+ * Returns the original source content. The only argument is the url of the
+ * original source file. Returns null if no original source content is
+ * available.
+ */
+BasicSourceMapConsumer.prototype.sourceContentFor =
+ function SourceMapConsumer_sourceContentFor(aSource, nullOnMissing) {
+ if (!this.sourcesContent) {
+ return null;
+ }
+
+ var index = this._findSourceIndex(aSource);
+ if (index >= 0) {
+ return this.sourcesContent[index];
+ }
+
+ var relativeSource = aSource;
+ if (this.sourceRoot != null) {
+ relativeSource = util.relative(this.sourceRoot, relativeSource);
+ }
+
+ var url;
+ if (this.sourceRoot != null
+ && (url = util.urlParse(this.sourceRoot))) {
+ // XXX: file:// URIs and absolute paths lead to unexpected behavior for
+ // many users. We can help them out when they expect file:// URIs to
+ // behave like it would if they were running a local HTTP server. See
+ // https://bugzilla.mozilla.org/show_bug.cgi?id=885597.
+ var fileUriAbsPath = relativeSource.replace(/^file:\/\//, "");
+ if (url.scheme == "file"
+ && this._sources.has(fileUriAbsPath)) {
+ return this.sourcesContent[this._sources.indexOf(fileUriAbsPath)]
+ }
+
+ if ((!url.path || url.path == "/")
+ && this._sources.has("/" + relativeSource)) {
+ return this.sourcesContent[this._sources.indexOf("/" + relativeSource)];
+ }
+ }
+
+ // This function is used recursively from
+ // IndexedSourceMapConsumer.prototype.sourceContentFor. In that case, we
+ // don't want to throw if we can't find the source - we just want to
+ // return null, so we provide a flag to exit gracefully.
+ if (nullOnMissing) {
+ return null;
+ }
+ else {
+ throw new Error('"' + relativeSource + '" is not in the SourceMap.');
+ }
+ };
+
+/**
+ * Returns the generated line and column information for the original source,
+ * line, and column positions provided. The only argument is an object with
+ * the following properties:
+ *
+ * - source: The filename of the original source.
+ * - line: The line number in the original source. The line number
+ * is 1-based.
+ * - column: The column number in the original source. The column
+ * number is 0-based.
+ * - bias: Either 'SourceMapConsumer.GREATEST_LOWER_BOUND' or
+ * 'SourceMapConsumer.LEAST_UPPER_BOUND'. Specifies whether to return the
+ * closest element that is smaller than or greater than the one we are
+ * searching for, respectively, if the exact element cannot be found.
+ * Defaults to 'SourceMapConsumer.GREATEST_LOWER_BOUND'.
+ *
+ * and an object is returned with the following properties:
+ *
+ * - line: The line number in the generated source, or null. The
+ * line number is 1-based.
+ * - column: The column number in the generated source, or null.
+ * The column number is 0-based.
+ */
+BasicSourceMapConsumer.prototype.generatedPositionFor =
+ function SourceMapConsumer_generatedPositionFor(aArgs) {
+ var source = util.getArg(aArgs, 'source');
+ source = this._findSourceIndex(source);
+ if (source < 0) {
+ return {
+ line: null,
+ column: null,
+ lastColumn: null
+ };
+ }
+
+ var needle = {
+ source: source,
+ originalLine: util.getArg(aArgs, 'line'),
+ originalColumn: util.getArg(aArgs, 'column')
+ };
+
+ var index = this._findMapping(
+ needle,
+ this._originalMappings,
+ "originalLine",
+ "originalColumn",
+ util.compareByOriginalPositions,
+ util.getArg(aArgs, 'bias', SourceMapConsumer.GREATEST_LOWER_BOUND)
+ );
+
+ if (index >= 0) {
+ var mapping = this._originalMappings[index];
+
+ if (mapping.source === needle.source) {
+ return {
+ line: util.getArg(mapping, 'generatedLine', null),
+ column: util.getArg(mapping, 'generatedColumn', null),
+ lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null)
+ };
+ }
+ }
+
+ return {
+ line: null,
+ column: null,
+ lastColumn: null
+ };
+ };
+
+exports.BasicSourceMapConsumer = BasicSourceMapConsumer;
+
+/**
+ * An IndexedSourceMapConsumer instance represents a parsed source map which
+ * we can query for information. It differs from BasicSourceMapConsumer in
+ * that it takes "indexed" source maps (i.e. ones with a "sections" field) as
+ * input.
+ *
+ * The first parameter is a raw source map (either as a JSON string, or already
+ * parsed to an object). According to the spec for indexed source maps, they
+ * have the following attributes:
+ *
+ * - version: Which version of the source map spec this map is following.
+ * - file: Optional. The generated file this source map is associated with.
+ * - sections: A list of section definitions.
+ *
+ * Each value under the "sections" field has two fields:
+ * - offset: The offset into the original specified at which this section
+ * begins to apply, defined as an object with a "line" and "column"
+ * field.
+ * - map: A source map definition. This source map could also be indexed,
+ * but doesn't have to be.
+ *
+ * Instead of the "map" field, it's also possible to have a "url" field
+ * specifying a URL to retrieve a source map from, but that's currently
+ * unsupported.
+ *
+ * Here's an example source map, taken from the source map spec[0], but
+ * modified to omit a section which uses the "url" field.
+ *
+ * {
+ * version : 3,
+ * file: "app.js",
+ * sections: [{
+ * offset: {line:100, column:10},
+ * map: {
+ * version : 3,
+ * file: "section.js",
+ * sources: ["foo.js", "bar.js"],
+ * names: ["src", "maps", "are", "fun"],
+ * mappings: "AAAA,E;;ABCDE;"
+ * }
+ * }],
+ * }
+ *
+ * The second parameter, if given, is a string whose value is the URL
+ * at which the source map was found. This URL is used to compute the
+ * sources array.
+ *
+ * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit#heading=h.535es3xeprgt
+ */
+function IndexedSourceMapConsumer(aSourceMap, aSourceMapURL) {
+ var sourceMap = aSourceMap;
+ if (typeof aSourceMap === 'string') {
+ sourceMap = util.parseSourceMapInput(aSourceMap);
+ }
+
+ var version = util.getArg(sourceMap, 'version');
+ var sections = util.getArg(sourceMap, 'sections');
+
+ if (version != this._version) {
+ throw new Error('Unsupported version: ' + version);
+ }
+
+ this._sources = new ArraySet();
+ this._names = new ArraySet();
+
+ var lastOffset = {
+ line: -1,
+ column: 0
+ };
+ this._sections = sections.map(function (s) {
+ if (s.url) {
+ // The url field will require support for asynchronicity.
+ // See https://github.com/mozilla/source-map/issues/16
+ throw new Error('Support for url field in sections not implemented.');
+ }
+ var offset = util.getArg(s, 'offset');
+ var offsetLine = util.getArg(offset, 'line');
+ var offsetColumn = util.getArg(offset, 'column');
+
+ if (offsetLine < lastOffset.line ||
+ (offsetLine === lastOffset.line && offsetColumn < lastOffset.column)) {
+ throw new Error('Section offsets must be ordered and non-overlapping.');
+ }
+ lastOffset = offset;
+
+ return {
+ generatedOffset: {
+ // The offset fields are 0-based, but we use 1-based indices when
+ // encoding/decoding from VLQ.
+ generatedLine: offsetLine + 1,
+ generatedColumn: offsetColumn + 1
+ },
+ consumer: new SourceMapConsumer(util.getArg(s, 'map'), aSourceMapURL)
+ }
+ });
+}
+
+IndexedSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype);
+IndexedSourceMapConsumer.prototype.constructor = SourceMapConsumer;
+
+/**
+ * The version of the source mapping spec that we are consuming.
+ */
+IndexedSourceMapConsumer.prototype._version = 3;
+
+/**
+ * The list of original sources.
+ */
+Object.defineProperty(IndexedSourceMapConsumer.prototype, 'sources', {
+ get: function () {
+ var sources = [];
+ for (var i = 0; i < this._sections.length; i++) {
+ for (var j = 0; j < this._sections[i].consumer.sources.length; j++) {
+ sources.push(this._sections[i].consumer.sources[j]);
+ }
+ }
+ return sources;
+ }
+});
+
+/**
+ * Returns the original source, line, and column information for the generated
+ * source's line and column positions provided. The only argument is an object
+ * with the following properties:
+ *
+ * - line: The line number in the generated source. The line number
+ * is 1-based.
+ * - column: The column number in the generated source. The column
+ * number is 0-based.
+ *
+ * and an object is returned with the following properties:
+ *
+ * - source: The original source file, or null.
+ * - line: The line number in the original source, or null. The
+ * line number is 1-based.
+ * - column: The column number in the original source, or null. The
+ * column number is 0-based.
+ * - name: The original identifier, or null.
+ */
+IndexedSourceMapConsumer.prototype.originalPositionFor =
+ function IndexedSourceMapConsumer_originalPositionFor(aArgs) {
+ var needle = {
+ generatedLine: util.getArg(aArgs, 'line'),
+ generatedColumn: util.getArg(aArgs, 'column')
+ };
+
+ // Find the section containing the generated position we're trying to map
+ // to an original position.
+ var sectionIndex = binarySearch.search(needle, this._sections,
+ function(needle, section) {
+ var cmp = needle.generatedLine - section.generatedOffset.generatedLine;
+ if (cmp) {
+ return cmp;
+ }
+
+ return (needle.generatedColumn -
+ section.generatedOffset.generatedColumn);
+ });
+ var section = this._sections[sectionIndex];
+
+ if (!section) {
+ return {
+ source: null,
+ line: null,
+ column: null,
+ name: null
+ };
+ }
+
+ return section.consumer.originalPositionFor({
+ line: needle.generatedLine -
+ (section.generatedOffset.generatedLine - 1),
+ column: needle.generatedColumn -
+ (section.generatedOffset.generatedLine === needle.generatedLine
+ ? section.generatedOffset.generatedColumn - 1
+ : 0),
+ bias: aArgs.bias
+ });
+ };
+
+/**
+ * Return true if we have the source content for every source in the source
+ * map, false otherwise.
+ */
+IndexedSourceMapConsumer.prototype.hasContentsOfAllSources =
+ function IndexedSourceMapConsumer_hasContentsOfAllSources() {
+ return this._sections.every(function (s) {
+ return s.consumer.hasContentsOfAllSources();
+ });
+ };
+
+/**
+ * Returns the original source content. The only argument is the url of the
+ * original source file. Returns null if no original source content is
+ * available.
+ */
+IndexedSourceMapConsumer.prototype.sourceContentFor =
+ function IndexedSourceMapConsumer_sourceContentFor(aSource, nullOnMissing) {
+ for (var i = 0; i < this._sections.length; i++) {
+ var section = this._sections[i];
+
+ var content = section.consumer.sourceContentFor(aSource, true);
+ if (content) {
+ return content;
+ }
+ }
+ if (nullOnMissing) {
+ return null;
+ }
+ else {
+ throw new Error('"' + aSource + '" is not in the SourceMap.');
+ }
+ };
+
+/**
+ * Returns the generated line and column information for the original source,
+ * line, and column positions provided. The only argument is an object with
+ * the following properties:
+ *
+ * - source: The filename of the original source.
+ * - line: The line number in the original source. The line number
+ * is 1-based.
+ * - column: The column number in the original source. The column
+ * number is 0-based.
+ *
+ * and an object is returned with the following properties:
+ *
+ * - line: The line number in the generated source, or null. The
+ * line number is 1-based.
+ * - column: The column number in the generated source, or null.
+ * The column number is 0-based.
+ */
+IndexedSourceMapConsumer.prototype.generatedPositionFor =
+ function IndexedSourceMapConsumer_generatedPositionFor(aArgs) {
+ for (var i = 0; i < this._sections.length; i++) {
+ var section = this._sections[i];
+
+ // Only consider this section if the requested source is in the list of
+ // sources of the consumer.
+ if (section.consumer._findSourceIndex(util.getArg(aArgs, 'source')) === -1) {
+ continue;
+ }
+ var generatedPosition = section.consumer.generatedPositionFor(aArgs);
+ if (generatedPosition) {
+ var ret = {
+ line: generatedPosition.line +
+ (section.generatedOffset.generatedLine - 1),
+ column: generatedPosition.column +
+ (section.generatedOffset.generatedLine === generatedPosition.line
+ ? section.generatedOffset.generatedColumn - 1
+ : 0)
+ };
+ return ret;
+ }
+ }
+
+ return {
+ line: null,
+ column: null
+ };
+ };
+
+/**
+ * Parse the mappings in a string in to a data structure which we can easily
+ * query (the ordered arrays in the `this.__generatedMappings` and
+ * `this.__originalMappings` properties).
+ */
+IndexedSourceMapConsumer.prototype._parseMappings =
+ function IndexedSourceMapConsumer_parseMappings(aStr, aSourceRoot) {
+ this.__generatedMappings = [];
+ this.__originalMappings = [];
+ for (var i = 0; i < this._sections.length; i++) {
+ var section = this._sections[i];
+ var sectionMappings = section.consumer._generatedMappings;
+ for (var j = 0; j < sectionMappings.length; j++) {
+ var mapping = sectionMappings[j];
+
+ var source = section.consumer._sources.at(mapping.source);
+ source = util.computeSourceURL(section.consumer.sourceRoot, source, this._sourceMapURL);
+ this._sources.add(source);
+ source = this._sources.indexOf(source);
+
+ var name = null;
+ if (mapping.name) {
+ name = section.consumer._names.at(mapping.name);
+ this._names.add(name);
+ name = this._names.indexOf(name);
+ }
+
+ // The mappings coming from the consumer for the section have
+ // generated positions relative to the start of the section, so we
+ // need to offset them to be relative to the start of the concatenated
+ // generated file.
+ var adjustedMapping = {
+ source: source,
+ generatedLine: mapping.generatedLine +
+ (section.generatedOffset.generatedLine - 1),
+ generatedColumn: mapping.generatedColumn +
+ (section.generatedOffset.generatedLine === mapping.generatedLine
+ ? section.generatedOffset.generatedColumn - 1
+ : 0),
+ originalLine: mapping.originalLine,
+ originalColumn: mapping.originalColumn,
+ name: name
+ };
+
+ this.__generatedMappings.push(adjustedMapping);
+ if (typeof adjustedMapping.originalLine === 'number') {
+ this.__originalMappings.push(adjustedMapping);
+ }
+ }
+ }
+
+ quickSort(this.__generatedMappings, util.compareByGeneratedPositionsDeflated);
+ quickSort(this.__originalMappings, util.compareByOriginalPositions);
+ };
+
+exports.IndexedSourceMapConsumer = IndexedSourceMapConsumer;
diff --git a/node_modules/@gulp-sourcemaps/identity-map/node_modules/source-map/lib/source-map-generator.js b/node_modules/@gulp-sourcemaps/identity-map/node_modules/source-map/lib/source-map-generator.js
new file mode 100644
index 0000000..508bcfb
--- /dev/null
+++ b/node_modules/@gulp-sourcemaps/identity-map/node_modules/source-map/lib/source-map-generator.js
@@ -0,0 +1,425 @@
+/* -*- Mode: js; js-indent-level: 2; -*- */
+/*
+ * Copyright 2011 Mozilla Foundation and contributors
+ * Licensed under the New BSD license. See LICENSE or:
+ * http://opensource.org/licenses/BSD-3-Clause
+ */
+
+var base64VLQ = require('./base64-vlq');
+var util = require('./util');
+var ArraySet = require('./array-set').ArraySet;
+var MappingList = require('./mapping-list').MappingList;
+
+/**
+ * An instance of the SourceMapGenerator represents a source map which is
+ * being built incrementally. You may pass an object with the following
+ * properties:
+ *
+ * - file: The filename of the generated source.
+ * - sourceRoot: A root for all relative URLs in this source map.
+ */
+function SourceMapGenerator(aArgs) {
+ if (!aArgs) {
+ aArgs = {};
+ }
+ this._file = util.getArg(aArgs, 'file', null);
+ this._sourceRoot = util.getArg(aArgs, 'sourceRoot', null);
+ this._skipValidation = util.getArg(aArgs, 'skipValidation', false);
+ this._sources = new ArraySet();
+ this._names = new ArraySet();
+ this._mappings = new MappingList();
+ this._sourcesContents = null;
+}
+
+SourceMapGenerator.prototype._version = 3;
+
+/**
+ * Creates a new SourceMapGenerator based on a SourceMapConsumer
+ *
+ * @param aSourceMapConsumer The SourceMap.
+ */
+SourceMapGenerator.fromSourceMap =
+ function SourceMapGenerator_fromSourceMap(aSourceMapConsumer) {
+ var sourceRoot = aSourceMapConsumer.sourceRoot;
+ var generator = new SourceMapGenerator({
+ file: aSourceMapConsumer.file,
+ sourceRoot: sourceRoot
+ });
+ aSourceMapConsumer.eachMapping(function (mapping) {
+ var newMapping = {
+ generated: {
+ line: mapping.generatedLine,
+ column: mapping.generatedColumn
+ }
+ };
+
+ if (mapping.source != null) {
+ newMapping.source = mapping.source;
+ if (sourceRoot != null) {
+ newMapping.source = util.relative(sourceRoot, newMapping.source);
+ }
+
+ newMapping.original = {
+ line: mapping.originalLine,
+ column: mapping.originalColumn
+ };
+
+ if (mapping.name != null) {
+ newMapping.name = mapping.name;
+ }
+ }
+
+ generator.addMapping(newMapping);
+ });
+ aSourceMapConsumer.sources.forEach(function (sourceFile) {
+ var sourceRelative = sourceFile;
+ if (sourceRoot !== null) {
+ sourceRelative = util.relative(sourceRoot, sourceFile);
+ }
+
+ if (!generator._sources.has(sourceRelative)) {
+ generator._sources.add(sourceRelative);
+ }
+
+ var content = aSourceMapConsumer.sourceContentFor(sourceFile);
+ if (content != null) {
+ generator.setSourceContent(sourceFile, content);
+ }
+ });
+ return generator;
+ };
+
+/**
+ * Add a single mapping from original source line and column to the generated
+ * source's line and column for this source map being created. The mapping
+ * object should have the following properties:
+ *
+ * - generated: An object with the generated line and column positions.
+ * - original: An object with the original line and column positions.
+ * - source: The original source file (relative to the sourceRoot).
+ * - name: An optional original token name for this mapping.
+ */
+SourceMapGenerator.prototype.addMapping =
+ function SourceMapGenerator_addMapping(aArgs) {
+ var generated = util.getArg(aArgs, 'generated');
+ var original = util.getArg(aArgs, 'original', null);
+ var source = util.getArg(aArgs, 'source', null);
+ var name = util.getArg(aArgs, 'name', null);
+
+ if (!this._skipValidation) {
+ this._validateMapping(generated, original, source, name);
+ }
+
+ if (source != null) {
+ source = String(source);
+ if (!this._sources.has(source)) {
+ this._sources.add(source);
+ }
+ }
+
+ if (name != null) {
+ name = String(name);
+ if (!this._names.has(name)) {
+ this._names.add(name);
+ }
+ }
+
+ this._mappings.add({
+ generatedLine: generated.line,
+ generatedColumn: generated.column,
+ originalLine: original != null && original.line,
+ originalColumn: original != null && original.column,
+ source: source,
+ name: name
+ });
+ };
+
+/**
+ * Set the source content for a source file.
+ */
+SourceMapGenerator.prototype.setSourceContent =
+ function SourceMapGenerator_setSourceContent(aSourceFile, aSourceContent) {
+ var source = aSourceFile;
+ if (this._sourceRoot != null) {
+ source = util.relative(this._sourceRoot, source);
+ }
+
+ if (aSourceContent != null) {
+ // Add the source content to the _sourcesContents map.
+ // Create a new _sourcesContents map if the property is null.
+ if (!this._sourcesContents) {
+ this._sourcesContents = Object.create(null);
+ }
+ this._sourcesContents[util.toSetString(source)] = aSourceContent;
+ } else if (this._sourcesContents) {
+ // Remove the source file from the _sourcesContents map.
+ // If the _sourcesContents map is empty, set the property to null.
+ delete this._sourcesContents[util.toSetString(source)];
+ if (Object.keys(this._sourcesContents).length === 0) {
+ this._sourcesContents = null;
+ }
+ }
+ };
+
+/**
+ * Applies the mappings of a sub-source-map for a specific source file to the
+ * source map being generated. Each mapping to the supplied source file is
+ * rewritten using the supplied source map. Note: The resolution for the
+ * resulting mappings is the minimium of this map and the supplied map.
+ *
+ * @param aSourceMapConsumer The source map to be applied.
+ * @param aSourceFile Optional. The filename of the source file.
+ * If omitted, SourceMapConsumer's file property will be used.
+ * @param aSourceMapPath Optional. The dirname of the path to the source map
+ * to be applied. If relative, it is relative to the SourceMapConsumer.
+ * This parameter is needed when the two source maps aren't in the same
+ * directory, and the source map to be applied contains relative source
+ * paths. If so, those relative source paths need to be rewritten
+ * relative to the SourceMapGenerator.
+ */
+SourceMapGenerator.prototype.applySourceMap =
+ function SourceMapGenerator_applySourceMap(aSourceMapConsumer, aSourceFile, aSourceMapPath) {
+ var sourceFile = aSourceFile;
+ // If aSourceFile is omitted, we will use the file property of the SourceMap
+ if (aSourceFile == null) {
+ if (aSourceMapConsumer.file == null) {
+ throw new Error(
+ 'SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, ' +
+ 'or the source map\'s "file" property. Both were omitted.'
+ );
+ }
+ sourceFile = aSourceMapConsumer.file;
+ }
+ var sourceRoot = this._sourceRoot;
+ // Make "sourceFile" relative if an absolute Url is passed.
+ if (sourceRoot != null) {
+ sourceFile = util.relative(sourceRoot, sourceFile);
+ }
+ // Applying the SourceMap can add and remove items from the sources and
+ // the names array.
+ var newSources = new ArraySet();
+ var newNames = new ArraySet();
+
+ // Find mappings for the "sourceFile"
+ this._mappings.unsortedForEach(function (mapping) {
+ if (mapping.source === sourceFile && mapping.originalLine != null) {
+ // Check if it can be mapped by the source map, then update the mapping.
+ var original = aSourceMapConsumer.originalPositionFor({
+ line: mapping.originalLine,
+ column: mapping.originalColumn
+ });
+ if (original.source != null) {
+ // Copy mapping
+ mapping.source = original.source;
+ if (aSourceMapPath != null) {
+ mapping.source = util.join(aSourceMapPath, mapping.source)
+ }
+ if (sourceRoot != null) {
+ mapping.source = util.relative(sourceRoot, mapping.source);
+ }
+ mapping.originalLine = original.line;
+ mapping.originalColumn = original.column;
+ if (original.name != null) {
+ mapping.name = original.name;
+ }
+ }
+ }
+
+ var source = mapping.source;
+ if (source != null && !newSources.has(source)) {
+ newSources.add(source);
+ }
+
+ var name = mapping.name;
+ if (name != null && !newNames.has(name)) {
+ newNames.add(name);
+ }
+
+ }, this);
+ this._sources = newSources;
+ this._names = newNames;
+
+ // Copy sourcesContents of applied map.
+ aSourceMapConsumer.sources.forEach(function (sourceFile) {
+ var content = aSourceMapConsumer.sourceContentFor(sourceFile);
+ if (content != null) {
+ if (aSourceMapPath != null) {
+ sourceFile = util.join(aSourceMapPath, sourceFile);
+ }
+ if (sourceRoot != null) {
+ sourceFile = util.relative(sourceRoot, sourceFile);
+ }
+ this.setSourceContent(sourceFile, content);
+ }
+ }, this);
+ };
+
+/**
+ * A mapping can have one of the three levels of data:
+ *
+ * 1. Just the generated position.
+ * 2. The Generated position, original position, and original source.
+ * 3. Generated and original position, original source, as well as a name
+ * token.
+ *
+ * To maintain consistency, we validate that any new mapping being added falls
+ * in to one of these categories.
+ */
+SourceMapGenerator.prototype._validateMapping =
+ function SourceMapGenerator_validateMapping(aGenerated, aOriginal, aSource,
+ aName) {
+ // When aOriginal is truthy but has empty values for .line and .column,
+ // it is most likely a programmer error. In this case we throw a very
+ // specific error message to try to guide them the right way.
+ // For example: https://github.com/Polymer/polymer-bundler/pull/519
+ if (aOriginal && typeof aOriginal.line !== 'number' && typeof aOriginal.column !== 'number') {
+ throw new Error(
+ 'original.line and original.column are not numbers -- you probably meant to omit ' +
+ 'the original mapping entirely and only map the generated position. If so, pass ' +
+ 'null for the original mapping instead of an object with empty or null values.'
+ );
+ }
+
+ if (aGenerated && 'line' in aGenerated && 'column' in aGenerated
+ && aGenerated.line > 0 && aGenerated.column >= 0
+ && !aOriginal && !aSource && !aName) {
+ // Case 1.
+ return;
+ }
+ else if (aGenerated && 'line' in aGenerated && 'column' in aGenerated
+ && aOriginal && 'line' in aOriginal && 'column' in aOriginal
+ && aGenerated.line > 0 && aGenerated.column >= 0
+ && aOriginal.line > 0 && aOriginal.column >= 0
+ && aSource) {
+ // Cases 2 and 3.
+ return;
+ }
+ else {
+ throw new Error('Invalid mapping: ' + JSON.stringify({
+ generated: aGenerated,
+ source: aSource,
+ original: aOriginal,
+ name: aName
+ }));
+ }
+ };
+
+/**
+ * Serialize the accumulated mappings in to the stream of base 64 VLQs
+ * specified by the source map format.
+ */
+SourceMapGenerator.prototype._serializeMappings =
+ function SourceMapGenerator_serializeMappings() {
+ var previousGeneratedColumn = 0;
+ var previousGeneratedLine = 1;
+ var previousOriginalColumn = 0;
+ var previousOriginalLine = 0;
+ var previousName = 0;
+ var previousSource = 0;
+ var result = '';
+ var next;
+ var mapping;
+ var nameIdx;
+ var sourceIdx;
+
+ var mappings = this._mappings.toArray();
+ for (var i = 0, len = mappings.length; i < len; i++) {
+ mapping = mappings[i];
+ next = ''
+
+ if (mapping.generatedLine !== previousGeneratedLine) {
+ previousGeneratedColumn = 0;
+ while (mapping.generatedLine !== previousGeneratedLine) {
+ next += ';';
+ previousGeneratedLine++;
+ }
+ }
+ else {
+ if (i > 0) {
+ if (!util.compareByGeneratedPositionsInflated(mapping, mappings[i - 1])) {
+ continue;
+ }
+ next += ',';
+ }
+ }
+
+ next += base64VLQ.encode(mapping.generatedColumn
+ - previousGeneratedColumn);
+ previousGeneratedColumn = mapping.generatedColumn;
+
+ if (mapping.source != null) {
+ sourceIdx = this._sources.indexOf(mapping.source);
+ next += base64VLQ.encode(sourceIdx - previousSource);
+ previousSource = sourceIdx;
+
+ // lines are stored 0-based in SourceMap spec version 3
+ next += base64VLQ.encode(mapping.originalLine - 1
+ - previousOriginalLine);
+ previousOriginalLine = mapping.originalLine - 1;
+
+ next += base64VLQ.encode(mapping.originalColumn
+ - previousOriginalColumn);
+ previousOriginalColumn = mapping.originalColumn;
+
+ if (mapping.name != null) {
+ nameIdx = this._names.indexOf(mapping.name);
+ next += base64VLQ.encode(nameIdx - previousName);
+ previousName = nameIdx;
+ }
+ }
+
+ result += next;
+ }
+
+ return result;
+ };
+
+SourceMapGenerator.prototype._generateSourcesContent =
+ function SourceMapGenerator_generateSourcesContent(aSources, aSourceRoot) {
+ return aSources.map(function (source) {
+ if (!this._sourcesContents) {
+ return null;
+ }
+ if (aSourceRoot != null) {
+ source = util.relative(aSourceRoot, source);
+ }
+ var key = util.toSetString(source);
+ return Object.prototype.hasOwnProperty.call(this._sourcesContents, key)
+ ? this._sourcesContents[key]
+ : null;
+ }, this);
+ };
+
+/**
+ * Externalize the source map.
+ */
+SourceMapGenerator.prototype.toJSON =
+ function SourceMapGenerator_toJSON() {
+ var map = {
+ version: this._version,
+ sources: this._sources.toArray(),
+ names: this._names.toArray(),
+ mappings: this._serializeMappings()
+ };
+ if (this._file != null) {
+ map.file = this._file;
+ }
+ if (this._sourceRoot != null) {
+ map.sourceRoot = this._sourceRoot;
+ }
+ if (this._sourcesContents) {
+ map.sourcesContent = this._generateSourcesContent(map.sources, map.sourceRoot);
+ }
+
+ return map;
+ };
+
+/**
+ * Render the source map being generated to a string.
+ */
+SourceMapGenerator.prototype.toString =
+ function SourceMapGenerator_toString() {
+ return JSON.stringify(this.toJSON());
+ };
+
+exports.SourceMapGenerator = SourceMapGenerator;
diff --git a/node_modules/@gulp-sourcemaps/identity-map/node_modules/source-map/lib/source-node.js b/node_modules/@gulp-sourcemaps/identity-map/node_modules/source-map/lib/source-node.js
new file mode 100644
index 0000000..8bcdbe3
--- /dev/null
+++ b/node_modules/@gulp-sourcemaps/identity-map/node_modules/source-map/lib/source-node.js
@@ -0,0 +1,413 @@
+/* -*- Mode: js; js-indent-level: 2; -*- */
+/*
+ * Copyright 2011 Mozilla Foundation and contributors
+ * Licensed under the New BSD license. See LICENSE or:
+ * http://opensource.org/licenses/BSD-3-Clause
+ */
+
+var SourceMapGenerator = require('./source-map-generator').SourceMapGenerator;
+var util = require('./util');
+
+// Matches a Windows-style `\r\n` newline or a `\n` newline used by all other
+// operating systems these days (capturing the result).
+var REGEX_NEWLINE = /(\r?\n)/;
+
+// Newline character code for charCodeAt() comparisons
+var NEWLINE_CODE = 10;
+
+// Private symbol for identifying `SourceNode`s when multiple versions of
+// the source-map library are loaded. This MUST NOT CHANGE across
+// versions!
+var isSourceNode = "$$$isSourceNode$$$";
+
+/**
+ * SourceNodes provide a way to abstract over interpolating/concatenating
+ * snippets of generated JavaScript source code while maintaining the line and
+ * column information associated with the original source code.
+ *
+ * @param aLine The original line number.
+ * @param aColumn The original column number.
+ * @param aSource The original source's filename.
+ * @param aChunks Optional. An array of strings which are snippets of
+ * generated JS, or other SourceNodes.
+ * @param aName The original identifier.
+ */
+function SourceNode(aLine, aColumn, aSource, aChunks, aName) {
+ this.children = [];
+ this.sourceContents = {};
+ this.line = aLine == null ? null : aLine;
+ this.column = aColumn == null ? null : aColumn;
+ this.source = aSource == null ? null : aSource;
+ this.name = aName == null ? null : aName;
+ this[isSourceNode] = true;
+ if (aChunks != null) this.add(aChunks);
+}
+
+/**
+ * Creates a SourceNode from generated code and a SourceMapConsumer.
+ *
+ * @param aGeneratedCode The generated code
+ * @param aSourceMapConsumer The SourceMap for the generated code
+ * @param aRelativePath Optional. The path that relative sources in the
+ * SourceMapConsumer should be relative to.
+ */
+SourceNode.fromStringWithSourceMap =
+ function SourceNode_fromStringWithSourceMap(aGeneratedCode, aSourceMapConsumer, aRelativePath) {
+ // The SourceNode we want to fill with the generated code
+ // and the SourceMap
+ var node = new SourceNode();
+
+ // All even indices of this array are one line of the generated code,
+ // while all odd indices are the newlines between two adjacent lines
+ // (since `REGEX_NEWLINE` captures its match).
+ // Processed fragments are accessed by calling `shiftNextLine`.
+ var remainingLines = aGeneratedCode.split(REGEX_NEWLINE);
+ var remainingLinesIndex = 0;
+ var shiftNextLine = function() {
+ var lineContents = getNextLine();
+ // The last line of a file might not have a newline.
+ var newLine = getNextLine() || "";
+ return lineContents + newLine;
+
+ function getNextLine() {
+ return remainingLinesIndex < remainingLines.length ?
+ remainingLines[remainingLinesIndex++] : undefined;
+ }
+ };
+
+ // We need to remember the position of "remainingLines"
+ var lastGeneratedLine = 1, lastGeneratedColumn = 0;
+
+ // The generate SourceNodes we need a code range.
+ // To extract it current and last mapping is used.
+ // Here we store the last mapping.
+ var lastMapping = null;
+
+ aSourceMapConsumer.eachMapping(function (mapping) {
+ if (lastMapping !== null) {
+ // We add the code from "lastMapping" to "mapping":
+ // First check if there is a new line in between.
+ if (lastGeneratedLine < mapping.generatedLine) {
+ // Associate first line with "lastMapping"
+ addMappingWithCode(lastMapping, shiftNextLine());
+ lastGeneratedLine++;
+ lastGeneratedColumn = 0;
+ // The remaining code is added without mapping
+ } else {
+ // There is no new line in between.
+ // Associate the code between "lastGeneratedColumn" and
+ // "mapping.generatedColumn" with "lastMapping"
+ var nextLine = remainingLines[remainingLinesIndex] || '';
+ var code = nextLine.substr(0, mapping.generatedColumn -
+ lastGeneratedColumn);
+ remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn -
+ lastGeneratedColumn);
+ lastGeneratedColumn = mapping.generatedColumn;
+ addMappingWithCode(lastMapping, code);
+ // No more remaining code, continue
+ lastMapping = mapping;
+ return;
+ }
+ }
+ // We add the generated code until the first mapping
+ // to the SourceNode without any mapping.
+ // Each line is added as separate string.
+ while (lastGeneratedLine < mapping.generatedLine) {
+ node.add(shiftNextLine());
+ lastGeneratedLine++;
+ }
+ if (lastGeneratedColumn < mapping.generatedColumn) {
+ var nextLine = remainingLines[remainingLinesIndex] || '';
+ node.add(nextLine.substr(0, mapping.generatedColumn));
+ remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn);
+ lastGeneratedColumn = mapping.generatedColumn;
+ }
+ lastMapping = mapping;
+ }, this);
+ // We have processed all mappings.
+ if (remainingLinesIndex < remainingLines.length) {
+ if (lastMapping) {
+ // Associate the remaining code in the current line with "lastMapping"
+ addMappingWithCode(lastMapping, shiftNextLine());
+ }
+ // and add the remaining lines without any mapping
+ node.add(remainingLines.splice(remainingLinesIndex).join(""));
+ }
+
+ // Copy sourcesContent into SourceNode
+ aSourceMapConsumer.sources.forEach(function (sourceFile) {
+ var content = aSourceMapConsumer.sourceContentFor(sourceFile);
+ if (content != null) {
+ if (aRelativePath != null) {
+ sourceFile = util.join(aRelativePath, sourceFile);
+ }
+ node.setSourceContent(sourceFile, content);
+ }
+ });
+
+ return node;
+
+ function addMappingWithCode(mapping, code) {
+ if (mapping === null || mapping.source === undefined) {
+ node.add(code);
+ } else {
+ var source = aRelativePath
+ ? util.join(aRelativePath, mapping.source)
+ : mapping.source;
+ node.add(new SourceNode(mapping.originalLine,
+ mapping.originalColumn,
+ source,
+ code,
+ mapping.name));
+ }
+ }
+ };
+
+/**
+ * Add a chunk of generated JS to this source node.
+ *
+ * @param aChunk A string snippet of generated JS code, another instance of
+ * SourceNode, or an array where each member is one of those things.
+ */
+SourceNode.prototype.add = function SourceNode_add(aChunk) {
+ if (Array.isArray(aChunk)) {
+ aChunk.forEach(function (chunk) {
+ this.add(chunk);
+ }, this);
+ }
+ else if (aChunk[isSourceNode] || typeof aChunk === "string") {
+ if (aChunk) {
+ this.children.push(aChunk);
+ }
+ }
+ else {
+ throw new TypeError(
+ "Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + aChunk
+ );
+ }
+ return this;
+};
+
+/**
+ * Add a chunk of generated JS to the beginning of this source node.
+ *
+ * @param aChunk A string snippet of generated JS code, another instance of
+ * SourceNode, or an array where each member is one of those things.
+ */
+SourceNode.prototype.prepend = function SourceNode_prepend(aChunk) {
+ if (Array.isArray(aChunk)) {
+ for (var i = aChunk.length-1; i >= 0; i--) {
+ this.prepend(aChunk[i]);
+ }
+ }
+ else if (aChunk[isSourceNode] || typeof aChunk === "string") {
+ this.children.unshift(aChunk);
+ }
+ else {
+ throw new TypeError(
+ "Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + aChunk
+ );
+ }
+ return this;
+};
+
+/**
+ * Walk over the tree of JS snippets in this node and its children. The
+ * walking function is called once for each snippet of JS and is passed that
+ * snippet and the its original associated source's line/column location.
+ *
+ * @param aFn The traversal function.
+ */
+SourceNode.prototype.walk = function SourceNode_walk(aFn) {
+ var chunk;
+ for (var i = 0, len = this.children.length; i < len; i++) {
+ chunk = this.children[i];
+ if (chunk[isSourceNode]) {
+ chunk.walk(aFn);
+ }
+ else {
+ if (chunk !== '') {
+ aFn(chunk, { source: this.source,
+ line: this.line,
+ column: this.column,
+ name: this.name });
+ }
+ }
+ }
+};
+
+/**
+ * Like `String.prototype.join` except for SourceNodes. Inserts `aStr` between
+ * each of `this.children`.
+ *
+ * @param aSep The separator.
+ */
+SourceNode.prototype.join = function SourceNode_join(aSep) {
+ var newChildren;
+ var i;
+ var len = this.children.length;
+ if (len > 0) {
+ newChildren = [];
+ for (i = 0; i < len-1; i++) {
+ newChildren.push(this.children[i]);
+ newChildren.push(aSep);
+ }
+ newChildren.push(this.children[i]);
+ this.children = newChildren;
+ }
+ return this;
+};
+
+/**
+ * Call String.prototype.replace on the very right-most source snippet. Useful
+ * for trimming whitespace from the end of a source node, etc.
+ *
+ * @param aPattern The pattern to replace.
+ * @param aReplacement The thing to replace the pattern with.
+ */
+SourceNode.prototype.replaceRight = function SourceNode_replaceRight(aPattern, aReplacement) {
+ var lastChild = this.children[this.children.length - 1];
+ if (lastChild[isSourceNode]) {
+ lastChild.replaceRight(aPattern, aReplacement);
+ }
+ else if (typeof lastChild === 'string') {
+ this.children[this.children.length - 1] = lastChild.replace(aPattern, aReplacement);
+ }
+ else {
+ this.children.push(''.replace(aPattern, aReplacement));
+ }
+ return this;
+};
+
+/**
+ * Set the source content for a source file. This will be added to the SourceMapGenerator
+ * in the sourcesContent field.
+ *
+ * @param aSourceFile The filename of the source file
+ * @param aSourceContent The content of the source file
+ */
+SourceNode.prototype.setSourceContent =
+ function SourceNode_setSourceContent(aSourceFile, aSourceContent) {
+ this.sourceContents[util.toSetString(aSourceFile)] = aSourceContent;
+ };
+
+/**
+ * Walk over the tree of SourceNodes. The walking function is called for each
+ * source file content and is passed the filename and source content.
+ *
+ * @param aFn The traversal function.
+ */
+SourceNode.prototype.walkSourceContents =
+ function SourceNode_walkSourceContents(aFn) {
+ for (var i = 0, len = this.children.length; i < len; i++) {
+ if (this.children[i][isSourceNode]) {
+ this.children[i].walkSourceContents(aFn);
+ }
+ }
+
+ var sources = Object.keys(this.sourceContents);
+ for (var i = 0, len = sources.length; i < len; i++) {
+ aFn(util.fromSetString(sources[i]), this.sourceContents[sources[i]]);
+ }
+ };
+
+/**
+ * Return the string representation of this source node. Walks over the tree
+ * and concatenates all the various snippets together to one string.
+ */
+SourceNode.prototype.toString = function SourceNode_toString() {
+ var str = "";
+ this.walk(function (chunk) {
+ str += chunk;
+ });
+ return str;
+};
+
+/**
+ * Returns the string representation of this source node along with a source
+ * map.
+ */
+SourceNode.prototype.toStringWithSourceMap = function SourceNode_toStringWithSourceMap(aArgs) {
+ var generated = {
+ code: "",
+ line: 1,
+ column: 0
+ };
+ var map = new SourceMapGenerator(aArgs);
+ var sourceMappingActive = false;
+ var lastOriginalSource = null;
+ var lastOriginalLine = null;
+ var lastOriginalColumn = null;
+ var lastOriginalName = null;
+ this.walk(function (chunk, original) {
+ generated.code += chunk;
+ if (original.source !== null
+ && original.line !== null
+ && original.column !== null) {
+ if(lastOriginalSource !== original.source
+ || lastOriginalLine !== original.line
+ || lastOriginalColumn !== original.column
+ || lastOriginalName !== original.name) {
+ map.addMapping({
+ source: original.source,
+ original: {
+ line: original.line,
+ column: original.column
+ },
+ generated: {
+ line: generated.line,
+ column: generated.column
+ },
+ name: original.name
+ });
+ }
+ lastOriginalSource = original.source;
+ lastOriginalLine = original.line;
+ lastOriginalColumn = original.column;
+ lastOriginalName = original.name;
+ sourceMappingActive = true;
+ } else if (sourceMappingActive) {
+ map.addMapping({
+ generated: {
+ line: generated.line,
+ column: generated.column
+ }
+ });
+ lastOriginalSource = null;
+ sourceMappingActive = false;
+ }
+ for (var idx = 0, length = chunk.length; idx < length; idx++) {
+ if (chunk.charCodeAt(idx) === NEWLINE_CODE) {
+ generated.line++;
+ generated.column = 0;
+ // Mappings end at eol
+ if (idx + 1 === length) {
+ lastOriginalSource = null;
+ sourceMappingActive = false;
+ } else if (sourceMappingActive) {
+ map.addMapping({
+ source: original.source,
+ original: {
+ line: original.line,
+ column: original.column
+ },
+ generated: {
+ line: generated.line,
+ column: generated.column
+ },
+ name: original.name
+ });
+ }
+ } else {
+ generated.column++;
+ }
+ }
+ });
+ this.walkSourceContents(function (sourceFile, sourceContent) {
+ map.setSourceContent(sourceFile, sourceContent);
+ });
+
+ return { code: generated.code, map: map };
+};
+
+exports.SourceNode = SourceNode;
diff --git a/node_modules/@gulp-sourcemaps/identity-map/node_modules/source-map/lib/util.js b/node_modules/@gulp-sourcemaps/identity-map/node_modules/source-map/lib/util.js
new file mode 100644
index 0000000..3ca92e5
--- /dev/null
+++ b/node_modules/@gulp-sourcemaps/identity-map/node_modules/source-map/lib/util.js
@@ -0,0 +1,488 @@
+/* -*- Mode: js; js-indent-level: 2; -*- */
+/*
+ * Copyright 2011 Mozilla Foundation and contributors
+ * Licensed under the New BSD license. See LICENSE or:
+ * http://opensource.org/licenses/BSD-3-Clause
+ */
+
+/**
+ * This is a helper function for getting values from parameter/options
+ * objects.
+ *
+ * @param args The object we are extracting values from
+ * @param name The name of the property we are getting.
+ * @param defaultValue An optional value to return if the property is missing
+ * from the object. If this is not specified and the property is missing, an
+ * error will be thrown.
+ */
+function getArg(aArgs, aName, aDefaultValue) {
+ if (aName in aArgs) {
+ return aArgs[aName];
+ } else if (arguments.length === 3) {
+ return aDefaultValue;
+ } else {
+ throw new Error('"' + aName + '" is a required argument.');
+ }
+}
+exports.getArg = getArg;
+
+var urlRegexp = /^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.-]*)(?::(\d+))?(.*)$/;
+var dataUrlRegexp = /^data:.+\,.+$/;
+
+function urlParse(aUrl) {
+ var match = aUrl.match(urlRegexp);
+ if (!match) {
+ return null;
+ }
+ return {
+ scheme: match[1],
+ auth: match[2],
+ host: match[3],
+ port: match[4],
+ path: match[5]
+ };
+}
+exports.urlParse = urlParse;
+
+function urlGenerate(aParsedUrl) {
+ var url = '';
+ if (aParsedUrl.scheme) {
+ url += aParsedUrl.scheme + ':';
+ }
+ url += '//';
+ if (aParsedUrl.auth) {
+ url += aParsedUrl.auth + '@';
+ }
+ if (aParsedUrl.host) {
+ url += aParsedUrl.host;
+ }
+ if (aParsedUrl.port) {
+ url += ":" + aParsedUrl.port
+ }
+ if (aParsedUrl.path) {
+ url += aParsedUrl.path;
+ }
+ return url;
+}
+exports.urlGenerate = urlGenerate;
+
+/**
+ * Normalizes a path, or the path portion of a URL:
+ *
+ * - Replaces consecutive slashes with one slash.
+ * - Removes unnecessary '.' parts.
+ * - Removes unnecessary '/..' parts.
+ *
+ * Based on code in the Node.js 'path' core module.
+ *
+ * @param aPath The path or url to normalize.
+ */
+function normalize(aPath) {
+ var path = aPath;
+ var url = urlParse(aPath);
+ if (url) {
+ if (!url.path) {
+ return aPath;
+ }
+ path = url.path;
+ }
+ var isAbsolute = exports.isAbsolute(path);
+
+ var parts = path.split(/\/+/);
+ for (var part, up = 0, i = parts.length - 1; i >= 0; i--) {
+ part = parts[i];
+ if (part === '.') {
+ parts.splice(i, 1);
+ } else if (part === '..') {
+ up++;
+ } else if (up > 0) {
+ if (part === '') {
+ // The first part is blank if the path is absolute. Trying to go
+ // above the root is a no-op. Therefore we can remove all '..' parts
+ // directly after the root.
+ parts.splice(i + 1, up);
+ up = 0;
+ } else {
+ parts.splice(i, 2);
+ up--;
+ }
+ }
+ }
+ path = parts.join('/');
+
+ if (path === '') {
+ path = isAbsolute ? '/' : '.';
+ }
+
+ if (url) {
+ url.path = path;
+ return urlGenerate(url);
+ }
+ return path;
+}
+exports.normalize = normalize;
+
+/**
+ * Joins two paths/URLs.
+ *
+ * @param aRoot The root path or URL.
+ * @param aPath The path or URL to be joined with the root.
+ *
+ * - If aPath is a URL or a data URI, aPath is returned, unless aPath is a
+ * scheme-relative URL: Then the scheme of aRoot, if any, is prepended
+ * first.
+ * - Otherwise aPath is a path. If aRoot is a URL, then its path portion
+ * is updated with the result and aRoot is returned. Otherwise the result
+ * is returned.
+ * - If aPath is absolute, the result is aPath.
+ * - Otherwise the two paths are joined with a slash.
+ * - Joining for example 'http://' and 'www.example.com' is also supported.
+ */
+function join(aRoot, aPath) {
+ if (aRoot === "") {
+ aRoot = ".";
+ }
+ if (aPath === "") {
+ aPath = ".";
+ }
+ var aPathUrl = urlParse(aPath);
+ var aRootUrl = urlParse(aRoot);
+ if (aRootUrl) {
+ aRoot = aRootUrl.path || '/';
+ }
+
+ // `join(foo, '//www.example.org')`
+ if (aPathUrl && !aPathUrl.scheme) {
+ if (aRootUrl) {
+ aPathUrl.scheme = aRootUrl.scheme;
+ }
+ return urlGenerate(aPathUrl);
+ }
+
+ if (aPathUrl || aPath.match(dataUrlRegexp)) {
+ return aPath;
+ }
+
+ // `join('http://', 'www.example.com')`
+ if (aRootUrl && !aRootUrl.host && !aRootUrl.path) {
+ aRootUrl.host = aPath;
+ return urlGenerate(aRootUrl);
+ }
+
+ var joined = aPath.charAt(0) === '/'
+ ? aPath
+ : normalize(aRoot.replace(/\/+$/, '') + '/' + aPath);
+
+ if (aRootUrl) {
+ aRootUrl.path = joined;
+ return urlGenerate(aRootUrl);
+ }
+ return joined;
+}
+exports.join = join;
+
+exports.isAbsolute = function (aPath) {
+ return aPath.charAt(0) === '/' || urlRegexp.test(aPath);
+};
+
+/**
+ * Make a path relative to a URL or another path.
+ *
+ * @param aRoot The root path or URL.
+ * @param aPath The path or URL to be made relative to aRoot.
+ */
+function relative(aRoot, aPath) {
+ if (aRoot === "") {
+ aRoot = ".";
+ }
+
+ aRoot = aRoot.replace(/\/$/, '');
+
+ // It is possible for the path to be above the root. In this case, simply
+ // checking whether the root is a prefix of the path won't work. Instead, we
+ // need to remove components from the root one by one, until either we find
+ // a prefix that fits, or we run out of components to remove.
+ var level = 0;
+ while (aPath.indexOf(aRoot + '/') !== 0) {
+ var index = aRoot.lastIndexOf("/");
+ if (index < 0) {
+ return aPath;
+ }
+
+ // If the only part of the root that is left is the scheme (i.e. http://,
+ // file:///, etc.), one or more slashes (/), or simply nothing at all, we
+ // have exhausted all components, so the path is not relative to the root.
+ aRoot = aRoot.slice(0, index);
+ if (aRoot.match(/^([^\/]+:\/)?\/*$/)) {
+ return aPath;
+ }
+
+ ++level;
+ }
+
+ // Make sure we add a "../" for each component we removed from the root.
+ return Array(level + 1).join("../") + aPath.substr(aRoot.length + 1);
+}
+exports.relative = relative;
+
+var supportsNullProto = (function () {
+ var obj = Object.create(null);
+ return !('__proto__' in obj);
+}());
+
+function identity (s) {
+ return s;
+}
+
+/**
+ * Because behavior goes wacky when you set `__proto__` on objects, we
+ * have to prefix all the strings in our set with an arbitrary character.
+ *
+ * See https://github.com/mozilla/source-map/pull/31 and
+ * https://github.com/mozilla/source-map/issues/30
+ *
+ * @param String aStr
+ */
+function toSetString(aStr) {
+ if (isProtoString(aStr)) {
+ return '$' + aStr;
+ }
+
+ return aStr;
+}
+exports.toSetString = supportsNullProto ? identity : toSetString;
+
+function fromSetString(aStr) {
+ if (isProtoString(aStr)) {
+ return aStr.slice(1);
+ }
+
+ return aStr;
+}
+exports.fromSetString = supportsNullProto ? identity : fromSetString;
+
+function isProtoString(s) {
+ if (!s) {
+ return false;
+ }
+
+ var length = s.length;
+
+ if (length < 9 /* "__proto__".length */) {
+ return false;
+ }
+
+ if (s.charCodeAt(length - 1) !== 95 /* '_' */ ||
+ s.charCodeAt(length - 2) !== 95 /* '_' */ ||
+ s.charCodeAt(length - 3) !== 111 /* 'o' */ ||
+ s.charCodeAt(length - 4) !== 116 /* 't' */ ||
+ s.charCodeAt(length - 5) !== 111 /* 'o' */ ||
+ s.charCodeAt(length - 6) !== 114 /* 'r' */ ||
+ s.charCodeAt(length - 7) !== 112 /* 'p' */ ||
+ s.charCodeAt(length - 8) !== 95 /* '_' */ ||
+ s.charCodeAt(length - 9) !== 95 /* '_' */) {
+ return false;
+ }
+
+ for (var i = length - 10; i >= 0; i--) {
+ if (s.charCodeAt(i) !== 36 /* '$' */) {
+ return false;
+ }
+ }
+
+ return true;
+}
+
+/**
+ * Comparator between two mappings where the original positions are compared.
+ *
+ * Optionally pass in `true` as `onlyCompareGenerated` to consider two
+ * mappings with the same original source/line/column, but different generated
+ * line and column the same. Useful when searching for a mapping with a
+ * stubbed out mapping.
+ */
+function compareByOriginalPositions(mappingA, mappingB, onlyCompareOriginal) {
+ var cmp = strcmp(mappingA.source, mappingB.source);
+ if (cmp !== 0) {
+ return cmp;
+ }
+
+ cmp = mappingA.originalLine - mappingB.originalLine;
+ if (cmp !== 0) {
+ return cmp;
+ }
+
+ cmp = mappingA.originalColumn - mappingB.originalColumn;
+ if (cmp !== 0 || onlyCompareOriginal) {
+ return cmp;
+ }
+
+ cmp = mappingA.generatedColumn - mappingB.generatedColumn;
+ if (cmp !== 0) {
+ return cmp;
+ }
+
+ cmp = mappingA.generatedLine - mappingB.generatedLine;
+ if (cmp !== 0) {
+ return cmp;
+ }
+
+ return strcmp(mappingA.name, mappingB.name);
+}
+exports.compareByOriginalPositions = compareByOriginalPositions;
+
+/**
+ * Comparator between two mappings with deflated source and name indices where
+ * the generated positions are compared.
+ *
+ * Optionally pass in `true` as `onlyCompareGenerated` to consider two
+ * mappings with the same generated line and column, but different
+ * source/name/original line and column the same. Useful when searching for a
+ * mapping with a stubbed out mapping.
+ */
+function compareByGeneratedPositionsDeflated(mappingA, mappingB, onlyCompareGenerated) {
+ var cmp = mappingA.generatedLine - mappingB.generatedLine;
+ if (cmp !== 0) {
+ return cmp;
+ }
+
+ cmp = mappingA.generatedColumn - mappingB.generatedColumn;
+ if (cmp !== 0 || onlyCompareGenerated) {
+ return cmp;
+ }
+
+ cmp = strcmp(mappingA.source, mappingB.source);
+ if (cmp !== 0) {
+ return cmp;
+ }
+
+ cmp = mappingA.originalLine - mappingB.originalLine;
+ if (cmp !== 0) {
+ return cmp;
+ }
+
+ cmp = mappingA.originalColumn - mappingB.originalColumn;
+ if (cmp !== 0) {
+ return cmp;
+ }
+
+ return strcmp(mappingA.name, mappingB.name);
+}
+exports.compareByGeneratedPositionsDeflated = compareByGeneratedPositionsDeflated;
+
+function strcmp(aStr1, aStr2) {
+ if (aStr1 === aStr2) {
+ return 0;
+ }
+
+ if (aStr1 === null) {
+ return 1; // aStr2 !== null
+ }
+
+ if (aStr2 === null) {
+ return -1; // aStr1 !== null
+ }
+
+ if (aStr1 > aStr2) {
+ return 1;
+ }
+
+ return -1;
+}
+
+/**
+ * Comparator between two mappings with inflated source and name strings where
+ * the generated positions are compared.
+ */
+function compareByGeneratedPositionsInflated(mappingA, mappingB) {
+ var cmp = mappingA.generatedLine - mappingB.generatedLine;
+ if (cmp !== 0) {
+ return cmp;
+ }
+
+ cmp = mappingA.generatedColumn - mappingB.generatedColumn;
+ if (cmp !== 0) {
+ return cmp;
+ }
+
+ cmp = strcmp(mappingA.source, mappingB.source);
+ if (cmp !== 0) {
+ return cmp;
+ }
+
+ cmp = mappingA.originalLine - mappingB.originalLine;
+ if (cmp !== 0) {
+ return cmp;
+ }
+
+ cmp = mappingA.originalColumn - mappingB.originalColumn;
+ if (cmp !== 0) {
+ return cmp;
+ }
+
+ return strcmp(mappingA.name, mappingB.name);
+}
+exports.compareByGeneratedPositionsInflated = compareByGeneratedPositionsInflated;
+
+/**
+ * Strip any JSON XSSI avoidance prefix from the string (as documented
+ * in the source maps specification), and then parse the string as
+ * JSON.
+ */
+function parseSourceMapInput(str) {
+ return JSON.parse(str.replace(/^\)]}'[^\n]*\n/, ''));
+}
+exports.parseSourceMapInput = parseSourceMapInput;
+
+/**
+ * Compute the URL of a source given the the source root, the source's
+ * URL, and the source map's URL.
+ */
+function computeSourceURL(sourceRoot, sourceURL, sourceMapURL) {
+ sourceURL = sourceURL || '';
+
+ if (sourceRoot) {
+ // This follows what Chrome does.
+ if (sourceRoot[sourceRoot.length - 1] !== '/' && sourceURL[0] !== '/') {
+ sourceRoot += '/';
+ }
+ // The spec says:
+ // Line 4: An optional source root, useful for relocating source
+ // files on a server or removing repeated values in the
+ // “sources” entry. This value is prepended to the individual
+ // entries in the “source” field.
+ sourceURL = sourceRoot + sourceURL;
+ }
+
+ // Historically, SourceMapConsumer did not take the sourceMapURL as
+ // a parameter. This mode is still somewhat supported, which is why
+ // this code block is conditional. However, it's preferable to pass
+ // the source map URL to SourceMapConsumer, so that this function
+ // can implement the source URL resolution algorithm as outlined in
+ // the spec. This block is basically the equivalent of:
+ // new URL(sourceURL, sourceMapURL).toString()
+ // ... except it avoids using URL, which wasn't available in the
+ // older releases of node still supported by this library.
+ //
+ // The spec says:
+ // If the sources are not absolute URLs after prepending of the
+ // “sourceRoot”, the sources are resolved relative to the
+ // SourceMap (like resolving script src in a html document).
+ if (sourceMapURL) {
+ var parsed = urlParse(sourceMapURL);
+ if (!parsed) {
+ throw new Error("sourceMapURL could not be parsed");
+ }
+ if (parsed.path) {
+ // Strip the last path component, but keep the "/".
+ var index = parsed.path.lastIndexOf('/');
+ if (index >= 0) {
+ parsed.path = parsed.path.substring(0, index + 1);
+ }
+ }
+ sourceURL = join(urlGenerate(parsed), sourceURL);
+ }
+
+ return normalize(sourceURL);
+}
+exports.computeSourceURL = computeSourceURL;
diff --git a/node_modules/@gulp-sourcemaps/identity-map/node_modules/source-map/package.json b/node_modules/@gulp-sourcemaps/identity-map/node_modules/source-map/package.json
new file mode 100644
index 0000000..993e574
--- /dev/null
+++ b/node_modules/@gulp-sourcemaps/identity-map/node_modules/source-map/package.json
@@ -0,0 +1,212 @@
+{
+ "_from": "source-map@^0.6.0",
+ "_id": "source-map@0.6.1",
+ "_inBundle": false,
+ "_integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "_location": "/@gulp-sourcemaps/identity-map/source-map",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "range",
+ "registry": true,
+ "raw": "source-map@^0.6.0",
+ "name": "source-map",
+ "escapedName": "source-map",
+ "rawSpec": "^0.6.0",
+ "saveSpec": null,
+ "fetchSpec": "^0.6.0"
+ },
+ "_requiredBy": [
+ "/@gulp-sourcemaps/identity-map"
+ ],
+ "_resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "_shasum": "74722af32e9614e9c287a8d0bbde48b5e2f1a263",
+ "_spec": "source-map@^0.6.0",
+ "_where": "C:\\Users\\Futil\\AppData\\Local\\FoundryVTT\\Data\\systems\\mothership\\node_modules\\@gulp-sourcemaps\\identity-map",
+ "author": {
+ "name": "Nick Fitzgerald",
+ "email": "nfitzgerald@mozilla.com"
+ },
+ "bugs": {
+ "url": "https://github.com/mozilla/source-map/issues"
+ },
+ "bundleDependencies": false,
+ "contributors": [
+ {
+ "name": "Tobias Koppers",
+ "email": "tobias.koppers@googlemail.com"
+ },
+ {
+ "name": "Duncan Beevers",
+ "email": "duncan@dweebd.com"
+ },
+ {
+ "name": "Stephen Crane",
+ "email": "scrane@mozilla.com"
+ },
+ {
+ "name": "Ryan Seddon",
+ "email": "seddon.ryan@gmail.com"
+ },
+ {
+ "name": "Miles Elam",
+ "email": "miles.elam@deem.com"
+ },
+ {
+ "name": "Mihai Bazon",
+ "email": "mihai.bazon@gmail.com"
+ },
+ {
+ "name": "Michael Ficarra",
+ "email": "github.public.email@michael.ficarra.me"
+ },
+ {
+ "name": "Todd Wolfson",
+ "email": "todd@twolfson.com"
+ },
+ {
+ "name": "Alexander Solovyov",
+ "email": "alexander@solovyov.net"
+ },
+ {
+ "name": "Felix Gnass",
+ "email": "fgnass@gmail.com"
+ },
+ {
+ "name": "Conrad Irwin",
+ "email": "conrad.irwin@gmail.com"
+ },
+ {
+ "name": "usrbincc",
+ "email": "usrbincc@yahoo.com"
+ },
+ {
+ "name": "David Glasser",
+ "email": "glasser@davidglasser.net"
+ },
+ {
+ "name": "Chase Douglas",
+ "email": "chase@newrelic.com"
+ },
+ {
+ "name": "Evan Wallace",
+ "email": "evan.exe@gmail.com"
+ },
+ {
+ "name": "Heather Arthur",
+ "email": "fayearthur@gmail.com"
+ },
+ {
+ "name": "Hugh Kennedy",
+ "email": "hughskennedy@gmail.com"
+ },
+ {
+ "name": "David Glasser",
+ "email": "glasser@davidglasser.net"
+ },
+ {
+ "name": "Simon Lydell",
+ "email": "simon.lydell@gmail.com"
+ },
+ {
+ "name": "Jmeas Smith",
+ "email": "jellyes2@gmail.com"
+ },
+ {
+ "name": "Michael Z Goddard",
+ "email": "mzgoddard@gmail.com"
+ },
+ {
+ "name": "azu",
+ "email": "azu@users.noreply.github.com"
+ },
+ {
+ "name": "John Gozde",
+ "email": "john@gozde.ca"
+ },
+ {
+ "name": "Adam Kirkton",
+ "email": "akirkton@truefitinnovation.com"
+ },
+ {
+ "name": "Chris Montgomery",
+ "email": "christopher.montgomery@dowjones.com"
+ },
+ {
+ "name": "J. Ryan Stinnett",
+ "email": "jryans@gmail.com"
+ },
+ {
+ "name": "Jack Herrington",
+ "email": "jherrington@walmartlabs.com"
+ },
+ {
+ "name": "Chris Truter",
+ "email": "jeffpalentine@gmail.com"
+ },
+ {
+ "name": "Daniel Espeset",
+ "email": "daniel@danielespeset.com"
+ },
+ {
+ "name": "Jamie Wong",
+ "email": "jamie.lf.wong@gmail.com"
+ },
+ {
+ "name": "Eddy Bruël",
+ "email": "ejpbruel@mozilla.com"
+ },
+ {
+ "name": "Hawken Rives",
+ "email": "hawkrives@gmail.com"
+ },
+ {
+ "name": "Gilad Peleg",
+ "email": "giladp007@gmail.com"
+ },
+ {
+ "name": "djchie",
+ "email": "djchie.dev@gmail.com"
+ },
+ {
+ "name": "Gary Ye",
+ "email": "garysye@gmail.com"
+ },
+ {
+ "name": "Nicolas Lalevée",
+ "email": "nicolas.lalevee@hibnet.org"
+ }
+ ],
+ "deprecated": false,
+ "description": "Generates and consumes source maps",
+ "devDependencies": {
+ "doctoc": "^0.15.0",
+ "webpack": "^1.12.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ },
+ "files": [
+ "source-map.js",
+ "source-map.d.ts",
+ "lib/",
+ "dist/source-map.debug.js",
+ "dist/source-map.js",
+ "dist/source-map.min.js",
+ "dist/source-map.min.js.map"
+ ],
+ "homepage": "https://github.com/mozilla/source-map",
+ "license": "BSD-3-Clause",
+ "main": "./source-map.js",
+ "name": "source-map",
+ "repository": {
+ "type": "git",
+ "url": "git+ssh://git@github.com/mozilla/source-map.git"
+ },
+ "scripts": {
+ "build": "webpack --color",
+ "test": "npm run build && node test/run-tests.js",
+ "toc": "doctoc --title '## Table of Contents' README.md && doctoc --title '## Table of Contents' CONTRIBUTING.md"
+ },
+ "typings": "source-map",
+ "version": "0.6.1"
+}
diff --git a/node_modules/@gulp-sourcemaps/identity-map/node_modules/source-map/source-map.d.ts b/node_modules/@gulp-sourcemaps/identity-map/node_modules/source-map/source-map.d.ts
new file mode 100644
index 0000000..8f972b0
--- /dev/null
+++ b/node_modules/@gulp-sourcemaps/identity-map/node_modules/source-map/source-map.d.ts
@@ -0,0 +1,98 @@
+export interface StartOfSourceMap {
+ file?: string;
+ sourceRoot?: string;
+}
+
+export interface RawSourceMap extends StartOfSourceMap {
+ version: string;
+ sources: string[];
+ names: string[];
+ sourcesContent?: string[];
+ mappings: string;
+}
+
+export interface Position {
+ line: number;
+ column: number;
+}
+
+export interface LineRange extends Position {
+ lastColumn: number;
+}
+
+export interface FindPosition extends Position {
+ // SourceMapConsumer.GREATEST_LOWER_BOUND or SourceMapConsumer.LEAST_UPPER_BOUND
+ bias?: number;
+}
+
+export interface SourceFindPosition extends FindPosition {
+ source: string;
+}
+
+export interface MappedPosition extends Position {
+ source: string;
+ name?: string;
+}
+
+export interface MappingItem {
+ source: string;
+ generatedLine: number;
+ generatedColumn: number;
+ originalLine: number;
+ originalColumn: number;
+ name: string;
+}
+
+export class SourceMapConsumer {
+ static GENERATED_ORDER: number;
+ static ORIGINAL_ORDER: number;
+
+ static GREATEST_LOWER_BOUND: number;
+ static LEAST_UPPER_BOUND: number;
+
+ constructor(rawSourceMap: RawSourceMap);
+ computeColumnSpans(): void;
+ originalPositionFor(generatedPosition: FindPosition): MappedPosition;
+ generatedPositionFor(originalPosition: SourceFindPosition): LineRange;
+ allGeneratedPositionsFor(originalPosition: MappedPosition): Position[];
+ hasContentsOfAllSources(): boolean;
+ sourceContentFor(source: string, returnNullOnMissing?: boolean): string;
+ eachMapping(callback: (mapping: MappingItem) => void, context?: any, order?: number): void;
+}
+
+export interface Mapping {
+ generated: Position;
+ original: Position;
+ source: string;
+ name?: string;
+}
+
+export class SourceMapGenerator {
+ constructor(startOfSourceMap?: StartOfSourceMap);
+ static fromSourceMap(sourceMapConsumer: SourceMapConsumer): SourceMapGenerator;
+ addMapping(mapping: Mapping): void;
+ setSourceContent(sourceFile: string, sourceContent: string): void;
+ applySourceMap(sourceMapConsumer: SourceMapConsumer, sourceFile?: string, sourceMapPath?: string): void;
+ toString(): string;
+}
+
+export interface CodeWithSourceMap {
+ code: string;
+ map: SourceMapGenerator;
+}
+
+export class SourceNode {
+ constructor();
+ constructor(line: number, column: number, source: string);
+ constructor(line: number, column: number, source: string, chunk?: string, name?: string);
+ static fromStringWithSourceMap(code: string, sourceMapConsumer: SourceMapConsumer, relativePath?: string): SourceNode;
+ add(chunk: string): void;
+ prepend(chunk: string): void;
+ setSourceContent(sourceFile: string, sourceContent: string): void;
+ walk(fn: (chunk: string, mapping: MappedPosition) => void): void;
+ walkSourceContents(fn: (file: string, content: string) => void): void;
+ join(sep: string): SourceNode;
+ replaceRight(pattern: string, replacement: string): SourceNode;
+ toString(): string;
+ toStringWithSourceMap(startOfSourceMap?: StartOfSourceMap): CodeWithSourceMap;
+}
diff --git a/node_modules/@gulp-sourcemaps/identity-map/node_modules/source-map/source-map.js b/node_modules/@gulp-sourcemaps/identity-map/node_modules/source-map/source-map.js
new file mode 100644
index 0000000..bc88fe8
--- /dev/null
+++ b/node_modules/@gulp-sourcemaps/identity-map/node_modules/source-map/source-map.js
@@ -0,0 +1,8 @@
+/*
+ * Copyright 2009-2011 Mozilla Foundation and contributors
+ * Licensed under the New BSD license. See LICENSE.txt or:
+ * http://opensource.org/licenses/BSD-3-Clause
+ */
+exports.SourceMapGenerator = require('./lib/source-map-generator').SourceMapGenerator;
+exports.SourceMapConsumer = require('./lib/source-map-consumer').SourceMapConsumer;
+exports.SourceNode = require('./lib/source-node').SourceNode;
diff --git a/node_modules/@gulp-sourcemaps/identity-map/package.json b/node_modules/@gulp-sourcemaps/identity-map/package.json
new file mode 100644
index 0000000..d358109
--- /dev/null
+++ b/node_modules/@gulp-sourcemaps/identity-map/package.json
@@ -0,0 +1,92 @@
+{
+ "_from": "@gulp-sourcemaps/identity-map@1.X",
+ "_id": "@gulp-sourcemaps/identity-map@1.0.2",
+ "_inBundle": false,
+ "_integrity": "sha512-ciiioYMLdo16ShmfHBXJBOFm3xPC4AuwO4xeRpFeHz7WK9PYsWCmigagG2XyzZpubK4a3qNKoUBDhbzHfa50LQ==",
+ "_location": "/@gulp-sourcemaps/identity-map",
+ "_phantomChildren": {
+ "remove-trailing-separator": "1.1.0"
+ },
+ "_requested": {
+ "type": "range",
+ "registry": true,
+ "raw": "@gulp-sourcemaps/identity-map@1.X",
+ "name": "@gulp-sourcemaps/identity-map",
+ "escapedName": "@gulp-sourcemaps%2fidentity-map",
+ "scope": "@gulp-sourcemaps",
+ "rawSpec": "1.X",
+ "saveSpec": null,
+ "fetchSpec": "1.X"
+ },
+ "_requiredBy": [
+ "/gulp-sourcemaps"
+ ],
+ "_resolved": "https://registry.npmjs.org/@gulp-sourcemaps/identity-map/-/identity-map-1.0.2.tgz",
+ "_shasum": "1e6fe5d8027b1f285dc0d31762f566bccd73d5a9",
+ "_spec": "@gulp-sourcemaps/identity-map@1.X",
+ "_where": "C:\\Users\\Futil\\AppData\\Local\\FoundryVTT\\Data\\systems\\mothership\\node_modules\\gulp-sourcemaps",
+ "author": {
+ "name": "Gulp-sourcemaps Team"
+ },
+ "bugs": {
+ "url": "https://github.com/gulp-sourcemaps/identity-map/issues"
+ },
+ "bundleDependencies": false,
+ "contributors": [
+ {
+ "name": "Blaine Bublitz",
+ "email": "blaine.bublitz@gmail.com"
+ }
+ ],
+ "dependencies": {
+ "acorn": "^5.0.3",
+ "css": "^2.2.1",
+ "normalize-path": "^2.1.1",
+ "source-map": "^0.6.0",
+ "through2": "^2.0.3"
+ },
+ "deprecated": false,
+ "description": "Gulp plugin for generating an identity sourcemap for a file.",
+ "devDependencies": {
+ "eslint": "^1.7.3",
+ "eslint-config-gulp": "^2.0.0",
+ "expect": "^1.19.0",
+ "istanbul": "^0.4.3",
+ "istanbul-coveralls": "^1.0.3",
+ "jscs": "^2.3.5",
+ "jscs-preset-gulp": "^1.0.0",
+ "mississippi": "^1.3.0",
+ "mocha": "^2.4.5",
+ "vinyl": "^2.0.1"
+ },
+ "engines": {
+ "node": ">= 0.10"
+ },
+ "files": [
+ "LICENSE",
+ "index.js",
+ "lib"
+ ],
+ "homepage": "https://github.com/gulp-sourcemaps/identity-map#readme",
+ "keywords": [
+ "sourcemap",
+ "identity",
+ "generate",
+ "stream"
+ ],
+ "license": "MIT",
+ "main": "index.js",
+ "name": "@gulp-sourcemaps/identity-map",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/gulp-sourcemaps/identity-map.git"
+ },
+ "scripts": {
+ "cover": "istanbul cover _mocha --report lcovonly",
+ "coveralls": "npm run cover && istanbul-coveralls",
+ "lint": "eslint . && jscs index.js test/index.js lib/",
+ "pretest": "npm run lint",
+ "test": "mocha --async-only"
+ },
+ "version": "1.0.2"
+}
diff --git a/node_modules/@gulp-sourcemaps/map-sources/LICENSE b/node_modules/@gulp-sourcemaps/map-sources/LICENSE
new file mode 100644
index 0000000..bda81ce
--- /dev/null
+++ b/node_modules/@gulp-sourcemaps/map-sources/LICENSE
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) 2017 Blaine Bublitz
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/node_modules/@gulp-sourcemaps/map-sources/README.md b/node_modules/@gulp-sourcemaps/map-sources/README.md
new file mode 100644
index 0000000..01a755a
--- /dev/null
+++ b/node_modules/@gulp-sourcemaps/map-sources/README.md
@@ -0,0 +1,52 @@
+# @gulp-sourcemaps/map-sources
+
+[![NPM version][npm-image]][npm-url] [![Downloads][downloads-image]][npm-url] [![Build Status][travis-image]][travis-url] [![AppVeyor Build Status][appveyor-image]][appveyor-url] [![Coveralls Status][coveralls-image]][coveralls-url]
+
+Gulp plugin for mapping sources of a sourcemap.
+
+## Example
+
+```js
+var mapSources = require('@gulp-sourcemaps/map-sources');
+
+gulp.src(...)
+ .pipe(sourcemaps.init())
+ .pipe(mapSources(function(sourcePath, file) {
+ return '../' + sourcePath;
+ }))
+ .pipe(sourcemaps.write())
+ .pipe(gulp.dest(...))
+```
+
+## API
+
+### `mapSources(mapFn)`
+
+Takes a map function as the only argument. Returns an `objectMode` Transform stream.
+
+#### `mapFn(sourcePath, file)`
+
+The map function is called once per value of the `sources` array of a `sourceMap` attached to each [`Vinyl`][vinyl-url] object passed through the stream. The map function is called with the `sourcePath` string from the `sources` array and the `file` object it originated from. The return value replaces the original value in the array.
+
+If a `Vinyl` object doesn't have a `sourceMap` or `sourceMap.sources` property, the file is passed through the stream without having the `mapFn` called.
+
+All `sources` are normalized to use `/` instead of `\\` as path separators.
+
+## License
+
+MIT
+
+[vinyl-url]: https://github.com/gulpjs/vinyl
+
+[downloads-image]: http://img.shields.io/npm/dm/@gulp-sourcemaps/map-sources.svg
+[npm-url]: https://npmjs.org/package/@gulp-sourcemaps/map-sources
+[npm-image]: http://img.shields.io/npm/v/@gulp-sourcemaps/map-sources.svg
+
+[travis-url]: https://travis-ci.org/gulp-sourcemaps/map-sources
+[travis-image]: http://img.shields.io/travis/gulp-sourcemaps/map-sources.svg?label=travis-ci
+
+[appveyor-url]: https://ci.appveyor.com/project/phated/map-sources
+[appveyor-image]: https://img.shields.io/appveyor/ci/phated/map-sources.svg?label=appveyor
+
+[coveralls-url]: https://coveralls.io/r/gulp-sourcemaps/map-sources
+[coveralls-image]: http://img.shields.io/coveralls/gulp-sourcemaps/map-sources.svg
diff --git a/node_modules/@gulp-sourcemaps/map-sources/index.js b/node_modules/@gulp-sourcemaps/map-sources/index.js
new file mode 100644
index 0000000..65d85f7
--- /dev/null
+++ b/node_modules/@gulp-sourcemaps/map-sources/index.js
@@ -0,0 +1,30 @@
+'use strict';
+
+var through = require('through2');
+var normalize = require('normalize-path');
+
+function mapSources(mapFn) {
+
+ function transform(file, _, cb) {
+ if (!file.sourceMap || !file.sourceMap.sources) {
+ return cb(null, file);
+ }
+
+ function mapper(sourcePath) {
+ var result = sourcePath;
+ if (typeof mapFn === 'function') {
+ result = mapFn(sourcePath, file);
+ }
+
+ return normalize(result);
+ }
+
+ file.sourceMap.sources = file.sourceMap.sources.map(mapper);
+
+ cb(null, file);
+ }
+
+ return through.obj(transform);
+}
+
+module.exports = mapSources;
diff --git a/node_modules/@gulp-sourcemaps/map-sources/node_modules/normalize-path/LICENSE b/node_modules/@gulp-sourcemaps/map-sources/node_modules/normalize-path/LICENSE
new file mode 100644
index 0000000..d734237
--- /dev/null
+++ b/node_modules/@gulp-sourcemaps/map-sources/node_modules/normalize-path/LICENSE
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) 2014-2017, Jon Schlinkert
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/node_modules/@gulp-sourcemaps/map-sources/node_modules/normalize-path/README.md b/node_modules/@gulp-sourcemaps/map-sources/node_modules/normalize-path/README.md
new file mode 100644
index 0000000..daa0edd
--- /dev/null
+++ b/node_modules/@gulp-sourcemaps/map-sources/node_modules/normalize-path/README.md
@@ -0,0 +1,92 @@
+# normalize-path [](https://www.npmjs.com/package/normalize-path) [](https://npmjs.org/package/normalize-path) [](https://npmjs.org/package/normalize-path) [](https://travis-ci.org/jonschlinkert/normalize-path)
+
+> Normalize file path slashes to be unix-like forward slashes. Also condenses repeat slashes to a single slash and removes and trailing slashes unless disabled.
+
+## Install
+
+Install with [npm](https://www.npmjs.com/):
+
+```sh
+$ npm install --save normalize-path
+```
+
+## Usage
+
+```js
+var normalize = require('normalize-path');
+
+normalize('\\foo\\bar\\baz\\');
+//=> '/foo/bar/baz'
+
+normalize('./foo/bar/baz/');
+//=> './foo/bar/baz'
+```
+
+Pass `false` as the last argument to **keep** trailing slashes:
+
+```js
+normalize('./foo/bar/baz/', false);
+//=> './foo/bar/baz/'
+
+normalize('foo\\bar\\baz\\', false);
+//=> 'foo/bar/baz/'
+```
+
+## About
+
+### Related projects
+
+* [contains-path](https://www.npmjs.com/package/contains-path): Return true if a file path contains the given path. | [homepage](https://github.com/jonschlinkert/contains-path "Return true if a file path contains the given path.")
+* [ends-with](https://www.npmjs.com/package/ends-with): Returns `true` if the given `string` or `array` ends with `suffix` using strict equality for… [more](https://github.com/jonschlinkert/ends-with) | [homepage](https://github.com/jonschlinkert/ends-with "Returns `true` if the given `string` or `array` ends with `suffix` using strict equality for comparisons.")
+* [is-absolute](https://www.npmjs.com/package/is-absolute): Polyfill for node.js `path.isAbolute`. Returns true if a file path is absolute. | [homepage](https://github.com/jonschlinkert/is-absolute "Polyfill for node.js `path.isAbolute`. Returns true if a file path is absolute.")
+* [is-relative](https://www.npmjs.com/package/is-relative): Returns `true` if the path appears to be relative. | [homepage](https://github.com/jonschlinkert/is-relative "Returns `true` if the path appears to be relative.")
+* [parse-filepath](https://www.npmjs.com/package/parse-filepath): Pollyfill for node.js `path.parse`, parses a filepath into an object. | [homepage](https://github.com/jonschlinkert/parse-filepath "Pollyfill for node.js `path.parse`, parses a filepath into an object.")
+* [path-ends-with](https://www.npmjs.com/package/path-ends-with): Return `true` if a file path ends with the given string/suffix. | [homepage](https://github.com/jonschlinkert/path-ends-with "Return `true` if a file path ends with the given string/suffix.")
+* [path-segments](https://www.npmjs.com/package/path-segments): Get n specific segments of a file path, e.g. first 2, last 3, etc. | [homepage](https://github.com/jonschlinkert/path-segments "Get n specific segments of a file path, e.g. first 2, last 3, etc.")
+* [rewrite-ext](https://www.npmjs.com/package/rewrite-ext): Automatically re-write the destination extension of a filepath based on the source extension. e.g… [more](https://github.com/jonschlinkert/rewrite-ext) | [homepage](https://github.com/jonschlinkert/rewrite-ext "Automatically re-write the destination extension of a filepath based on the source extension. e.g `.coffee` => `.js`. This will only rename the ext, no other path parts are modified.")
+* [unixify](https://www.npmjs.com/package/unixify): Convert Windows file paths to unix paths. | [homepage](https://github.com/jonschlinkert/unixify "Convert Windows file paths to unix paths.")
+
+### Contributing
+
+Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new).
+
+### Contributors
+
+| **Commits** | **Contributor** |
+| --- | --- |
+| 31 | [jonschlinkert](https://github.com/jonschlinkert) |
+| 1 | [phated](https://github.com/phated) |
+
+### Building docs
+
+_(This project's readme.md is generated by [verb](https://github.com/verbose/verb-generate-readme), please don't edit the readme directly. Any changes to the readme must be made in the [.verb.md](.verb.md) readme template.)_
+
+To generate the readme, run the following command:
+
+```sh
+$ npm install -g verbose/verb#dev verb-generate-readme && verb
+```
+
+### Running tests
+
+Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command:
+
+```sh
+$ npm install && npm test
+```
+
+### Author
+
+**Jon Schlinkert**
+
+* [github/jonschlinkert](https://github.com/jonschlinkert)
+* [twitter/jonschlinkert](https://twitter.com/jonschlinkert)
+
+### License
+
+Copyright © 2017, [Jon Schlinkert](https://github.com/jonschlinkert).
+Released under the [MIT License](LICENSE).
+
+***
+
+_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.4.3, on March 29, 2017._
\ No newline at end of file
diff --git a/node_modules/@gulp-sourcemaps/map-sources/node_modules/normalize-path/index.js b/node_modules/@gulp-sourcemaps/map-sources/node_modules/normalize-path/index.js
new file mode 100644
index 0000000..4a4f8cc
--- /dev/null
+++ b/node_modules/@gulp-sourcemaps/map-sources/node_modules/normalize-path/index.js
@@ -0,0 +1,19 @@
+/*!
+ * normalize-path
+ *
+ * Copyright (c) 2014-2017, Jon Schlinkert.
+ * Released under the MIT License.
+ */
+
+var removeTrailingSeparator = require('remove-trailing-separator');
+
+module.exports = function normalizePath(str, stripTrailing) {
+ if (typeof str !== 'string') {
+ throw new TypeError('expected a string');
+ }
+ str = str.replace(/[\\\/]+/g, '/');
+ if (stripTrailing !== false) {
+ str = removeTrailingSeparator(str);
+ }
+ return str;
+};
diff --git a/node_modules/@gulp-sourcemaps/map-sources/node_modules/normalize-path/package.json b/node_modules/@gulp-sourcemaps/map-sources/node_modules/normalize-path/package.json
new file mode 100644
index 0000000..f0e15f5
--- /dev/null
+++ b/node_modules/@gulp-sourcemaps/map-sources/node_modules/normalize-path/package.json
@@ -0,0 +1,117 @@
+{
+ "_from": "normalize-path@^2.0.1",
+ "_id": "normalize-path@2.1.1",
+ "_inBundle": false,
+ "_integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
+ "_location": "/@gulp-sourcemaps/map-sources/normalize-path",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "range",
+ "registry": true,
+ "raw": "normalize-path@^2.0.1",
+ "name": "normalize-path",
+ "escapedName": "normalize-path",
+ "rawSpec": "^2.0.1",
+ "saveSpec": null,
+ "fetchSpec": "^2.0.1"
+ },
+ "_requiredBy": [
+ "/@gulp-sourcemaps/map-sources"
+ ],
+ "_resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
+ "_shasum": "1ab28b556e198363a8c1a6f7e6fa20137fe6aed9",
+ "_spec": "normalize-path@^2.0.1",
+ "_where": "C:\\Users\\Futil\\AppData\\Local\\FoundryVTT\\Data\\systems\\mothership\\node_modules\\@gulp-sourcemaps\\map-sources",
+ "author": {
+ "name": "Jon Schlinkert",
+ "url": "https://github.com/jonschlinkert"
+ },
+ "bugs": {
+ "url": "https://github.com/jonschlinkert/normalize-path/issues"
+ },
+ "bundleDependencies": false,
+ "contributors": [
+ {
+ "name": "Blaine Bublitz",
+ "email": "blaine.bublitz@gmail.com",
+ "url": "https://twitter.com/BlaineBublitz"
+ },
+ {
+ "name": "Jon Schlinkert",
+ "email": "jon.schlinkert@sellside.com",
+ "url": "http://twitter.com/jonschlinkert"
+ }
+ ],
+ "dependencies": {
+ "remove-trailing-separator": "^1.0.1"
+ },
+ "deprecated": false,
+ "description": "Normalize file path slashes to be unix-like forward slashes. Also condenses repeat slashes to a single slash and removes and trailing slashes unless disabled.",
+ "devDependencies": {
+ "benchmarked": "^0.1.1",
+ "gulp-format-md": "^0.1.11",
+ "minimist": "^1.2.0",
+ "mocha": "*"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ },
+ "files": [
+ "index.js"
+ ],
+ "homepage": "https://github.com/jonschlinkert/normalize-path",
+ "keywords": [
+ "backslash",
+ "file",
+ "filepath",
+ "fix",
+ "forward",
+ "fp",
+ "fs",
+ "normalize",
+ "path",
+ "slash",
+ "slashes",
+ "trailing",
+ "unix",
+ "urix"
+ ],
+ "license": "MIT",
+ "main": "index.js",
+ "name": "normalize-path",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/jonschlinkert/normalize-path.git"
+ },
+ "scripts": {
+ "test": "mocha"
+ },
+ "verb": {
+ "related": {
+ "list": [
+ "contains-path",
+ "ends-with",
+ "is-absolute",
+ "is-relative",
+ "parse-filepath",
+ "path-ends-with",
+ "path-segments",
+ "rewrite-ext",
+ "unixify"
+ ],
+ "description": "Other useful libraries for working with paths in node.js:"
+ },
+ "toc": false,
+ "layout": "default",
+ "tasks": [
+ "readme"
+ ],
+ "plugins": [
+ "gulp-format-md"
+ ],
+ "lint": {
+ "reflinks": true
+ }
+ },
+ "version": "2.1.1"
+}
diff --git a/node_modules/@gulp-sourcemaps/map-sources/package.json b/node_modules/@gulp-sourcemaps/map-sources/package.json
new file mode 100644
index 0000000..38985a8
--- /dev/null
+++ b/node_modules/@gulp-sourcemaps/map-sources/package.json
@@ -0,0 +1,87 @@
+{
+ "_from": "@gulp-sourcemaps/map-sources@1.X",
+ "_id": "@gulp-sourcemaps/map-sources@1.0.0",
+ "_inBundle": false,
+ "_integrity": "sha1-iQrnxdjId/bThIYCFazp1+yUW9o=",
+ "_location": "/@gulp-sourcemaps/map-sources",
+ "_phantomChildren": {
+ "remove-trailing-separator": "1.1.0"
+ },
+ "_requested": {
+ "type": "range",
+ "registry": true,
+ "raw": "@gulp-sourcemaps/map-sources@1.X",
+ "name": "@gulp-sourcemaps/map-sources",
+ "escapedName": "@gulp-sourcemaps%2fmap-sources",
+ "scope": "@gulp-sourcemaps",
+ "rawSpec": "1.X",
+ "saveSpec": null,
+ "fetchSpec": "1.X"
+ },
+ "_requiredBy": [
+ "/gulp-sourcemaps"
+ ],
+ "_resolved": "https://registry.npmjs.org/@gulp-sourcemaps/map-sources/-/map-sources-1.0.0.tgz",
+ "_shasum": "890ae7c5d8c877f6d384860215ace9d7ec945bda",
+ "_spec": "@gulp-sourcemaps/map-sources@1.X",
+ "_where": "C:\\Users\\Futil\\AppData\\Local\\FoundryVTT\\Data\\systems\\mothership\\node_modules\\gulp-sourcemaps",
+ "author": {
+ "name": "Gulp-sourcemaps Team"
+ },
+ "bugs": {
+ "url": "https://github.com/gulp-sourcemaps/map-sources/issues"
+ },
+ "bundleDependencies": false,
+ "contributors": [
+ {
+ "name": "Blaine Bublitz",
+ "email": "blaine.bublitz@gmail.com"
+ }
+ ],
+ "dependencies": {
+ "normalize-path": "^2.0.1",
+ "through2": "^2.0.3"
+ },
+ "deprecated": false,
+ "description": "Gulp plugin for mapping sources of a sourcemap.",
+ "devDependencies": {
+ "eslint": "^1.7.3",
+ "eslint-config-gulp": "^2.0.0",
+ "expect": "^1.19.0",
+ "istanbul": "^0.4.3",
+ "istanbul-coveralls": "^1.0.3",
+ "jscs": "^2.3.5",
+ "jscs-preset-gulp": "^1.0.0",
+ "mississippi": "^1.3.0",
+ "mocha": "^2.4.5",
+ "vinyl": "^2.0.1"
+ },
+ "engines": {
+ "node": ">= 0.10"
+ },
+ "files": [
+ "LICENSE",
+ "index.js"
+ ],
+ "homepage": "https://github.com/gulp-sourcemaps/map-sources#readme",
+ "keywords": [
+ "sourcemap",
+ "sources",
+ "stream"
+ ],
+ "license": "MIT",
+ "main": "index.js",
+ "name": "@gulp-sourcemaps/map-sources",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/gulp-sourcemaps/map-sources.git"
+ },
+ "scripts": {
+ "cover": "istanbul cover _mocha --report lcovonly",
+ "coveralls": "npm run cover && istanbul-coveralls",
+ "lint": "eslint . && jscs index.js test/",
+ "pretest": "npm run lint",
+ "test": "mocha --async-only"
+ },
+ "version": "1.0.0"
+}
diff --git a/node_modules/abbrev/LICENSE b/node_modules/abbrev/LICENSE
new file mode 100644
index 0000000..9bcfa9d
--- /dev/null
+++ b/node_modules/abbrev/LICENSE
@@ -0,0 +1,46 @@
+This software is dual-licensed under the ISC and MIT licenses.
+You may use this software under EITHER of the following licenses.
+
+----------
+
+The ISC License
+
+Copyright (c) Isaac Z. Schlueter and Contributors
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted, provided that the above
+copyright notice and this permission notice appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
+IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+----------
+
+Copyright Isaac Z. Schlueter and Contributors
+All rights reserved.
+
+Permission is hereby granted, free of charge, to any person
+obtaining a copy of this software and associated documentation
+files (the "Software"), to deal in the Software without
+restriction, including without limitation the rights to use,
+copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following
+conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
diff --git a/node_modules/abbrev/README.md b/node_modules/abbrev/README.md
new file mode 100644
index 0000000..99746fe
--- /dev/null
+++ b/node_modules/abbrev/README.md
@@ -0,0 +1,23 @@
+# abbrev-js
+
+Just like [ruby's Abbrev](http://apidock.com/ruby/Abbrev).
+
+Usage:
+
+ var abbrev = require("abbrev");
+ abbrev("foo", "fool", "folding", "flop");
+
+ // returns:
+ { fl: 'flop'
+ , flo: 'flop'
+ , flop: 'flop'
+ , fol: 'folding'
+ , fold: 'folding'
+ , foldi: 'folding'
+ , foldin: 'folding'
+ , folding: 'folding'
+ , foo: 'foo'
+ , fool: 'fool'
+ }
+
+This is handy for command-line scripts, or other cases where you want to be able to accept shorthands.
diff --git a/node_modules/abbrev/abbrev.js b/node_modules/abbrev/abbrev.js
new file mode 100644
index 0000000..7b1dc5d
--- /dev/null
+++ b/node_modules/abbrev/abbrev.js
@@ -0,0 +1,61 @@
+module.exports = exports = abbrev.abbrev = abbrev
+
+abbrev.monkeyPatch = monkeyPatch
+
+function monkeyPatch () {
+ Object.defineProperty(Array.prototype, 'abbrev', {
+ value: function () { return abbrev(this) },
+ enumerable: false, configurable: true, writable: true
+ })
+
+ Object.defineProperty(Object.prototype, 'abbrev', {
+ value: function () { return abbrev(Object.keys(this)) },
+ enumerable: false, configurable: true, writable: true
+ })
+}
+
+function abbrev (list) {
+ if (arguments.length !== 1 || !Array.isArray(list)) {
+ list = Array.prototype.slice.call(arguments, 0)
+ }
+ for (var i = 0, l = list.length, args = [] ; i < l ; i ++) {
+ args[i] = typeof list[i] === "string" ? list[i] : String(list[i])
+ }
+
+ // sort them lexicographically, so that they're next to their nearest kin
+ args = args.sort(lexSort)
+
+ // walk through each, seeing how much it has in common with the next and previous
+ var abbrevs = {}
+ , prev = ""
+ for (var i = 0, l = args.length ; i < l ; i ++) {
+ var current = args[i]
+ , next = args[i + 1] || ""
+ , nextMatches = true
+ , prevMatches = true
+ if (current === next) continue
+ for (var j = 0, cl = current.length ; j < cl ; j ++) {
+ var curChar = current.charAt(j)
+ nextMatches = nextMatches && curChar === next.charAt(j)
+ prevMatches = prevMatches && curChar === prev.charAt(j)
+ if (!nextMatches && !prevMatches) {
+ j ++
+ break
+ }
+ }
+ prev = current
+ if (j === cl) {
+ abbrevs[current] = current
+ continue
+ }
+ for (var a = current.substr(0, j) ; j <= cl ; j ++) {
+ abbrevs[a] = current
+ a += current.charAt(j)
+ }
+ }
+ return abbrevs
+}
+
+function lexSort (a, b) {
+ return a === b ? 0 : a > b ? 1 : -1
+}
diff --git a/node_modules/abbrev/package.json b/node_modules/abbrev/package.json
new file mode 100644
index 0000000..cd53f39
--- /dev/null
+++ b/node_modules/abbrev/package.json
@@ -0,0 +1,56 @@
+{
+ "_from": "abbrev@1",
+ "_id": "abbrev@1.1.1",
+ "_inBundle": false,
+ "_integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
+ "_location": "/abbrev",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "range",
+ "registry": true,
+ "raw": "abbrev@1",
+ "name": "abbrev",
+ "escapedName": "abbrev",
+ "rawSpec": "1",
+ "saveSpec": null,
+ "fetchSpec": "1"
+ },
+ "_requiredBy": [
+ "/nopt"
+ ],
+ "_resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
+ "_shasum": "f8f2c887ad10bf67f634f005b6987fed3179aac8",
+ "_spec": "abbrev@1",
+ "_where": "C:\\Users\\Futil\\AppData\\Local\\FoundryVTT\\Data\\systems\\mothership\\node_modules\\nopt",
+ "author": {
+ "name": "Isaac Z. Schlueter",
+ "email": "i@izs.me"
+ },
+ "bugs": {
+ "url": "https://github.com/isaacs/abbrev-js/issues"
+ },
+ "bundleDependencies": false,
+ "deprecated": false,
+ "description": "Like ruby's abbrev module, but in js",
+ "devDependencies": {
+ "tap": "^10.1"
+ },
+ "files": [
+ "abbrev.js"
+ ],
+ "homepage": "https://github.com/isaacs/abbrev-js#readme",
+ "license": "ISC",
+ "main": "abbrev.js",
+ "name": "abbrev",
+ "repository": {
+ "type": "git",
+ "url": "git+ssh://git@github.com/isaacs/abbrev-js.git"
+ },
+ "scripts": {
+ "postpublish": "git push origin --all; git push origin --tags",
+ "postversion": "npm publish",
+ "preversion": "npm test",
+ "test": "tap test.js --100"
+ },
+ "version": "1.1.1"
+}
diff --git a/node_modules/acorn/AUTHORS b/node_modules/acorn/AUTHORS
new file mode 100644
index 0000000..c5ac22c
--- /dev/null
+++ b/node_modules/acorn/AUTHORS
@@ -0,0 +1,79 @@
+List of Acorn contributors. Updated before every release.
+
+Adrian Heine
+Adrian Rakovsky
+Alistair Braidwood
+Amila Welihinda
+Andres Suarez
+Angelo
+Aparajita Fishman
+Arian Stolwijk
+Artem Govorov
+Boopesh Mahendran
+Bradley Heinz
+Brandon Mills
+Charles Hughes
+Charmander
+Chris McKnight
+Conrad Irwin
+Daniel Tschinder
+David Bonnet
+Domenico Matteo
+ehmicky
+Eugene Obrezkov
+Felix Maier
+Forbes Lindesay
+Gilad Peleg
+impinball
+Ingvar Stepanyan
+Jackson Ray Hamilton
+Jesse McCarthy
+Jiaxing Wang
+Joel Kemp
+Johannes Herr
+John-David Dalton
+Jordan Klassen
+Jürg Lehni
+Kai Cataldo
+keeyipchan
+Keheliya Gallaba
+Kevin Irish
+Kevin Kwok
+krator
+laosb
+luckyzeng
+Marek
+Marijn Haverbeke
+Martin Carlberg
+Mat Garcia
+Mathias Bynens
+Mathieu 'p01' Henri
+Matthew Bastien
+Max Schaefer
+Max Zerzouri
+Mihai Bazon
+Mike Rennie
+naoh
+Nicholas C. Zakas
+Nick Fitzgerald
+Olivier Thomann
+Oskar Schöldström
+Paul Harper
+Peter Rust
+PlNG
+Prayag Verma
+ReadmeCritic
+r-e-d
+Renée Kooi
+Richard Gibson
+Rich Harris
+Sebastian McKenzie
+Shahar Soel
+Sheel Bedi
+Simen Bekkhus
+Teddy Katz
+Timothy Gu
+Toru Nagashima
+Victor Homyakov
+Wexpo Lyu
+zsjforcn
diff --git a/node_modules/acorn/CHANGELOG.md b/node_modules/acorn/CHANGELOG.md
new file mode 100644
index 0000000..226c154
--- /dev/null
+++ b/node_modules/acorn/CHANGELOG.md
@@ -0,0 +1,508 @@
+## 5.7.3 (2018-09-10)
+
+### Bug fixes
+
+Fix failure to tokenize regexps after expressions like `x.of`.
+
+Better error message for unterminated template literals.
+
+## 5.7.2 (2018-08-24)
+
+### Bug fixes
+
+Properly handle `allowAwaitOutsideFunction` in for statements.
+
+Treat function declarations at the top level of modules like let bindings.
+
+Don't allow async function declarations as the only statement under a label.
+
+## 5.7.1 (2018-06-15)
+
+### Bug fixes
+
+Make sure the walker and bin files are rebuilt on release (the previous release didn't get the up-to-date versions).
+
+## 5.7.0 (2018-06-15)
+
+### Bug fixes
+
+Fix crash in walker when walking a binding-less catch node.
+
+### New features
+
+Upgraded to Unicode 11.
+
+## 5.6.2 (2018-06-05)
+
+### Bug fixes
+
+In the walker, go back to allowing the `baseVisitor` argument to be null to default to the default base everywhere.
+
+## 5.6.1 (2018-06-01)
+
+### Bug fixes
+
+Fix regression when passing `null` as fourth argument to `walk.recursive`.
+
+## 5.6.0 (2018-05-31)
+
+### Bug fixes
+
+Fix a bug in the walker that caused a crash when walking an object pattern spread.
+
+### New features
+
+Allow U+2028 and U+2029 in string when ECMAVersion >= 10.
+
+Allow binding-less catch statements when ECMAVersion >= 10.
+
+Add `allowAwaitOutsideFunction` option for parsing top-level `await`.
+
+## 5.5.3 (2018-03-08)
+
+### Bug fixes
+
+A _second_ republish of the code in 5.5.1, this time with yarn, to hopefully get valid timestamps.
+
+## 5.5.2 (2018-03-08)
+
+### Bug fixes
+
+A republish of the code in 5.5.1 in an attempt to solve an issue with the file timestamps in the npm package being 0.
+
+## 5.5.1 (2018-03-06)
+
+### Bug fixes
+
+Fix regression in walker causing property values in object patterns to be walked as expressions.
+
+Fix misleading error message for octal escapes in template strings.
+
+## 5.5.0 (2018-02-27)
+
+### Bug fixes
+
+Support object spread in the AST walker.
+
+### New features
+
+The identifier character categorization is now based on Unicode version 10.
+
+Acorn will now validate the content of regular expressions, including new ES9 features.
+
+## 5.4.1 (2018-02-02)
+
+### Bug fixes
+
+5.4.0 somehow accidentally included an old version of walk.js.
+
+## 5.4.0 (2018-02-01)
+
+### Bug fixes
+
+Disallow duplicate or escaped flags on regular expressions.
+
+Disallow octal escapes in strings in strict mode.
+
+### New features
+
+Add support for async iteration.
+
+Add support for object spread and rest.
+
+## 5.3.0 (2017-12-28)
+
+### Bug fixes
+
+Fix parsing of floating point literals with leading zeroes in loose mode.
+
+Allow duplicate property names in object patterns.
+
+Don't allow static class methods named `prototype`.
+
+Disallow async functions directly under `if` or `else`.
+
+Parse right-hand-side of `for`/`of` as an assignment expression.
+
+Stricter parsing of `for`/`in`.
+
+Don't allow unicode escapes in contextual keywords.
+
+### New features
+
+Parsing class members was factored into smaller methods to allow plugins to hook into it.
+
+## 5.2.1 (2017-10-30)
+
+### Bug fixes
+
+Fix a token context corruption bug.
+
+## 5.2.0 (2017-10-30)
+
+### Bug fixes
+
+Fix token context tracking for `class` and `function` in property-name position.
+
+Make sure `%*` isn't parsed as a valid operator.
+
+The `full` and `fullAncestor` walkers no longer visit nodes multiple times.
+
+Allow shorthand properties `get` and `set` to be followed by default values.
+
+Disallow `super` when not in callee or object position.
+
+### New features
+
+Support [`directive` property](https://github.com/estree/estree/compare/b3de58c9997504d6fba04b72f76e6dd1619ee4eb...1da8e603237144f44710360f8feb7a9977e905e0) on directive expression statements.
+
+## 5.1.2 (2017-09-04)
+
+### Bug fixes
+
+Disable parsing of legacy HTML-style comments in modules.
+
+Fix parsing of async methods whose names are keywords.
+
+## 5.1.1 (2017-07-06)
+
+### Bug fixes
+
+Fix problem with disambiguating regexp and division after a class.
+
+## 5.1.0 (2017-07-05)
+
+### Bug fixes
+
+Fix tokenizing of regexps in an object-desctructuring `for`/`of` loop and after `yield`.
+
+Parse zero-prefixed numbers with non-octal digits as decimal.
+
+Allow object/array patterns in rest parameters.
+
+Don't error when `yield` is used as a property name.
+
+Allow `async` as a shorthand object property.
+
+Make the ES module version of the loose parser actually work.
+
+### New features
+
+Implement the [template literal revision proposal](https://github.com/tc39/proposal-template-literal-revision) for ES9.
+
+New walker functions `full` and `fullAncestor`.
+
+## 5.0.3 (2017-04-01)
+
+### Bug fixes
+
+Fix spurious duplicate variable definition errors for named functions.
+
+## 5.0.2 (2017-03-30)
+
+### Bug fixes
+
+A binary operator after a parenthesized arrow expression is no longer incorrectly treated as an error.
+
+## 5.0.0 (2017-03-28)
+
+### Bug fixes
+
+Raise an error for duplicated lexical bindings.
+
+Fix spurious error when an assignement expression occurred after a spread expression.
+
+Accept regular expressions after `of` (in `for`/`of`), `yield` (in a generator), and braced arrow functions.
+
+Allow labels in front or `var` declarations, even in strict mode.
+
+### Breaking changes
+
+Parse declarations following `export default` as declaration nodes, not expressions. This means that class and function declarations nodes can now have `null` as their `id`.
+
+## 4.0.11 (2017-02-07)
+
+### Bug fixes
+
+Allow all forms of member expressions to be parenthesized as lvalue.
+
+## 4.0.10 (2017-02-07)
+
+### Bug fixes
+
+Don't expect semicolons after default-exported functions or classes,
+even when they are expressions.
+
+Check for use of `'use strict'` directives in non-simple parameter
+functions, even when already in strict mode.
+
+## 4.0.9 (2017-02-06)
+
+### Bug fixes
+
+Fix incorrect error raised for parenthesized simple assignment
+targets, so that `(x) = 1` parses again.
+
+## 4.0.8 (2017-02-03)
+
+### Bug fixes
+
+Solve spurious parenthesized pattern errors by temporarily erring on
+the side of accepting programs that our delayed errors don't handle
+correctly yet.
+
+## 4.0.7 (2017-02-02)
+
+### Bug fixes
+
+Accept invalidly rejected code like `(x).y = 2` again.
+
+Don't raise an error when a function _inside_ strict code has a
+non-simple parameter list.
+
+## 4.0.6 (2017-02-02)
+
+### Bug fixes
+
+Fix exponential behavior (manifesting itself as a complete hang for
+even relatively small source files) introduced by the new 'use strict'
+check.
+
+## 4.0.5 (2017-02-02)
+
+### Bug fixes
+
+Disallow parenthesized pattern expressions.
+
+Allow keywords as export names.
+
+Don't allow the `async` keyword to be parenthesized.
+
+Properly raise an error when a keyword contains a character escape.
+
+Allow `"use strict"` to appear after other string literal expressions.
+
+Disallow labeled declarations.
+
+## 4.0.4 (2016-12-19)
+
+### Bug fixes
+
+Fix issue with loading acorn_loose.js with an AMD loader.
+
+Fix crash when `export` was followed by a keyword that can't be
+exported.
+
+## 4.0.3 (2016-08-16)
+
+### Bug fixes
+
+Allow regular function declarations inside single-statement `if`
+branches in loose mode. Forbid them entirely in strict mode.
+
+Properly parse properties named `async` in ES2017 mode.
+
+Fix bug where reserved words were broken in ES2017 mode.
+
+## 4.0.2 (2016-08-11)
+
+### Bug fixes
+
+Don't ignore period or 'e' characters after octal numbers.
+
+Fix broken parsing for call expressions in default parameter values
+of arrow functions.
+
+## 4.0.1 (2016-08-08)
+
+### Bug fixes
+
+Fix false positives in duplicated export name errors.
+
+## 4.0.0 (2016-08-07)
+
+### Breaking changes
+
+The default `ecmaVersion` option value is now 7.
+
+A number of internal method signatures changed, so plugins might need
+to be updated.
+
+### Bug fixes
+
+The parser now raises errors on duplicated export names.
+
+`arguments` and `eval` can now be used in shorthand properties.
+
+Duplicate parameter names in non-simple argument lists now always
+produce an error.
+
+### New features
+
+The `ecmaVersion` option now also accepts year-style version numbers
+(2015, etc).
+
+Support for `async`/`await` syntax when `ecmaVersion` is >= 8.
+
+Support for trailing commas in call expressions when `ecmaVersion`
+is >= 8.
+
+## 3.3.0 (2016-07-25)
+
+### Bug fixes
+
+Fix bug in tokenizing of regexp operator after a function declaration.
+
+Fix parser crash when parsing an array pattern with a hole.
+
+### New features
+
+Implement check against complex argument lists in functions that
+enable strict mode in ES7.
+
+## 3.2.0 (2016-06-07)
+
+### Bug fixes
+
+Improve handling of lack of unicode regexp support in host
+environment.
+
+Properly reject shorthand properties whose name is a keyword.
+
+Don't crash when the loose parser is called without options object.
+
+### New features
+
+Visitors created with `visit.make` now have their base as _prototype_,
+rather than copying properties into a fresh object.
+
+Make it possible to use `visit.ancestor` with a walk state.
+
+## 3.1.0 (2016-04-18)
+
+### Bug fixes
+
+Fix issue where the loose parser created invalid TemplateElement nodes
+for unclosed template literals.
+
+Properly tokenize the division operator directly after a function
+expression.
+
+Allow trailing comma in destructuring arrays.
+
+### New features
+
+The walker now allows defining handlers for `CatchClause` nodes.
+
+## 3.0.4 (2016-02-25)
+
+### Fixes
+
+Allow update expressions as left-hand-side of the ES7 exponential
+operator.
+
+## 3.0.2 (2016-02-10)
+
+### Fixes
+
+Fix bug that accidentally made `undefined` a reserved word when
+parsing ES7.
+
+## 3.0.0 (2016-02-10)
+
+### Breaking changes
+
+The default value of the `ecmaVersion` option is now 6 (used to be 5).
+
+Support for comprehension syntax (which was dropped from the draft
+spec) has been removed.
+
+### Fixes
+
+`let` and `yield` are now “contextual keywords”, meaning you can
+mostly use them as identifiers in ES5 non-strict code.
+
+A parenthesized class or function expression after `export default` is
+now parsed correctly.
+
+### New features
+
+When `ecmaVersion` is set to 7, Acorn will parse the exponentiation
+operator (`**`).
+
+The identifier character ranges are now based on Unicode 8.0.0.
+
+Plugins can now override the `raiseRecoverable` method to override the
+way non-critical errors are handled.
+
+## 2.7.0 (2016-01-04)
+
+### Fixes
+
+Stop allowing rest parameters in setters.
+
+Make sure the loose parser always attaches a `local` property to
+`ImportNamespaceSpecifier` nodes.
+
+Disallow `y` rexexp flag in ES5.
+
+Disallow `\00` and `\000` escapes in strict mode.
+
+Raise an error when an import name is a reserved word.
+
+## 2.6.4 (2015-11-12)
+
+### Fixes
+
+Fix crash in loose parser when parsing invalid object pattern.
+
+### New features
+
+Support plugins in the loose parser.
+
+## 2.6.2 (2015-11-10)
+
+### Fixes
+
+Don't crash when no options object is passed.
+
+## 2.6.0 (2015-11-09)
+
+### Fixes
+
+Add `await` as a reserved word in module sources.
+
+Disallow `yield` in a parameter default value for a generator.
+
+Forbid using a comma after a rest pattern in an array destructuring.
+
+### New features
+
+Support parsing stdin in command-line tool.
+
+## 2.5.2 (2015-10-27)
+
+### Fixes
+
+Fix bug where the walker walked an exported `let` statement as an
+expression.
+
+## 2.5.0 (2015-10-27)
+
+### Fixes
+
+Fix tokenizer support in the command-line tool.
+
+In the loose parser, don't allow non-string-literals as import
+sources.
+
+Stop allowing `new.target` outside of functions.
+
+Remove legacy `guard` and `guardedHandler` properties from try nodes.
+
+Stop allowing multiple `__proto__` properties on an object literal in
+strict mode.
+
+Don't allow rest parameters to be non-identifier patterns.
+
+Check for duplicate paramter names in arrow functions.
diff --git a/node_modules/acorn/LICENSE b/node_modules/acorn/LICENSE
new file mode 100644
index 0000000..2c0632b
--- /dev/null
+++ b/node_modules/acorn/LICENSE
@@ -0,0 +1,19 @@
+Copyright (C) 2012-2018 by various contributors (see AUTHORS)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/node_modules/acorn/README.md b/node_modules/acorn/README.md
new file mode 100644
index 0000000..de53f51
--- /dev/null
+++ b/node_modules/acorn/README.md
@@ -0,0 +1,467 @@
+# Acorn
+
+[](https://travis-ci.org/acornjs/acorn)
+[](https://www.npmjs.com/package/acorn)
+[](https://cdnjs.com/libraries/acorn)
+[Author funding status: ](https://marijnhaverbeke.nl/fund/)
+
+A tiny, fast JavaScript parser, written completely in JavaScript.
+
+## Community
+
+Acorn is open source software released under an
+[MIT license](https://github.com/acornjs/acorn/blob/master/LICENSE).
+
+You are welcome to
+[report bugs](https://github.com/acornjs/acorn/issues) or create pull
+requests on [github](https://github.com/acornjs/acorn). For questions
+and discussion, please use the
+[Tern discussion forum](https://discuss.ternjs.net).
+
+## Installation
+
+The easiest way to install acorn is with [`npm`][npm].
+
+[npm]: https://www.npmjs.com/
+
+```sh
+npm install acorn
+```
+
+Alternately, you can download the source and build acorn yourself:
+
+```sh
+git clone https://github.com/acornjs/acorn.git
+cd acorn
+npm install
+npm run build
+```
+
+## Components
+
+When run in a CommonJS (node.js) or AMD environment, exported values
+appear in the interfaces exposed by the individual files, as usual.
+When loaded in the browser (Acorn works in any JS-enabled browser more
+recent than IE5) without any kind of module management, a single
+global object `acorn` will be defined, and all the exported properties
+will be added to that.
+
+### Main parser
+
+This is implemented in `dist/acorn.js`, and is what you get when you
+`require("acorn")` in node.js.
+
+**parse**`(input, options)` is used to parse a JavaScript program.
+The `input` parameter is a string, `options` can be undefined or an
+object setting some of the options listed below. The return value will
+be an abstract syntax tree object as specified by the
+[ESTree spec][estree].
+
+When encountering a syntax error, the parser will raise a
+`SyntaxError` object with a meaningful message. The error object will
+have a `pos` property that indicates the character offset at which the
+error occurred, and a `loc` object that contains a `{line, column}`
+object referring to that same position.
+
+[estree]: https://github.com/estree/estree
+
+- **ecmaVersion**: Indicates the ECMAScript version to parse. Must be
+ either 3, 5, 6 (2015), 7 (2016), 8 (2017), 9 (2018) or 10 (2019, partial
+ support). This influences support for strict mode, the set of
+ reserved words, and support for new syntax features. Default is 7.
+
+ **NOTE**: Only 'stage 4' (finalized) ECMAScript features are being
+ implemented by Acorn.
+
+- **sourceType**: Indicate the mode the code should be parsed in. Can be
+ either `"script"` or `"module"`. This influences global strict mode
+ and parsing of `import` and `export` declarations.
+
+- **onInsertedSemicolon**: If given a callback, that callback will be
+ called whenever a missing semicolon is inserted by the parser. The
+ callback will be given the character offset of the point where the
+ semicolon is inserted as argument, and if `locations` is on, also a
+ `{line, column}` object representing this position.
+
+- **onTrailingComma**: Like `onInsertedSemicolon`, but for trailing
+ commas.
+
+- **allowReserved**: If `false`, using a reserved word will generate
+ an error. Defaults to `true` for `ecmaVersion` 3, `false` for higher
+ versions. When given the value `"never"`, reserved words and
+ keywords can also not be used as property names (as in Internet
+ Explorer's old parser).
+
+- **allowReturnOutsideFunction**: By default, a return statement at
+ the top level raises an error. Set this to `true` to accept such
+ code.
+
+- **allowImportExportEverywhere**: By default, `import` and `export`
+ declarations can only appear at a program's top level. Setting this
+ option to `true` allows them anywhere where a statement is allowed.
+
+- **allowAwaitOutsideFunction**: By default, `await` expressions can only appear inside `async` functions. Setting this option to `true` allows to have top-level `await` expressions. They are still not allowed in non-`async` functions, though.
+
+- **allowHashBang**: When this is enabled (off by default), if the
+ code starts with the characters `#!` (as in a shellscript), the
+ first line will be treated as a comment.
+
+- **locations**: When `true`, each node has a `loc` object attached
+ with `start` and `end` subobjects, each of which contains the
+ one-based line and zero-based column numbers in `{line, column}`
+ form. Default is `false`.
+
+- **onToken**: If a function is passed for this option, each found
+ token will be passed in same format as tokens returned from
+ `tokenizer().getToken()`.
+
+ If array is passed, each found token is pushed to it.
+
+ Note that you are not allowed to call the parser from the
+ callback—that will corrupt its internal state.
+
+- **onComment**: If a function is passed for this option, whenever a
+ comment is encountered the function will be called with the
+ following parameters:
+
+ - `block`: `true` if the comment is a block comment, false if it
+ is a line comment.
+ - `text`: The content of the comment.
+ - `start`: Character offset of the start of the comment.
+ - `end`: Character offset of the end of the comment.
+
+ When the `locations` options is on, the `{line, column}` locations
+ of the comment’s start and end are passed as two additional
+ parameters.
+
+ If array is passed for this option, each found comment is pushed
+ to it as object in Esprima format:
+
+ ```javascript
+ {
+ "type": "Line" | "Block",
+ "value": "comment text",
+ "start": Number,
+ "end": Number,
+ // If `locations` option is on:
+ "loc": {
+ "start": {line: Number, column: Number}
+ "end": {line: Number, column: Number}
+ },
+ // If `ranges` option is on:
+ "range": [Number, Number]
+ }
+ ```
+
+ Note that you are not allowed to call the parser from the
+ callback—that will corrupt its internal state.
+
+- **ranges**: Nodes have their start and end characters offsets
+ recorded in `start` and `end` properties (directly on the node,
+ rather than the `loc` object, which holds line/column data. To also
+ add a [semi-standardized][range] `range` property holding a
+ `[start, end]` array with the same numbers, set the `ranges` option
+ to `true`.
+
+- **program**: It is possible to parse multiple files into a single
+ AST by passing the tree produced by parsing the first file as the
+ `program` option in subsequent parses. This will add the toplevel
+ forms of the parsed file to the "Program" (top) node of an existing
+ parse tree.
+
+- **sourceFile**: When the `locations` option is `true`, you can pass
+ this option to add a `source` attribute in every node’s `loc`
+ object. Note that the contents of this option are not examined or
+ processed in any way; you are free to use whatever format you
+ choose.
+
+- **directSourceFile**: Like `sourceFile`, but a `sourceFile` property
+ will be added (regardless of the `location` option) directly to the
+ nodes, rather than the `loc` object.
+
+- **preserveParens**: If this option is `true`, parenthesized expressions
+ are represented by (non-standard) `ParenthesizedExpression` nodes
+ that have a single `expression` property containing the expression
+ inside parentheses.
+
+[range]: https://bugzilla.mozilla.org/show_bug.cgi?id=745678
+
+**parseExpressionAt**`(input, offset, options)` will parse a single
+expression in a string, and return its AST. It will not complain if
+there is more of the string left after the expression.
+
+**getLineInfo**`(input, offset)` can be used to get a `{line,
+column}` object for a given program string and character offset.
+
+**tokenizer**`(input, options)` returns an object with a `getToken`
+method that can be called repeatedly to get the next token, a `{start,
+end, type, value}` object (with added `loc` property when the
+`locations` option is enabled and `range` property when the `ranges`
+option is enabled). When the token's type is `tokTypes.eof`, you
+should stop calling the method, since it will keep returning that same
+token forever.
+
+In ES6 environment, returned result can be used as any other
+protocol-compliant iterable:
+
+```javascript
+for (let token of acorn.tokenizer(str)) {
+ // iterate over the tokens
+}
+
+// transform code to array of tokens:
+var tokens = [...acorn.tokenizer(str)];
+```
+
+**tokTypes** holds an object mapping names to the token type objects
+that end up in the `type` properties of tokens.
+
+#### Note on using with [Escodegen][escodegen]
+
+Escodegen supports generating comments from AST, attached in
+Esprima-specific format. In order to simulate same format in
+Acorn, consider following example:
+
+```javascript
+var comments = [], tokens = [];
+
+var ast = acorn.parse('var x = 42; // answer', {
+ // collect ranges for each node
+ ranges: true,
+ // collect comments in Esprima's format
+ onComment: comments,
+ // collect token ranges
+ onToken: tokens
+});
+
+// attach comments using collected information
+escodegen.attachComments(ast, comments, tokens);
+
+// generate code
+console.log(escodegen.generate(ast, {comment: true}));
+// > 'var x = 42; // answer'
+```
+
+[escodegen]: https://github.com/estools/escodegen
+
+### dist/acorn_loose.js ###
+
+This file implements an error-tolerant parser. It exposes a single
+function. The loose parser is accessible in node.js via `require("acorn/dist/acorn_loose")`.
+
+**parse_dammit**`(input, options)` takes the same arguments and
+returns the same syntax tree as the `parse` function in `acorn.js`,
+but never raises an error, and will do its best to parse syntactically
+invalid code in as meaningful a way as it can. It'll insert identifier
+nodes with name `"✖"` as placeholders in places where it can't make
+sense of the input. Depends on `acorn.js`, because it uses the same
+tokenizer.
+
+### dist/walk.js ###
+
+Implements an abstract syntax tree walker. Will store its interface in
+`acorn.walk` when loaded without a module system.
+
+**simple**`(node, visitors, base, state)` does a 'simple' walk over
+a tree. `node` should be the AST node to walk, and `visitors` an
+object with properties whose names correspond to node types in the
+[ESTree spec][estree]. The properties should contain functions
+that will be called with the node object and, if applicable the state
+at that point. The last two arguments are optional. `base` is a walker
+algorithm, and `state` is a start state. The default walker will
+simply visit all statements and expressions and not produce a
+meaningful state. (An example of a use of state is to track scope at
+each point in the tree.)
+
+```js
+const acorn = require("acorn")
+const walk = require("acorn/dist/walk")
+
+walk.simple(acorn.parse("let x = 10"), {
+ Literal(node) {
+ console.log(`Found a literal: ${node.value}`)
+ }
+})
+```
+
+**ancestor**`(node, visitors, base, state)` does a 'simple' walk over
+a tree, building up an array of ancestor nodes (including the current node)
+and passing the array to the callbacks as a third parameter.
+
+```js
+const acorn = require("acorn")
+const walk = require("acorn/dist/walk")
+
+walk.ancestor(acorn.parse("foo('hi')"), {
+ Literal(_, ancestors) {
+ console.log("This literal's ancestors are:",
+ ancestors.map(n => n.type))
+ }
+})
+```
+
+**recursive**`(node, state, functions, base)` does a 'recursive'
+walk, where the walker functions are responsible for continuing the
+walk on the child nodes of their target node. `state` is the start
+state, and `functions` should contain an object that maps node types
+to walker functions. Such functions are called with `(node, state, c)`
+arguments, and can cause the walk to continue on a sub-node by calling
+the `c` argument on it with `(node, state)` arguments. The optional
+`base` argument provides the fallback walker functions for node types
+that aren't handled in the `functions` object. If not given, the
+default walkers will be used.
+
+**make**`(functions, base)` builds a new walker object by using the
+walker functions in `functions` and filling in the missing ones by
+taking defaults from `base`.
+
+**full**`(node, callback, base, state)` does a 'full'
+walk over a tree, calling the callback with the arguments (node, state, type)
+for each node
+
+**fullAncestor**`(node, callback, base, state)` does a 'full' walk over
+a tree, building up an array of ancestor nodes (including the current node)
+and passing the array to the callbacks as a third parameter.
+
+```js
+const acorn = require("acorn")
+const walk = require("acorn/dist/walk")
+
+walk.full(acorn.parse("1 + 1"), node => {
+ console.log(`There's a ${node.type} node at ${node.ch}`)
+})
+```
+
+**findNodeAt**`(node, start, end, test, base, state)` tries to
+locate a node in a tree at the given start and/or end offsets, which
+satisfies the predicate `test`. `start` and `end` can be either `null`
+(as wildcard) or a number. `test` may be a string (indicating a node
+type) or a function that takes `(nodeType, node)` arguments and
+returns a boolean indicating whether this node is interesting. `base`
+and `state` are optional, and can be used to specify a custom walker.
+Nodes are tested from inner to outer, so if two nodes match the
+boundaries, the inner one will be preferred.
+
+**findNodeAround**`(node, pos, test, base, state)` is a lot like
+`findNodeAt`, but will match any node that exists 'around' (spanning)
+the given position.
+
+**findNodeAfter**`(node, pos, test, base, state)` is similar to
+`findNodeAround`, but will match all nodes *after* the given position
+(testing outer nodes before inner nodes).
+
+## Command line interface
+
+The `bin/acorn` utility can be used to parse a file from the command
+line. It accepts as arguments its input file and the following
+options:
+
+- `--ecma3|--ecma5|--ecma6|--ecma7|--ecma8|--ecma9|--ecma10`: Sets the ECMAScript version
+ to parse. Default is version 7.
+
+- `--module`: Sets the parsing mode to `"module"`. Is set to `"script"` otherwise.
+
+- `--locations`: Attaches a "loc" object to each node with "start" and
+ "end" subobjects, each of which contains the one-based line and
+ zero-based column numbers in `{line, column}` form.
+
+- `--allow-hash-bang`: If the code starts with the characters #! (as in a shellscript), the first line will be treated as a comment.
+
+- `--compact`: No whitespace is used in the AST output.
+
+- `--silent`: Do not output the AST, just return the exit status.
+
+- `--help`: Print the usage information and quit.
+
+The utility spits out the syntax tree as JSON data.
+
+## Build system
+
+Acorn is written in ECMAScript 6, as a set of small modules, in the
+project's `src` directory, and compiled down to bigger ECMAScript 3
+files in `dist` using [Browserify](http://browserify.org) and
+[Babel](http://babeljs.io/). If you are already using Babel, you can
+consider including the modules directly.
+
+The command-line test runner (`npm test`) uses the ES6 modules. The
+browser-based test page (`test/index.html`) uses the compiled modules.
+The `bin/build-acorn.js` script builds the latter from the former.
+
+If you are working on Acorn, you'll probably want to try the code out
+directly, without an intermediate build step. In your scripts, you can
+register the Babel require shim like this:
+
+ require("babel-core/register")
+
+That will allow you to directly `require` the ES6 modules.
+
+## Plugins
+
+Acorn is designed support allow plugins which, within reasonable
+bounds, redefine the way the parser works. Plugins can add new token
+types and new tokenizer contexts (if necessary), and extend methods in
+the parser object. This is not a clean, elegant API—using it requires
+an understanding of Acorn's internals, and plugins are likely to break
+whenever those internals are significantly changed. But still, it is
+_possible_, in this way, to create parsers for JavaScript dialects
+without forking all of Acorn. And in principle it is even possible to
+combine such plugins, so that if you have, for example, a plugin for
+parsing types and a plugin for parsing JSX-style XML literals, you
+could load them both and parse code with both JSX tags and types.
+
+A plugin should register itself by adding a property to
+`acorn.plugins`, which holds a function. Calling `acorn.parse`, a
+`plugins` option can be passed, holding an object mapping plugin names
+to configuration values (or just `true` for plugins that don't take
+options). After the parser object has been created, the initialization
+functions for the chosen plugins are called with `(parser,
+configValue)` arguments. They are expected to use the `parser.extend`
+method to extend parser methods. For example, the `readToken` method
+could be extended like this:
+
+```javascript
+parser.extend("readToken", function(nextMethod) {
+ return function(code) {
+ console.log("Reading a token!")
+ return nextMethod.call(this, code)
+ }
+})
+```
+
+The `nextMethod` argument passed to `extend`'s second argument is the
+previous value of this method, and should usually be called through to
+whenever the extended method does not handle the call itself.
+
+Similarly, the loose parser allows plugins to register themselves via
+`acorn.pluginsLoose`. The extension mechanism is the same as for the
+normal parser:
+
+```javascript
+looseParser.extend("readToken", function(nextMethod) {
+ return function() {
+ console.log("Reading a token in the loose parser!")
+ return nextMethod.call(this)
+ }
+})
+```
+
+### Existing plugins
+
+ - [`acorn-jsx`](https://github.com/RReverser/acorn-jsx): Parse [Facebook JSX syntax extensions](https://github.com/facebook/jsx)
+ - [`acorn-objj`](https://github.com/cappuccino/acorn-objj): [Objective-J](http://www.cappuccino-project.org/learn/objective-j.html) language parser built as Acorn plugin
+
+ Plugins for ECMAScript proposals:
+
+ - [`acorn-stage3`](https://github.com/acornjs/acorn-stage3): Parse most stage 3 proposals, bundling:
+ - [`acorn-async-iteration`](https://github.com/acornjs/acorn-async-iteration): Parse [async iteration proposal](https://github.com/tc39/proposal-async-iteration)
+ - [`acorn-bigint`](https://github.com/acornjs/acorn-bigint): Parse [BigInt proposal](https://github.com/tc39/proposal-bigint)
+ - [`acorn-class-fields`](https://github.com/acornjs/acorn-class-fields): Parse [class fields proposal](https://github.com/tc39/proposal-class-fields)
+ - [`acorn-dynamic-import`](https://github.com/kesne/acorn-dynamic-import): Parse [import() proposal](https://github.com/tc39/proposal-dynamic-import)
+ - [`acorn-import-meta`](https://github.com/acornjs/acorn-import-meta): Parse [import.meta proposal](https://github.com/tc39/proposal-import-meta)
+ - [`acorn-numeric-separator`](https://github.com/acornjs/acorn-numeric-separator): Parse [numeric separator proposal](https://github.com/tc39/proposal-numeric-separator)
+ - [`acorn-optional-catch-binding`](https://github.com/acornjs/acorn-optional-catch-binding): Parse [optional catch binding proposal](https://github.com/tc39/proposal-optional-catch-binding)
+ - [`acorn-private-methods`](https://github.com/acornjs/acorn-private-methods): parse [private methods, getters and setters proposal](https://github.com/tc39/proposal-private-methods)
+ - [`acorn5-object-spread`](https://github.com/adrianheine/acorn5-object-spread): Parse [Object Rest/Spread Properties proposal](https://github.com/tc39/proposal-object-rest-spread)
+ - [`acorn-object-rest-spread`](https://github.com/victor-homyakov/acorn-object-rest-spread): Parse [Object Rest/Spread Properties proposal](https://github.com/tc39/proposal-object-rest-spread)
+ - [`acorn-es7`](https://github.com/angelozerr/acorn-es7): Parse [decorator syntax proposal](https://github.com/wycats/javascript-decorators)
+ - [`acorn-static-class-property-initializer`](https://github.com/victor-homyakov/acorn-static-class-property-initializer): Partial support for static class properties from [ES Class Fields & Static Properties Proposal](https://github.com/tc39/proposal-class-public-fields) to support static property initializers in [React components written as ES6+ classes](https://babeljs.io/blog/2015/07/07/react-on-es6-plus)
diff --git a/node_modules/acorn/acorn-loose/dist/acorn-loose.js b/node_modules/acorn/acorn-loose/dist/acorn-loose.js
new file mode 100644
index 0000000..6652cb6
--- /dev/null
+++ b/node_modules/acorn/acorn-loose/dist/acorn-loose.js
@@ -0,0 +1,1372 @@
+(function (global, factory) {
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('acorn')) :
+ typeof define === 'function' && define.amd ? define(['exports', 'acorn'], factory) :
+ (global = global || self, factory((global.acorn = global.acorn || {}, global.acorn.loose = {}), global.acorn));
+}(this, function (exports, acorn) { 'use strict';
+
+ function noop() {}
+
+ var LooseParser = function LooseParser(input, options) {
+ if ( options === void 0 ) options = {};
+
+ this.toks = this.constructor.BaseParser.tokenizer(input, options);
+ this.options = this.toks.options;
+ this.input = this.toks.input;
+ this.tok = this.last = {type: acorn.tokTypes.eof, start: 0, end: 0};
+ this.tok.validateRegExpFlags = noop;
+ this.tok.validateRegExpPattern = noop;
+ if (this.options.locations) {
+ var here = this.toks.curPosition();
+ this.tok.loc = new acorn.SourceLocation(this.toks, here, here);
+ }
+ this.ahead = []; // Tokens ahead
+ this.context = []; // Indentation contexted
+ this.curIndent = 0;
+ this.curLineStart = 0;
+ this.nextLineStart = this.lineEnd(this.curLineStart) + 1;
+ this.inAsync = false;
+ this.inFunction = false;
+ };
+
+ LooseParser.prototype.startNode = function startNode () {
+ return new acorn.Node(this.toks, this.tok.start, this.options.locations ? this.tok.loc.start : null)
+ };
+
+ LooseParser.prototype.storeCurrentPos = function storeCurrentPos () {
+ return this.options.locations ? [this.tok.start, this.tok.loc.start] : this.tok.start
+ };
+
+ LooseParser.prototype.startNodeAt = function startNodeAt (pos) {
+ if (this.options.locations) {
+ return new acorn.Node(this.toks, pos[0], pos[1])
+ } else {
+ return new acorn.Node(this.toks, pos)
+ }
+ };
+
+ LooseParser.prototype.finishNode = function finishNode (node, type) {
+ node.type = type;
+ node.end = this.last.end;
+ if (this.options.locations)
+ { node.loc.end = this.last.loc.end; }
+ if (this.options.ranges)
+ { node.range[1] = this.last.end; }
+ return node
+ };
+
+ LooseParser.prototype.dummyNode = function dummyNode (type) {
+ var dummy = this.startNode();
+ dummy.type = type;
+ dummy.end = dummy.start;
+ if (this.options.locations)
+ { dummy.loc.end = dummy.loc.start; }
+ if (this.options.ranges)
+ { dummy.range[1] = dummy.start; }
+ this.last = {type: acorn.tokTypes.name, start: dummy.start, end: dummy.start, loc: dummy.loc};
+ return dummy
+ };
+
+ LooseParser.prototype.dummyIdent = function dummyIdent () {
+ var dummy = this.dummyNode("Identifier");
+ dummy.name = "✖";
+ return dummy
+ };
+
+ LooseParser.prototype.dummyString = function dummyString () {
+ var dummy = this.dummyNode("Literal");
+ dummy.value = dummy.raw = "✖";
+ return dummy
+ };
+
+ LooseParser.prototype.eat = function eat (type) {
+ if (this.tok.type === type) {
+ this.next();
+ return true
+ } else {
+ return false
+ }
+ };
+
+ LooseParser.prototype.isContextual = function isContextual (name) {
+ return this.tok.type === acorn.tokTypes.name && this.tok.value === name
+ };
+
+ LooseParser.prototype.eatContextual = function eatContextual (name) {
+ return this.tok.value === name && this.eat(acorn.tokTypes.name)
+ };
+
+ LooseParser.prototype.canInsertSemicolon = function canInsertSemicolon () {
+ return this.tok.type === acorn.tokTypes.eof || this.tok.type === acorn.tokTypes.braceR ||
+ acorn.lineBreak.test(this.input.slice(this.last.end, this.tok.start))
+ };
+
+ LooseParser.prototype.semicolon = function semicolon () {
+ return this.eat(acorn.tokTypes.semi)
+ };
+
+ LooseParser.prototype.expect = function expect (type) {
+ if (this.eat(type)) { return true }
+ for (var i = 1; i <= 2; i++) {
+ if (this.lookAhead(i).type === type) {
+ for (var j = 0; j < i; j++) { this.next(); }
+ return true
+ }
+ }
+ };
+
+ LooseParser.prototype.pushCx = function pushCx () {
+ this.context.push(this.curIndent);
+ };
+
+ LooseParser.prototype.popCx = function popCx () {
+ this.curIndent = this.context.pop();
+ };
+
+ LooseParser.prototype.lineEnd = function lineEnd (pos) {
+ while (pos < this.input.length && !acorn.isNewLine(this.input.charCodeAt(pos))) { ++pos; }
+ return pos
+ };
+
+ LooseParser.prototype.indentationAfter = function indentationAfter (pos) {
+ for (var count = 0;; ++pos) {
+ var ch = this.input.charCodeAt(pos);
+ if (ch === 32) { ++count; }
+ else if (ch === 9) { count += this.options.tabSize; }
+ else { return count }
+ }
+ };
+
+ LooseParser.prototype.closes = function closes (closeTok, indent, line, blockHeuristic) {
+ if (this.tok.type === closeTok || this.tok.type === acorn.tokTypes.eof) { return true }
+ return line !== this.curLineStart && this.curIndent < indent && this.tokenStartsLine() &&
+ (!blockHeuristic || this.nextLineStart >= this.input.length ||
+ this.indentationAfter(this.nextLineStart) < indent)
+ };
+
+ LooseParser.prototype.tokenStartsLine = function tokenStartsLine () {
+ for (var p = this.tok.start - 1; p >= this.curLineStart; --p) {
+ var ch = this.input.charCodeAt(p);
+ if (ch !== 9 && ch !== 32) { return false }
+ }
+ return true
+ };
+
+ LooseParser.prototype.extend = function extend (name, f) {
+ this[name] = f(this[name]);
+ };
+
+ LooseParser.prototype.parse = function parse () {
+ this.next();
+ return this.parseTopLevel()
+ };
+
+ LooseParser.extend = function extend () {
+ var plugins = [], len = arguments.length;
+ while ( len-- ) plugins[ len ] = arguments[ len ];
+
+ var cls = this;
+ for (var i = 0; i < plugins.length; i++) { cls = plugins[i](cls); }
+ return cls
+ };
+
+ LooseParser.parse = function parse (input, options) {
+ return new this(input, options).parse()
+ };
+
+ // Allows plugins to extend the base parser / tokenizer used
+ LooseParser.BaseParser = acorn.Parser;
+
+ var lp = LooseParser.prototype;
+
+ function isSpace(ch) {
+ return (ch < 14 && ch > 8) || ch === 32 || ch === 160 || acorn.isNewLine(ch)
+ }
+
+ lp.next = function() {
+ this.last = this.tok;
+ if (this.ahead.length)
+ { this.tok = this.ahead.shift(); }
+ else
+ { this.tok = this.readToken(); }
+
+ if (this.tok.start >= this.nextLineStart) {
+ while (this.tok.start >= this.nextLineStart) {
+ this.curLineStart = this.nextLineStart;
+ this.nextLineStart = this.lineEnd(this.curLineStart) + 1;
+ }
+ this.curIndent = this.indentationAfter(this.curLineStart);
+ }
+ };
+
+ lp.readToken = function() {
+ for (;;) {
+ try {
+ this.toks.next();
+ if (this.toks.type === acorn.tokTypes.dot &&
+ this.input.substr(this.toks.end, 1) === "." &&
+ this.options.ecmaVersion >= 6) {
+ this.toks.end++;
+ this.toks.type = acorn.tokTypes.ellipsis;
+ }
+ return new acorn.Token(this.toks)
+ } catch (e) {
+ if (!(e instanceof SyntaxError)) { throw e }
+
+ // Try to skip some text, based on the error message, and then continue
+ var msg = e.message, pos = e.raisedAt, replace = true;
+ if (/unterminated/i.test(msg)) {
+ pos = this.lineEnd(e.pos + 1);
+ if (/string/.test(msg)) {
+ replace = {start: e.pos, end: pos, type: acorn.tokTypes.string, value: this.input.slice(e.pos + 1, pos)};
+ } else if (/regular expr/i.test(msg)) {
+ var re = this.input.slice(e.pos, pos);
+ try { re = new RegExp(re); } catch (e) { /* ignore compilation error due to new syntax */ }
+ replace = {start: e.pos, end: pos, type: acorn.tokTypes.regexp, value: re};
+ } else if (/template/.test(msg)) {
+ replace = {
+ start: e.pos,
+ end: pos,
+ type: acorn.tokTypes.template,
+ value: this.input.slice(e.pos, pos)
+ };
+ } else {
+ replace = false;
+ }
+ } else if (/invalid (unicode|regexp|number)|expecting unicode|octal literal|is reserved|directly after number|expected number in radix/i.test(msg)) {
+ while (pos < this.input.length && !isSpace(this.input.charCodeAt(pos))) { ++pos; }
+ } else if (/character escape|expected hexadecimal/i.test(msg)) {
+ while (pos < this.input.length) {
+ var ch = this.input.charCodeAt(pos++);
+ if (ch === 34 || ch === 39 || acorn.isNewLine(ch)) { break }
+ }
+ } else if (/unexpected character/i.test(msg)) {
+ pos++;
+ replace = false;
+ } else if (/regular expression/i.test(msg)) {
+ replace = true;
+ } else {
+ throw e
+ }
+ this.resetTo(pos);
+ if (replace === true) { replace = {start: pos, end: pos, type: acorn.tokTypes.name, value: "✖"}; }
+ if (replace) {
+ if (this.options.locations)
+ { replace.loc = new acorn.SourceLocation(
+ this.toks,
+ acorn.getLineInfo(this.input, replace.start),
+ acorn.getLineInfo(this.input, replace.end)); }
+ return replace
+ }
+ }
+ }
+ };
+
+ lp.resetTo = function(pos) {
+ this.toks.pos = pos;
+ var ch = this.input.charAt(pos - 1);
+ this.toks.exprAllowed = !ch || /[[{(,;:?/*=+\-~!|&%^<>]/.test(ch) ||
+ /[enwfd]/.test(ch) &&
+ /\b(case|else|return|throw|new|in|(instance|type)?of|delete|void)$/.test(this.input.slice(pos - 10, pos));
+
+ if (this.options.locations) {
+ this.toks.curLine = 1;
+ this.toks.lineStart = acorn.lineBreakG.lastIndex = 0;
+ var match;
+ while ((match = acorn.lineBreakG.exec(this.input)) && match.index < pos) {
+ ++this.toks.curLine;
+ this.toks.lineStart = match.index + match[0].length;
+ }
+ }
+ };
+
+ lp.lookAhead = function(n) {
+ while (n > this.ahead.length)
+ { this.ahead.push(this.readToken()); }
+ return this.ahead[n - 1]
+ };
+
+ function isDummy(node) { return node.name === "✖" }
+
+ var lp$1 = LooseParser.prototype;
+
+ lp$1.parseTopLevel = function() {
+ var node = this.startNodeAt(this.options.locations ? [0, acorn.getLineInfo(this.input, 0)] : 0);
+ node.body = [];
+ while (this.tok.type !== acorn.tokTypes.eof) { node.body.push(this.parseStatement()); }
+ this.toks.adaptDirectivePrologue(node.body);
+ this.last = this.tok;
+ node.sourceType = this.options.sourceType;
+ return this.finishNode(node, "Program")
+ };
+
+ lp$1.parseStatement = function() {
+ var starttype = this.tok.type, node = this.startNode(), kind;
+
+ if (this.toks.isLet()) {
+ starttype = acorn.tokTypes._var;
+ kind = "let";
+ }
+
+ switch (starttype) {
+ case acorn.tokTypes._break: case acorn.tokTypes._continue:
+ this.next();
+ var isBreak = starttype === acorn.tokTypes._break;
+ if (this.semicolon() || this.canInsertSemicolon()) {
+ node.label = null;
+ } else {
+ node.label = this.tok.type === acorn.tokTypes.name ? this.parseIdent() : null;
+ this.semicolon();
+ }
+ return this.finishNode(node, isBreak ? "BreakStatement" : "ContinueStatement")
+
+ case acorn.tokTypes._debugger:
+ this.next();
+ this.semicolon();
+ return this.finishNode(node, "DebuggerStatement")
+
+ case acorn.tokTypes._do:
+ this.next();
+ node.body = this.parseStatement();
+ node.test = this.eat(acorn.tokTypes._while) ? this.parseParenExpression() : this.dummyIdent();
+ this.semicolon();
+ return this.finishNode(node, "DoWhileStatement")
+
+ case acorn.tokTypes._for:
+ this.next(); // `for` keyword
+ var isAwait = this.options.ecmaVersion >= 9 && this.inAsync && this.eatContextual("await");
+
+ this.pushCx();
+ this.expect(acorn.tokTypes.parenL);
+ if (this.tok.type === acorn.tokTypes.semi) { return this.parseFor(node, null) }
+ var isLet = this.toks.isLet();
+ if (isLet || this.tok.type === acorn.tokTypes._var || this.tok.type === acorn.tokTypes._const) {
+ var init$1 = this.parseVar(this.startNode(), true, isLet ? "let" : this.tok.value);
+ if (init$1.declarations.length === 1 && (this.tok.type === acorn.tokTypes._in || this.isContextual("of"))) {
+ if (this.options.ecmaVersion >= 9 && this.tok.type !== acorn.tokTypes._in) {
+ node.await = isAwait;
+ }
+ return this.parseForIn(node, init$1)
+ }
+ return this.parseFor(node, init$1)
+ }
+ var init = this.parseExpression(true);
+ if (this.tok.type === acorn.tokTypes._in || this.isContextual("of")) {
+ if (this.options.ecmaVersion >= 9 && this.tok.type !== acorn.tokTypes._in) {
+ node.await = isAwait;
+ }
+ return this.parseForIn(node, this.toAssignable(init))
+ }
+ return this.parseFor(node, init)
+
+ case acorn.tokTypes._function:
+ this.next();
+ return this.parseFunction(node, true)
+
+ case acorn.tokTypes._if:
+ this.next();
+ node.test = this.parseParenExpression();
+ node.consequent = this.parseStatement();
+ node.alternate = this.eat(acorn.tokTypes._else) ? this.parseStatement() : null;
+ return this.finishNode(node, "IfStatement")
+
+ case acorn.tokTypes._return:
+ this.next();
+ if (this.eat(acorn.tokTypes.semi) || this.canInsertSemicolon()) { node.argument = null; }
+ else { node.argument = this.parseExpression(); this.semicolon(); }
+ return this.finishNode(node, "ReturnStatement")
+
+ case acorn.tokTypes._switch:
+ var blockIndent = this.curIndent, line = this.curLineStart;
+ this.next();
+ node.discriminant = this.parseParenExpression();
+ node.cases = [];
+ this.pushCx();
+ this.expect(acorn.tokTypes.braceL);
+
+ var cur;
+ while (!this.closes(acorn.tokTypes.braceR, blockIndent, line, true)) {
+ if (this.tok.type === acorn.tokTypes._case || this.tok.type === acorn.tokTypes._default) {
+ var isCase = this.tok.type === acorn.tokTypes._case;
+ if (cur) { this.finishNode(cur, "SwitchCase"); }
+ node.cases.push(cur = this.startNode());
+ cur.consequent = [];
+ this.next();
+ if (isCase) { cur.test = this.parseExpression(); }
+ else { cur.test = null; }
+ this.expect(acorn.tokTypes.colon);
+ } else {
+ if (!cur) {
+ node.cases.push(cur = this.startNode());
+ cur.consequent = [];
+ cur.test = null;
+ }
+ cur.consequent.push(this.parseStatement());
+ }
+ }
+ if (cur) { this.finishNode(cur, "SwitchCase"); }
+ this.popCx();
+ this.eat(acorn.tokTypes.braceR);
+ return this.finishNode(node, "SwitchStatement")
+
+ case acorn.tokTypes._throw:
+ this.next();
+ node.argument = this.parseExpression();
+ this.semicolon();
+ return this.finishNode(node, "ThrowStatement")
+
+ case acorn.tokTypes._try:
+ this.next();
+ node.block = this.parseBlock();
+ node.handler = null;
+ if (this.tok.type === acorn.tokTypes._catch) {
+ var clause = this.startNode();
+ this.next();
+ if (this.eat(acorn.tokTypes.parenL)) {
+ clause.param = this.toAssignable(this.parseExprAtom(), true);
+ this.expect(acorn.tokTypes.parenR);
+ } else {
+ clause.param = null;
+ }
+ clause.body = this.parseBlock();
+ node.handler = this.finishNode(clause, "CatchClause");
+ }
+ node.finalizer = this.eat(acorn.tokTypes._finally) ? this.parseBlock() : null;
+ if (!node.handler && !node.finalizer) { return node.block }
+ return this.finishNode(node, "TryStatement")
+
+ case acorn.tokTypes._var:
+ case acorn.tokTypes._const:
+ return this.parseVar(node, false, kind || this.tok.value)
+
+ case acorn.tokTypes._while:
+ this.next();
+ node.test = this.parseParenExpression();
+ node.body = this.parseStatement();
+ return this.finishNode(node, "WhileStatement")
+
+ case acorn.tokTypes._with:
+ this.next();
+ node.object = this.parseParenExpression();
+ node.body = this.parseStatement();
+ return this.finishNode(node, "WithStatement")
+
+ case acorn.tokTypes.braceL:
+ return this.parseBlock()
+
+ case acorn.tokTypes.semi:
+ this.next();
+ return this.finishNode(node, "EmptyStatement")
+
+ case acorn.tokTypes._class:
+ return this.parseClass(true)
+
+ case acorn.tokTypes._import:
+ if (this.options.ecmaVersion > 10 && this.lookAhead(1).type === acorn.tokTypes.parenL) {
+ node.expression = this.parseExpression();
+ this.semicolon();
+ return this.finishNode(node, "ExpressionStatement")
+ }
+
+ return this.parseImport()
+
+ case acorn.tokTypes._export:
+ return this.parseExport()
+
+ default:
+ if (this.toks.isAsyncFunction()) {
+ this.next();
+ this.next();
+ return this.parseFunction(node, true, true)
+ }
+ var expr = this.parseExpression();
+ if (isDummy(expr)) {
+ this.next();
+ if (this.tok.type === acorn.tokTypes.eof) { return this.finishNode(node, "EmptyStatement") }
+ return this.parseStatement()
+ } else if (starttype === acorn.tokTypes.name && expr.type === "Identifier" && this.eat(acorn.tokTypes.colon)) {
+ node.body = this.parseStatement();
+ node.label = expr;
+ return this.finishNode(node, "LabeledStatement")
+ } else {
+ node.expression = expr;
+ this.semicolon();
+ return this.finishNode(node, "ExpressionStatement")
+ }
+ }
+ };
+
+ lp$1.parseBlock = function() {
+ var node = this.startNode();
+ this.pushCx();
+ this.expect(acorn.tokTypes.braceL);
+ var blockIndent = this.curIndent, line = this.curLineStart;
+ node.body = [];
+ while (!this.closes(acorn.tokTypes.braceR, blockIndent, line, true))
+ { node.body.push(this.parseStatement()); }
+ this.popCx();
+ this.eat(acorn.tokTypes.braceR);
+ return this.finishNode(node, "BlockStatement")
+ };
+
+ lp$1.parseFor = function(node, init) {
+ node.init = init;
+ node.test = node.update = null;
+ if (this.eat(acorn.tokTypes.semi) && this.tok.type !== acorn.tokTypes.semi) { node.test = this.parseExpression(); }
+ if (this.eat(acorn.tokTypes.semi) && this.tok.type !== acorn.tokTypes.parenR) { node.update = this.parseExpression(); }
+ this.popCx();
+ this.expect(acorn.tokTypes.parenR);
+ node.body = this.parseStatement();
+ return this.finishNode(node, "ForStatement")
+ };
+
+ lp$1.parseForIn = function(node, init) {
+ var type = this.tok.type === acorn.tokTypes._in ? "ForInStatement" : "ForOfStatement";
+ this.next();
+ node.left = init;
+ node.right = this.parseExpression();
+ this.popCx();
+ this.expect(acorn.tokTypes.parenR);
+ node.body = this.parseStatement();
+ return this.finishNode(node, type)
+ };
+
+ lp$1.parseVar = function(node, noIn, kind) {
+ node.kind = kind;
+ this.next();
+ node.declarations = [];
+ do {
+ var decl = this.startNode();
+ decl.id = this.options.ecmaVersion >= 6 ? this.toAssignable(this.parseExprAtom(), true) : this.parseIdent();
+ decl.init = this.eat(acorn.tokTypes.eq) ? this.parseMaybeAssign(noIn) : null;
+ node.declarations.push(this.finishNode(decl, "VariableDeclarator"));
+ } while (this.eat(acorn.tokTypes.comma))
+ if (!node.declarations.length) {
+ var decl$1 = this.startNode();
+ decl$1.id = this.dummyIdent();
+ node.declarations.push(this.finishNode(decl$1, "VariableDeclarator"));
+ }
+ if (!noIn) { this.semicolon(); }
+ return this.finishNode(node, "VariableDeclaration")
+ };
+
+ lp$1.parseClass = function(isStatement) {
+ var node = this.startNode();
+ this.next();
+ if (this.tok.type === acorn.tokTypes.name) { node.id = this.parseIdent(); }
+ else if (isStatement === true) { node.id = this.dummyIdent(); }
+ else { node.id = null; }
+ node.superClass = this.eat(acorn.tokTypes._extends) ? this.parseExpression() : null;
+ node.body = this.startNode();
+ node.body.body = [];
+ this.pushCx();
+ var indent = this.curIndent + 1, line = this.curLineStart;
+ this.eat(acorn.tokTypes.braceL);
+ if (this.curIndent + 1 < indent) { indent = this.curIndent; line = this.curLineStart; }
+ while (!this.closes(acorn.tokTypes.braceR, indent, line)) {
+ if (this.semicolon()) { continue }
+ var method = this.startNode(), isGenerator = (void 0), isAsync = (void 0);
+ if (this.options.ecmaVersion >= 6) {
+ method.static = false;
+ isGenerator = this.eat(acorn.tokTypes.star);
+ }
+ this.parsePropertyName(method);
+ if (isDummy(method.key)) { if (isDummy(this.parseMaybeAssign())) { this.next(); } this.eat(acorn.tokTypes.comma); continue }
+ if (method.key.type === "Identifier" && !method.computed && method.key.name === "static" &&
+ (this.tok.type !== acorn.tokTypes.parenL && this.tok.type !== acorn.tokTypes.braceL)) {
+ method.static = true;
+ isGenerator = this.eat(acorn.tokTypes.star);
+ this.parsePropertyName(method);
+ } else {
+ method.static = false;
+ }
+ if (!method.computed &&
+ method.key.type === "Identifier" && method.key.name === "async" && this.tok.type !== acorn.tokTypes.parenL &&
+ !this.canInsertSemicolon()) {
+ isAsync = true;
+ isGenerator = this.options.ecmaVersion >= 9 && this.eat(acorn.tokTypes.star);
+ this.parsePropertyName(method);
+ } else {
+ isAsync = false;
+ }
+ if (this.options.ecmaVersion >= 5 && method.key.type === "Identifier" &&
+ !method.computed && (method.key.name === "get" || method.key.name === "set") &&
+ this.tok.type !== acorn.tokTypes.parenL && this.tok.type !== acorn.tokTypes.braceL) {
+ method.kind = method.key.name;
+ this.parsePropertyName(method);
+ method.value = this.parseMethod(false);
+ } else {
+ if (!method.computed && !method.static && !isGenerator && !isAsync && (
+ method.key.type === "Identifier" && method.key.name === "constructor" ||
+ method.key.type === "Literal" && method.key.value === "constructor")) {
+ method.kind = "constructor";
+ } else {
+ method.kind = "method";
+ }
+ method.value = this.parseMethod(isGenerator, isAsync);
+ }
+ node.body.body.push(this.finishNode(method, "MethodDefinition"));
+ }
+ this.popCx();
+ if (!this.eat(acorn.tokTypes.braceR)) {
+ // If there is no closing brace, make the node span to the start
+ // of the next token (this is useful for Tern)
+ this.last.end = this.tok.start;
+ if (this.options.locations) { this.last.loc.end = this.tok.loc.start; }
+ }
+ this.semicolon();
+ this.finishNode(node.body, "ClassBody");
+ return this.finishNode(node, isStatement ? "ClassDeclaration" : "ClassExpression")
+ };
+
+ lp$1.parseFunction = function(node, isStatement, isAsync) {
+ var oldInAsync = this.inAsync, oldInFunction = this.inFunction;
+ this.initFunction(node);
+ if (this.options.ecmaVersion >= 6) {
+ node.generator = this.eat(acorn.tokTypes.star);
+ }
+ if (this.options.ecmaVersion >= 8) {
+ node.async = !!isAsync;
+ }
+ if (this.tok.type === acorn.tokTypes.name) { node.id = this.parseIdent(); }
+ else if (isStatement === true) { node.id = this.dummyIdent(); }
+ this.inAsync = node.async;
+ this.inFunction = true;
+ node.params = this.parseFunctionParams();
+ node.body = this.parseBlock();
+ this.toks.adaptDirectivePrologue(node.body.body);
+ this.inAsync = oldInAsync;
+ this.inFunction = oldInFunction;
+ return this.finishNode(node, isStatement ? "FunctionDeclaration" : "FunctionExpression")
+ };
+
+ lp$1.parseExport = function() {
+ var node = this.startNode();
+ this.next();
+ if (this.eat(acorn.tokTypes.star)) {
+ node.source = this.eatContextual("from") ? this.parseExprAtom() : this.dummyString();
+ return this.finishNode(node, "ExportAllDeclaration")
+ }
+ if (this.eat(acorn.tokTypes._default)) {
+ // export default (function foo() {}) // This is FunctionExpression.
+ var isAsync;
+ if (this.tok.type === acorn.tokTypes._function || (isAsync = this.toks.isAsyncFunction())) {
+ var fNode = this.startNode();
+ this.next();
+ if (isAsync) { this.next(); }
+ node.declaration = this.parseFunction(fNode, "nullableID", isAsync);
+ } else if (this.tok.type === acorn.tokTypes._class) {
+ node.declaration = this.parseClass("nullableID");
+ } else {
+ node.declaration = this.parseMaybeAssign();
+ this.semicolon();
+ }
+ return this.finishNode(node, "ExportDefaultDeclaration")
+ }
+ if (this.tok.type.keyword || this.toks.isLet() || this.toks.isAsyncFunction()) {
+ node.declaration = this.parseStatement();
+ node.specifiers = [];
+ node.source = null;
+ } else {
+ node.declaration = null;
+ node.specifiers = this.parseExportSpecifierList();
+ node.source = this.eatContextual("from") ? this.parseExprAtom() : null;
+ this.semicolon();
+ }
+ return this.finishNode(node, "ExportNamedDeclaration")
+ };
+
+ lp$1.parseImport = function() {
+ var node = this.startNode();
+ this.next();
+ if (this.tok.type === acorn.tokTypes.string) {
+ node.specifiers = [];
+ node.source = this.parseExprAtom();
+ } else {
+ var elt;
+ if (this.tok.type === acorn.tokTypes.name && this.tok.value !== "from") {
+ elt = this.startNode();
+ elt.local = this.parseIdent();
+ this.finishNode(elt, "ImportDefaultSpecifier");
+ this.eat(acorn.tokTypes.comma);
+ }
+ node.specifiers = this.parseImportSpecifiers();
+ node.source = this.eatContextual("from") && this.tok.type === acorn.tokTypes.string ? this.parseExprAtom() : this.dummyString();
+ if (elt) { node.specifiers.unshift(elt); }
+ }
+ this.semicolon();
+ return this.finishNode(node, "ImportDeclaration")
+ };
+
+ lp$1.parseImportSpecifiers = function() {
+ var elts = [];
+ if (this.tok.type === acorn.tokTypes.star) {
+ var elt = this.startNode();
+ this.next();
+ elt.local = this.eatContextual("as") ? this.parseIdent() : this.dummyIdent();
+ elts.push(this.finishNode(elt, "ImportNamespaceSpecifier"));
+ } else {
+ var indent = this.curIndent, line = this.curLineStart, continuedLine = this.nextLineStart;
+ this.pushCx();
+ this.eat(acorn.tokTypes.braceL);
+ if (this.curLineStart > continuedLine) { continuedLine = this.curLineStart; }
+ while (!this.closes(acorn.tokTypes.braceR, indent + (this.curLineStart <= continuedLine ? 1 : 0), line)) {
+ var elt$1 = this.startNode();
+ if (this.eat(acorn.tokTypes.star)) {
+ elt$1.local = this.eatContextual("as") ? this.parseIdent() : this.dummyIdent();
+ this.finishNode(elt$1, "ImportNamespaceSpecifier");
+ } else {
+ if (this.isContextual("from")) { break }
+ elt$1.imported = this.parseIdent();
+ if (isDummy(elt$1.imported)) { break }
+ elt$1.local = this.eatContextual("as") ? this.parseIdent() : elt$1.imported;
+ this.finishNode(elt$1, "ImportSpecifier");
+ }
+ elts.push(elt$1);
+ this.eat(acorn.tokTypes.comma);
+ }
+ this.eat(acorn.tokTypes.braceR);
+ this.popCx();
+ }
+ return elts
+ };
+
+ lp$1.parseExportSpecifierList = function() {
+ var elts = [];
+ var indent = this.curIndent, line = this.curLineStart, continuedLine = this.nextLineStart;
+ this.pushCx();
+ this.eat(acorn.tokTypes.braceL);
+ if (this.curLineStart > continuedLine) { continuedLine = this.curLineStart; }
+ while (!this.closes(acorn.tokTypes.braceR, indent + (this.curLineStart <= continuedLine ? 1 : 0), line)) {
+ if (this.isContextual("from")) { break }
+ var elt = this.startNode();
+ elt.local = this.parseIdent();
+ if (isDummy(elt.local)) { break }
+ elt.exported = this.eatContextual("as") ? this.parseIdent() : elt.local;
+ this.finishNode(elt, "ExportSpecifier");
+ elts.push(elt);
+ this.eat(acorn.tokTypes.comma);
+ }
+ this.eat(acorn.tokTypes.braceR);
+ this.popCx();
+ return elts
+ };
+
+ var lp$2 = LooseParser.prototype;
+
+ lp$2.checkLVal = function(expr) {
+ if (!expr) { return expr }
+ switch (expr.type) {
+ case "Identifier":
+ case "MemberExpression":
+ return expr
+
+ case "ParenthesizedExpression":
+ expr.expression = this.checkLVal(expr.expression);
+ return expr
+
+ default:
+ return this.dummyIdent()
+ }
+ };
+
+ lp$2.parseExpression = function(noIn) {
+ var start = this.storeCurrentPos();
+ var expr = this.parseMaybeAssign(noIn);
+ if (this.tok.type === acorn.tokTypes.comma) {
+ var node = this.startNodeAt(start);
+ node.expressions = [expr];
+ while (this.eat(acorn.tokTypes.comma)) { node.expressions.push(this.parseMaybeAssign(noIn)); }
+ return this.finishNode(node, "SequenceExpression")
+ }
+ return expr
+ };
+
+ lp$2.parseParenExpression = function() {
+ this.pushCx();
+ this.expect(acorn.tokTypes.parenL);
+ var val = this.parseExpression();
+ this.popCx();
+ this.expect(acorn.tokTypes.parenR);
+ return val
+ };
+
+ lp$2.parseMaybeAssign = function(noIn) {
+ if (this.toks.isContextual("yield")) {
+ var node = this.startNode();
+ this.next();
+ if (this.semicolon() || this.canInsertSemicolon() || (this.tok.type !== acorn.tokTypes.star && !this.tok.type.startsExpr)) {
+ node.delegate = false;
+ node.argument = null;
+ } else {
+ node.delegate = this.eat(acorn.tokTypes.star);
+ node.argument = this.parseMaybeAssign();
+ }
+ return this.finishNode(node, "YieldExpression")
+ }
+
+ var start = this.storeCurrentPos();
+ var left = this.parseMaybeConditional(noIn);
+ if (this.tok.type.isAssign) {
+ var node$1 = this.startNodeAt(start);
+ node$1.operator = this.tok.value;
+ node$1.left = this.tok.type === acorn.tokTypes.eq ? this.toAssignable(left) : this.checkLVal(left);
+ this.next();
+ node$1.right = this.parseMaybeAssign(noIn);
+ return this.finishNode(node$1, "AssignmentExpression")
+ }
+ return left
+ };
+
+ lp$2.parseMaybeConditional = function(noIn) {
+ var start = this.storeCurrentPos();
+ var expr = this.parseExprOps(noIn);
+ if (this.eat(acorn.tokTypes.question)) {
+ var node = this.startNodeAt(start);
+ node.test = expr;
+ node.consequent = this.parseMaybeAssign();
+ node.alternate = this.expect(acorn.tokTypes.colon) ? this.parseMaybeAssign(noIn) : this.dummyIdent();
+ return this.finishNode(node, "ConditionalExpression")
+ }
+ return expr
+ };
+
+ lp$2.parseExprOps = function(noIn) {
+ var start = this.storeCurrentPos();
+ var indent = this.curIndent, line = this.curLineStart;
+ return this.parseExprOp(this.parseMaybeUnary(false), start, -1, noIn, indent, line)
+ };
+
+ lp$2.parseExprOp = function(left, start, minPrec, noIn, indent, line) {
+ if (this.curLineStart !== line && this.curIndent < indent && this.tokenStartsLine()) { return left }
+ var prec = this.tok.type.binop;
+ if (prec != null && (!noIn || this.tok.type !== acorn.tokTypes._in)) {
+ if (prec > minPrec) {
+ var node = this.startNodeAt(start);
+ node.left = left;
+ node.operator = this.tok.value;
+ this.next();
+ if (this.curLineStart !== line && this.curIndent < indent && this.tokenStartsLine()) {
+ node.right = this.dummyIdent();
+ } else {
+ var rightStart = this.storeCurrentPos();
+ node.right = this.parseExprOp(this.parseMaybeUnary(false), rightStart, prec, noIn, indent, line);
+ }
+ this.finishNode(node, /&&|\|\|/.test(node.operator) ? "LogicalExpression" : "BinaryExpression");
+ return this.parseExprOp(node, start, minPrec, noIn, indent, line)
+ }
+ }
+ return left
+ };
+
+ lp$2.parseMaybeUnary = function(sawUnary) {
+ var start = this.storeCurrentPos(), expr;
+ if (this.options.ecmaVersion >= 8 && this.toks.isContextual("await") &&
+ (this.inAsync || (!this.inFunction && this.options.allowAwaitOutsideFunction))
+ ) {
+ expr = this.parseAwait();
+ sawUnary = true;
+ } else if (this.tok.type.prefix) {
+ var node = this.startNode(), update = this.tok.type === acorn.tokTypes.incDec;
+ if (!update) { sawUnary = true; }
+ node.operator = this.tok.value;
+ node.prefix = true;
+ this.next();
+ node.argument = this.parseMaybeUnary(true);
+ if (update) { node.argument = this.checkLVal(node.argument); }
+ expr = this.finishNode(node, update ? "UpdateExpression" : "UnaryExpression");
+ } else if (this.tok.type === acorn.tokTypes.ellipsis) {
+ var node$1 = this.startNode();
+ this.next();
+ node$1.argument = this.parseMaybeUnary(sawUnary);
+ expr = this.finishNode(node$1, "SpreadElement");
+ } else {
+ expr = this.parseExprSubscripts();
+ while (this.tok.type.postfix && !this.canInsertSemicolon()) {
+ var node$2 = this.startNodeAt(start);
+ node$2.operator = this.tok.value;
+ node$2.prefix = false;
+ node$2.argument = this.checkLVal(expr);
+ this.next();
+ expr = this.finishNode(node$2, "UpdateExpression");
+ }
+ }
+
+ if (!sawUnary && this.eat(acorn.tokTypes.starstar)) {
+ var node$3 = this.startNodeAt(start);
+ node$3.operator = "**";
+ node$3.left = expr;
+ node$3.right = this.parseMaybeUnary(false);
+ return this.finishNode(node$3, "BinaryExpression")
+ }
+
+ return expr
+ };
+
+ lp$2.parseExprSubscripts = function() {
+ var start = this.storeCurrentPos();
+ return this.parseSubscripts(this.parseExprAtom(), start, false, this.curIndent, this.curLineStart)
+ };
+
+ lp$2.parseSubscripts = function(base, start, noCalls, startIndent, line) {
+ for (;;) {
+ if (this.curLineStart !== line && this.curIndent <= startIndent && this.tokenStartsLine()) {
+ if (this.tok.type === acorn.tokTypes.dot && this.curIndent === startIndent)
+ { --startIndent; }
+ else
+ { return base }
+ }
+
+ var maybeAsyncArrow = base.type === "Identifier" && base.name === "async" && !this.canInsertSemicolon();
+
+ if (this.eat(acorn.tokTypes.dot)) {
+ var node = this.startNodeAt(start);
+ node.object = base;
+ if (this.curLineStart !== line && this.curIndent <= startIndent && this.tokenStartsLine())
+ { node.property = this.dummyIdent(); }
+ else
+ { node.property = this.parsePropertyAccessor() || this.dummyIdent(); }
+ node.computed = false;
+ base = this.finishNode(node, "MemberExpression");
+ } else if (this.tok.type === acorn.tokTypes.bracketL) {
+ this.pushCx();
+ this.next();
+ var node$1 = this.startNodeAt(start);
+ node$1.object = base;
+ node$1.property = this.parseExpression();
+ node$1.computed = true;
+ this.popCx();
+ this.expect(acorn.tokTypes.bracketR);
+ base = this.finishNode(node$1, "MemberExpression");
+ } else if (!noCalls && this.tok.type === acorn.tokTypes.parenL) {
+ var exprList = this.parseExprList(acorn.tokTypes.parenR);
+ if (maybeAsyncArrow && this.eat(acorn.tokTypes.arrow))
+ { return this.parseArrowExpression(this.startNodeAt(start), exprList, true) }
+ var node$2 = this.startNodeAt(start);
+ node$2.callee = base;
+ node$2.arguments = exprList;
+ base = this.finishNode(node$2, "CallExpression");
+ } else if (this.tok.type === acorn.tokTypes.backQuote) {
+ var node$3 = this.startNodeAt(start);
+ node$3.tag = base;
+ node$3.quasi = this.parseTemplate();
+ base = this.finishNode(node$3, "TaggedTemplateExpression");
+ } else {
+ return base
+ }
+ }
+ };
+
+ lp$2.parseExprAtom = function() {
+ var node;
+ switch (this.tok.type) {
+ case acorn.tokTypes._this:
+ case acorn.tokTypes._super:
+ var type = this.tok.type === acorn.tokTypes._this ? "ThisExpression" : "Super";
+ node = this.startNode();
+ this.next();
+ return this.finishNode(node, type)
+
+ case acorn.tokTypes.name:
+ var start = this.storeCurrentPos();
+ var id = this.parseIdent();
+ var isAsync = false;
+ if (id.name === "async" && !this.canInsertSemicolon()) {
+ if (this.eat(acorn.tokTypes._function))
+ { return this.parseFunction(this.startNodeAt(start), false, true) }
+ if (this.tok.type === acorn.tokTypes.name) {
+ id = this.parseIdent();
+ isAsync = true;
+ }
+ }
+ return this.eat(acorn.tokTypes.arrow) ? this.parseArrowExpression(this.startNodeAt(start), [id], isAsync) : id
+
+ case acorn.tokTypes.regexp:
+ node = this.startNode();
+ var val = this.tok.value;
+ node.regex = {pattern: val.pattern, flags: val.flags};
+ node.value = val.value;
+ node.raw = this.input.slice(this.tok.start, this.tok.end);
+ this.next();
+ return this.finishNode(node, "Literal")
+
+ case acorn.tokTypes.num: case acorn.tokTypes.string:
+ node = this.startNode();
+ node.value = this.tok.value;
+ node.raw = this.input.slice(this.tok.start, this.tok.end);
+ if (this.tok.type === acorn.tokTypes.num && node.raw.charCodeAt(node.raw.length - 1) === 110) { node.bigint = node.raw.slice(0, -1); }
+ this.next();
+ return this.finishNode(node, "Literal")
+
+ case acorn.tokTypes._null: case acorn.tokTypes._true: case acorn.tokTypes._false:
+ node = this.startNode();
+ node.value = this.tok.type === acorn.tokTypes._null ? null : this.tok.type === acorn.tokTypes._true;
+ node.raw = this.tok.type.keyword;
+ this.next();
+ return this.finishNode(node, "Literal")
+
+ case acorn.tokTypes.parenL:
+ var parenStart = this.storeCurrentPos();
+ this.next();
+ var inner = this.parseExpression();
+ this.expect(acorn.tokTypes.parenR);
+ if (this.eat(acorn.tokTypes.arrow)) {
+ // (a,)=>a // SequenceExpression makes dummy in the last hole. Drop the dummy.
+ var params = inner.expressions || [inner];
+ if (params.length && isDummy(params[params.length - 1]))
+ { params.pop(); }
+ return this.parseArrowExpression(this.startNodeAt(parenStart), params)
+ }
+ if (this.options.preserveParens) {
+ var par = this.startNodeAt(parenStart);
+ par.expression = inner;
+ inner = this.finishNode(par, "ParenthesizedExpression");
+ }
+ return inner
+
+ case acorn.tokTypes.bracketL:
+ node = this.startNode();
+ node.elements = this.parseExprList(acorn.tokTypes.bracketR, true);
+ return this.finishNode(node, "ArrayExpression")
+
+ case acorn.tokTypes.braceL:
+ return this.parseObj()
+
+ case acorn.tokTypes._class:
+ return this.parseClass(false)
+
+ case acorn.tokTypes._function:
+ node = this.startNode();
+ this.next();
+ return this.parseFunction(node, false)
+
+ case acorn.tokTypes._new:
+ return this.parseNew()
+
+ case acorn.tokTypes.backQuote:
+ return this.parseTemplate()
+
+ case acorn.tokTypes._import:
+ if (this.options.ecmaVersion > 10) {
+ return this.parseDynamicImport()
+ } else {
+ return this.dummyIdent()
+ }
+
+ default:
+ return this.dummyIdent()
+ }
+ };
+
+ lp$2.parseDynamicImport = function() {
+ var node = this.startNode();
+ this.next();
+ return this.finishNode(node, "Import")
+ };
+
+ lp$2.parseNew = function() {
+ var node = this.startNode(), startIndent = this.curIndent, line = this.curLineStart;
+ var meta = this.parseIdent(true);
+ if (this.options.ecmaVersion >= 6 && this.eat(acorn.tokTypes.dot)) {
+ node.meta = meta;
+ node.property = this.parseIdent(true);
+ return this.finishNode(node, "MetaProperty")
+ }
+ var start = this.storeCurrentPos();
+ node.callee = this.parseSubscripts(this.parseExprAtom(), start, true, startIndent, line);
+ if (this.tok.type === acorn.tokTypes.parenL) {
+ node.arguments = this.parseExprList(acorn.tokTypes.parenR);
+ } else {
+ node.arguments = [];
+ }
+ return this.finishNode(node, "NewExpression")
+ };
+
+ lp$2.parseTemplateElement = function() {
+ var elem = this.startNode();
+
+ // The loose parser accepts invalid unicode escapes even in untagged templates.
+ if (this.tok.type === acorn.tokTypes.invalidTemplate) {
+ elem.value = {
+ raw: this.tok.value,
+ cooked: null
+ };
+ } else {
+ elem.value = {
+ raw: this.input.slice(this.tok.start, this.tok.end).replace(/\r\n?/g, "\n"),
+ cooked: this.tok.value
+ };
+ }
+ this.next();
+ elem.tail = this.tok.type === acorn.tokTypes.backQuote;
+ return this.finishNode(elem, "TemplateElement")
+ };
+
+ lp$2.parseTemplate = function() {
+ var node = this.startNode();
+ this.next();
+ node.expressions = [];
+ var curElt = this.parseTemplateElement();
+ node.quasis = [curElt];
+ while (!curElt.tail) {
+ this.next();
+ node.expressions.push(this.parseExpression());
+ if (this.expect(acorn.tokTypes.braceR)) {
+ curElt = this.parseTemplateElement();
+ } else {
+ curElt = this.startNode();
+ curElt.value = {cooked: "", raw: ""};
+ curElt.tail = true;
+ this.finishNode(curElt, "TemplateElement");
+ }
+ node.quasis.push(curElt);
+ }
+ this.expect(acorn.tokTypes.backQuote);
+ return this.finishNode(node, "TemplateLiteral")
+ };
+
+ lp$2.parseObj = function() {
+ var node = this.startNode();
+ node.properties = [];
+ this.pushCx();
+ var indent = this.curIndent + 1, line = this.curLineStart;
+ this.eat(acorn.tokTypes.braceL);
+ if (this.curIndent + 1 < indent) { indent = this.curIndent; line = this.curLineStart; }
+ while (!this.closes(acorn.tokTypes.braceR, indent, line)) {
+ var prop = this.startNode(), isGenerator = (void 0), isAsync = (void 0), start = (void 0);
+ if (this.options.ecmaVersion >= 9 && this.eat(acorn.tokTypes.ellipsis)) {
+ prop.argument = this.parseMaybeAssign();
+ node.properties.push(this.finishNode(prop, "SpreadElement"));
+ this.eat(acorn.tokTypes.comma);
+ continue
+ }
+ if (this.options.ecmaVersion >= 6) {
+ start = this.storeCurrentPos();
+ prop.method = false;
+ prop.shorthand = false;
+ isGenerator = this.eat(acorn.tokTypes.star);
+ }
+ this.parsePropertyName(prop);
+ if (this.toks.isAsyncProp(prop)) {
+ isAsync = true;
+ isGenerator = this.options.ecmaVersion >= 9 && this.eat(acorn.tokTypes.star);
+ this.parsePropertyName(prop);
+ } else {
+ isAsync = false;
+ }
+ if (isDummy(prop.key)) { if (isDummy(this.parseMaybeAssign())) { this.next(); } this.eat(acorn.tokTypes.comma); continue }
+ if (this.eat(acorn.tokTypes.colon)) {
+ prop.kind = "init";
+ prop.value = this.parseMaybeAssign();
+ } else if (this.options.ecmaVersion >= 6 && (this.tok.type === acorn.tokTypes.parenL || this.tok.type === acorn.tokTypes.braceL)) {
+ prop.kind = "init";
+ prop.method = true;
+ prop.value = this.parseMethod(isGenerator, isAsync);
+ } else if (this.options.ecmaVersion >= 5 && prop.key.type === "Identifier" &&
+ !prop.computed && (prop.key.name === "get" || prop.key.name === "set") &&
+ (this.tok.type !== acorn.tokTypes.comma && this.tok.type !== acorn.tokTypes.braceR && this.tok.type !== acorn.tokTypes.eq)) {
+ prop.kind = prop.key.name;
+ this.parsePropertyName(prop);
+ prop.value = this.parseMethod(false);
+ } else {
+ prop.kind = "init";
+ if (this.options.ecmaVersion >= 6) {
+ if (this.eat(acorn.tokTypes.eq)) {
+ var assign = this.startNodeAt(start);
+ assign.operator = "=";
+ assign.left = prop.key;
+ assign.right = this.parseMaybeAssign();
+ prop.value = this.finishNode(assign, "AssignmentExpression");
+ } else {
+ prop.value = prop.key;
+ }
+ } else {
+ prop.value = this.dummyIdent();
+ }
+ prop.shorthand = true;
+ }
+ node.properties.push(this.finishNode(prop, "Property"));
+ this.eat(acorn.tokTypes.comma);
+ }
+ this.popCx();
+ if (!this.eat(acorn.tokTypes.braceR)) {
+ // If there is no closing brace, make the node span to the start
+ // of the next token (this is useful for Tern)
+ this.last.end = this.tok.start;
+ if (this.options.locations) { this.last.loc.end = this.tok.loc.start; }
+ }
+ return this.finishNode(node, "ObjectExpression")
+ };
+
+ lp$2.parsePropertyName = function(prop) {
+ if (this.options.ecmaVersion >= 6) {
+ if (this.eat(acorn.tokTypes.bracketL)) {
+ prop.computed = true;
+ prop.key = this.parseExpression();
+ this.expect(acorn.tokTypes.bracketR);
+ return
+ } else {
+ prop.computed = false;
+ }
+ }
+ var key = (this.tok.type === acorn.tokTypes.num || this.tok.type === acorn.tokTypes.string) ? this.parseExprAtom() : this.parseIdent();
+ prop.key = key || this.dummyIdent();
+ };
+
+ lp$2.parsePropertyAccessor = function() {
+ if (this.tok.type === acorn.tokTypes.name || this.tok.type.keyword) { return this.parseIdent() }
+ };
+
+ lp$2.parseIdent = function() {
+ var name = this.tok.type === acorn.tokTypes.name ? this.tok.value : this.tok.type.keyword;
+ if (!name) { return this.dummyIdent() }
+ var node = this.startNode();
+ this.next();
+ node.name = name;
+ return this.finishNode(node, "Identifier")
+ };
+
+ lp$2.initFunction = function(node) {
+ node.id = null;
+ node.params = [];
+ if (this.options.ecmaVersion >= 6) {
+ node.generator = false;
+ node.expression = false;
+ }
+ if (this.options.ecmaVersion >= 8)
+ { node.async = false; }
+ };
+
+ // Convert existing expression atom to assignable pattern
+ // if possible.
+
+ lp$2.toAssignable = function(node, binding) {
+ if (!node || node.type === "Identifier" || (node.type === "MemberExpression" && !binding)) ; else if (node.type === "ParenthesizedExpression") {
+ this.toAssignable(node.expression, binding);
+ } else if (this.options.ecmaVersion < 6) {
+ return this.dummyIdent()
+ } else if (node.type === "ObjectExpression") {
+ node.type = "ObjectPattern";
+ for (var i = 0, list = node.properties; i < list.length; i += 1)
+ {
+ var prop = list[i];
+
+ this.toAssignable(prop, binding);
+ }
+ } else if (node.type === "ArrayExpression") {
+ node.type = "ArrayPattern";
+ this.toAssignableList(node.elements, binding);
+ } else if (node.type === "Property") {
+ this.toAssignable(node.value, binding);
+ } else if (node.type === "SpreadElement") {
+ node.type = "RestElement";
+ this.toAssignable(node.argument, binding);
+ } else if (node.type === "AssignmentExpression") {
+ node.type = "AssignmentPattern";
+ delete node.operator;
+ } else {
+ return this.dummyIdent()
+ }
+ return node
+ };
+
+ lp$2.toAssignableList = function(exprList, binding) {
+ for (var i = 0, list = exprList; i < list.length; i += 1)
+ {
+ var expr = list[i];
+
+ this.toAssignable(expr, binding);
+ }
+ return exprList
+ };
+
+ lp$2.parseFunctionParams = function(params) {
+ params = this.parseExprList(acorn.tokTypes.parenR);
+ return this.toAssignableList(params, true)
+ };
+
+ lp$2.parseMethod = function(isGenerator, isAsync) {
+ var node = this.startNode(), oldInAsync = this.inAsync, oldInFunction = this.inFunction;
+ this.initFunction(node);
+ if (this.options.ecmaVersion >= 6)
+ { node.generator = !!isGenerator; }
+ if (this.options.ecmaVersion >= 8)
+ { node.async = !!isAsync; }
+ this.inAsync = node.async;
+ this.inFunction = true;
+ node.params = this.parseFunctionParams();
+ node.body = this.parseBlock();
+ this.toks.adaptDirectivePrologue(node.body.body);
+ this.inAsync = oldInAsync;
+ this.inFunction = oldInFunction;
+ return this.finishNode(node, "FunctionExpression")
+ };
+
+ lp$2.parseArrowExpression = function(node, params, isAsync) {
+ var oldInAsync = this.inAsync, oldInFunction = this.inFunction;
+ this.initFunction(node);
+ if (this.options.ecmaVersion >= 8)
+ { node.async = !!isAsync; }
+ this.inAsync = node.async;
+ this.inFunction = true;
+ node.params = this.toAssignableList(params, true);
+ node.expression = this.tok.type !== acorn.tokTypes.braceL;
+ if (node.expression) {
+ node.body = this.parseMaybeAssign();
+ } else {
+ node.body = this.parseBlock();
+ this.toks.adaptDirectivePrologue(node.body.body);
+ }
+ this.inAsync = oldInAsync;
+ this.inFunction = oldInFunction;
+ return this.finishNode(node, "ArrowFunctionExpression")
+ };
+
+ lp$2.parseExprList = function(close, allowEmpty) {
+ this.pushCx();
+ var indent = this.curIndent, line = this.curLineStart, elts = [];
+ this.next(); // Opening bracket
+ while (!this.closes(close, indent + 1, line)) {
+ if (this.eat(acorn.tokTypes.comma)) {
+ elts.push(allowEmpty ? null : this.dummyIdent());
+ continue
+ }
+ var elt = this.parseMaybeAssign();
+ if (isDummy(elt)) {
+ if (this.closes(close, indent, line)) { break }
+ this.next();
+ } else {
+ elts.push(elt);
+ }
+ this.eat(acorn.tokTypes.comma);
+ }
+ this.popCx();
+ if (!this.eat(close)) {
+ // If there is no closing brace, make the node span to the start
+ // of the next token (this is useful for Tern)
+ this.last.end = this.tok.start;
+ if (this.options.locations) { this.last.loc.end = this.tok.loc.start; }
+ }
+ return elts
+ };
+
+ lp$2.parseAwait = function() {
+ var node = this.startNode();
+ this.next();
+ node.argument = this.parseMaybeUnary();
+ return this.finishNode(node, "AwaitExpression")
+ };
+
+ // Acorn: Loose parser
+
+ acorn.defaultOptions.tabSize = 4;
+
+ function parse(input, options) {
+ return LooseParser.parse(input, options)
+ }
+
+ exports.LooseParser = LooseParser;
+ exports.parse = parse;
+
+ Object.defineProperty(exports, '__esModule', { value: true });
+
+}));
diff --git a/node_modules/acorn/acorn-loose/dist/acorn-loose.js.map b/node_modules/acorn/acorn-loose/dist/acorn-loose.js.map
new file mode 100644
index 0000000..86491c1
--- /dev/null
+++ b/node_modules/acorn/acorn-loose/dist/acorn-loose.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"acorn-loose.js","sources":["../src/state.js","../src/tokenize.js","../src/parseutil.js","../src/statement.js","../src/expression.js","../src/index.js"],"sourcesContent":["import {Parser, SourceLocation, tokTypes as tt, Node, lineBreak, isNewLine} from \"acorn\"\n\nfunction noop() {}\n\nexport class LooseParser {\n constructor(input, options = {}) {\n this.toks = this.constructor.BaseParser.tokenizer(input, options)\n this.options = this.toks.options\n this.input = this.toks.input\n this.tok = this.last = {type: tt.eof, start: 0, end: 0}\n this.tok.validateRegExpFlags = noop\n this.tok.validateRegExpPattern = noop\n if (this.options.locations) {\n let here = this.toks.curPosition()\n this.tok.loc = new SourceLocation(this.toks, here, here)\n }\n this.ahead = [] // Tokens ahead\n this.context = [] // Indentation contexted\n this.curIndent = 0\n this.curLineStart = 0\n this.nextLineStart = this.lineEnd(this.curLineStart) + 1\n this.inAsync = false\n this.inFunction = false\n }\n\n startNode() {\n return new Node(this.toks, this.tok.start, this.options.locations ? this.tok.loc.start : null)\n }\n\n storeCurrentPos() {\n return this.options.locations ? [this.tok.start, this.tok.loc.start] : this.tok.start\n }\n\n startNodeAt(pos) {\n if (this.options.locations) {\n return new Node(this.toks, pos[0], pos[1])\n } else {\n return new Node(this.toks, pos)\n }\n }\n\n finishNode(node, type) {\n node.type = type\n node.end = this.last.end\n if (this.options.locations)\n node.loc.end = this.last.loc.end\n if (this.options.ranges)\n node.range[1] = this.last.end\n return node\n }\n\n dummyNode(type) {\n let dummy = this.startNode()\n dummy.type = type\n dummy.end = dummy.start\n if (this.options.locations)\n dummy.loc.end = dummy.loc.start\n if (this.options.ranges)\n dummy.range[1] = dummy.start\n this.last = {type: tt.name, start: dummy.start, end: dummy.start, loc: dummy.loc}\n return dummy\n }\n\n dummyIdent() {\n let dummy = this.dummyNode(\"Identifier\")\n dummy.name = \"✖\"\n return dummy\n }\n\n dummyString() {\n let dummy = this.dummyNode(\"Literal\")\n dummy.value = dummy.raw = \"✖\"\n return dummy\n }\n\n eat(type) {\n if (this.tok.type === type) {\n this.next()\n return true\n } else {\n return false\n }\n }\n\n isContextual(name) {\n return this.tok.type === tt.name && this.tok.value === name\n }\n\n eatContextual(name) {\n return this.tok.value === name && this.eat(tt.name)\n }\n\n canInsertSemicolon() {\n return this.tok.type === tt.eof || this.tok.type === tt.braceR ||\n lineBreak.test(this.input.slice(this.last.end, this.tok.start))\n }\n\n semicolon() {\n return this.eat(tt.semi)\n }\n\n expect(type) {\n if (this.eat(type)) return true\n for (let i = 1; i <= 2; i++) {\n if (this.lookAhead(i).type === type) {\n for (let j = 0; j < i; j++) this.next()\n return true\n }\n }\n }\n\n pushCx() {\n this.context.push(this.curIndent)\n }\n\n popCx() {\n this.curIndent = this.context.pop()\n }\n\n lineEnd(pos) {\n while (pos < this.input.length && !isNewLine(this.input.charCodeAt(pos))) ++pos\n return pos\n }\n\n indentationAfter(pos) {\n for (let count = 0;; ++pos) {\n let ch = this.input.charCodeAt(pos)\n if (ch === 32) ++count\n else if (ch === 9) count += this.options.tabSize\n else return count\n }\n }\n\n closes(closeTok, indent, line, blockHeuristic) {\n if (this.tok.type === closeTok || this.tok.type === tt.eof) return true\n return line !== this.curLineStart && this.curIndent < indent && this.tokenStartsLine() &&\n (!blockHeuristic || this.nextLineStart >= this.input.length ||\n this.indentationAfter(this.nextLineStart) < indent)\n }\n\n tokenStartsLine() {\n for (let p = this.tok.start - 1; p >= this.curLineStart; --p) {\n let ch = this.input.charCodeAt(p)\n if (ch !== 9 && ch !== 32) return false\n }\n return true\n }\n\n extend(name, f) {\n this[name] = f(this[name])\n }\n\n parse() {\n this.next()\n return this.parseTopLevel()\n }\n\n static extend(...plugins) {\n let cls = this\n for (let i = 0; i < plugins.length; i++) cls = plugins[i](cls)\n return cls\n }\n\n static parse(input, options) {\n return new this(input, options).parse()\n }\n}\n\n// Allows plugins to extend the base parser / tokenizer used\nLooseParser.BaseParser = Parser\n","import {tokTypes as tt, Token, isNewLine, SourceLocation, getLineInfo, lineBreakG} from \"acorn\"\nimport {LooseParser} from \"./state\"\n\nconst lp = LooseParser.prototype\n\nfunction isSpace(ch) {\n return (ch < 14 && ch > 8) || ch === 32 || ch === 160 || isNewLine(ch)\n}\n\nlp.next = function() {\n this.last = this.tok\n if (this.ahead.length)\n this.tok = this.ahead.shift()\n else\n this.tok = this.readToken()\n\n if (this.tok.start >= this.nextLineStart) {\n while (this.tok.start >= this.nextLineStart) {\n this.curLineStart = this.nextLineStart\n this.nextLineStart = this.lineEnd(this.curLineStart) + 1\n }\n this.curIndent = this.indentationAfter(this.curLineStart)\n }\n}\n\nlp.readToken = function() {\n for (;;) {\n try {\n this.toks.next()\n if (this.toks.type === tt.dot &&\n this.input.substr(this.toks.end, 1) === \".\" &&\n this.options.ecmaVersion >= 6) {\n this.toks.end++\n this.toks.type = tt.ellipsis\n }\n return new Token(this.toks)\n } catch (e) {\n if (!(e instanceof SyntaxError)) throw e\n\n // Try to skip some text, based on the error message, and then continue\n let msg = e.message, pos = e.raisedAt, replace = true\n if (/unterminated/i.test(msg)) {\n pos = this.lineEnd(e.pos + 1)\n if (/string/.test(msg)) {\n replace = {start: e.pos, end: pos, type: tt.string, value: this.input.slice(e.pos + 1, pos)}\n } else if (/regular expr/i.test(msg)) {\n let re = this.input.slice(e.pos, pos)\n try { re = new RegExp(re) } catch (e) { /* ignore compilation error due to new syntax */ }\n replace = {start: e.pos, end: pos, type: tt.regexp, value: re}\n } else if (/template/.test(msg)) {\n replace = {\n start: e.pos,\n end: pos,\n type: tt.template,\n value: this.input.slice(e.pos, pos)\n }\n } else {\n replace = false\n }\n } else if (/invalid (unicode|regexp|number)|expecting unicode|octal literal|is reserved|directly after number|expected number in radix/i.test(msg)) {\n while (pos < this.input.length && !isSpace(this.input.charCodeAt(pos))) ++pos\n } else if (/character escape|expected hexadecimal/i.test(msg)) {\n while (pos < this.input.length) {\n let ch = this.input.charCodeAt(pos++)\n if (ch === 34 || ch === 39 || isNewLine(ch)) break\n }\n } else if (/unexpected character/i.test(msg)) {\n pos++\n replace = false\n } else if (/regular expression/i.test(msg)) {\n replace = true\n } else {\n throw e\n }\n this.resetTo(pos)\n if (replace === true) replace = {start: pos, end: pos, type: tt.name, value: \"✖\"}\n if (replace) {\n if (this.options.locations)\n replace.loc = new SourceLocation(\n this.toks,\n getLineInfo(this.input, replace.start),\n getLineInfo(this.input, replace.end))\n return replace\n }\n }\n }\n}\n\nlp.resetTo = function(pos) {\n this.toks.pos = pos\n let ch = this.input.charAt(pos - 1)\n this.toks.exprAllowed = !ch || /[[{(,;:?/*=+\\-~!|&%^<>]/.test(ch) ||\n /[enwfd]/.test(ch) &&\n /\\b(case|else|return|throw|new|in|(instance|type)?of|delete|void)$/.test(this.input.slice(pos - 10, pos))\n\n if (this.options.locations) {\n this.toks.curLine = 1\n this.toks.lineStart = lineBreakG.lastIndex = 0\n let match\n while ((match = lineBreakG.exec(this.input)) && match.index < pos) {\n ++this.toks.curLine\n this.toks.lineStart = match.index + match[0].length\n }\n }\n}\n\nlp.lookAhead = function(n) {\n while (n > this.ahead.length)\n this.ahead.push(this.readToken())\n return this.ahead[n - 1]\n}\n","export function isDummy(node) { return node.name === \"✖\" }\n","import {LooseParser} from \"./state\"\nimport {isDummy} from \"./parseutil\"\nimport {getLineInfo, tokTypes as tt} from \"acorn\"\n\nconst lp = LooseParser.prototype\n\nlp.parseTopLevel = function() {\n let node = this.startNodeAt(this.options.locations ? [0, getLineInfo(this.input, 0)] : 0)\n node.body = []\n while (this.tok.type !== tt.eof) node.body.push(this.parseStatement())\n this.toks.adaptDirectivePrologue(node.body)\n this.last = this.tok\n if (this.options.ecmaVersion >= 6) {\n node.sourceType = this.options.sourceType\n }\n return this.finishNode(node, \"Program\")\n}\n\nlp.parseStatement = function() {\n let starttype = this.tok.type, node = this.startNode(), kind\n\n if (this.toks.isLet()) {\n starttype = tt._var\n kind = \"let\"\n }\n\n switch (starttype) {\n case tt._break: case tt._continue:\n this.next()\n let isBreak = starttype === tt._break\n if (this.semicolon() || this.canInsertSemicolon()) {\n node.label = null\n } else {\n node.label = this.tok.type === tt.name ? this.parseIdent() : null\n this.semicolon()\n }\n return this.finishNode(node, isBreak ? \"BreakStatement\" : \"ContinueStatement\")\n\n case tt._debugger:\n this.next()\n this.semicolon()\n return this.finishNode(node, \"DebuggerStatement\")\n\n case tt._do:\n this.next()\n node.body = this.parseStatement()\n node.test = this.eat(tt._while) ? this.parseParenExpression() : this.dummyIdent()\n this.semicolon()\n return this.finishNode(node, \"DoWhileStatement\")\n\n case tt._for:\n this.next() // `for` keyword\n let isAwait = this.options.ecmaVersion >= 9 && this.inAsync && this.eatContextual(\"await\")\n\n this.pushCx()\n this.expect(tt.parenL)\n if (this.tok.type === tt.semi) return this.parseFor(node, null)\n let isLet = this.toks.isLet()\n if (isLet || this.tok.type === tt._var || this.tok.type === tt._const) {\n let init = this.parseVar(this.startNode(), true, isLet ? \"let\" : this.tok.value)\n if (init.declarations.length === 1 && (this.tok.type === tt._in || this.isContextual(\"of\"))) {\n if (this.options.ecmaVersion >= 9 && this.tok.type !== tt._in) {\n node.await = isAwait\n }\n return this.parseForIn(node, init)\n }\n return this.parseFor(node, init)\n }\n let init = this.parseExpression(true)\n if (this.tok.type === tt._in || this.isContextual(\"of\")) {\n if (this.options.ecmaVersion >= 9 && this.tok.type !== tt._in) {\n node.await = isAwait\n }\n return this.parseForIn(node, this.toAssignable(init))\n }\n return this.parseFor(node, init)\n\n case tt._function:\n this.next()\n return this.parseFunction(node, true)\n\n case tt._if:\n this.next()\n node.test = this.parseParenExpression()\n node.consequent = this.parseStatement()\n node.alternate = this.eat(tt._else) ? this.parseStatement() : null\n return this.finishNode(node, \"IfStatement\")\n\n case tt._return:\n this.next()\n if (this.eat(tt.semi) || this.canInsertSemicolon()) node.argument = null\n else { node.argument = this.parseExpression(); this.semicolon() }\n return this.finishNode(node, \"ReturnStatement\")\n\n case tt._switch:\n let blockIndent = this.curIndent, line = this.curLineStart\n this.next()\n node.discriminant = this.parseParenExpression()\n node.cases = []\n this.pushCx()\n this.expect(tt.braceL)\n\n let cur\n while (!this.closes(tt.braceR, blockIndent, line, true)) {\n if (this.tok.type === tt._case || this.tok.type === tt._default) {\n let isCase = this.tok.type === tt._case\n if (cur) this.finishNode(cur, \"SwitchCase\")\n node.cases.push(cur = this.startNode())\n cur.consequent = []\n this.next()\n if (isCase) cur.test = this.parseExpression()\n else cur.test = null\n this.expect(tt.colon)\n } else {\n if (!cur) {\n node.cases.push(cur = this.startNode())\n cur.consequent = []\n cur.test = null\n }\n cur.consequent.push(this.parseStatement())\n }\n }\n if (cur) this.finishNode(cur, \"SwitchCase\")\n this.popCx()\n this.eat(tt.braceR)\n return this.finishNode(node, \"SwitchStatement\")\n\n case tt._throw:\n this.next()\n node.argument = this.parseExpression()\n this.semicolon()\n return this.finishNode(node, \"ThrowStatement\")\n\n case tt._try:\n this.next()\n node.block = this.parseBlock()\n node.handler = null\n if (this.tok.type === tt._catch) {\n let clause = this.startNode()\n this.next()\n if (this.eat(tt.parenL)) {\n clause.param = this.toAssignable(this.parseExprAtom(), true)\n this.expect(tt.parenR)\n } else {\n clause.param = null\n }\n clause.body = this.parseBlock()\n node.handler = this.finishNode(clause, \"CatchClause\")\n }\n node.finalizer = this.eat(tt._finally) ? this.parseBlock() : null\n if (!node.handler && !node.finalizer) return node.block\n return this.finishNode(node, \"TryStatement\")\n\n case tt._var:\n case tt._const:\n return this.parseVar(node, false, kind || this.tok.value)\n\n case tt._while:\n this.next()\n node.test = this.parseParenExpression()\n node.body = this.parseStatement()\n return this.finishNode(node, \"WhileStatement\")\n\n case tt._with:\n this.next()\n node.object = this.parseParenExpression()\n node.body = this.parseStatement()\n return this.finishNode(node, \"WithStatement\")\n\n case tt.braceL:\n return this.parseBlock()\n\n case tt.semi:\n this.next()\n return this.finishNode(node, \"EmptyStatement\")\n\n case tt._class:\n return this.parseClass(true)\n\n case tt._import:\n return this.parseImport()\n\n case tt._export:\n return this.parseExport()\n\n default:\n if (this.toks.isAsyncFunction()) {\n this.next()\n this.next()\n return this.parseFunction(node, true, true)\n }\n let expr = this.parseExpression()\n if (isDummy(expr)) {\n this.next()\n if (this.tok.type === tt.eof) return this.finishNode(node, \"EmptyStatement\")\n return this.parseStatement()\n } else if (starttype === tt.name && expr.type === \"Identifier\" && this.eat(tt.colon)) {\n node.body = this.parseStatement()\n node.label = expr\n return this.finishNode(node, \"LabeledStatement\")\n } else {\n node.expression = expr\n this.semicolon()\n return this.finishNode(node, \"ExpressionStatement\")\n }\n }\n}\n\nlp.parseBlock = function() {\n let node = this.startNode()\n this.pushCx()\n this.expect(tt.braceL)\n let blockIndent = this.curIndent, line = this.curLineStart\n node.body = []\n while (!this.closes(tt.braceR, blockIndent, line, true))\n node.body.push(this.parseStatement())\n this.popCx()\n this.eat(tt.braceR)\n return this.finishNode(node, \"BlockStatement\")\n}\n\nlp.parseFor = function(node, init) {\n node.init = init\n node.test = node.update = null\n if (this.eat(tt.semi) && this.tok.type !== tt.semi) node.test = this.parseExpression()\n if (this.eat(tt.semi) && this.tok.type !== tt.parenR) node.update = this.parseExpression()\n this.popCx()\n this.expect(tt.parenR)\n node.body = this.parseStatement()\n return this.finishNode(node, \"ForStatement\")\n}\n\nlp.parseForIn = function(node, init) {\n let type = this.tok.type === tt._in ? \"ForInStatement\" : \"ForOfStatement\"\n this.next()\n node.left = init\n node.right = this.parseExpression()\n this.popCx()\n this.expect(tt.parenR)\n node.body = this.parseStatement()\n return this.finishNode(node, type)\n}\n\nlp.parseVar = function(node, noIn, kind) {\n node.kind = kind\n this.next()\n node.declarations = []\n do {\n let decl = this.startNode()\n decl.id = this.options.ecmaVersion >= 6 ? this.toAssignable(this.parseExprAtom(), true) : this.parseIdent()\n decl.init = this.eat(tt.eq) ? this.parseMaybeAssign(noIn) : null\n node.declarations.push(this.finishNode(decl, \"VariableDeclarator\"))\n } while (this.eat(tt.comma))\n if (!node.declarations.length) {\n let decl = this.startNode()\n decl.id = this.dummyIdent()\n node.declarations.push(this.finishNode(decl, \"VariableDeclarator\"))\n }\n if (!noIn) this.semicolon()\n return this.finishNode(node, \"VariableDeclaration\")\n}\n\nlp.parseClass = function(isStatement) {\n let node = this.startNode()\n this.next()\n if (this.tok.type === tt.name) node.id = this.parseIdent()\n else if (isStatement === true) node.id = this.dummyIdent()\n else node.id = null\n node.superClass = this.eat(tt._extends) ? this.parseExpression() : null\n node.body = this.startNode()\n node.body.body = []\n this.pushCx()\n let indent = this.curIndent + 1, line = this.curLineStart\n this.eat(tt.braceL)\n if (this.curIndent + 1 < indent) { indent = this.curIndent; line = this.curLineStart }\n while (!this.closes(tt.braceR, indent, line)) {\n if (this.semicolon()) continue\n let method = this.startNode(), isGenerator, isAsync\n if (this.options.ecmaVersion >= 6) {\n method.static = false\n isGenerator = this.eat(tt.star)\n }\n this.parsePropertyName(method)\n if (isDummy(method.key)) { if (isDummy(this.parseMaybeAssign())) this.next(); this.eat(tt.comma); continue }\n if (method.key.type === \"Identifier\" && !method.computed && method.key.name === \"static\" &&\n (this.tok.type !== tt.parenL && this.tok.type !== tt.braceL)) {\n method.static = true\n isGenerator = this.eat(tt.star)\n this.parsePropertyName(method)\n } else {\n method.static = false\n }\n if (!method.computed &&\n method.key.type === \"Identifier\" && method.key.name === \"async\" && this.tok.type !== tt.parenL &&\n !this.canInsertSemicolon()) {\n isAsync = true\n isGenerator = this.options.ecmaVersion >= 9 && this.eat(tt.star)\n this.parsePropertyName(method)\n } else {\n isAsync = false\n }\n if (this.options.ecmaVersion >= 5 && method.key.type === \"Identifier\" &&\n !method.computed && (method.key.name === \"get\" || method.key.name === \"set\") &&\n this.tok.type !== tt.parenL && this.tok.type !== tt.braceL) {\n method.kind = method.key.name\n this.parsePropertyName(method)\n method.value = this.parseMethod(false)\n } else {\n if (!method.computed && !method.static && !isGenerator && !isAsync && (\n method.key.type === \"Identifier\" && method.key.name === \"constructor\" ||\n method.key.type === \"Literal\" && method.key.value === \"constructor\")) {\n method.kind = \"constructor\"\n } else {\n method.kind = \"method\"\n }\n method.value = this.parseMethod(isGenerator, isAsync)\n }\n node.body.body.push(this.finishNode(method, \"MethodDefinition\"))\n }\n this.popCx()\n if (!this.eat(tt.braceR)) {\n // If there is no closing brace, make the node span to the start\n // of the next token (this is useful for Tern)\n this.last.end = this.tok.start\n if (this.options.locations) this.last.loc.end = this.tok.loc.start\n }\n this.semicolon()\n this.finishNode(node.body, \"ClassBody\")\n return this.finishNode(node, isStatement ? \"ClassDeclaration\" : \"ClassExpression\")\n}\n\nlp.parseFunction = function(node, isStatement, isAsync) {\n let oldInAsync = this.inAsync, oldInFunction = this.inFunction\n this.initFunction(node)\n if (this.options.ecmaVersion >= 6) {\n node.generator = this.eat(tt.star)\n }\n if (this.options.ecmaVersion >= 8) {\n node.async = !!isAsync\n }\n if (this.tok.type === tt.name) node.id = this.parseIdent()\n else if (isStatement === true) node.id = this.dummyIdent()\n this.inAsync = node.async\n this.inFunction = true\n node.params = this.parseFunctionParams()\n node.body = this.parseBlock()\n this.toks.adaptDirectivePrologue(node.body.body)\n this.inAsync = oldInAsync\n this.inFunction = oldInFunction\n return this.finishNode(node, isStatement ? \"FunctionDeclaration\" : \"FunctionExpression\")\n}\n\nlp.parseExport = function() {\n let node = this.startNode()\n this.next()\n if (this.eat(tt.star)) {\n node.source = this.eatContextual(\"from\") ? this.parseExprAtom() : this.dummyString()\n return this.finishNode(node, \"ExportAllDeclaration\")\n }\n if (this.eat(tt._default)) {\n // export default (function foo() {}) // This is FunctionExpression.\n let isAsync\n if (this.tok.type === tt._function || (isAsync = this.toks.isAsyncFunction())) {\n let fNode = this.startNode()\n this.next()\n if (isAsync) this.next()\n node.declaration = this.parseFunction(fNode, \"nullableID\", isAsync)\n } else if (this.tok.type === tt._class) {\n node.declaration = this.parseClass(\"nullableID\")\n } else {\n node.declaration = this.parseMaybeAssign()\n this.semicolon()\n }\n return this.finishNode(node, \"ExportDefaultDeclaration\")\n }\n if (this.tok.type.keyword || this.toks.isLet() || this.toks.isAsyncFunction()) {\n node.declaration = this.parseStatement()\n node.specifiers = []\n node.source = null\n } else {\n node.declaration = null\n node.specifiers = this.parseExportSpecifierList()\n node.source = this.eatContextual(\"from\") ? this.parseExprAtom() : null\n this.semicolon()\n }\n return this.finishNode(node, \"ExportNamedDeclaration\")\n}\n\nlp.parseImport = function() {\n let node = this.startNode()\n this.next()\n if (this.tok.type === tt.string) {\n node.specifiers = []\n node.source = this.parseExprAtom()\n } else {\n let elt\n if (this.tok.type === tt.name && this.tok.value !== \"from\") {\n elt = this.startNode()\n elt.local = this.parseIdent()\n this.finishNode(elt, \"ImportDefaultSpecifier\")\n this.eat(tt.comma)\n }\n node.specifiers = this.parseImportSpecifiers()\n node.source = this.eatContextual(\"from\") && this.tok.type === tt.string ? this.parseExprAtom() : this.dummyString()\n if (elt) node.specifiers.unshift(elt)\n }\n this.semicolon()\n return this.finishNode(node, \"ImportDeclaration\")\n}\n\nlp.parseImportSpecifiers = function() {\n let elts = []\n if (this.tok.type === tt.star) {\n let elt = this.startNode()\n this.next()\n elt.local = this.eatContextual(\"as\") ? this.parseIdent() : this.dummyIdent()\n elts.push(this.finishNode(elt, \"ImportNamespaceSpecifier\"))\n } else {\n let indent = this.curIndent, line = this.curLineStart, continuedLine = this.nextLineStart\n this.pushCx()\n this.eat(tt.braceL)\n if (this.curLineStart > continuedLine) continuedLine = this.curLineStart\n while (!this.closes(tt.braceR, indent + (this.curLineStart <= continuedLine ? 1 : 0), line)) {\n let elt = this.startNode()\n if (this.eat(tt.star)) {\n elt.local = this.eatContextual(\"as\") ? this.parseIdent() : this.dummyIdent()\n this.finishNode(elt, \"ImportNamespaceSpecifier\")\n } else {\n if (this.isContextual(\"from\")) break\n elt.imported = this.parseIdent()\n if (isDummy(elt.imported)) break\n elt.local = this.eatContextual(\"as\") ? this.parseIdent() : elt.imported\n this.finishNode(elt, \"ImportSpecifier\")\n }\n elts.push(elt)\n this.eat(tt.comma)\n }\n this.eat(tt.braceR)\n this.popCx()\n }\n return elts\n}\n\nlp.parseExportSpecifierList = function() {\n let elts = []\n let indent = this.curIndent, line = this.curLineStart, continuedLine = this.nextLineStart\n this.pushCx()\n this.eat(tt.braceL)\n if (this.curLineStart > continuedLine) continuedLine = this.curLineStart\n while (!this.closes(tt.braceR, indent + (this.curLineStart <= continuedLine ? 1 : 0), line)) {\n if (this.isContextual(\"from\")) break\n let elt = this.startNode()\n elt.local = this.parseIdent()\n if (isDummy(elt.local)) break\n elt.exported = this.eatContextual(\"as\") ? this.parseIdent() : elt.local\n this.finishNode(elt, \"ExportSpecifier\")\n elts.push(elt)\n this.eat(tt.comma)\n }\n this.eat(tt.braceR)\n this.popCx()\n return elts\n}\n","import {LooseParser} from \"./state\"\nimport {isDummy} from \"./parseutil\"\nimport {tokTypes as tt} from \"acorn\"\n\nconst lp = LooseParser.prototype\n\nlp.checkLVal = function(expr) {\n if (!expr) return expr\n switch (expr.type) {\n case \"Identifier\":\n case \"MemberExpression\":\n return expr\n\n case \"ParenthesizedExpression\":\n expr.expression = this.checkLVal(expr.expression)\n return expr\n\n default:\n return this.dummyIdent()\n }\n}\n\nlp.parseExpression = function(noIn) {\n let start = this.storeCurrentPos()\n let expr = this.parseMaybeAssign(noIn)\n if (this.tok.type === tt.comma) {\n let node = this.startNodeAt(start)\n node.expressions = [expr]\n while (this.eat(tt.comma)) node.expressions.push(this.parseMaybeAssign(noIn))\n return this.finishNode(node, \"SequenceExpression\")\n }\n return expr\n}\n\nlp.parseParenExpression = function() {\n this.pushCx()\n this.expect(tt.parenL)\n let val = this.parseExpression()\n this.popCx()\n this.expect(tt.parenR)\n return val\n}\n\nlp.parseMaybeAssign = function(noIn) {\n if (this.toks.isContextual(\"yield\")) {\n let node = this.startNode()\n this.next()\n if (this.semicolon() || this.canInsertSemicolon() || (this.tok.type !== tt.star && !this.tok.type.startsExpr)) {\n node.delegate = false\n node.argument = null\n } else {\n node.delegate = this.eat(tt.star)\n node.argument = this.parseMaybeAssign()\n }\n return this.finishNode(node, \"YieldExpression\")\n }\n\n let start = this.storeCurrentPos()\n let left = this.parseMaybeConditional(noIn)\n if (this.tok.type.isAssign) {\n let node = this.startNodeAt(start)\n node.operator = this.tok.value\n node.left = this.tok.type === tt.eq ? this.toAssignable(left) : this.checkLVal(left)\n this.next()\n node.right = this.parseMaybeAssign(noIn)\n return this.finishNode(node, \"AssignmentExpression\")\n }\n return left\n}\n\nlp.parseMaybeConditional = function(noIn) {\n let start = this.storeCurrentPos()\n let expr = this.parseExprOps(noIn)\n if (this.eat(tt.question)) {\n let node = this.startNodeAt(start)\n node.test = expr\n node.consequent = this.parseMaybeAssign()\n node.alternate = this.expect(tt.colon) ? this.parseMaybeAssign(noIn) : this.dummyIdent()\n return this.finishNode(node, \"ConditionalExpression\")\n }\n return expr\n}\n\nlp.parseExprOps = function(noIn) {\n let start = this.storeCurrentPos()\n let indent = this.curIndent, line = this.curLineStart\n return this.parseExprOp(this.parseMaybeUnary(false), start, -1, noIn, indent, line)\n}\n\nlp.parseExprOp = function(left, start, minPrec, noIn, indent, line) {\n if (this.curLineStart !== line && this.curIndent < indent && this.tokenStartsLine()) return left\n let prec = this.tok.type.binop\n if (prec != null && (!noIn || this.tok.type !== tt._in)) {\n if (prec > minPrec) {\n let node = this.startNodeAt(start)\n node.left = left\n node.operator = this.tok.value\n this.next()\n if (this.curLineStart !== line && this.curIndent < indent && this.tokenStartsLine()) {\n node.right = this.dummyIdent()\n } else {\n let rightStart = this.storeCurrentPos()\n node.right = this.parseExprOp(this.parseMaybeUnary(false), rightStart, prec, noIn, indent, line)\n }\n this.finishNode(node, /&&|\\|\\|/.test(node.operator) ? \"LogicalExpression\" : \"BinaryExpression\")\n return this.parseExprOp(node, start, minPrec, noIn, indent, line)\n }\n }\n return left\n}\n\nlp.parseMaybeUnary = function(sawUnary) {\n let start = this.storeCurrentPos(), expr\n if (this.options.ecmaVersion >= 8 && this.toks.isContextual(\"await\") &&\n (this.inAsync || (!this.inFunction && this.options.allowAwaitOutsideFunction))\n ) {\n expr = this.parseAwait()\n sawUnary = true\n } else if (this.tok.type.prefix) {\n let node = this.startNode(), update = this.tok.type === tt.incDec\n if (!update) sawUnary = true\n node.operator = this.tok.value\n node.prefix = true\n this.next()\n node.argument = this.parseMaybeUnary(true)\n if (update) node.argument = this.checkLVal(node.argument)\n expr = this.finishNode(node, update ? \"UpdateExpression\" : \"UnaryExpression\")\n } else if (this.tok.type === tt.ellipsis) {\n let node = this.startNode()\n this.next()\n node.argument = this.parseMaybeUnary(sawUnary)\n expr = this.finishNode(node, \"SpreadElement\")\n } else {\n expr = this.parseExprSubscripts()\n while (this.tok.type.postfix && !this.canInsertSemicolon()) {\n let node = this.startNodeAt(start)\n node.operator = this.tok.value\n node.prefix = false\n node.argument = this.checkLVal(expr)\n this.next()\n expr = this.finishNode(node, \"UpdateExpression\")\n }\n }\n\n if (!sawUnary && this.eat(tt.starstar)) {\n let node = this.startNodeAt(start)\n node.operator = \"**\"\n node.left = expr\n node.right = this.parseMaybeUnary(false)\n return this.finishNode(node, \"BinaryExpression\")\n }\n\n return expr\n}\n\nlp.parseExprSubscripts = function() {\n let start = this.storeCurrentPos()\n return this.parseSubscripts(this.parseExprAtom(), start, false, this.curIndent, this.curLineStart)\n}\n\nlp.parseSubscripts = function(base, start, noCalls, startIndent, line) {\n for (;;) {\n if (this.curLineStart !== line && this.curIndent <= startIndent && this.tokenStartsLine()) {\n if (this.tok.type === tt.dot && this.curIndent === startIndent)\n --startIndent\n else\n return base\n }\n\n let maybeAsyncArrow = base.type === \"Identifier\" && base.name === \"async\" && !this.canInsertSemicolon()\n\n if (this.eat(tt.dot)) {\n let node = this.startNodeAt(start)\n node.object = base\n if (this.curLineStart !== line && this.curIndent <= startIndent && this.tokenStartsLine())\n node.property = this.dummyIdent()\n else\n node.property = this.parsePropertyAccessor() || this.dummyIdent()\n node.computed = false\n base = this.finishNode(node, \"MemberExpression\")\n } else if (this.tok.type === tt.bracketL) {\n this.pushCx()\n this.next()\n let node = this.startNodeAt(start)\n node.object = base\n node.property = this.parseExpression()\n node.computed = true\n this.popCx()\n this.expect(tt.bracketR)\n base = this.finishNode(node, \"MemberExpression\")\n } else if (!noCalls && this.tok.type === tt.parenL) {\n let exprList = this.parseExprList(tt.parenR)\n if (maybeAsyncArrow && this.eat(tt.arrow))\n return this.parseArrowExpression(this.startNodeAt(start), exprList, true)\n let node = this.startNodeAt(start)\n node.callee = base\n node.arguments = exprList\n base = this.finishNode(node, \"CallExpression\")\n } else if (this.tok.type === tt.backQuote) {\n let node = this.startNodeAt(start)\n node.tag = base\n node.quasi = this.parseTemplate()\n base = this.finishNode(node, \"TaggedTemplateExpression\")\n } else {\n return base\n }\n }\n}\n\nlp.parseExprAtom = function() {\n let node\n switch (this.tok.type) {\n case tt._this:\n case tt._super:\n let type = this.tok.type === tt._this ? \"ThisExpression\" : \"Super\"\n node = this.startNode()\n this.next()\n return this.finishNode(node, type)\n\n case tt.name:\n let start = this.storeCurrentPos()\n let id = this.parseIdent()\n let isAsync = false\n if (id.name === \"async\" && !this.canInsertSemicolon()) {\n if (this.eat(tt._function))\n return this.parseFunction(this.startNodeAt(start), false, true)\n if (this.tok.type === tt.name) {\n id = this.parseIdent()\n isAsync = true\n }\n }\n return this.eat(tt.arrow) ? this.parseArrowExpression(this.startNodeAt(start), [id], isAsync) : id\n\n case tt.regexp:\n node = this.startNode()\n let val = this.tok.value\n node.regex = {pattern: val.pattern, flags: val.flags}\n node.value = val.value\n node.raw = this.input.slice(this.tok.start, this.tok.end)\n this.next()\n return this.finishNode(node, \"Literal\")\n\n case tt.num: case tt.string:\n node = this.startNode()\n node.value = this.tok.value\n node.raw = this.input.slice(this.tok.start, this.tok.end)\n this.next()\n return this.finishNode(node, \"Literal\")\n\n case tt._null: case tt._true: case tt._false:\n node = this.startNode()\n node.value = this.tok.type === tt._null ? null : this.tok.type === tt._true\n node.raw = this.tok.type.keyword\n this.next()\n return this.finishNode(node, \"Literal\")\n\n case tt.parenL:\n let parenStart = this.storeCurrentPos()\n this.next()\n let inner = this.parseExpression()\n this.expect(tt.parenR)\n if (this.eat(tt.arrow)) {\n // (a,)=>a // SequenceExpression makes dummy in the last hole. Drop the dummy.\n let params = inner.expressions || [inner]\n if (params.length && isDummy(params[params.length - 1]))\n params.pop()\n return this.parseArrowExpression(this.startNodeAt(parenStart), params)\n }\n if (this.options.preserveParens) {\n let par = this.startNodeAt(parenStart)\n par.expression = inner\n inner = this.finishNode(par, \"ParenthesizedExpression\")\n }\n return inner\n\n case tt.bracketL:\n node = this.startNode()\n node.elements = this.parseExprList(tt.bracketR, true)\n return this.finishNode(node, \"ArrayExpression\")\n\n case tt.braceL:\n return this.parseObj()\n\n case tt._class:\n return this.parseClass(false)\n\n case tt._function:\n node = this.startNode()\n this.next()\n return this.parseFunction(node, false)\n\n case tt._new:\n return this.parseNew()\n\n case tt.backQuote:\n return this.parseTemplate()\n\n default:\n return this.dummyIdent()\n }\n}\n\nlp.parseNew = function() {\n let node = this.startNode(), startIndent = this.curIndent, line = this.curLineStart\n let meta = this.parseIdent(true)\n if (this.options.ecmaVersion >= 6 && this.eat(tt.dot)) {\n node.meta = meta\n node.property = this.parseIdent(true)\n return this.finishNode(node, \"MetaProperty\")\n }\n let start = this.storeCurrentPos()\n node.callee = this.parseSubscripts(this.parseExprAtom(), start, true, startIndent, line)\n if (this.tok.type === tt.parenL) {\n node.arguments = this.parseExprList(tt.parenR)\n } else {\n node.arguments = []\n }\n return this.finishNode(node, \"NewExpression\")\n}\n\nlp.parseTemplateElement = function() {\n let elem = this.startNode()\n\n // The loose parser accepts invalid unicode escapes even in untagged templates.\n if (this.tok.type === tt.invalidTemplate) {\n elem.value = {\n raw: this.tok.value,\n cooked: null\n }\n } else {\n elem.value = {\n raw: this.input.slice(this.tok.start, this.tok.end).replace(/\\r\\n?/g, \"\\n\"),\n cooked: this.tok.value\n }\n }\n this.next()\n elem.tail = this.tok.type === tt.backQuote\n return this.finishNode(elem, \"TemplateElement\")\n}\n\nlp.parseTemplate = function() {\n let node = this.startNode()\n this.next()\n node.expressions = []\n let curElt = this.parseTemplateElement()\n node.quasis = [curElt]\n while (!curElt.tail) {\n this.next()\n node.expressions.push(this.parseExpression())\n if (this.expect(tt.braceR)) {\n curElt = this.parseTemplateElement()\n } else {\n curElt = this.startNode()\n curElt.value = {cooked: \"\", raw: \"\"}\n curElt.tail = true\n this.finishNode(curElt, \"TemplateElement\")\n }\n node.quasis.push(curElt)\n }\n this.expect(tt.backQuote)\n return this.finishNode(node, \"TemplateLiteral\")\n}\n\nlp.parseObj = function() {\n let node = this.startNode()\n node.properties = []\n this.pushCx()\n let indent = this.curIndent + 1, line = this.curLineStart\n this.eat(tt.braceL)\n if (this.curIndent + 1 < indent) { indent = this.curIndent; line = this.curLineStart }\n while (!this.closes(tt.braceR, indent, line)) {\n let prop = this.startNode(), isGenerator, isAsync, start\n if (this.options.ecmaVersion >= 9 && this.eat(tt.ellipsis)) {\n prop.argument = this.parseMaybeAssign()\n node.properties.push(this.finishNode(prop, \"SpreadElement\"))\n this.eat(tt.comma)\n continue\n }\n if (this.options.ecmaVersion >= 6) {\n start = this.storeCurrentPos()\n prop.method = false\n prop.shorthand = false\n isGenerator = this.eat(tt.star)\n }\n this.parsePropertyName(prop)\n if (this.toks.isAsyncProp(prop)) {\n isAsync = true\n isGenerator = this.options.ecmaVersion >= 9 && this.eat(tt.star)\n this.parsePropertyName(prop)\n } else {\n isAsync = false\n }\n if (isDummy(prop.key)) { if (isDummy(this.parseMaybeAssign())) this.next(); this.eat(tt.comma); continue }\n if (this.eat(tt.colon)) {\n prop.kind = \"init\"\n prop.value = this.parseMaybeAssign()\n } else if (this.options.ecmaVersion >= 6 && (this.tok.type === tt.parenL || this.tok.type === tt.braceL)) {\n prop.kind = \"init\"\n prop.method = true\n prop.value = this.parseMethod(isGenerator, isAsync)\n } else if (this.options.ecmaVersion >= 5 && prop.key.type === \"Identifier\" &&\n !prop.computed && (prop.key.name === \"get\" || prop.key.name === \"set\") &&\n (this.tok.type !== tt.comma && this.tok.type !== tt.braceR && this.tok.type !== tt.eq)) {\n prop.kind = prop.key.name\n this.parsePropertyName(prop)\n prop.value = this.parseMethod(false)\n } else {\n prop.kind = \"init\"\n if (this.options.ecmaVersion >= 6) {\n if (this.eat(tt.eq)) {\n let assign = this.startNodeAt(start)\n assign.operator = \"=\"\n assign.left = prop.key\n assign.right = this.parseMaybeAssign()\n prop.value = this.finishNode(assign, \"AssignmentExpression\")\n } else {\n prop.value = prop.key\n }\n } else {\n prop.value = this.dummyIdent()\n }\n prop.shorthand = true\n }\n node.properties.push(this.finishNode(prop, \"Property\"))\n this.eat(tt.comma)\n }\n this.popCx()\n if (!this.eat(tt.braceR)) {\n // If there is no closing brace, make the node span to the start\n // of the next token (this is useful for Tern)\n this.last.end = this.tok.start\n if (this.options.locations) this.last.loc.end = this.tok.loc.start\n }\n return this.finishNode(node, \"ObjectExpression\")\n}\n\nlp.parsePropertyName = function(prop) {\n if (this.options.ecmaVersion >= 6) {\n if (this.eat(tt.bracketL)) {\n prop.computed = true\n prop.key = this.parseExpression()\n this.expect(tt.bracketR)\n return\n } else {\n prop.computed = false\n }\n }\n let key = (this.tok.type === tt.num || this.tok.type === tt.string) ? this.parseExprAtom() : this.parseIdent()\n prop.key = key || this.dummyIdent()\n}\n\nlp.parsePropertyAccessor = function() {\n if (this.tok.type === tt.name || this.tok.type.keyword) return this.parseIdent()\n}\n\nlp.parseIdent = function() {\n let name = this.tok.type === tt.name ? this.tok.value : this.tok.type.keyword\n if (!name) return this.dummyIdent()\n let node = this.startNode()\n this.next()\n node.name = name\n return this.finishNode(node, \"Identifier\")\n}\n\nlp.initFunction = function(node) {\n node.id = null\n node.params = []\n if (this.options.ecmaVersion >= 6) {\n node.generator = false\n node.expression = false\n }\n if (this.options.ecmaVersion >= 8)\n node.async = false\n}\n\n// Convert existing expression atom to assignable pattern\n// if possible.\n\nlp.toAssignable = function(node, binding) {\n if (!node || node.type === \"Identifier\" || (node.type === \"MemberExpression\" && !binding)) {\n // Okay\n } else if (node.type === \"ParenthesizedExpression\") {\n this.toAssignable(node.expression, binding)\n } else if (this.options.ecmaVersion < 6) {\n return this.dummyIdent()\n } else if (node.type === \"ObjectExpression\") {\n node.type = \"ObjectPattern\"\n for (let prop of node.properties)\n this.toAssignable(prop, binding)\n } else if (node.type === \"ArrayExpression\") {\n node.type = \"ArrayPattern\"\n this.toAssignableList(node.elements, binding)\n } else if (node.type === \"Property\") {\n this.toAssignable(node.value, binding)\n } else if (node.type === \"SpreadElement\") {\n node.type = \"RestElement\"\n this.toAssignable(node.argument, binding)\n } else if (node.type === \"AssignmentExpression\") {\n node.type = \"AssignmentPattern\"\n delete node.operator\n } else {\n return this.dummyIdent()\n }\n return node\n}\n\nlp.toAssignableList = function(exprList, binding) {\n for (let expr of exprList)\n this.toAssignable(expr, binding)\n return exprList\n}\n\nlp.parseFunctionParams = function(params) {\n params = this.parseExprList(tt.parenR)\n return this.toAssignableList(params, true)\n}\n\nlp.parseMethod = function(isGenerator, isAsync) {\n let node = this.startNode(), oldInAsync = this.inAsync, oldInFunction = this.inFunction\n this.initFunction(node)\n if (this.options.ecmaVersion >= 6)\n node.generator = !!isGenerator\n if (this.options.ecmaVersion >= 8)\n node.async = !!isAsync\n this.inAsync = node.async\n this.inFunction = true\n node.params = this.parseFunctionParams()\n node.body = this.parseBlock()\n this.toks.adaptDirectivePrologue(node.body.body)\n this.inAsync = oldInAsync\n this.inFunction = oldInFunction\n return this.finishNode(node, \"FunctionExpression\")\n}\n\nlp.parseArrowExpression = function(node, params, isAsync) {\n let oldInAsync = this.inAsync, oldInFunction = this.inFunction\n this.initFunction(node)\n if (this.options.ecmaVersion >= 8)\n node.async = !!isAsync\n this.inAsync = node.async\n this.inFunction = true\n node.params = this.toAssignableList(params, true)\n node.expression = this.tok.type !== tt.braceL\n if (node.expression) {\n node.body = this.parseMaybeAssign()\n } else {\n node.body = this.parseBlock()\n this.toks.adaptDirectivePrologue(node.body.body)\n }\n this.inAsync = oldInAsync\n this.inFunction = oldInFunction\n return this.finishNode(node, \"ArrowFunctionExpression\")\n}\n\nlp.parseExprList = function(close, allowEmpty) {\n this.pushCx()\n let indent = this.curIndent, line = this.curLineStart, elts = []\n this.next() // Opening bracket\n while (!this.closes(close, indent + 1, line)) {\n if (this.eat(tt.comma)) {\n elts.push(allowEmpty ? null : this.dummyIdent())\n continue\n }\n let elt = this.parseMaybeAssign()\n if (isDummy(elt)) {\n if (this.closes(close, indent, line)) break\n this.next()\n } else {\n elts.push(elt)\n }\n this.eat(tt.comma)\n }\n this.popCx()\n if (!this.eat(close)) {\n // If there is no closing brace, make the node span to the start\n // of the next token (this is useful for Tern)\n this.last.end = this.tok.start\n if (this.options.locations) this.last.loc.end = this.tok.loc.start\n }\n return elts\n}\n\nlp.parseAwait = function() {\n let node = this.startNode()\n this.next()\n node.argument = this.parseMaybeUnary()\n return this.finishNode(node, \"AwaitExpression\")\n}\n","// Acorn: Loose parser\n//\n// This module provides an alternative parser that exposes that same\n// interface as the main module's `parse` function, but will try to\n// parse anything as JavaScript, repairing syntax error the best it\n// can. There are circumstances in which it will raise an error and\n// give up, but they are very rare. The resulting AST will be a mostly\n// valid JavaScript AST (as per the [Mozilla parser API][api], except\n// that:\n//\n// - Return outside functions is allowed\n//\n// - Label consistency (no conflicts, break only to existing labels)\n// is not enforced.\n//\n// - Bogus Identifier nodes with a name of `\"✖\"` are inserted whenever\n// the parser got too confused to return anything meaningful.\n//\n// [api]: https://developer.mozilla.org/en-US/docs/SpiderMonkey/Parser_API\n//\n// The expected use for this is to *first* try `acorn.parse`, and only\n// if that fails switch to the loose parser. The loose parser might\n// parse badly indented code incorrectly, so **don't** use it as your\n// default parser.\n//\n// Quite a lot of acorn.js is duplicated here. The alternative was to\n// add a *lot* of extra cruft to that file, making it less readable\n// and slower. Copying and editing the code allowed me to make\n// invasive changes and simplifications without creating a complicated\n// tangle.\n\nimport {defaultOptions} from \"acorn\"\nimport {LooseParser} from \"./state\"\nimport \"./tokenize\"\nimport \"./statement\"\nimport \"./expression\"\n\nexport {LooseParser} from \"./state\"\n\ndefaultOptions.tabSize = 4\n\nexport function parse(input, options) {\n return LooseParser.parse(input, options)\n}\n"],"names":["tt","SourceLocation","Node","lineBreak","let","this","isNewLine","Parser","const","Token","getLineInfo","lineBreakG","lp","init","decl","elt","node","defaultOptions"],"mappings":";;;;;;AAEA,SAAS,IAAI,GAAG,EAAE;;AAElB,AAAO,IAAM,WAAW,GAAC,oBACZ,CAAC,KAAK,EAAE,OAAY,EAAE;mCAAP,GAAG,EAAE;;EAC/B,IAAM,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,EAAC;EACnE,IAAM,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,QAAO;EAClC,IAAM,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,MAAK;EAC9B,IAAM,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,EAAEA,cAAE,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAC;EACzD,IAAM,CAAC,GAAG,CAAC,mBAAmB,GAAG,KAAI;EACrC,IAAM,CAAC,GAAG,CAAC,qBAAqB,GAAG,KAAI;EACvC,IAAM,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE;IAC5B,IAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,GAAE;IACpC,IAAM,CAAC,GAAG,CAAC,GAAG,GAAG,IAAIC,oBAAc,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAC;GACzD;EACH,IAAM,CAAC,KAAK,GAAG,GAAE;EACjB,IAAM,CAAC,OAAO,GAAG,GAAE;EACnB,IAAM,CAAC,SAAS,GAAG,EAAC;EACpB,IAAM,CAAC,YAAY,GAAG,EAAC;EACvB,IAAM,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,EAAC;EAC1D,IAAM,CAAC,OAAO,GAAG,MAAK;EACtB,IAAM,CAAC,UAAU,GAAG,MAAK;CACxB,CAAA;;AAEH,sBAAE,SAAS,yBAAG;EACZ,OAAS,IAAIC,UAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC;CAC/F,CAAA;;AAEH,sBAAE,eAAe,+BAAG;EAClB,OAAS,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK;CACtF,CAAA;;AAEH,sBAAE,WAAW,yBAAC,GAAG,EAAE;EACjB,IAAM,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE;IAC5B,OAAS,IAAIA,UAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;GAC3C,MAAM;IACP,OAAS,IAAIA,UAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC;GAChC;CACF,CAAA;;AAEH,sBAAE,UAAU,wBAAC,IAAI,EAAE,IAAI,EAAE;EACvB,IAAM,CAAC,IAAI,GAAG,KAAI;EAClB,IAAM,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAG;EAC1B,IAAM,IAAI,CAAC,OAAO,CAAC,SAAS;IAC1B,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAG,EAAA;EACpC,IAAM,IAAI,CAAC,OAAO,CAAC,MAAM;IACvB,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAG,EAAA;EACjC,OAAS,IAAI;CACZ,CAAA;;AAEH,sBAAE,SAAS,uBAAC,IAAI,EAAE;EAChB,IAAM,KAAK,GAAG,IAAI,CAAC,SAAS,GAAE;EAC9B,KAAO,CAAC,IAAI,GAAG,KAAI;EACnB,KAAO,CAAC,GAAG,GAAG,KAAK,CAAC,MAAK;EACzB,IAAM,IAAI,CAAC,OAAO,CAAC,SAAS;IAC1B,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,MAAK,EAAA;EACnC,IAAM,IAAI,CAAC,OAAO,CAAC,MAAM;IACvB,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAK,EAAA;EAChC,IAAM,CAAC,IAAI,GAAG,CAAC,IAAI,EAAEF,cAAE,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAC;EACnF,OAAS,KAAK;CACb,CAAA;;AAEH,sBAAE,UAAU,0BAAG;EACb,IAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,EAAC;EAC1C,KAAO,CAAC,IAAI,GAAG,IAAG;EAClB,OAAS,KAAK;CACb,CAAA;;AAEH,sBAAE,WAAW,2BAAG;EACd,IAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,EAAC;EACvC,KAAO,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,GAAG,IAAG;EAC/B,OAAS,KAAK;CACb,CAAA;;AAEH,sBAAE,GAAG,iBAAC,IAAI,EAAE;EACV,IAAM,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI,EAAE;IAC5B,IAAM,CAAC,IAAI,GAAE;IACb,OAAS,IAAI;GACZ,MAAM;IACP,OAAS,KAAK;GACb;CACF,CAAA;;AAEH,sBAAE,YAAY,0BAAC,IAAI,EAAE;EACnB,OAAS,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKA,cAAE,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,IAAI;CAC5D,CAAA;;AAEH,sBAAE,aAAa,2BAAC,IAAI,EAAE;EACpB,OAAS,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,GAAG,CAACA,cAAE,CAAC,IAAI,CAAC;CACpD,CAAA;;AAEH,sBAAE,kBAAkB,kCAAG;EACrB,OAAS,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKA,cAAE,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKA,cAAE,CAAC,MAAM;IAC9DG,eAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CAClE,CAAA;;AAEH,sBAAE,SAAS,yBAAG;EACZ,OAAS,IAAI,CAAC,GAAG,CAACH,cAAE,CAAC,IAAI,CAAC;CACzB,CAAA;;AAEH,sBAAE,MAAM,oBAAC,IAAI,EAAE;;;EACb,IAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAA,OAAO,IAAI,EAAA;EACjC,KAAOI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;IAC7B,IAAMC,MAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,EAAE;MACrC,KAAOD,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,EAAAC,MAAI,CAAC,IAAI,GAAE,EAAA;MACzC,OAAS,IAAI;KACZ;GACF;CACF,CAAA;;AAEH,sBAAE,MAAM,sBAAG;EACT,IAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAC;CAClC,CAAA;;AAEH,sBAAE,KAAK,qBAAG;EACR,IAAM,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,GAAE;CACpC,CAAA;;AAEH,sBAAE,OAAO,qBAAC,GAAG,EAAE;EACb,OAAS,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAACC,eAAS,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAA,EAAE,IAAG,EAAA;EACjF,OAAS,GAAG;CACX,CAAA;;AAEH,sBAAE,gBAAgB,8BAAC,GAAG,EAAE;;;EACtB,KAAOF,IAAI,KAAK,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE;IAC5B,IAAM,EAAE,GAAGC,MAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,EAAC;IACrC,IAAM,EAAE,KAAK,EAAE,EAAE,EAAA,EAAE,MAAK,EAAA;SACjB,IAAI,EAAE,KAAK,CAAC,EAAE,EAAA,KAAK,IAAIA,MAAI,CAAC,OAAO,CAAC,QAAO,EAAA;SAC3C,EAAA,OAAO,KAAK,EAAA;GAClB;CACF,CAAA;;AAEH,sBAAE,MAAM,oBAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE;EAC/C,IAAM,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKL,cAAE,CAAC,GAAG,EAAE,EAAA,OAAO,IAAI,EAAA;EACzE,OAAS,IAAI,KAAK,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,SAAS,GAAG,MAAM,IAAI,IAAI,CAAC,eAAe,EAAE;KACnF,CAAC,cAAc,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM;KAC5D,IAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC;CACvD,CAAA;;AAEH,sBAAE,eAAe,+BAAG;;;EAClB,KAAOI,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC,EAAE;IAC9D,IAAM,EAAE,GAAGC,MAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,EAAC;IACnC,IAAM,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,EAAA,OAAO,KAAK,EAAA;GACxC;EACH,OAAS,IAAI;CACZ,CAAA;;AAEH,sBAAE,MAAM,oBAAC,IAAI,EAAE,CAAC,EAAE;EAChB,IAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAC;CAC3B,CAAA;;AAEH,sBAAE,KAAK,qBAAG;EACR,IAAM,CAAC,IAAI,GAAE;EACb,OAAS,IAAI,CAAC,aAAa,EAAE;CAC5B,CAAA;;AAEH,YAAE,MAAa,sBAAa;;;;EAC1B,IAAM,GAAG,GAAG,KAAI;EAChB,KAAOD,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,EAAA,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,EAAC,EAAA;EAChE,OAAS,GAAG;CACX,CAAA;;AAEH,YAAE,KAAY,mBAAC,KAAK,EAAE,OAAO,EAAE;EAC7B,OAAS,IAAI,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,KAAK,EAAE;CACxC,CAAA;;;AAIH,WAAW,CAAC,UAAU,GAAGG;;ACtKzBC,IAAM,EAAE,GAAG,WAAW,CAAC,UAAS;;AAEhC,SAAS,OAAO,CAAC,EAAE,EAAE;EACnB,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,GAAG,IAAIF,eAAS,CAAC,EAAE,CAAC;CACvE;;AAED,EAAE,CAAC,IAAI,GAAG,WAAW;;;EACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAG;EACpB,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM;IACnB,EAAA,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAE,EAAA;;IAE7B,EAAA,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,SAAS,GAAE,EAAA;;EAE7B,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,CAAC,aAAa,EAAE;IACxC,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,CAAC,aAAa,EAAE;MAC3CD,MAAI,CAAC,YAAY,GAAGA,MAAI,CAAC,cAAa;MACtCA,MAAI,CAAC,aAAa,GAAGA,MAAI,CAAC,OAAO,CAACA,MAAI,CAAC,YAAY,CAAC,GAAG,EAAC;KACzD;IACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAAY,EAAC;GAC1D;EACF;;AAED,EAAE,CAAC,SAAS,GAAG,WAAW;;;EACxB,SAAS;IACP,IAAI;MACFA,MAAI,CAAC,IAAI,CAAC,IAAI,GAAE;MAChB,IAAIA,MAAI,CAAC,IAAI,CAAC,IAAI,KAAKL,cAAE,CAAC,GAAG;UACzBK,MAAI,CAAC,KAAK,CAAC,MAAM,CAACA,MAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,GAAG;UAC3CA,MAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,EAAE;QACjCA,MAAI,CAAC,IAAI,CAAC,GAAG,GAAE;QACfA,MAAI,CAAC,IAAI,CAAC,IAAI,GAAGL,cAAE,CAAC,SAAQ;OAC7B;MACD,OAAO,IAAIS,WAAK,CAACJ,MAAI,CAAC,IAAI,CAAC;KAC5B,CAAC,OAAO,CAAC,EAAE;MACV,IAAI,EAAE,CAAC,YAAY,WAAW,CAAC,EAAE,EAAA,MAAM,CAAC,EAAA;;;MAGxCD,IAAI,GAAG,GAAG,CAAC,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,CAAC,QAAQ,EAAE,OAAO,GAAG,KAAI;MACrD,IAAI,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QAC7B,GAAG,GAAGC,MAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,EAAC;QAC7B,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;UACtB,OAAO,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAEL,cAAE,CAAC,MAAM,EAAE,KAAK,EAAEK,MAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,EAAC;SAC7F,MAAM,IAAI,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;UACpCD,IAAI,EAAE,GAAGC,MAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,EAAC;UACrC,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,CAAC,EAAE,EAAC,EAAE,CAAC,OAAO,CAAC,EAAE,oDAAoD;UAC1F,OAAO,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAEL,cAAE,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,EAAC;SAC/D,MAAM,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;UAC/B,OAAO,GAAG;YACR,KAAK,EAAE,CAAC,CAAC,GAAG;YACZ,GAAG,EAAE,GAAG;YACR,IAAI,EAAEA,cAAE,CAAC,QAAQ;YACjB,KAAK,EAAEK,MAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC;YACpC;SACF,MAAM;UACL,OAAO,GAAG,MAAK;SAChB;OACF,MAAM,IAAI,6HAA6H,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QAClJ,OAAO,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAA,EAAE,IAAG,EAAA;OAC9E,MAAM,IAAI,wCAAwC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QAC7D,OAAO,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;UAC9BD,IAAI,EAAE,GAAGC,MAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,EAAC;UACrC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAIC,eAAS,CAAC,EAAE,CAAC,EAAE,EAAA,KAAK,EAAA;SACnD;OACF,MAAM,IAAI,uBAAuB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QAC5C,GAAG,GAAE;QACL,OAAO,GAAG,MAAK;OAChB,MAAM,IAAI,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QAC1C,OAAO,GAAG,KAAI;OACf,MAAM;QACL,MAAM,CAAC;OACR;MACDD,MAAI,CAAC,OAAO,CAAC,GAAG,EAAC;MACjB,IAAI,OAAO,KAAK,IAAI,EAAE,EAAA,OAAO,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAEL,cAAE,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAC,EAAA;MACjF,IAAI,OAAO,EAAE;QACX,IAAIK,MAAI,CAAC,OAAO,CAAC,SAAS;UACxB,EAAA,OAAO,CAAC,GAAG,GAAG,IAAIJ,oBAAc;YAC9BI,MAAI,CAAC,IAAI;YACTK,iBAAW,CAACL,MAAI,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC;YACtCK,iBAAW,CAACL,MAAI,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,EAAC,EAAA;QACzC,OAAO,OAAO;OACf;KACF;GACF;EACF;;AAED,EAAE,CAAC,OAAO,GAAG,SAAS,GAAG,EAAE;;;EACzB,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,IAAG;EACnBD,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,EAAC;EACnC,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,EAAE,IAAI,yBAAyB,CAAC,IAAI,CAAC,EAAE,CAAC;IAC/D,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;IAClB,mEAAmE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,EAAE,EAAE,GAAG,CAAC,EAAC;;EAE3G,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE;IAC1B,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,EAAC;IACrB,IAAI,CAAC,IAAI,CAAC,SAAS,GAAGO,gBAAU,CAAC,SAAS,GAAG,EAAC;IAC9CP,IAAI,MAAK;IACT,OAAO,CAAC,KAAK,GAAGO,gBAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,KAAK,GAAG,GAAG,EAAE;MACjE,EAAEN,MAAI,CAAC,IAAI,CAAC,QAAO;MACnBA,MAAI,CAAC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,OAAM;KACpD;GACF;EACF;;AAED,EAAE,CAAC,SAAS,GAAG,SAAS,CAAC,EAAE;;;EACzB,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM;IAC1B,EAAAA,MAAI,CAAC,KAAK,CAAC,IAAI,CAACA,MAAI,CAAC,SAAS,EAAE,EAAC,EAAA;EACnC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;CACzB;;AC9GM,SAAS,OAAO,CAAC,IAAI,EAAE,EAAE,OAAO,IAAI,CAAC,IAAI,KAAK,GAAG,EAAE;;ACI1DG,IAAMI,IAAE,GAAG,WAAW,CAAC,UAAS;;AAEhCA,IAAE,CAAC,aAAa,GAAG,WAAW;;;EAC5BR,IAAI,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,CAAC,CAAC,EAAEM,iBAAW,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAC;EACzF,IAAI,CAAC,IAAI,GAAG,GAAE;EACd,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKV,cAAE,CAAC,GAAG,EAAE,EAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAACK,MAAI,CAAC,cAAc,EAAE,EAAC,EAAA;EACtE,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,EAAC;EAC3C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAG;EACpB,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,EAAE;IACjC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,WAAU;GAC1C;EACD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC;EACxC;;AAEDO,IAAE,CAAC,cAAc,GAAG,WAAW;;;EAC7BR,IAAI,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,EAAE,KAAI;;EAE5D,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE;IACrB,SAAS,GAAGJ,cAAE,CAAC,KAAI;IACnB,IAAI,GAAG,MAAK;GACb;;EAED,QAAQ,SAAS;EACjB,KAAKA,cAAE,CAAC,MAAM,CAAC,CAAC,KAAKA,cAAE,CAAC,SAAS;IAC/B,IAAI,CAAC,IAAI,GAAE;IACXI,IAAI,OAAO,GAAG,SAAS,KAAKJ,cAAE,CAAC,OAAM;IACrC,IAAI,IAAI,CAAC,SAAS,EAAE,IAAI,IAAI,CAAC,kBAAkB,EAAE,EAAE;MACjD,IAAI,CAAC,KAAK,GAAG,KAAI;KAClB,MAAM;MACL,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKA,cAAE,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,KAAI;MACjE,IAAI,CAAC,SAAS,GAAE;KACjB;IACD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG,gBAAgB,GAAG,mBAAmB,CAAC;;EAEhF,KAAKA,cAAE,CAAC,SAAS;IACf,IAAI,CAAC,IAAI,GAAE;IACX,IAAI,CAAC,SAAS,GAAE;IAChB,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,mBAAmB,CAAC;;EAEnD,KAAKA,cAAE,CAAC,GAAG;IACT,IAAI,CAAC,IAAI,GAAE;IACX,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,cAAc,GAAE;IACjC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAACA,cAAE,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,oBAAoB,EAAE,GAAG,IAAI,CAAC,UAAU,GAAE;IACjF,IAAI,CAAC,SAAS,GAAE;IAChB,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,kBAAkB,CAAC;;EAElD,KAAKA,cAAE,CAAC,IAAI;IACV,IAAI,CAAC,IAAI,GAAE;IACXI,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,EAAC;;IAE1F,IAAI,CAAC,MAAM,GAAE;IACb,IAAI,CAAC,MAAM,CAACJ,cAAE,CAAC,MAAM,EAAC;IACtB,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKA,cAAE,CAAC,IAAI,EAAE,EAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,EAAA;IAC/DI,IAAI,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAE;IAC7B,IAAI,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKJ,cAAE,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKA,cAAE,CAAC,MAAM,EAAE;MACrEI,IAAIS,MAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAC;MAChF,IAAIA,MAAI,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKb,cAAE,CAAC,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE;QAC3F,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKA,cAAE,CAAC,GAAG,EAAE;UAC7D,IAAI,CAAC,KAAK,GAAG,QAAO;SACrB;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAEa,MAAI,CAAC;OACnC;MACD,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAEA,MAAI,CAAC;KACjC;IACDT,IAAI,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,EAAC;IACrC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKJ,cAAE,CAAC,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE;MACvD,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKA,cAAE,CAAC,GAAG,EAAE;QAC7D,IAAI,CAAC,KAAK,GAAG,QAAO;OACrB;MACD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;KACtD;IACD,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;;EAElC,KAAKA,cAAE,CAAC,SAAS;IACf,IAAI,CAAC,IAAI,GAAE;IACX,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC;;EAEvC,KAAKA,cAAE,CAAC,GAAG;IACT,IAAI,CAAC,IAAI,GAAE;IACX,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,oBAAoB,GAAE;IACvC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,cAAc,GAAE;IACvC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAACA,cAAE,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,cAAc,EAAE,GAAG,KAAI;IAClE,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,aAAa,CAAC;;EAE7C,KAAKA,cAAE,CAAC,OAAO;IACb,IAAI,CAAC,IAAI,GAAE;IACX,IAAI,IAAI,CAAC,GAAG,CAACA,cAAE,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,kBAAkB,EAAE,EAAE,EAAA,IAAI,CAAC,QAAQ,GAAG,KAAI,EAAA;SACnE,EAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,GAAE,EAAE;IACjE,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,iBAAiB,CAAC;;EAEjD,KAAKA,cAAE,CAAC,OAAO;IACbI,IAAI,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC,aAAY;IAC1D,IAAI,CAAC,IAAI,GAAE;IACX,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,oBAAoB,GAAE;IAC/C,IAAI,CAAC,KAAK,GAAG,GAAE;IACf,IAAI,CAAC,MAAM,GAAE;IACb,IAAI,CAAC,MAAM,CAACJ,cAAE,CAAC,MAAM,EAAC;;IAEtBI,IAAI,IAAG;IACP,OAAO,CAAC,IAAI,CAAC,MAAM,CAACJ,cAAE,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE;MACvD,IAAIK,MAAI,CAAC,GAAG,CAAC,IAAI,KAAKL,cAAE,CAAC,KAAK,IAAIK,MAAI,CAAC,GAAG,CAAC,IAAI,KAAKL,cAAE,CAAC,QAAQ,EAAE;QAC/DI,IAAI,MAAM,GAAGC,MAAI,CAAC,GAAG,CAAC,IAAI,KAAKL,cAAE,CAAC,MAAK;QACvC,IAAI,GAAG,EAAE,EAAAK,MAAI,CAAC,UAAU,CAAC,GAAG,EAAE,YAAY,EAAC,EAAA;QAC3C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAGA,MAAI,CAAC,SAAS,EAAE,EAAC;QACvC,GAAG,CAAC,UAAU,GAAG,GAAE;QACnBA,MAAI,CAAC,IAAI,GAAE;QACX,IAAI,MAAM,EAAE,EAAA,GAAG,CAAC,IAAI,GAAGA,MAAI,CAAC,eAAe,GAAE,EAAA;aACxC,EAAA,GAAG,CAAC,IAAI,GAAG,KAAI,EAAA;QACpBA,MAAI,CAAC,MAAM,CAACL,cAAE,CAAC,KAAK,EAAC;OACtB,MAAM;QACL,IAAI,CAAC,GAAG,EAAE;UACR,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAGK,MAAI,CAAC,SAAS,EAAE,EAAC;UACvC,GAAG,CAAC,UAAU,GAAG,GAAE;UACnB,GAAG,CAAC,IAAI,GAAG,KAAI;SAChB;QACD,GAAG,CAAC,UAAU,CAAC,IAAI,CAACA,MAAI,CAAC,cAAc,EAAE,EAAC;OAC3C;KACF;IACD,IAAI,GAAG,EAAE,EAAA,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,YAAY,EAAC,EAAA;IAC3C,IAAI,CAAC,KAAK,GAAE;IACZ,IAAI,CAAC,GAAG,CAACL,cAAE,CAAC,MAAM,EAAC;IACnB,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,iBAAiB,CAAC;;EAEjD,KAAKA,cAAE,CAAC,MAAM;IACZ,IAAI,CAAC,IAAI,GAAE;IACX,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,eAAe,GAAE;IACtC,IAAI,CAAC,SAAS,GAAE;IAChB,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,gBAAgB,CAAC;;EAEhD,KAAKA,cAAE,CAAC,IAAI;IACV,IAAI,CAAC,IAAI,GAAE;IACX,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,GAAE;IAC9B,IAAI,CAAC,OAAO,GAAG,KAAI;IACnB,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKA,cAAE,CAAC,MAAM,EAAE;MAC/BI,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,GAAE;MAC7B,IAAI,CAAC,IAAI,GAAE;MACX,IAAI,IAAI,CAAC,GAAG,CAACJ,cAAE,CAAC,MAAM,CAAC,EAAE;QACvB,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,EAAC;QAC5D,IAAI,CAAC,MAAM,CAACA,cAAE,CAAC,MAAM,EAAC;OACvB,MAAM;QACL,MAAM,CAAC,KAAK,GAAG,KAAI;OACpB;MACD,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,GAAE;MAC/B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,aAAa,EAAC;KACtD;IACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAACA,cAAE,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,KAAI;IACjE,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAA,OAAO,IAAI,CAAC,KAAK,EAAA;IACvD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,cAAc,CAAC;;EAE9C,KAAKA,cAAE,CAAC,IAAI,CAAC;EACb,KAAKA,cAAE,CAAC,MAAM;IACZ,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;;EAE3D,KAAKA,cAAE,CAAC,MAAM;IACZ,IAAI,CAAC,IAAI,GAAE;IACX,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,oBAAoB,GAAE;IACvC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,cAAc,GAAE;IACjC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,gBAAgB,CAAC;;EAEhD,KAAKA,cAAE,CAAC,KAAK;IACX,IAAI,CAAC,IAAI,GAAE;IACX,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,oBAAoB,GAAE;IACzC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,cAAc,GAAE;IACjC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,eAAe,CAAC;;EAE/C,KAAKA,cAAE,CAAC,MAAM;IACZ,OAAO,IAAI,CAAC,UAAU,EAAE;;EAE1B,KAAKA,cAAE,CAAC,IAAI;IACV,IAAI,CAAC,IAAI,GAAE;IACX,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,gBAAgB,CAAC;;EAEhD,KAAKA,cAAE,CAAC,MAAM;IACZ,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;;EAE9B,KAAKA,cAAE,CAAC,OAAO;IACb,OAAO,IAAI,CAAC,WAAW,EAAE;;EAE3B,KAAKA,cAAE,CAAC,OAAO;IACb,OAAO,IAAI,CAAC,WAAW,EAAE;;EAE3B;IACE,IAAI,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE;MAC/B,IAAI,CAAC,IAAI,GAAE;MACX,IAAI,CAAC,IAAI,GAAE;MACX,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;KAC5C;IACDI,IAAI,IAAI,GAAG,IAAI,CAAC,eAAe,GAAE;IACjC,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE;MACjB,IAAI,CAAC,IAAI,GAAE;MACX,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKJ,cAAE,CAAC,GAAG,EAAE,EAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,gBAAgB,CAAC,EAAA;MAC5E,OAAO,IAAI,CAAC,cAAc,EAAE;KAC7B,MAAM,IAAI,SAAS,KAAKA,cAAE,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,IAAI,CAAC,GAAG,CAACA,cAAE,CAAC,KAAK,CAAC,EAAE;MACpF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,cAAc,GAAE;MACjC,IAAI,CAAC,KAAK,GAAG,KAAI;MACjB,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,kBAAkB,CAAC;KACjD,MAAM;MACL,IAAI,CAAC,UAAU,GAAG,KAAI;MACtB,IAAI,CAAC,SAAS,GAAE;MAChB,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,qBAAqB,CAAC;KACpD;GACF;EACF;;AAEDY,IAAE,CAAC,UAAU,GAAG,WAAW;;;EACzBR,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,GAAE;EAC3B,IAAI,CAAC,MAAM,GAAE;EACb,IAAI,CAAC,MAAM,CAACJ,cAAE,CAAC,MAAM,EAAC;EACtBI,IAAI,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC,aAAY;EAC1D,IAAI,CAAC,IAAI,GAAG,GAAE;EACd,OAAO,CAAC,IAAI,CAAC,MAAM,CAACJ,cAAE,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC;IACrD,EAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAACK,MAAI,CAAC,cAAc,EAAE,EAAC,EAAA;EACvC,IAAI,CAAC,KAAK,GAAE;EACZ,IAAI,CAAC,GAAG,CAACL,cAAE,CAAC,MAAM,EAAC;EACnB,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,gBAAgB,CAAC;EAC/C;;AAEDY,IAAE,CAAC,QAAQ,GAAG,SAAS,IAAI,EAAE,IAAI,EAAE;EACjC,IAAI,CAAC,IAAI,GAAG,KAAI;EAChB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,GAAG,KAAI;EAC9B,IAAI,IAAI,CAAC,GAAG,CAACZ,cAAE,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKA,cAAE,CAAC,IAAI,EAAE,EAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,eAAe,GAAE,EAAA;EACtF,IAAI,IAAI,CAAC,GAAG,CAACA,cAAE,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKA,cAAE,CAAC,MAAM,EAAE,EAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,eAAe,GAAE,EAAA;EAC1F,IAAI,CAAC,KAAK,GAAE;EACZ,IAAI,CAAC,MAAM,CAACA,cAAE,CAAC,MAAM,EAAC;EACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,cAAc,GAAE;EACjC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,cAAc,CAAC;EAC7C;;AAEDY,IAAE,CAAC,UAAU,GAAG,SAAS,IAAI,EAAE,IAAI,EAAE;EACnCR,IAAI,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKJ,cAAE,CAAC,GAAG,GAAG,gBAAgB,GAAG,iBAAgB;EACzE,IAAI,CAAC,IAAI,GAAE;EACX,IAAI,CAAC,IAAI,GAAG,KAAI;EAChB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,eAAe,GAAE;EACnC,IAAI,CAAC,KAAK,GAAE;EACZ,IAAI,CAAC,MAAM,CAACA,cAAE,CAAC,MAAM,EAAC;EACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,cAAc,GAAE;EACjC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC;EACnC;;AAEDY,IAAE,CAAC,QAAQ,GAAG,SAAS,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;;;EACvC,IAAI,CAAC,IAAI,GAAG,KAAI;EAChB,IAAI,CAAC,IAAI,GAAE;EACX,IAAI,CAAC,YAAY,GAAG,GAAE;EACtB,GAAG;IACDR,IAAI,IAAI,GAAGC,MAAI,CAAC,SAAS,GAAE;IAC3B,IAAI,CAAC,EAAE,GAAGA,MAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,GAAGA,MAAI,CAAC,YAAY,CAACA,MAAI,CAAC,aAAa,EAAE,EAAE,IAAI,CAAC,GAAGA,MAAI,CAAC,UAAU,GAAE;IAC3G,IAAI,CAAC,IAAI,GAAGA,MAAI,CAAC,GAAG,CAACL,cAAE,CAAC,EAAE,CAAC,GAAGK,MAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,KAAI;IAChE,IAAI,CAAC,YAAY,CAAC,IAAI,CAACA,MAAI,CAAC,UAAU,CAAC,IAAI,EAAE,oBAAoB,CAAC,EAAC;GACpE,QAAQ,IAAI,CAAC,GAAG,CAACL,cAAE,CAAC,KAAK,CAAC,CAAC;EAC5B,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE;IAC7BI,IAAIU,MAAI,GAAG,IAAI,CAAC,SAAS,GAAE;IAC3BA,MAAI,CAAC,EAAE,GAAG,IAAI,CAAC,UAAU,GAAE;IAC3B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAACA,MAAI,EAAE,oBAAoB,CAAC,EAAC;GACpE;EACD,IAAI,CAAC,IAAI,EAAE,EAAA,IAAI,CAAC,SAAS,GAAE,EAAA;EAC3B,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,qBAAqB,CAAC;EACpD;;AAEDF,IAAE,CAAC,UAAU,GAAG,SAAS,WAAW,EAAE;;;EACpCR,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,GAAE;EAC3B,IAAI,CAAC,IAAI,GAAE;EACX,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKJ,cAAE,CAAC,IAAI,EAAE,EAAA,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,UAAU,GAAE,EAAA;OACrD,IAAI,WAAW,KAAK,IAAI,EAAE,EAAA,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,UAAU,GAAE,EAAA;OACrD,EAAA,IAAI,CAAC,EAAE,GAAG,KAAI,EAAA;EACnB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAACA,cAAE,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,eAAe,EAAE,GAAG,KAAI;EACvE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,GAAE;EAC5B,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,GAAE;EACnB,IAAI,CAAC,MAAM,GAAE;EACbI,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,aAAY;EACzD,IAAI,CAAC,GAAG,CAACJ,cAAE,CAAC,MAAM,EAAC;EACnB,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,GAAG,MAAM,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,aAAY,EAAE;EACtF,OAAO,CAAC,IAAI,CAAC,MAAM,CAACA,cAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;IAC5C,IAAIK,MAAI,CAAC,SAAS,EAAE,EAAE,EAAA,QAAQ,EAAA;IAC9BD,IAAI,MAAM,GAAGC,MAAI,CAAC,SAAS,EAAE,EAAE,WAAW,WAAA,EAAE,OAAO,YAAA;IACnD,IAAIA,MAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,EAAE;MACjC,MAAM,CAAC,MAAM,GAAG,MAAK;MACrB,WAAW,GAAGA,MAAI,CAAC,GAAG,CAACL,cAAE,CAAC,IAAI,EAAC;KAChC;IACDK,MAAI,CAAC,iBAAiB,CAAC,MAAM,EAAC;IAC9B,IAAI,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,OAAO,CAACA,MAAI,CAAC,gBAAgB,EAAE,CAAC,EAAE,EAAAA,MAAI,CAAC,IAAI,EAAE,CAAC,EAAA,CAACA,MAAI,CAAC,GAAG,CAACL,cAAE,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC5G,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,QAAQ;SACnFK,MAAI,CAAC,GAAG,CAAC,IAAI,KAAKL,cAAE,CAAC,MAAM,IAAIK,MAAI,CAAC,GAAG,CAAC,IAAI,KAAKL,cAAE,CAAC,MAAM,CAAC,EAAE;MAChE,MAAM,CAAC,MAAM,GAAG,KAAI;MACpB,WAAW,GAAGK,MAAI,CAAC,GAAG,CAACL,cAAE,CAAC,IAAI,EAAC;MAC/BK,MAAI,CAAC,iBAAiB,CAAC,MAAM,EAAC;KAC/B,MAAM;MACL,MAAM,CAAC,MAAM,GAAG,MAAK;KACtB;IACD,IAAI,CAAC,MAAM,CAAC,QAAQ;QAChB,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,YAAY,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,OAAO,IAAIA,MAAI,CAAC,GAAG,CAAC,IAAI,KAAKL,cAAE,CAAC,MAAM;QAC9F,CAACK,MAAI,CAAC,kBAAkB,EAAE,EAAE;MAC9B,OAAO,GAAG,KAAI;MACd,WAAW,GAAGA,MAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,IAAIA,MAAI,CAAC,GAAG,CAACL,cAAE,CAAC,IAAI,EAAC;MAChEK,MAAI,CAAC,iBAAiB,CAAC,MAAM,EAAC;KAC/B,MAAM;MACL,OAAO,GAAG,MAAK;KAChB;IACD,IAAIA,MAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,YAAY;QACjE,CAAC,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,KAAK,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,KAAK,CAAC;QAC5EA,MAAI,CAAC,GAAG,CAAC,IAAI,KAAKL,cAAE,CAAC,MAAM,IAAIK,MAAI,CAAC,GAAG,CAAC,IAAI,KAAKL,cAAE,CAAC,MAAM,EAAE;MAC9D,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,KAAI;MAC7BK,MAAI,CAAC,iBAAiB,CAAC,MAAM,EAAC;MAC9B,MAAM,CAAC,KAAK,GAAGA,MAAI,CAAC,WAAW,CAAC,KAAK,EAAC;KACvC,MAAM;MACL,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,IAAI,CAAC,OAAO;QAChE,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,YAAY,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,aAAa;UACnE,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,KAAK,aAAa,CAAC,EAAE;QACxE,MAAM,CAAC,IAAI,GAAG,cAAa;OAC5B,MAAM;QACL,MAAM,CAAC,IAAI,GAAG,SAAQ;OACvB;MACD,MAAM,CAAC,KAAK,GAAGA,MAAI,CAAC,WAAW,CAAC,WAAW,EAAE,OAAO,EAAC;KACtD;IACD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAACA,MAAI,CAAC,UAAU,CAAC,MAAM,EAAE,kBAAkB,CAAC,EAAC;GACjE;EACD,IAAI,CAAC,KAAK,GAAE;EACZ,IAAI,CAAC,IAAI,CAAC,GAAG,CAACL,cAAE,CAAC,MAAM,CAAC,EAAE;;;IAGxB,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAK;IAC9B,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAK,EAAA;GACnE;EACD,IAAI,CAAC,SAAS,GAAE;EAChB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,EAAC;EACvC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,WAAW,GAAG,kBAAkB,GAAG,iBAAiB,CAAC;EACnF;;AAEDY,IAAE,CAAC,aAAa,GAAG,SAAS,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE;EACtDR,IAAI,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CAAC,WAAU;EAC9D,IAAI,CAAC,YAAY,CAAC,IAAI,EAAC;EACvB,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,EAAE;IACjC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAACJ,cAAE,CAAC,IAAI,EAAC;GACnC;EACD,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,EAAE;IACjC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,QAAO;GACvB;EACD,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKA,cAAE,CAAC,IAAI,EAAE,EAAA,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,UAAU,GAAE,EAAA;OACrD,IAAI,WAAW,KAAK,IAAI,EAAE,EAAA,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,UAAU,GAAE,EAAA;EAC1D,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAK;EACzB,IAAI,CAAC,UAAU,GAAG,KAAI;EACtB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,mBAAmB,GAAE;EACxC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,GAAE;EAC7B,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAC;EAChD,IAAI,CAAC,OAAO,GAAG,WAAU;EACzB,IAAI,CAAC,UAAU,GAAG,cAAa;EAC/B,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,WAAW,GAAG,qBAAqB,GAAG,oBAAoB,CAAC;EACzF;;AAEDY,IAAE,CAAC,WAAW,GAAG,WAAW;EAC1BR,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,GAAE;EAC3B,IAAI,CAAC,IAAI,GAAE;EACX,IAAI,IAAI,CAAC,GAAG,CAACJ,cAAE,CAAC,IAAI,CAAC,EAAE;IACrB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,GAAG,IAAI,CAAC,WAAW,GAAE;IACpF,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,sBAAsB,CAAC;GACrD;EACD,IAAI,IAAI,CAAC,GAAG,CAACA,cAAE,CAAC,QAAQ,CAAC,EAAE;;IAEzBI,IAAI,QAAO;IACX,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKJ,cAAE,CAAC,SAAS,KAAK,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,EAAE;MAC7EI,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,GAAE;MAC5B,IAAI,CAAC,IAAI,GAAE;MACX,IAAI,OAAO,EAAE,EAAA,IAAI,CAAC,IAAI,GAAE,EAAA;MACxB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,EAAC;KACpE,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKJ,cAAE,CAAC,MAAM,EAAE;MACtC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,EAAC;KACjD,MAAM;MACL,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,gBAAgB,GAAE;MAC1C,IAAI,CAAC,SAAS,GAAE;KACjB;IACD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,0BAA0B,CAAC;GACzD;EACD,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE;IAC7E,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,GAAE;IACxC,IAAI,CAAC,UAAU,GAAG,GAAE;IACpB,IAAI,CAAC,MAAM,GAAG,KAAI;GACnB,MAAM;IACL,IAAI,CAAC,WAAW,GAAG,KAAI;IACvB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,wBAAwB,GAAE;IACjD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,GAAG,KAAI;IACtE,IAAI,CAAC,SAAS,GAAE;GACjB;EACD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,wBAAwB,CAAC;EACvD;;AAEDY,IAAE,CAAC,WAAW,GAAG,WAAW;EAC1BR,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,GAAE;EAC3B,IAAI,CAAC,IAAI,GAAE;EACX,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKJ,cAAE,CAAC,MAAM,EAAE;IAC/B,IAAI,CAAC,UAAU,GAAG,GAAE;IACpB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,GAAE;GACnC,MAAM;IACLI,IAAI,IAAG;IACP,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKJ,cAAE,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,MAAM,EAAE;MAC1D,GAAG,GAAG,IAAI,CAAC,SAAS,GAAE;MACtB,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,GAAE;MAC7B,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,wBAAwB,EAAC;MAC9C,IAAI,CAAC,GAAG,CAACA,cAAE,CAAC,KAAK,EAAC;KACnB;IACD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,qBAAqB,GAAE;IAC9C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKA,cAAE,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,GAAG,IAAI,CAAC,WAAW,GAAE;IACnH,IAAI,GAAG,EAAE,EAAA,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,EAAC,EAAA;GACtC;EACD,IAAI,CAAC,SAAS,GAAE;EAChB,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,mBAAmB,CAAC;EAClD;;AAEDY,IAAE,CAAC,qBAAqB,GAAG,WAAW;;;EACpCR,IAAI,IAAI,GAAG,GAAE;EACb,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKJ,cAAE,CAAC,IAAI,EAAE;IAC7BI,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,GAAE;IAC1B,IAAI,CAAC,IAAI,GAAE;IACX,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,UAAU,GAAE;IAC5E,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,0BAA0B,CAAC,EAAC;GAC5D,MAAM;IACLA,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,aAAa,GAAG,IAAI,CAAC,cAAa;IACzF,IAAI,CAAC,MAAM,GAAE;IACb,IAAI,CAAC,GAAG,CAACJ,cAAE,CAAC,MAAM,EAAC;IACnB,IAAI,IAAI,CAAC,YAAY,GAAG,aAAa,EAAE,EAAA,aAAa,GAAG,IAAI,CAAC,aAAY,EAAA;IACxE,OAAO,CAAC,IAAI,CAAC,MAAM,CAACA,cAAE,CAAC,MAAM,EAAE,MAAM,IAAI,IAAI,CAAC,YAAY,IAAI,aAAa,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE;MAC3FI,IAAIW,KAAG,GAAGV,MAAI,CAAC,SAAS,GAAE;MAC1B,IAAIA,MAAI,CAAC,GAAG,CAACL,cAAE,CAAC,IAAI,CAAC,EAAE;QACrBe,KAAG,CAAC,KAAK,GAAGV,MAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAGA,MAAI,CAAC,UAAU,EAAE,GAAGA,MAAI,CAAC,UAAU,GAAE;QAC5EA,MAAI,CAAC,UAAU,CAACU,KAAG,EAAE,0BAA0B,EAAC;OACjD,MAAM;QACL,IAAIV,MAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,EAAA,KAAK,EAAA;QACpCU,KAAG,CAAC,QAAQ,GAAGV,MAAI,CAAC,UAAU,GAAE;QAChC,IAAI,OAAO,CAACU,KAAG,CAAC,QAAQ,CAAC,EAAE,EAAA,KAAK,EAAA;QAChCA,KAAG,CAAC,KAAK,GAAGV,MAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAGA,MAAI,CAAC,UAAU,EAAE,GAAGU,KAAG,CAAC,SAAQ;QACvEV,MAAI,CAAC,UAAU,CAACU,KAAG,EAAE,iBAAiB,EAAC;OACxC;MACD,IAAI,CAAC,IAAI,CAACA,KAAG,EAAC;MACdV,MAAI,CAAC,GAAG,CAACL,cAAE,CAAC,KAAK,EAAC;KACnB;IACD,IAAI,CAAC,GAAG,CAACA,cAAE,CAAC,MAAM,EAAC;IACnB,IAAI,CAAC,KAAK,GAAE;GACb;EACD,OAAO,IAAI;EACZ;;AAEDY,IAAE,CAAC,wBAAwB,GAAG,WAAW;;;EACvCR,IAAI,IAAI,GAAG,GAAE;EACbA,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,aAAa,GAAG,IAAI,CAAC,cAAa;EACzF,IAAI,CAAC,MAAM,GAAE;EACb,IAAI,CAAC,GAAG,CAACJ,cAAE,CAAC,MAAM,EAAC;EACnB,IAAI,IAAI,CAAC,YAAY,GAAG,aAAa,EAAE,EAAA,aAAa,GAAG,IAAI,CAAC,aAAY,EAAA;EACxE,OAAO,CAAC,IAAI,CAAC,MAAM,CAACA,cAAE,CAAC,MAAM,EAAE,MAAM,IAAI,IAAI,CAAC,YAAY,IAAI,aAAa,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE;IAC3F,IAAIK,MAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,EAAA,KAAK,EAAA;IACpCD,IAAI,GAAG,GAAGC,MAAI,CAAC,SAAS,GAAE;IAC1B,GAAG,CAAC,KAAK,GAAGA,MAAI,CAAC,UAAU,GAAE;IAC7B,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAA,KAAK,EAAA;IAC7B,GAAG,CAAC,QAAQ,GAAGA,MAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAGA,MAAI,CAAC,UAAU,EAAE,GAAG,GAAG,CAAC,MAAK;IACvEA,MAAI,CAAC,UAAU,CAAC,GAAG,EAAE,iBAAiB,EAAC;IACvC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAC;IACdA,MAAI,CAAC,GAAG,CAACL,cAAE,CAAC,KAAK,EAAC;GACnB;EACD,IAAI,CAAC,GAAG,CAACA,cAAE,CAAC,MAAM,EAAC;EACnB,IAAI,CAAC,KAAK,GAAE;EACZ,OAAO,IAAI;CACZ;;AC1cDQ,IAAMI,IAAE,GAAG,WAAW,CAAC,UAAS;;AAEhCA,IAAE,CAAC,SAAS,GAAG,SAAS,IAAI,EAAE;EAC5B,IAAI,CAAC,IAAI,EAAE,EAAA,OAAO,IAAI,EAAA;EACtB,QAAQ,IAAI,CAAC,IAAI;EACjB,KAAK,YAAY,CAAC;EAClB,KAAK,kBAAkB;IACrB,OAAO,IAAI;;EAEb,KAAK,yBAAyB;IAC5B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,EAAC;IACjD,OAAO,IAAI;;EAEb;IACE,OAAO,IAAI,CAAC,UAAU,EAAE;GACzB;EACF;;AAEDA,IAAE,CAAC,eAAe,GAAG,SAAS,IAAI,EAAE;;;EAClCR,IAAI,KAAK,GAAG,IAAI,CAAC,eAAe,GAAE;EAClCA,IAAI,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAC;EACtC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKJ,cAAE,CAAC,KAAK,EAAE;IAC9BI,IAAI,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAC;IAClC,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,EAAC;IACzB,OAAO,IAAI,CAAC,GAAG,CAACJ,cAAE,CAAC,KAAK,CAAC,EAAE,EAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAACK,MAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAC,EAAA;IAC7E,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,oBAAoB,CAAC;GACnD;EACD,OAAO,IAAI;EACZ;;AAEDO,IAAE,CAAC,oBAAoB,GAAG,WAAW;EACnC,IAAI,CAAC,MAAM,GAAE;EACb,IAAI,CAAC,MAAM,CAACZ,cAAE,CAAC,MAAM,EAAC;EACtBI,IAAI,GAAG,GAAG,IAAI,CAAC,eAAe,GAAE;EAChC,IAAI,CAAC,KAAK,GAAE;EACZ,IAAI,CAAC,MAAM,CAACJ,cAAE,CAAC,MAAM,EAAC;EACtB,OAAO,GAAG;EACX;;AAEDY,IAAE,CAAC,gBAAgB,GAAG,SAAS,IAAI,EAAE;EACnC,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE;IACnCR,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,GAAE;IAC3B,IAAI,CAAC,IAAI,GAAE;IACX,IAAI,IAAI,CAAC,SAAS,EAAE,IAAI,IAAI,CAAC,kBAAkB,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKJ,cAAE,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;MAC7G,IAAI,CAAC,QAAQ,GAAG,MAAK;MACrB,IAAI,CAAC,QAAQ,GAAG,KAAI;KACrB,MAAM;MACL,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAACA,cAAE,CAAC,IAAI,EAAC;MACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,gBAAgB,GAAE;KACxC;IACD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,iBAAiB,CAAC;GAChD;;EAEDI,IAAI,KAAK,GAAG,IAAI,CAAC,eAAe,GAAE;EAClCA,IAAI,IAAI,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAC;EAC3C,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE;IAC1BA,IAAIY,MAAI,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAC;IAClCA,MAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,MAAK;IAC9BA,MAAI,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKhB,cAAE,CAAC,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAC;IACpF,IAAI,CAAC,IAAI,GAAE;IACXgB,MAAI,CAAC,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAC;IACxC,OAAO,IAAI,CAAC,UAAU,CAACA,MAAI,EAAE,sBAAsB,CAAC;GACrD;EACD,OAAO,IAAI;EACZ;;AAEDJ,IAAE,CAAC,qBAAqB,GAAG,SAAS,IAAI,EAAE;EACxCR,IAAI,KAAK,GAAG,IAAI,CAAC,eAAe,GAAE;EAClCA,IAAI,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAC;EAClC,IAAI,IAAI,CAAC,GAAG,CAACJ,cAAE,CAAC,QAAQ,CAAC,EAAE;IACzBI,IAAI,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAC;IAClC,IAAI,CAAC,IAAI,GAAG,KAAI;IAChB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,gBAAgB,GAAE;IACzC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAACJ,cAAE,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,GAAE;IACxF,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,uBAAuB,CAAC;GACtD;EACD,OAAO,IAAI;EACZ;;AAEDY,IAAE,CAAC,YAAY,GAAG,SAAS,IAAI,EAAE;EAC/BR,IAAI,KAAK,GAAG,IAAI,CAAC,eAAe,GAAE;EAClCA,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC,aAAY;EACrD,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC;EACpF;;AAEDQ,IAAE,CAAC,WAAW,GAAG,SAAS,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;EAClE,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,IAAI,IAAI,CAAC,SAAS,GAAG,MAAM,IAAI,IAAI,CAAC,eAAe,EAAE,EAAE,EAAA,OAAO,IAAI,EAAA;EAChGR,IAAI,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAK;EAC9B,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKJ,cAAE,CAAC,GAAG,CAAC,EAAE;IACvD,IAAI,IAAI,GAAG,OAAO,EAAE;MAClBI,IAAI,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAC;MAClC,IAAI,CAAC,IAAI,GAAG,KAAI;MAChB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,MAAK;MAC9B,IAAI,CAAC,IAAI,GAAE;MACX,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,IAAI,IAAI,CAAC,SAAS,GAAG,MAAM,IAAI,IAAI,CAAC,eAAe,EAAE,EAAE;QACnF,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,GAAE;OAC/B,MAAM;QACLA,IAAI,UAAU,GAAG,IAAI,CAAC,eAAe,GAAE;QACvC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAC;OACjG;MACD,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,mBAAmB,GAAG,kBAAkB,EAAC;MAC/F,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC;KAClE;GACF;EACD,OAAO,IAAI;EACZ;;AAEDQ,IAAE,CAAC,eAAe,GAAG,SAAS,QAAQ,EAAE;;;EACtCR,IAAI,KAAK,GAAG,IAAI,CAAC,eAAe,EAAE,EAAE,KAAI;EACxC,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;KACjE,IAAI,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;IAC9E;IACA,IAAI,GAAG,IAAI,CAAC,UAAU,GAAE;IACxB,QAAQ,GAAG,KAAI;GAChB,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE;IAC/BA,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKJ,cAAE,CAAC,OAAM;IACjE,IAAI,CAAC,MAAM,EAAE,EAAA,QAAQ,GAAG,KAAI,EAAA;IAC5B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,MAAK;IAC9B,IAAI,CAAC,MAAM,GAAG,KAAI;IAClB,IAAI,CAAC,IAAI,GAAE;IACX,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,EAAC;IAC1C,IAAI,MAAM,EAAE,EAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAC,EAAA;IACzD,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,GAAG,iBAAiB,EAAC;GAC9E,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKA,cAAE,CAAC,QAAQ,EAAE;IACxCI,IAAIY,MAAI,GAAG,IAAI,CAAC,SAAS,GAAE;IAC3B,IAAI,CAAC,IAAI,GAAE;IACXA,MAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAC;IAC9C,IAAI,GAAG,IAAI,CAAC,UAAU,CAACA,MAAI,EAAE,eAAe,EAAC;GAC9C,MAAM;IACL,IAAI,GAAG,IAAI,CAAC,mBAAmB,GAAE;IACjC,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE;MAC1DZ,IAAIY,MAAI,GAAGX,MAAI,CAAC,WAAW,CAAC,KAAK,EAAC;MAClCW,MAAI,CAAC,QAAQ,GAAGX,MAAI,CAAC,GAAG,CAAC,MAAK;MAC9BW,MAAI,CAAC,MAAM,GAAG,MAAK;MACnBA,MAAI,CAAC,QAAQ,GAAGX,MAAI,CAAC,SAAS,CAAC,IAAI,EAAC;MACpCA,MAAI,CAAC,IAAI,GAAE;MACX,IAAI,GAAGA,MAAI,CAAC,UAAU,CAACW,MAAI,EAAE,kBAAkB,EAAC;KACjD;GACF;;EAED,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAChB,cAAE,CAAC,QAAQ,CAAC,EAAE;IACtCI,IAAIY,MAAI,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAC;IAClCA,MAAI,CAAC,QAAQ,GAAG,KAAI;IACpBA,MAAI,CAAC,IAAI,GAAG,KAAI;IAChBA,MAAI,CAAC,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,EAAC;IACxC,OAAO,IAAI,CAAC,UAAU,CAACA,MAAI,EAAE,kBAAkB,CAAC;GACjD;;EAED,OAAO,IAAI;EACZ;;AAEDJ,IAAE,CAAC,mBAAmB,GAAG,WAAW;EAClCR,IAAI,KAAK,GAAG,IAAI,CAAC,eAAe,GAAE;EAClC,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC;EACnG;;AAEDQ,IAAE,CAAC,eAAe,GAAG,SAAS,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE;;;EACrE,SAAS;IACP,IAAIP,MAAI,CAAC,YAAY,KAAK,IAAI,IAAIA,MAAI,CAAC,SAAS,IAAI,WAAW,IAAIA,MAAI,CAAC,eAAe,EAAE,EAAE;MACzF,IAAIA,MAAI,CAAC,GAAG,CAAC,IAAI,KAAKL,cAAE,CAAC,GAAG,IAAIK,MAAI,CAAC,SAAS,KAAK,WAAW;QAC5D,EAAA,EAAE,YAAW,EAAA;;QAEb,EAAA,OAAO,IAAI,EAAA;KACd;;IAEDD,IAAI,eAAe,GAAG,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,CAACC,MAAI,CAAC,kBAAkB,GAAE;;IAEvG,IAAIA,MAAI,CAAC,GAAG,CAACL,cAAE,CAAC,GAAG,CAAC,EAAE;MACpBI,IAAI,IAAI,GAAGC,MAAI,CAAC,WAAW,CAAC,KAAK,EAAC;MAClC,IAAI,CAAC,MAAM,GAAG,KAAI;MAClB,IAAIA,MAAI,CAAC,YAAY,KAAK,IAAI,IAAIA,MAAI,CAAC,SAAS,IAAI,WAAW,IAAIA,MAAI,CAAC,eAAe,EAAE;QACvF,EAAA,IAAI,CAAC,QAAQ,GAAGA,MAAI,CAAC,UAAU,GAAE,EAAA;;QAEjC,EAAA,IAAI,CAAC,QAAQ,GAAGA,MAAI,CAAC,qBAAqB,EAAE,IAAIA,MAAI,CAAC,UAAU,GAAE,EAAA;MACnE,IAAI,CAAC,QAAQ,GAAG,MAAK;MACrB,IAAI,GAAGA,MAAI,CAAC,UAAU,CAAC,IAAI,EAAE,kBAAkB,EAAC;KACjD,MAAM,IAAIA,MAAI,CAAC,GAAG,CAAC,IAAI,KAAKL,cAAE,CAAC,QAAQ,EAAE;MACxCK,MAAI,CAAC,MAAM,GAAE;MACbA,MAAI,CAAC,IAAI,GAAE;MACXD,IAAIY,MAAI,GAAGX,MAAI,CAAC,WAAW,CAAC,KAAK,EAAC;MAClCW,MAAI,CAAC,MAAM,GAAG,KAAI;MAClBA,MAAI,CAAC,QAAQ,GAAGX,MAAI,CAAC,eAAe,GAAE;MACtCW,MAAI,CAAC,QAAQ,GAAG,KAAI;MACpBX,MAAI,CAAC,KAAK,GAAE;MACZA,MAAI,CAAC,MAAM,CAACL,cAAE,CAAC,QAAQ,EAAC;MACxB,IAAI,GAAGK,MAAI,CAAC,UAAU,CAACW,MAAI,EAAE,kBAAkB,EAAC;KACjD,MAAM,IAAI,CAAC,OAAO,IAAIX,MAAI,CAAC,GAAG,CAAC,IAAI,KAAKL,cAAE,CAAC,MAAM,EAAE;MAClDI,IAAI,QAAQ,GAAGC,MAAI,CAAC,aAAa,CAACL,cAAE,CAAC,MAAM,EAAC;MAC5C,IAAI,eAAe,IAAIK,MAAI,CAAC,GAAG,CAACL,cAAE,CAAC,KAAK,CAAC;QACvC,EAAA,OAAOK,MAAI,CAAC,oBAAoB,CAACA,MAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAA;MAC3ED,IAAIY,MAAI,GAAGX,MAAI,CAAC,WAAW,CAAC,KAAK,EAAC;MAClCW,MAAI,CAAC,MAAM,GAAG,KAAI;MAClBA,MAAI,CAAC,SAAS,GAAG,SAAQ;MACzB,IAAI,GAAGX,MAAI,CAAC,UAAU,CAACW,MAAI,EAAE,gBAAgB,EAAC;KAC/C,MAAM,IAAIX,MAAI,CAAC,GAAG,CAAC,IAAI,KAAKL,cAAE,CAAC,SAAS,EAAE;MACzCI,IAAIY,MAAI,GAAGX,MAAI,CAAC,WAAW,CAAC,KAAK,EAAC;MAClCW,MAAI,CAAC,GAAG,GAAG,KAAI;MACfA,MAAI,CAAC,KAAK,GAAGX,MAAI,CAAC,aAAa,GAAE;MACjC,IAAI,GAAGA,MAAI,CAAC,UAAU,CAACW,MAAI,EAAE,0BAA0B,EAAC;KACzD,MAAM;MACL,OAAO,IAAI;KACZ;GACF;EACF;;AAEDJ,IAAE,CAAC,aAAa,GAAG,WAAW;EAC5BR,IAAI,KAAI;EACR,QAAQ,IAAI,CAAC,GAAG,CAAC,IAAI;EACrB,KAAKJ,cAAE,CAAC,KAAK,CAAC;EACd,KAAKA,cAAE,CAAC,MAAM;IACZI,IAAI,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKJ,cAAE,CAAC,KAAK,GAAG,gBAAgB,GAAG,QAAO;IAClE,IAAI,GAAG,IAAI,CAAC,SAAS,GAAE;IACvB,IAAI,CAAC,IAAI,GAAE;IACX,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC;;EAEpC,KAAKA,cAAE,CAAC,IAAI;IACVI,IAAI,KAAK,GAAG,IAAI,CAAC,eAAe,GAAE;IAClCA,IAAI,EAAE,GAAG,IAAI,CAAC,UAAU,GAAE;IAC1BA,IAAI,OAAO,GAAG,MAAK;IACnB,IAAI,EAAE,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE;MACrD,IAAI,IAAI,CAAC,GAAG,CAACJ,cAAE,CAAC,SAAS,CAAC;QACxB,EAAA,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,EAAA;MACjE,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKA,cAAE,CAAC,IAAI,EAAE;QAC7B,EAAE,GAAG,IAAI,CAAC,UAAU,GAAE;QACtB,OAAO,GAAG,KAAI;OACf;KACF;IACD,OAAO,IAAI,CAAC,GAAG,CAACA,cAAE,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE;;EAEpG,KAAKA,cAAE,CAAC,MAAM;IACZ,IAAI,GAAG,IAAI,CAAC,SAAS,GAAE;IACvBI,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAK;IACxB,IAAI,CAAC,KAAK,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAC;IACrD,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,MAAK;IACtB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAC;IACzD,IAAI,CAAC,IAAI,GAAE;IACX,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC;;EAEzC,KAAKJ,cAAE,CAAC,GAAG,CAAC,CAAC,KAAKA,cAAE,CAAC,MAAM;IACzB,IAAI,GAAG,IAAI,CAAC,SAAS,GAAE;IACvB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,MAAK;IAC3B,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAC;IACzD,IAAI,CAAC,IAAI,GAAE;IACX,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC;;EAEzC,KAAKA,cAAE,CAAC,KAAK,CAAC,CAAC,KAAKA,cAAE,CAAC,KAAK,CAAC,CAAC,KAAKA,cAAE,CAAC,MAAM;IAC1C,IAAI,GAAG,IAAI,CAAC,SAAS,GAAE;IACvB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKA,cAAE,CAAC,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKA,cAAE,CAAC,MAAK;IAC3E,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAO;IAChC,IAAI,CAAC,IAAI,GAAE;IACX,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC;;EAEzC,KAAKA,cAAE,CAAC,MAAM;IACZI,IAAI,UAAU,GAAG,IAAI,CAAC,eAAe,GAAE;IACvC,IAAI,CAAC,IAAI,GAAE;IACXA,IAAI,KAAK,GAAG,IAAI,CAAC,eAAe,GAAE;IAClC,IAAI,CAAC,MAAM,CAACJ,cAAE,CAAC,MAAM,EAAC;IACtB,IAAI,IAAI,CAAC,GAAG,CAACA,cAAE,CAAC,KAAK,CAAC,EAAE;;MAEtBI,IAAI,MAAM,GAAG,KAAK,CAAC,WAAW,IAAI,CAAC,KAAK,EAAC;MACzC,IAAI,MAAM,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACrD,EAAA,MAAM,CAAC,GAAG,GAAE,EAAA;MACd,OAAO,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;KACvE;IACD,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;MAC/BA,IAAI,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,EAAC;MACtC,GAAG,CAAC,UAAU,GAAG,MAAK;MACtB,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,yBAAyB,EAAC;KACxD;IACD,OAAO,KAAK;;EAEd,KAAKJ,cAAE,CAAC,QAAQ;IACd,IAAI,GAAG,IAAI,CAAC,SAAS,GAAE;IACvB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAACA,cAAE,CAAC,QAAQ,EAAE,IAAI,EAAC;IACrD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,iBAAiB,CAAC;;EAEjD,KAAKA,cAAE,CAAC,MAAM;IACZ,OAAO,IAAI,CAAC,QAAQ,EAAE;;EAExB,KAAKA,cAAE,CAAC,MAAM;IACZ,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;;EAE/B,KAAKA,cAAE,CAAC,SAAS;IACf,IAAI,GAAG,IAAI,CAAC,SAAS,GAAE;IACvB,IAAI,CAAC,IAAI,GAAE;IACX,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC;;EAExC,KAAKA,cAAE,CAAC,IAAI;IACV,OAAO,IAAI,CAAC,QAAQ,EAAE;;EAExB,KAAKA,cAAE,CAAC,SAAS;IACf,OAAO,IAAI,CAAC,aAAa,EAAE;;EAE7B;IACE,OAAO,IAAI,CAAC,UAAU,EAAE;GACzB;EACF;;AAEDY,IAAE,CAAC,QAAQ,GAAG,WAAW;EACvBR,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,EAAE,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC,aAAY;EACnFA,IAAI,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAC;EAChC,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,CAACJ,cAAE,CAAC,GAAG,CAAC,EAAE;IACrD,IAAI,CAAC,IAAI,GAAG,KAAI;IAChB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAC;IACrC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,cAAc,CAAC;GAC7C;EACDI,IAAI,KAAK,GAAG,IAAI,CAAC,eAAe,GAAE;EAClC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAC;EACxF,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKJ,cAAE,CAAC,MAAM,EAAE;IAC/B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,CAACA,cAAE,CAAC,MAAM,EAAC;GAC/C,MAAM;IACL,IAAI,CAAC,SAAS,GAAG,GAAE;GACpB;EACD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,eAAe,CAAC;EAC9C;;AAEDY,IAAE,CAAC,oBAAoB,GAAG,WAAW;EACnCR,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,GAAE;;;EAG3B,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKJ,cAAE,CAAC,eAAe,EAAE;IACxC,IAAI,CAAC,KAAK,GAAG;MACX,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK;MACnB,MAAM,EAAE,IAAI;MACb;GACF,MAAM;IACL,IAAI,CAAC,KAAK,GAAG;MACX,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC;MAC3E,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK;MACvB;GACF;EACD,IAAI,CAAC,IAAI,GAAE;EACX,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKA,cAAE,CAAC,UAAS;EAC1C,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,iBAAiB,CAAC;EAChD;;AAEDY,IAAE,CAAC,aAAa,GAAG,WAAW;;;EAC5BR,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,GAAE;EAC3B,IAAI,CAAC,IAAI,GAAE;EACX,IAAI,CAAC,WAAW,GAAG,GAAE;EACrBA,IAAI,MAAM,GAAG,IAAI,CAAC,oBAAoB,GAAE;EACxC,IAAI,CAAC,MAAM,GAAG,CAAC,MAAM,EAAC;EACtB,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE;IACnBC,MAAI,CAAC,IAAI,GAAE;IACX,IAAI,CAAC,WAAW,CAAC,IAAI,CAACA,MAAI,CAAC,eAAe,EAAE,EAAC;IAC7C,IAAIA,MAAI,CAAC,MAAM,CAACL,cAAE,CAAC,MAAM,CAAC,EAAE;MAC1B,MAAM,GAAGK,MAAI,CAAC,oBAAoB,GAAE;KACrC,MAAM;MACL,MAAM,GAAGA,MAAI,CAAC,SAAS,GAAE;MACzB,MAAM,CAAC,KAAK,GAAG,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAC;MACpC,MAAM,CAAC,IAAI,GAAG,KAAI;MAClBA,MAAI,CAAC,UAAU,CAAC,MAAM,EAAE,iBAAiB,EAAC;KAC3C;IACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAC;GACzB;EACD,IAAI,CAAC,MAAM,CAACL,cAAE,CAAC,SAAS,EAAC;EACzB,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,iBAAiB,CAAC;EAChD;;AAEDY,IAAE,CAAC,QAAQ,GAAG,WAAW;;;EACvBR,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,GAAE;EAC3B,IAAI,CAAC,UAAU,GAAG,GAAE;EACpB,IAAI,CAAC,MAAM,GAAE;EACbA,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,aAAY;EACzD,IAAI,CAAC,GAAG,CAACJ,cAAE,CAAC,MAAM,EAAC;EACnB,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,GAAG,MAAM,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,aAAY,EAAE;EACtF,OAAO,CAAC,IAAI,CAAC,MAAM,CAACA,cAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;IAC5CI,IAAI,IAAI,GAAGC,MAAI,CAAC,SAAS,EAAE,EAAE,WAAW,WAAA,EAAE,OAAO,WAAA,EAAE,KAAK,YAAA;IACxD,IAAIA,MAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,IAAIA,MAAI,CAAC,GAAG,CAACL,cAAE,CAAC,QAAQ,CAAC,EAAE;MAC1D,IAAI,CAAC,QAAQ,GAAGK,MAAI,CAAC,gBAAgB,GAAE;MACvC,IAAI,CAAC,UAAU,CAAC,IAAI,CAACA,MAAI,CAAC,UAAU,CAAC,IAAI,EAAE,eAAe,CAAC,EAAC;MAC5DA,MAAI,CAAC,GAAG,CAACL,cAAE,CAAC,KAAK,EAAC;MAClB,QAAQ;KACT;IACD,IAAIK,MAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,EAAE;MACjC,KAAK,GAAGA,MAAI,CAAC,eAAe,GAAE;MAC9B,IAAI,CAAC,MAAM,GAAG,MAAK;MACnB,IAAI,CAAC,SAAS,GAAG,MAAK;MACtB,WAAW,GAAGA,MAAI,CAAC,GAAG,CAACL,cAAE,CAAC,IAAI,EAAC;KAChC;IACDK,MAAI,CAAC,iBAAiB,CAAC,IAAI,EAAC;IAC5B,IAAIA,MAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE;MAC/B,OAAO,GAAG,KAAI;MACd,WAAW,GAAGA,MAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,IAAIA,MAAI,CAAC,GAAG,CAACL,cAAE,CAAC,IAAI,EAAC;MAChEK,MAAI,CAAC,iBAAiB,CAAC,IAAI,EAAC;KAC7B,MAAM;MACL,OAAO,GAAG,MAAK;KAChB;IACD,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,OAAO,CAACA,MAAI,CAAC,gBAAgB,EAAE,CAAC,EAAE,EAAAA,MAAI,CAAC,IAAI,EAAE,CAAC,EAAA,CAACA,MAAI,CAAC,GAAG,CAACL,cAAE,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC1G,IAAIK,MAAI,CAAC,GAAG,CAACL,cAAE,CAAC,KAAK,CAAC,EAAE;MACtB,IAAI,CAAC,IAAI,GAAG,OAAM;MAClB,IAAI,CAAC,KAAK,GAAGK,MAAI,CAAC,gBAAgB,GAAE;KACrC,MAAM,IAAIA,MAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,KAAKA,MAAI,CAAC,GAAG,CAAC,IAAI,KAAKL,cAAE,CAAC,MAAM,IAAIK,MAAI,CAAC,GAAG,CAAC,IAAI,KAAKL,cAAE,CAAC,MAAM,CAAC,EAAE;MACxG,IAAI,CAAC,IAAI,GAAG,OAAM;MAClB,IAAI,CAAC,MAAM,GAAG,KAAI;MAClB,IAAI,CAAC,KAAK,GAAGK,MAAI,CAAC,WAAW,CAAC,WAAW,EAAE,OAAO,EAAC;KACpD,MAAM,IAAIA,MAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,YAAY;eAC/D,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,KAAK,CAAC;gBACrEA,MAAI,CAAC,GAAG,CAAC,IAAI,KAAKL,cAAE,CAAC,KAAK,IAAIK,MAAI,CAAC,GAAG,CAAC,IAAI,KAAKL,cAAE,CAAC,MAAM,IAAIK,MAAI,CAAC,GAAG,CAAC,IAAI,KAAKL,cAAE,CAAC,EAAE,CAAC,EAAE;MACjG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,KAAI;MACzBK,MAAI,CAAC,iBAAiB,CAAC,IAAI,EAAC;MAC5B,IAAI,CAAC,KAAK,GAAGA,MAAI,CAAC,WAAW,CAAC,KAAK,EAAC;KACrC,MAAM;MACL,IAAI,CAAC,IAAI,GAAG,OAAM;MAClB,IAAIA,MAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,EAAE;QACjC,IAAIA,MAAI,CAAC,GAAG,CAACL,cAAE,CAAC,EAAE,CAAC,EAAE;UACnBI,IAAI,MAAM,GAAGC,MAAI,CAAC,WAAW,CAAC,KAAK,EAAC;UACpC,MAAM,CAAC,QAAQ,GAAG,IAAG;UACrB,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAG;UACtB,MAAM,CAAC,KAAK,GAAGA,MAAI,CAAC,gBAAgB,GAAE;UACtC,IAAI,CAAC,KAAK,GAAGA,MAAI,CAAC,UAAU,CAAC,MAAM,EAAE,sBAAsB,EAAC;SAC7D,MAAM;UACL,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAG;SACtB;OACF,MAAM;QACL,IAAI,CAAC,KAAK,GAAGA,MAAI,CAAC,UAAU,GAAE;OAC/B;MACD,IAAI,CAAC,SAAS,GAAG,KAAI;KACtB;IACD,IAAI,CAAC,UAAU,CAAC,IAAI,CAACA,MAAI,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,EAAC;IACvDA,MAAI,CAAC,GAAG,CAACL,cAAE,CAAC,KAAK,EAAC;GACnB;EACD,IAAI,CAAC,KAAK,GAAE;EACZ,IAAI,CAAC,IAAI,CAAC,GAAG,CAACA,cAAE,CAAC,MAAM,CAAC,EAAE;;;IAGxB,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAK;IAC9B,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAK,EAAA;GACnE;EACD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,kBAAkB,CAAC;EACjD;;AAEDY,IAAE,CAAC,iBAAiB,GAAG,SAAS,IAAI,EAAE;EACpC,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,EAAE;IACjC,IAAI,IAAI,CAAC,GAAG,CAACZ,cAAE,CAAC,QAAQ,CAAC,EAAE;MACzB,IAAI,CAAC,QAAQ,GAAG,KAAI;MACpB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,eAAe,GAAE;MACjC,IAAI,CAAC,MAAM,CAACA,cAAE,CAAC,QAAQ,EAAC;MACxB,MAAM;KACP,MAAM;MACL,IAAI,CAAC,QAAQ,GAAG,MAAK;KACtB;GACF;EACDI,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKJ,cAAE,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKA,cAAE,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,EAAE,GAAG,IAAI,CAAC,UAAU,GAAE;EAC9G,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,CAAC,UAAU,GAAE;EACpC;;AAEDY,IAAE,CAAC,qBAAqB,GAAG,WAAW;EACpC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKZ,cAAE,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,EAAA,OAAO,IAAI,CAAC,UAAU,EAAE,EAAA;EACjF;;AAEDY,IAAE,CAAC,UAAU,GAAG,WAAW;EACzBR,IAAI,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKJ,cAAE,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAO;EAC7E,IAAI,CAAC,IAAI,EAAE,EAAA,OAAO,IAAI,CAAC,UAAU,EAAE,EAAA;EACnCI,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,GAAE;EAC3B,IAAI,CAAC,IAAI,GAAE;EACX,IAAI,CAAC,IAAI,GAAG,KAAI;EAChB,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,YAAY,CAAC;EAC3C;;AAEDQ,IAAE,CAAC,YAAY,GAAG,SAAS,IAAI,EAAE;EAC/B,IAAI,CAAC,EAAE,GAAG,KAAI;EACd,IAAI,CAAC,MAAM,GAAG,GAAE;EAChB,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,EAAE;IACjC,IAAI,CAAC,SAAS,GAAG,MAAK;IACtB,IAAI,CAAC,UAAU,GAAG,MAAK;GACxB;EACD,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC;IAC/B,EAAA,IAAI,CAAC,KAAK,GAAG,MAAK,EAAA;EACrB;;;;;AAKDA,IAAE,CAAC,YAAY,GAAG,SAAS,IAAI,EAAE,OAAO,EAAE;;;EACxC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,KAAK,IAAI,CAAC,IAAI,KAAK,kBAAkB,IAAI,CAAC,OAAO,CAAC,EAAE;;GAE1F,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,yBAAyB,EAAE;IAClD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,EAAC;GAC5C,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,CAAC,EAAE;IACvC,OAAO,IAAI,CAAC,UAAU,EAAE;GACzB,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,kBAAkB,EAAE;IAC3C,IAAI,CAAC,IAAI,GAAG,gBAAe;IAC3B,KAAa,kBAAI,IAAI,CAAC,UAAU,yBAAA;MAA3B;MAAAR,IAAI,IAAI;;MACXC,MAAI,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,EAAC;KAAA;GACnC,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,iBAAiB,EAAE;IAC1C,IAAI,CAAC,IAAI,GAAG,eAAc;IAC1B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAC;GAC9C,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE;IACnC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAC;GACvC,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe,EAAE;IACxC,IAAI,CAAC,IAAI,GAAG,cAAa;IACzB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAC;GAC1C,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,sBAAsB,EAAE;IAC/C,IAAI,CAAC,IAAI,GAAG,oBAAmB;IAC/B,OAAO,IAAI,CAAC,SAAQ;GACrB,MAAM;IACL,OAAO,IAAI,CAAC,UAAU,EAAE;GACzB;EACD,OAAO,IAAI;EACZ;;AAEDO,IAAE,CAAC,gBAAgB,GAAG,SAAS,QAAQ,EAAE,OAAO,EAAE;;;EAChD,KAAa,kBAAI,QAAQ,yBAAA;IAApB;IAAAR,IAAI,IAAI;;IACXC,MAAI,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,EAAC;GAAA;EAClC,OAAO,QAAQ;EAChB;;AAEDO,IAAE,CAAC,mBAAmB,GAAG,SAAS,MAAM,EAAE;EACxC,MAAM,GAAG,IAAI,CAAC,aAAa,CAACZ,cAAE,CAAC,MAAM,EAAC;EACtC,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC;EAC3C;;AAEDY,IAAE,CAAC,WAAW,GAAG,SAAS,WAAW,EAAE,OAAO,EAAE;EAC9CR,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,EAAE,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CAAC,WAAU;EACvF,IAAI,CAAC,YAAY,CAAC,IAAI,EAAC;EACvB,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC;IAC/B,EAAA,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,YAAW,EAAA;EAChC,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC;IAC/B,EAAA,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,QAAO,EAAA;EACxB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAK;EACzB,IAAI,CAAC,UAAU,GAAG,KAAI;EACtB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,mBAAmB,GAAE;EACxC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,GAAE;EAC7B,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAC;EAChD,IAAI,CAAC,OAAO,GAAG,WAAU;EACzB,IAAI,CAAC,UAAU,GAAG,cAAa;EAC/B,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,oBAAoB,CAAC;EACnD;;AAEDQ,IAAE,CAAC,oBAAoB,GAAG,SAAS,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE;EACxDR,IAAI,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CAAC,WAAU;EAC9D,IAAI,CAAC,YAAY,CAAC,IAAI,EAAC;EACvB,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC;IAC/B,EAAA,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,QAAO,EAAA;EACxB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAK;EACzB,IAAI,CAAC,UAAU,GAAG,KAAI;EACtB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,EAAC;EACjD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKJ,cAAE,CAAC,OAAM;EAC7C,IAAI,IAAI,CAAC,UAAU,EAAE;IACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,gBAAgB,GAAE;GACpC,MAAM;IACL,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,GAAE;IAC7B,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAC;GACjD;EACD,IAAI,CAAC,OAAO,GAAG,WAAU;EACzB,IAAI,CAAC,UAAU,GAAG,cAAa;EAC/B,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,yBAAyB,CAAC;EACxD;;AAEDY,IAAE,CAAC,aAAa,GAAG,SAAS,KAAK,EAAE,UAAU,EAAE;;;EAC7C,IAAI,CAAC,MAAM,GAAE;EACbR,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,IAAI,GAAG,GAAE;EAChE,IAAI,CAAC,IAAI,GAAE;EACX,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,EAAE;IAC5C,IAAIC,MAAI,CAAC,GAAG,CAACL,cAAE,CAAC,KAAK,CAAC,EAAE;MACtB,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,GAAGK,MAAI,CAAC,UAAU,EAAE,EAAC;MAChD,QAAQ;KACT;IACDD,IAAI,GAAG,GAAGC,MAAI,CAAC,gBAAgB,GAAE;IACjC,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE;MAChB,IAAIA,MAAI,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAA,KAAK,EAAA;MAC3CA,MAAI,CAAC,IAAI,GAAE;KACZ,MAAM;MACL,IAAI,CAAC,IAAI,CAAC,GAAG,EAAC;KACf;IACDA,MAAI,CAAC,GAAG,CAACL,cAAE,CAAC,KAAK,EAAC;GACnB;EACD,IAAI,CAAC,KAAK,GAAE;EACZ,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;;;IAGpB,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAK;IAC9B,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAK,EAAA;GACnE;EACD,OAAO,IAAI;EACZ;;AAEDY,IAAE,CAAC,UAAU,GAAG,WAAW;EACzBR,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,GAAE;EAC3B,IAAI,CAAC,IAAI,GAAE;EACX,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,eAAe,GAAE;EACtC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,iBAAiB,CAAC;CAChD;;AC3kBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BA,AAQAa,oBAAc,CAAC,OAAO,GAAG,EAAC;;AAE1B,AAAO,SAAS,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE;EACpC,OAAO,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC;CACzC;;;;;;;;;;;;;"}
\ No newline at end of file
diff --git a/node_modules/acorn/acorn-loose/dist/acorn-loose.mjs b/node_modules/acorn/acorn-loose/dist/acorn-loose.mjs
new file mode 100644
index 0000000..2f7c698
--- /dev/null
+++ b/node_modules/acorn/acorn-loose/dist/acorn-loose.mjs
@@ -0,0 +1,1363 @@
+import { tokTypes, SourceLocation, Node, lineBreak, isNewLine, Parser, Token, getLineInfo, lineBreakG, defaultOptions } from 'acorn';
+
+function noop() {}
+
+var LooseParser = function LooseParser(input, options) {
+ if ( options === void 0 ) options = {};
+
+ this.toks = this.constructor.BaseParser.tokenizer(input, options);
+ this.options = this.toks.options;
+ this.input = this.toks.input;
+ this.tok = this.last = {type: tokTypes.eof, start: 0, end: 0};
+ this.tok.validateRegExpFlags = noop;
+ this.tok.validateRegExpPattern = noop;
+ if (this.options.locations) {
+ var here = this.toks.curPosition();
+ this.tok.loc = new SourceLocation(this.toks, here, here);
+ }
+ this.ahead = []; // Tokens ahead
+ this.context = []; // Indentation contexted
+ this.curIndent = 0;
+ this.curLineStart = 0;
+ this.nextLineStart = this.lineEnd(this.curLineStart) + 1;
+ this.inAsync = false;
+ this.inFunction = false;
+};
+
+LooseParser.prototype.startNode = function startNode () {
+ return new Node(this.toks, this.tok.start, this.options.locations ? this.tok.loc.start : null)
+};
+
+LooseParser.prototype.storeCurrentPos = function storeCurrentPos () {
+ return this.options.locations ? [this.tok.start, this.tok.loc.start] : this.tok.start
+};
+
+LooseParser.prototype.startNodeAt = function startNodeAt (pos) {
+ if (this.options.locations) {
+ return new Node(this.toks, pos[0], pos[1])
+ } else {
+ return new Node(this.toks, pos)
+ }
+};
+
+LooseParser.prototype.finishNode = function finishNode (node, type) {
+ node.type = type;
+ node.end = this.last.end;
+ if (this.options.locations)
+ { node.loc.end = this.last.loc.end; }
+ if (this.options.ranges)
+ { node.range[1] = this.last.end; }
+ return node
+};
+
+LooseParser.prototype.dummyNode = function dummyNode (type) {
+ var dummy = this.startNode();
+ dummy.type = type;
+ dummy.end = dummy.start;
+ if (this.options.locations)
+ { dummy.loc.end = dummy.loc.start; }
+ if (this.options.ranges)
+ { dummy.range[1] = dummy.start; }
+ this.last = {type: tokTypes.name, start: dummy.start, end: dummy.start, loc: dummy.loc};
+ return dummy
+};
+
+LooseParser.prototype.dummyIdent = function dummyIdent () {
+ var dummy = this.dummyNode("Identifier");
+ dummy.name = "✖";
+ return dummy
+};
+
+LooseParser.prototype.dummyString = function dummyString () {
+ var dummy = this.dummyNode("Literal");
+ dummy.value = dummy.raw = "✖";
+ return dummy
+};
+
+LooseParser.prototype.eat = function eat (type) {
+ if (this.tok.type === type) {
+ this.next();
+ return true
+ } else {
+ return false
+ }
+};
+
+LooseParser.prototype.isContextual = function isContextual (name) {
+ return this.tok.type === tokTypes.name && this.tok.value === name
+};
+
+LooseParser.prototype.eatContextual = function eatContextual (name) {
+ return this.tok.value === name && this.eat(tokTypes.name)
+};
+
+LooseParser.prototype.canInsertSemicolon = function canInsertSemicolon () {
+ return this.tok.type === tokTypes.eof || this.tok.type === tokTypes.braceR ||
+ lineBreak.test(this.input.slice(this.last.end, this.tok.start))
+};
+
+LooseParser.prototype.semicolon = function semicolon () {
+ return this.eat(tokTypes.semi)
+};
+
+LooseParser.prototype.expect = function expect (type) {
+ if (this.eat(type)) { return true }
+ for (var i = 1; i <= 2; i++) {
+ if (this.lookAhead(i).type === type) {
+ for (var j = 0; j < i; j++) { this.next(); }
+ return true
+ }
+ }
+};
+
+LooseParser.prototype.pushCx = function pushCx () {
+ this.context.push(this.curIndent);
+};
+
+LooseParser.prototype.popCx = function popCx () {
+ this.curIndent = this.context.pop();
+};
+
+LooseParser.prototype.lineEnd = function lineEnd (pos) {
+ while (pos < this.input.length && !isNewLine(this.input.charCodeAt(pos))) { ++pos; }
+ return pos
+};
+
+LooseParser.prototype.indentationAfter = function indentationAfter (pos) {
+ for (var count = 0;; ++pos) {
+ var ch = this.input.charCodeAt(pos);
+ if (ch === 32) { ++count; }
+ else if (ch === 9) { count += this.options.tabSize; }
+ else { return count }
+ }
+};
+
+LooseParser.prototype.closes = function closes (closeTok, indent, line, blockHeuristic) {
+ if (this.tok.type === closeTok || this.tok.type === tokTypes.eof) { return true }
+ return line !== this.curLineStart && this.curIndent < indent && this.tokenStartsLine() &&
+ (!blockHeuristic || this.nextLineStart >= this.input.length ||
+ this.indentationAfter(this.nextLineStart) < indent)
+};
+
+LooseParser.prototype.tokenStartsLine = function tokenStartsLine () {
+ for (var p = this.tok.start - 1; p >= this.curLineStart; --p) {
+ var ch = this.input.charCodeAt(p);
+ if (ch !== 9 && ch !== 32) { return false }
+ }
+ return true
+};
+
+LooseParser.prototype.extend = function extend (name, f) {
+ this[name] = f(this[name]);
+};
+
+LooseParser.prototype.parse = function parse () {
+ this.next();
+ return this.parseTopLevel()
+};
+
+LooseParser.extend = function extend () {
+ var plugins = [], len = arguments.length;
+ while ( len-- ) plugins[ len ] = arguments[ len ];
+
+ var cls = this;
+ for (var i = 0; i < plugins.length; i++) { cls = plugins[i](cls); }
+ return cls
+};
+
+LooseParser.parse = function parse (input, options) {
+ return new this(input, options).parse()
+};
+
+// Allows plugins to extend the base parser / tokenizer used
+LooseParser.BaseParser = Parser;
+
+var lp = LooseParser.prototype;
+
+function isSpace(ch) {
+ return (ch < 14 && ch > 8) || ch === 32 || ch === 160 || isNewLine(ch)
+}
+
+lp.next = function() {
+ this.last = this.tok;
+ if (this.ahead.length)
+ { this.tok = this.ahead.shift(); }
+ else
+ { this.tok = this.readToken(); }
+
+ if (this.tok.start >= this.nextLineStart) {
+ while (this.tok.start >= this.nextLineStart) {
+ this.curLineStart = this.nextLineStart;
+ this.nextLineStart = this.lineEnd(this.curLineStart) + 1;
+ }
+ this.curIndent = this.indentationAfter(this.curLineStart);
+ }
+};
+
+lp.readToken = function() {
+ for (;;) {
+ try {
+ this.toks.next();
+ if (this.toks.type === tokTypes.dot &&
+ this.input.substr(this.toks.end, 1) === "." &&
+ this.options.ecmaVersion >= 6) {
+ this.toks.end++;
+ this.toks.type = tokTypes.ellipsis;
+ }
+ return new Token(this.toks)
+ } catch (e) {
+ if (!(e instanceof SyntaxError)) { throw e }
+
+ // Try to skip some text, based on the error message, and then continue
+ var msg = e.message, pos = e.raisedAt, replace = true;
+ if (/unterminated/i.test(msg)) {
+ pos = this.lineEnd(e.pos + 1);
+ if (/string/.test(msg)) {
+ replace = {start: e.pos, end: pos, type: tokTypes.string, value: this.input.slice(e.pos + 1, pos)};
+ } else if (/regular expr/i.test(msg)) {
+ var re = this.input.slice(e.pos, pos);
+ try { re = new RegExp(re); } catch (e) { /* ignore compilation error due to new syntax */ }
+ replace = {start: e.pos, end: pos, type: tokTypes.regexp, value: re};
+ } else if (/template/.test(msg)) {
+ replace = {
+ start: e.pos,
+ end: pos,
+ type: tokTypes.template,
+ value: this.input.slice(e.pos, pos)
+ };
+ } else {
+ replace = false;
+ }
+ } else if (/invalid (unicode|regexp|number)|expecting unicode|octal literal|is reserved|directly after number|expected number in radix/i.test(msg)) {
+ while (pos < this.input.length && !isSpace(this.input.charCodeAt(pos))) { ++pos; }
+ } else if (/character escape|expected hexadecimal/i.test(msg)) {
+ while (pos < this.input.length) {
+ var ch = this.input.charCodeAt(pos++);
+ if (ch === 34 || ch === 39 || isNewLine(ch)) { break }
+ }
+ } else if (/unexpected character/i.test(msg)) {
+ pos++;
+ replace = false;
+ } else if (/regular expression/i.test(msg)) {
+ replace = true;
+ } else {
+ throw e
+ }
+ this.resetTo(pos);
+ if (replace === true) { replace = {start: pos, end: pos, type: tokTypes.name, value: "✖"}; }
+ if (replace) {
+ if (this.options.locations)
+ { replace.loc = new SourceLocation(
+ this.toks,
+ getLineInfo(this.input, replace.start),
+ getLineInfo(this.input, replace.end)); }
+ return replace
+ }
+ }
+ }
+};
+
+lp.resetTo = function(pos) {
+ this.toks.pos = pos;
+ var ch = this.input.charAt(pos - 1);
+ this.toks.exprAllowed = !ch || /[[{(,;:?/*=+\-~!|&%^<>]/.test(ch) ||
+ /[enwfd]/.test(ch) &&
+ /\b(case|else|return|throw|new|in|(instance|type)?of|delete|void)$/.test(this.input.slice(pos - 10, pos));
+
+ if (this.options.locations) {
+ this.toks.curLine = 1;
+ this.toks.lineStart = lineBreakG.lastIndex = 0;
+ var match;
+ while ((match = lineBreakG.exec(this.input)) && match.index < pos) {
+ ++this.toks.curLine;
+ this.toks.lineStart = match.index + match[0].length;
+ }
+ }
+};
+
+lp.lookAhead = function(n) {
+ while (n > this.ahead.length)
+ { this.ahead.push(this.readToken()); }
+ return this.ahead[n - 1]
+};
+
+function isDummy(node) { return node.name === "✖" }
+
+var lp$1 = LooseParser.prototype;
+
+lp$1.parseTopLevel = function() {
+ var node = this.startNodeAt(this.options.locations ? [0, getLineInfo(this.input, 0)] : 0);
+ node.body = [];
+ while (this.tok.type !== tokTypes.eof) { node.body.push(this.parseStatement()); }
+ this.toks.adaptDirectivePrologue(node.body);
+ this.last = this.tok;
+ node.sourceType = this.options.sourceType;
+ return this.finishNode(node, "Program")
+};
+
+lp$1.parseStatement = function() {
+ var starttype = this.tok.type, node = this.startNode(), kind;
+
+ if (this.toks.isLet()) {
+ starttype = tokTypes._var;
+ kind = "let";
+ }
+
+ switch (starttype) {
+ case tokTypes._break: case tokTypes._continue:
+ this.next();
+ var isBreak = starttype === tokTypes._break;
+ if (this.semicolon() || this.canInsertSemicolon()) {
+ node.label = null;
+ } else {
+ node.label = this.tok.type === tokTypes.name ? this.parseIdent() : null;
+ this.semicolon();
+ }
+ return this.finishNode(node, isBreak ? "BreakStatement" : "ContinueStatement")
+
+ case tokTypes._debugger:
+ this.next();
+ this.semicolon();
+ return this.finishNode(node, "DebuggerStatement")
+
+ case tokTypes._do:
+ this.next();
+ node.body = this.parseStatement();
+ node.test = this.eat(tokTypes._while) ? this.parseParenExpression() : this.dummyIdent();
+ this.semicolon();
+ return this.finishNode(node, "DoWhileStatement")
+
+ case tokTypes._for:
+ this.next(); // `for` keyword
+ var isAwait = this.options.ecmaVersion >= 9 && this.inAsync && this.eatContextual("await");
+
+ this.pushCx();
+ this.expect(tokTypes.parenL);
+ if (this.tok.type === tokTypes.semi) { return this.parseFor(node, null) }
+ var isLet = this.toks.isLet();
+ if (isLet || this.tok.type === tokTypes._var || this.tok.type === tokTypes._const) {
+ var init$1 = this.parseVar(this.startNode(), true, isLet ? "let" : this.tok.value);
+ if (init$1.declarations.length === 1 && (this.tok.type === tokTypes._in || this.isContextual("of"))) {
+ if (this.options.ecmaVersion >= 9 && this.tok.type !== tokTypes._in) {
+ node.await = isAwait;
+ }
+ return this.parseForIn(node, init$1)
+ }
+ return this.parseFor(node, init$1)
+ }
+ var init = this.parseExpression(true);
+ if (this.tok.type === tokTypes._in || this.isContextual("of")) {
+ if (this.options.ecmaVersion >= 9 && this.tok.type !== tokTypes._in) {
+ node.await = isAwait;
+ }
+ return this.parseForIn(node, this.toAssignable(init))
+ }
+ return this.parseFor(node, init)
+
+ case tokTypes._function:
+ this.next();
+ return this.parseFunction(node, true)
+
+ case tokTypes._if:
+ this.next();
+ node.test = this.parseParenExpression();
+ node.consequent = this.parseStatement();
+ node.alternate = this.eat(tokTypes._else) ? this.parseStatement() : null;
+ return this.finishNode(node, "IfStatement")
+
+ case tokTypes._return:
+ this.next();
+ if (this.eat(tokTypes.semi) || this.canInsertSemicolon()) { node.argument = null; }
+ else { node.argument = this.parseExpression(); this.semicolon(); }
+ return this.finishNode(node, "ReturnStatement")
+
+ case tokTypes._switch:
+ var blockIndent = this.curIndent, line = this.curLineStart;
+ this.next();
+ node.discriminant = this.parseParenExpression();
+ node.cases = [];
+ this.pushCx();
+ this.expect(tokTypes.braceL);
+
+ var cur;
+ while (!this.closes(tokTypes.braceR, blockIndent, line, true)) {
+ if (this.tok.type === tokTypes._case || this.tok.type === tokTypes._default) {
+ var isCase = this.tok.type === tokTypes._case;
+ if (cur) { this.finishNode(cur, "SwitchCase"); }
+ node.cases.push(cur = this.startNode());
+ cur.consequent = [];
+ this.next();
+ if (isCase) { cur.test = this.parseExpression(); }
+ else { cur.test = null; }
+ this.expect(tokTypes.colon);
+ } else {
+ if (!cur) {
+ node.cases.push(cur = this.startNode());
+ cur.consequent = [];
+ cur.test = null;
+ }
+ cur.consequent.push(this.parseStatement());
+ }
+ }
+ if (cur) { this.finishNode(cur, "SwitchCase"); }
+ this.popCx();
+ this.eat(tokTypes.braceR);
+ return this.finishNode(node, "SwitchStatement")
+
+ case tokTypes._throw:
+ this.next();
+ node.argument = this.parseExpression();
+ this.semicolon();
+ return this.finishNode(node, "ThrowStatement")
+
+ case tokTypes._try:
+ this.next();
+ node.block = this.parseBlock();
+ node.handler = null;
+ if (this.tok.type === tokTypes._catch) {
+ var clause = this.startNode();
+ this.next();
+ if (this.eat(tokTypes.parenL)) {
+ clause.param = this.toAssignable(this.parseExprAtom(), true);
+ this.expect(tokTypes.parenR);
+ } else {
+ clause.param = null;
+ }
+ clause.body = this.parseBlock();
+ node.handler = this.finishNode(clause, "CatchClause");
+ }
+ node.finalizer = this.eat(tokTypes._finally) ? this.parseBlock() : null;
+ if (!node.handler && !node.finalizer) { return node.block }
+ return this.finishNode(node, "TryStatement")
+
+ case tokTypes._var:
+ case tokTypes._const:
+ return this.parseVar(node, false, kind || this.tok.value)
+
+ case tokTypes._while:
+ this.next();
+ node.test = this.parseParenExpression();
+ node.body = this.parseStatement();
+ return this.finishNode(node, "WhileStatement")
+
+ case tokTypes._with:
+ this.next();
+ node.object = this.parseParenExpression();
+ node.body = this.parseStatement();
+ return this.finishNode(node, "WithStatement")
+
+ case tokTypes.braceL:
+ return this.parseBlock()
+
+ case tokTypes.semi:
+ this.next();
+ return this.finishNode(node, "EmptyStatement")
+
+ case tokTypes._class:
+ return this.parseClass(true)
+
+ case tokTypes._import:
+ if (this.options.ecmaVersion > 10 && this.lookAhead(1).type === tokTypes.parenL) {
+ node.expression = this.parseExpression();
+ this.semicolon();
+ return this.finishNode(node, "ExpressionStatement")
+ }
+
+ return this.parseImport()
+
+ case tokTypes._export:
+ return this.parseExport()
+
+ default:
+ if (this.toks.isAsyncFunction()) {
+ this.next();
+ this.next();
+ return this.parseFunction(node, true, true)
+ }
+ var expr = this.parseExpression();
+ if (isDummy(expr)) {
+ this.next();
+ if (this.tok.type === tokTypes.eof) { return this.finishNode(node, "EmptyStatement") }
+ return this.parseStatement()
+ } else if (starttype === tokTypes.name && expr.type === "Identifier" && this.eat(tokTypes.colon)) {
+ node.body = this.parseStatement();
+ node.label = expr;
+ return this.finishNode(node, "LabeledStatement")
+ } else {
+ node.expression = expr;
+ this.semicolon();
+ return this.finishNode(node, "ExpressionStatement")
+ }
+ }
+};
+
+lp$1.parseBlock = function() {
+ var node = this.startNode();
+ this.pushCx();
+ this.expect(tokTypes.braceL);
+ var blockIndent = this.curIndent, line = this.curLineStart;
+ node.body = [];
+ while (!this.closes(tokTypes.braceR, blockIndent, line, true))
+ { node.body.push(this.parseStatement()); }
+ this.popCx();
+ this.eat(tokTypes.braceR);
+ return this.finishNode(node, "BlockStatement")
+};
+
+lp$1.parseFor = function(node, init) {
+ node.init = init;
+ node.test = node.update = null;
+ if (this.eat(tokTypes.semi) && this.tok.type !== tokTypes.semi) { node.test = this.parseExpression(); }
+ if (this.eat(tokTypes.semi) && this.tok.type !== tokTypes.parenR) { node.update = this.parseExpression(); }
+ this.popCx();
+ this.expect(tokTypes.parenR);
+ node.body = this.parseStatement();
+ return this.finishNode(node, "ForStatement")
+};
+
+lp$1.parseForIn = function(node, init) {
+ var type = this.tok.type === tokTypes._in ? "ForInStatement" : "ForOfStatement";
+ this.next();
+ node.left = init;
+ node.right = this.parseExpression();
+ this.popCx();
+ this.expect(tokTypes.parenR);
+ node.body = this.parseStatement();
+ return this.finishNode(node, type)
+};
+
+lp$1.parseVar = function(node, noIn, kind) {
+ node.kind = kind;
+ this.next();
+ node.declarations = [];
+ do {
+ var decl = this.startNode();
+ decl.id = this.options.ecmaVersion >= 6 ? this.toAssignable(this.parseExprAtom(), true) : this.parseIdent();
+ decl.init = this.eat(tokTypes.eq) ? this.parseMaybeAssign(noIn) : null;
+ node.declarations.push(this.finishNode(decl, "VariableDeclarator"));
+ } while (this.eat(tokTypes.comma))
+ if (!node.declarations.length) {
+ var decl$1 = this.startNode();
+ decl$1.id = this.dummyIdent();
+ node.declarations.push(this.finishNode(decl$1, "VariableDeclarator"));
+ }
+ if (!noIn) { this.semicolon(); }
+ return this.finishNode(node, "VariableDeclaration")
+};
+
+lp$1.parseClass = function(isStatement) {
+ var node = this.startNode();
+ this.next();
+ if (this.tok.type === tokTypes.name) { node.id = this.parseIdent(); }
+ else if (isStatement === true) { node.id = this.dummyIdent(); }
+ else { node.id = null; }
+ node.superClass = this.eat(tokTypes._extends) ? this.parseExpression() : null;
+ node.body = this.startNode();
+ node.body.body = [];
+ this.pushCx();
+ var indent = this.curIndent + 1, line = this.curLineStart;
+ this.eat(tokTypes.braceL);
+ if (this.curIndent + 1 < indent) { indent = this.curIndent; line = this.curLineStart; }
+ while (!this.closes(tokTypes.braceR, indent, line)) {
+ if (this.semicolon()) { continue }
+ var method = this.startNode(), isGenerator = (void 0), isAsync = (void 0);
+ if (this.options.ecmaVersion >= 6) {
+ method.static = false;
+ isGenerator = this.eat(tokTypes.star);
+ }
+ this.parsePropertyName(method);
+ if (isDummy(method.key)) { if (isDummy(this.parseMaybeAssign())) { this.next(); } this.eat(tokTypes.comma); continue }
+ if (method.key.type === "Identifier" && !method.computed && method.key.name === "static" &&
+ (this.tok.type !== tokTypes.parenL && this.tok.type !== tokTypes.braceL)) {
+ method.static = true;
+ isGenerator = this.eat(tokTypes.star);
+ this.parsePropertyName(method);
+ } else {
+ method.static = false;
+ }
+ if (!method.computed &&
+ method.key.type === "Identifier" && method.key.name === "async" && this.tok.type !== tokTypes.parenL &&
+ !this.canInsertSemicolon()) {
+ isAsync = true;
+ isGenerator = this.options.ecmaVersion >= 9 && this.eat(tokTypes.star);
+ this.parsePropertyName(method);
+ } else {
+ isAsync = false;
+ }
+ if (this.options.ecmaVersion >= 5 && method.key.type === "Identifier" &&
+ !method.computed && (method.key.name === "get" || method.key.name === "set") &&
+ this.tok.type !== tokTypes.parenL && this.tok.type !== tokTypes.braceL) {
+ method.kind = method.key.name;
+ this.parsePropertyName(method);
+ method.value = this.parseMethod(false);
+ } else {
+ if (!method.computed && !method.static && !isGenerator && !isAsync && (
+ method.key.type === "Identifier" && method.key.name === "constructor" ||
+ method.key.type === "Literal" && method.key.value === "constructor")) {
+ method.kind = "constructor";
+ } else {
+ method.kind = "method";
+ }
+ method.value = this.parseMethod(isGenerator, isAsync);
+ }
+ node.body.body.push(this.finishNode(method, "MethodDefinition"));
+ }
+ this.popCx();
+ if (!this.eat(tokTypes.braceR)) {
+ // If there is no closing brace, make the node span to the start
+ // of the next token (this is useful for Tern)
+ this.last.end = this.tok.start;
+ if (this.options.locations) { this.last.loc.end = this.tok.loc.start; }
+ }
+ this.semicolon();
+ this.finishNode(node.body, "ClassBody");
+ return this.finishNode(node, isStatement ? "ClassDeclaration" : "ClassExpression")
+};
+
+lp$1.parseFunction = function(node, isStatement, isAsync) {
+ var oldInAsync = this.inAsync, oldInFunction = this.inFunction;
+ this.initFunction(node);
+ if (this.options.ecmaVersion >= 6) {
+ node.generator = this.eat(tokTypes.star);
+ }
+ if (this.options.ecmaVersion >= 8) {
+ node.async = !!isAsync;
+ }
+ if (this.tok.type === tokTypes.name) { node.id = this.parseIdent(); }
+ else if (isStatement === true) { node.id = this.dummyIdent(); }
+ this.inAsync = node.async;
+ this.inFunction = true;
+ node.params = this.parseFunctionParams();
+ node.body = this.parseBlock();
+ this.toks.adaptDirectivePrologue(node.body.body);
+ this.inAsync = oldInAsync;
+ this.inFunction = oldInFunction;
+ return this.finishNode(node, isStatement ? "FunctionDeclaration" : "FunctionExpression")
+};
+
+lp$1.parseExport = function() {
+ var node = this.startNode();
+ this.next();
+ if (this.eat(tokTypes.star)) {
+ node.source = this.eatContextual("from") ? this.parseExprAtom() : this.dummyString();
+ return this.finishNode(node, "ExportAllDeclaration")
+ }
+ if (this.eat(tokTypes._default)) {
+ // export default (function foo() {}) // This is FunctionExpression.
+ var isAsync;
+ if (this.tok.type === tokTypes._function || (isAsync = this.toks.isAsyncFunction())) {
+ var fNode = this.startNode();
+ this.next();
+ if (isAsync) { this.next(); }
+ node.declaration = this.parseFunction(fNode, "nullableID", isAsync);
+ } else if (this.tok.type === tokTypes._class) {
+ node.declaration = this.parseClass("nullableID");
+ } else {
+ node.declaration = this.parseMaybeAssign();
+ this.semicolon();
+ }
+ return this.finishNode(node, "ExportDefaultDeclaration")
+ }
+ if (this.tok.type.keyword || this.toks.isLet() || this.toks.isAsyncFunction()) {
+ node.declaration = this.parseStatement();
+ node.specifiers = [];
+ node.source = null;
+ } else {
+ node.declaration = null;
+ node.specifiers = this.parseExportSpecifierList();
+ node.source = this.eatContextual("from") ? this.parseExprAtom() : null;
+ this.semicolon();
+ }
+ return this.finishNode(node, "ExportNamedDeclaration")
+};
+
+lp$1.parseImport = function() {
+ var node = this.startNode();
+ this.next();
+ if (this.tok.type === tokTypes.string) {
+ node.specifiers = [];
+ node.source = this.parseExprAtom();
+ } else {
+ var elt;
+ if (this.tok.type === tokTypes.name && this.tok.value !== "from") {
+ elt = this.startNode();
+ elt.local = this.parseIdent();
+ this.finishNode(elt, "ImportDefaultSpecifier");
+ this.eat(tokTypes.comma);
+ }
+ node.specifiers = this.parseImportSpecifiers();
+ node.source = this.eatContextual("from") && this.tok.type === tokTypes.string ? this.parseExprAtom() : this.dummyString();
+ if (elt) { node.specifiers.unshift(elt); }
+ }
+ this.semicolon();
+ return this.finishNode(node, "ImportDeclaration")
+};
+
+lp$1.parseImportSpecifiers = function() {
+ var elts = [];
+ if (this.tok.type === tokTypes.star) {
+ var elt = this.startNode();
+ this.next();
+ elt.local = this.eatContextual("as") ? this.parseIdent() : this.dummyIdent();
+ elts.push(this.finishNode(elt, "ImportNamespaceSpecifier"));
+ } else {
+ var indent = this.curIndent, line = this.curLineStart, continuedLine = this.nextLineStart;
+ this.pushCx();
+ this.eat(tokTypes.braceL);
+ if (this.curLineStart > continuedLine) { continuedLine = this.curLineStart; }
+ while (!this.closes(tokTypes.braceR, indent + (this.curLineStart <= continuedLine ? 1 : 0), line)) {
+ var elt$1 = this.startNode();
+ if (this.eat(tokTypes.star)) {
+ elt$1.local = this.eatContextual("as") ? this.parseIdent() : this.dummyIdent();
+ this.finishNode(elt$1, "ImportNamespaceSpecifier");
+ } else {
+ if (this.isContextual("from")) { break }
+ elt$1.imported = this.parseIdent();
+ if (isDummy(elt$1.imported)) { break }
+ elt$1.local = this.eatContextual("as") ? this.parseIdent() : elt$1.imported;
+ this.finishNode(elt$1, "ImportSpecifier");
+ }
+ elts.push(elt$1);
+ this.eat(tokTypes.comma);
+ }
+ this.eat(tokTypes.braceR);
+ this.popCx();
+ }
+ return elts
+};
+
+lp$1.parseExportSpecifierList = function() {
+ var elts = [];
+ var indent = this.curIndent, line = this.curLineStart, continuedLine = this.nextLineStart;
+ this.pushCx();
+ this.eat(tokTypes.braceL);
+ if (this.curLineStart > continuedLine) { continuedLine = this.curLineStart; }
+ while (!this.closes(tokTypes.braceR, indent + (this.curLineStart <= continuedLine ? 1 : 0), line)) {
+ if (this.isContextual("from")) { break }
+ var elt = this.startNode();
+ elt.local = this.parseIdent();
+ if (isDummy(elt.local)) { break }
+ elt.exported = this.eatContextual("as") ? this.parseIdent() : elt.local;
+ this.finishNode(elt, "ExportSpecifier");
+ elts.push(elt);
+ this.eat(tokTypes.comma);
+ }
+ this.eat(tokTypes.braceR);
+ this.popCx();
+ return elts
+};
+
+var lp$2 = LooseParser.prototype;
+
+lp$2.checkLVal = function(expr) {
+ if (!expr) { return expr }
+ switch (expr.type) {
+ case "Identifier":
+ case "MemberExpression":
+ return expr
+
+ case "ParenthesizedExpression":
+ expr.expression = this.checkLVal(expr.expression);
+ return expr
+
+ default:
+ return this.dummyIdent()
+ }
+};
+
+lp$2.parseExpression = function(noIn) {
+ var start = this.storeCurrentPos();
+ var expr = this.parseMaybeAssign(noIn);
+ if (this.tok.type === tokTypes.comma) {
+ var node = this.startNodeAt(start);
+ node.expressions = [expr];
+ while (this.eat(tokTypes.comma)) { node.expressions.push(this.parseMaybeAssign(noIn)); }
+ return this.finishNode(node, "SequenceExpression")
+ }
+ return expr
+};
+
+lp$2.parseParenExpression = function() {
+ this.pushCx();
+ this.expect(tokTypes.parenL);
+ var val = this.parseExpression();
+ this.popCx();
+ this.expect(tokTypes.parenR);
+ return val
+};
+
+lp$2.parseMaybeAssign = function(noIn) {
+ if (this.toks.isContextual("yield")) {
+ var node = this.startNode();
+ this.next();
+ if (this.semicolon() || this.canInsertSemicolon() || (this.tok.type !== tokTypes.star && !this.tok.type.startsExpr)) {
+ node.delegate = false;
+ node.argument = null;
+ } else {
+ node.delegate = this.eat(tokTypes.star);
+ node.argument = this.parseMaybeAssign();
+ }
+ return this.finishNode(node, "YieldExpression")
+ }
+
+ var start = this.storeCurrentPos();
+ var left = this.parseMaybeConditional(noIn);
+ if (this.tok.type.isAssign) {
+ var node$1 = this.startNodeAt(start);
+ node$1.operator = this.tok.value;
+ node$1.left = this.tok.type === tokTypes.eq ? this.toAssignable(left) : this.checkLVal(left);
+ this.next();
+ node$1.right = this.parseMaybeAssign(noIn);
+ return this.finishNode(node$1, "AssignmentExpression")
+ }
+ return left
+};
+
+lp$2.parseMaybeConditional = function(noIn) {
+ var start = this.storeCurrentPos();
+ var expr = this.parseExprOps(noIn);
+ if (this.eat(tokTypes.question)) {
+ var node = this.startNodeAt(start);
+ node.test = expr;
+ node.consequent = this.parseMaybeAssign();
+ node.alternate = this.expect(tokTypes.colon) ? this.parseMaybeAssign(noIn) : this.dummyIdent();
+ return this.finishNode(node, "ConditionalExpression")
+ }
+ return expr
+};
+
+lp$2.parseExprOps = function(noIn) {
+ var start = this.storeCurrentPos();
+ var indent = this.curIndent, line = this.curLineStart;
+ return this.parseExprOp(this.parseMaybeUnary(false), start, -1, noIn, indent, line)
+};
+
+lp$2.parseExprOp = function(left, start, minPrec, noIn, indent, line) {
+ if (this.curLineStart !== line && this.curIndent < indent && this.tokenStartsLine()) { return left }
+ var prec = this.tok.type.binop;
+ if (prec != null && (!noIn || this.tok.type !== tokTypes._in)) {
+ if (prec > minPrec) {
+ var node = this.startNodeAt(start);
+ node.left = left;
+ node.operator = this.tok.value;
+ this.next();
+ if (this.curLineStart !== line && this.curIndent < indent && this.tokenStartsLine()) {
+ node.right = this.dummyIdent();
+ } else {
+ var rightStart = this.storeCurrentPos();
+ node.right = this.parseExprOp(this.parseMaybeUnary(false), rightStart, prec, noIn, indent, line);
+ }
+ this.finishNode(node, /&&|\|\|/.test(node.operator) ? "LogicalExpression" : "BinaryExpression");
+ return this.parseExprOp(node, start, minPrec, noIn, indent, line)
+ }
+ }
+ return left
+};
+
+lp$2.parseMaybeUnary = function(sawUnary) {
+ var start = this.storeCurrentPos(), expr;
+ if (this.options.ecmaVersion >= 8 && this.toks.isContextual("await") &&
+ (this.inAsync || (!this.inFunction && this.options.allowAwaitOutsideFunction))
+ ) {
+ expr = this.parseAwait();
+ sawUnary = true;
+ } else if (this.tok.type.prefix) {
+ var node = this.startNode(), update = this.tok.type === tokTypes.incDec;
+ if (!update) { sawUnary = true; }
+ node.operator = this.tok.value;
+ node.prefix = true;
+ this.next();
+ node.argument = this.parseMaybeUnary(true);
+ if (update) { node.argument = this.checkLVal(node.argument); }
+ expr = this.finishNode(node, update ? "UpdateExpression" : "UnaryExpression");
+ } else if (this.tok.type === tokTypes.ellipsis) {
+ var node$1 = this.startNode();
+ this.next();
+ node$1.argument = this.parseMaybeUnary(sawUnary);
+ expr = this.finishNode(node$1, "SpreadElement");
+ } else {
+ expr = this.parseExprSubscripts();
+ while (this.tok.type.postfix && !this.canInsertSemicolon()) {
+ var node$2 = this.startNodeAt(start);
+ node$2.operator = this.tok.value;
+ node$2.prefix = false;
+ node$2.argument = this.checkLVal(expr);
+ this.next();
+ expr = this.finishNode(node$2, "UpdateExpression");
+ }
+ }
+
+ if (!sawUnary && this.eat(tokTypes.starstar)) {
+ var node$3 = this.startNodeAt(start);
+ node$3.operator = "**";
+ node$3.left = expr;
+ node$3.right = this.parseMaybeUnary(false);
+ return this.finishNode(node$3, "BinaryExpression")
+ }
+
+ return expr
+};
+
+lp$2.parseExprSubscripts = function() {
+ var start = this.storeCurrentPos();
+ return this.parseSubscripts(this.parseExprAtom(), start, false, this.curIndent, this.curLineStart)
+};
+
+lp$2.parseSubscripts = function(base, start, noCalls, startIndent, line) {
+ for (;;) {
+ if (this.curLineStart !== line && this.curIndent <= startIndent && this.tokenStartsLine()) {
+ if (this.tok.type === tokTypes.dot && this.curIndent === startIndent)
+ { --startIndent; }
+ else
+ { return base }
+ }
+
+ var maybeAsyncArrow = base.type === "Identifier" && base.name === "async" && !this.canInsertSemicolon();
+
+ if (this.eat(tokTypes.dot)) {
+ var node = this.startNodeAt(start);
+ node.object = base;
+ if (this.curLineStart !== line && this.curIndent <= startIndent && this.tokenStartsLine())
+ { node.property = this.dummyIdent(); }
+ else
+ { node.property = this.parsePropertyAccessor() || this.dummyIdent(); }
+ node.computed = false;
+ base = this.finishNode(node, "MemberExpression");
+ } else if (this.tok.type === tokTypes.bracketL) {
+ this.pushCx();
+ this.next();
+ var node$1 = this.startNodeAt(start);
+ node$1.object = base;
+ node$1.property = this.parseExpression();
+ node$1.computed = true;
+ this.popCx();
+ this.expect(tokTypes.bracketR);
+ base = this.finishNode(node$1, "MemberExpression");
+ } else if (!noCalls && this.tok.type === tokTypes.parenL) {
+ var exprList = this.parseExprList(tokTypes.parenR);
+ if (maybeAsyncArrow && this.eat(tokTypes.arrow))
+ { return this.parseArrowExpression(this.startNodeAt(start), exprList, true) }
+ var node$2 = this.startNodeAt(start);
+ node$2.callee = base;
+ node$2.arguments = exprList;
+ base = this.finishNode(node$2, "CallExpression");
+ } else if (this.tok.type === tokTypes.backQuote) {
+ var node$3 = this.startNodeAt(start);
+ node$3.tag = base;
+ node$3.quasi = this.parseTemplate();
+ base = this.finishNode(node$3, "TaggedTemplateExpression");
+ } else {
+ return base
+ }
+ }
+};
+
+lp$2.parseExprAtom = function() {
+ var node;
+ switch (this.tok.type) {
+ case tokTypes._this:
+ case tokTypes._super:
+ var type = this.tok.type === tokTypes._this ? "ThisExpression" : "Super";
+ node = this.startNode();
+ this.next();
+ return this.finishNode(node, type)
+
+ case tokTypes.name:
+ var start = this.storeCurrentPos();
+ var id = this.parseIdent();
+ var isAsync = false;
+ if (id.name === "async" && !this.canInsertSemicolon()) {
+ if (this.eat(tokTypes._function))
+ { return this.parseFunction(this.startNodeAt(start), false, true) }
+ if (this.tok.type === tokTypes.name) {
+ id = this.parseIdent();
+ isAsync = true;
+ }
+ }
+ return this.eat(tokTypes.arrow) ? this.parseArrowExpression(this.startNodeAt(start), [id], isAsync) : id
+
+ case tokTypes.regexp:
+ node = this.startNode();
+ var val = this.tok.value;
+ node.regex = {pattern: val.pattern, flags: val.flags};
+ node.value = val.value;
+ node.raw = this.input.slice(this.tok.start, this.tok.end);
+ this.next();
+ return this.finishNode(node, "Literal")
+
+ case tokTypes.num: case tokTypes.string:
+ node = this.startNode();
+ node.value = this.tok.value;
+ node.raw = this.input.slice(this.tok.start, this.tok.end);
+ if (this.tok.type === tokTypes.num && node.raw.charCodeAt(node.raw.length - 1) === 110) { node.bigint = node.raw.slice(0, -1); }
+ this.next();
+ return this.finishNode(node, "Literal")
+
+ case tokTypes._null: case tokTypes._true: case tokTypes._false:
+ node = this.startNode();
+ node.value = this.tok.type === tokTypes._null ? null : this.tok.type === tokTypes._true;
+ node.raw = this.tok.type.keyword;
+ this.next();
+ return this.finishNode(node, "Literal")
+
+ case tokTypes.parenL:
+ var parenStart = this.storeCurrentPos();
+ this.next();
+ var inner = this.parseExpression();
+ this.expect(tokTypes.parenR);
+ if (this.eat(tokTypes.arrow)) {
+ // (a,)=>a // SequenceExpression makes dummy in the last hole. Drop the dummy.
+ var params = inner.expressions || [inner];
+ if (params.length && isDummy(params[params.length - 1]))
+ { params.pop(); }
+ return this.parseArrowExpression(this.startNodeAt(parenStart), params)
+ }
+ if (this.options.preserveParens) {
+ var par = this.startNodeAt(parenStart);
+ par.expression = inner;
+ inner = this.finishNode(par, "ParenthesizedExpression");
+ }
+ return inner
+
+ case tokTypes.bracketL:
+ node = this.startNode();
+ node.elements = this.parseExprList(tokTypes.bracketR, true);
+ return this.finishNode(node, "ArrayExpression")
+
+ case tokTypes.braceL:
+ return this.parseObj()
+
+ case tokTypes._class:
+ return this.parseClass(false)
+
+ case tokTypes._function:
+ node = this.startNode();
+ this.next();
+ return this.parseFunction(node, false)
+
+ case tokTypes._new:
+ return this.parseNew()
+
+ case tokTypes.backQuote:
+ return this.parseTemplate()
+
+ case tokTypes._import:
+ if (this.options.ecmaVersion > 10) {
+ return this.parseDynamicImport()
+ } else {
+ return this.dummyIdent()
+ }
+
+ default:
+ return this.dummyIdent()
+ }
+};
+
+lp$2.parseDynamicImport = function() {
+ var node = this.startNode();
+ this.next();
+ return this.finishNode(node, "Import")
+};
+
+lp$2.parseNew = function() {
+ var node = this.startNode(), startIndent = this.curIndent, line = this.curLineStart;
+ var meta = this.parseIdent(true);
+ if (this.options.ecmaVersion >= 6 && this.eat(tokTypes.dot)) {
+ node.meta = meta;
+ node.property = this.parseIdent(true);
+ return this.finishNode(node, "MetaProperty")
+ }
+ var start = this.storeCurrentPos();
+ node.callee = this.parseSubscripts(this.parseExprAtom(), start, true, startIndent, line);
+ if (this.tok.type === tokTypes.parenL) {
+ node.arguments = this.parseExprList(tokTypes.parenR);
+ } else {
+ node.arguments = [];
+ }
+ return this.finishNode(node, "NewExpression")
+};
+
+lp$2.parseTemplateElement = function() {
+ var elem = this.startNode();
+
+ // The loose parser accepts invalid unicode escapes even in untagged templates.
+ if (this.tok.type === tokTypes.invalidTemplate) {
+ elem.value = {
+ raw: this.tok.value,
+ cooked: null
+ };
+ } else {
+ elem.value = {
+ raw: this.input.slice(this.tok.start, this.tok.end).replace(/\r\n?/g, "\n"),
+ cooked: this.tok.value
+ };
+ }
+ this.next();
+ elem.tail = this.tok.type === tokTypes.backQuote;
+ return this.finishNode(elem, "TemplateElement")
+};
+
+lp$2.parseTemplate = function() {
+ var node = this.startNode();
+ this.next();
+ node.expressions = [];
+ var curElt = this.parseTemplateElement();
+ node.quasis = [curElt];
+ while (!curElt.tail) {
+ this.next();
+ node.expressions.push(this.parseExpression());
+ if (this.expect(tokTypes.braceR)) {
+ curElt = this.parseTemplateElement();
+ } else {
+ curElt = this.startNode();
+ curElt.value = {cooked: "", raw: ""};
+ curElt.tail = true;
+ this.finishNode(curElt, "TemplateElement");
+ }
+ node.quasis.push(curElt);
+ }
+ this.expect(tokTypes.backQuote);
+ return this.finishNode(node, "TemplateLiteral")
+};
+
+lp$2.parseObj = function() {
+ var node = this.startNode();
+ node.properties = [];
+ this.pushCx();
+ var indent = this.curIndent + 1, line = this.curLineStart;
+ this.eat(tokTypes.braceL);
+ if (this.curIndent + 1 < indent) { indent = this.curIndent; line = this.curLineStart; }
+ while (!this.closes(tokTypes.braceR, indent, line)) {
+ var prop = this.startNode(), isGenerator = (void 0), isAsync = (void 0), start = (void 0);
+ if (this.options.ecmaVersion >= 9 && this.eat(tokTypes.ellipsis)) {
+ prop.argument = this.parseMaybeAssign();
+ node.properties.push(this.finishNode(prop, "SpreadElement"));
+ this.eat(tokTypes.comma);
+ continue
+ }
+ if (this.options.ecmaVersion >= 6) {
+ start = this.storeCurrentPos();
+ prop.method = false;
+ prop.shorthand = false;
+ isGenerator = this.eat(tokTypes.star);
+ }
+ this.parsePropertyName(prop);
+ if (this.toks.isAsyncProp(prop)) {
+ isAsync = true;
+ isGenerator = this.options.ecmaVersion >= 9 && this.eat(tokTypes.star);
+ this.parsePropertyName(prop);
+ } else {
+ isAsync = false;
+ }
+ if (isDummy(prop.key)) { if (isDummy(this.parseMaybeAssign())) { this.next(); } this.eat(tokTypes.comma); continue }
+ if (this.eat(tokTypes.colon)) {
+ prop.kind = "init";
+ prop.value = this.parseMaybeAssign();
+ } else if (this.options.ecmaVersion >= 6 && (this.tok.type === tokTypes.parenL || this.tok.type === tokTypes.braceL)) {
+ prop.kind = "init";
+ prop.method = true;
+ prop.value = this.parseMethod(isGenerator, isAsync);
+ } else if (this.options.ecmaVersion >= 5 && prop.key.type === "Identifier" &&
+ !prop.computed && (prop.key.name === "get" || prop.key.name === "set") &&
+ (this.tok.type !== tokTypes.comma && this.tok.type !== tokTypes.braceR && this.tok.type !== tokTypes.eq)) {
+ prop.kind = prop.key.name;
+ this.parsePropertyName(prop);
+ prop.value = this.parseMethod(false);
+ } else {
+ prop.kind = "init";
+ if (this.options.ecmaVersion >= 6) {
+ if (this.eat(tokTypes.eq)) {
+ var assign = this.startNodeAt(start);
+ assign.operator = "=";
+ assign.left = prop.key;
+ assign.right = this.parseMaybeAssign();
+ prop.value = this.finishNode(assign, "AssignmentExpression");
+ } else {
+ prop.value = prop.key;
+ }
+ } else {
+ prop.value = this.dummyIdent();
+ }
+ prop.shorthand = true;
+ }
+ node.properties.push(this.finishNode(prop, "Property"));
+ this.eat(tokTypes.comma);
+ }
+ this.popCx();
+ if (!this.eat(tokTypes.braceR)) {
+ // If there is no closing brace, make the node span to the start
+ // of the next token (this is useful for Tern)
+ this.last.end = this.tok.start;
+ if (this.options.locations) { this.last.loc.end = this.tok.loc.start; }
+ }
+ return this.finishNode(node, "ObjectExpression")
+};
+
+lp$2.parsePropertyName = function(prop) {
+ if (this.options.ecmaVersion >= 6) {
+ if (this.eat(tokTypes.bracketL)) {
+ prop.computed = true;
+ prop.key = this.parseExpression();
+ this.expect(tokTypes.bracketR);
+ return
+ } else {
+ prop.computed = false;
+ }
+ }
+ var key = (this.tok.type === tokTypes.num || this.tok.type === tokTypes.string) ? this.parseExprAtom() : this.parseIdent();
+ prop.key = key || this.dummyIdent();
+};
+
+lp$2.parsePropertyAccessor = function() {
+ if (this.tok.type === tokTypes.name || this.tok.type.keyword) { return this.parseIdent() }
+};
+
+lp$2.parseIdent = function() {
+ var name = this.tok.type === tokTypes.name ? this.tok.value : this.tok.type.keyword;
+ if (!name) { return this.dummyIdent() }
+ var node = this.startNode();
+ this.next();
+ node.name = name;
+ return this.finishNode(node, "Identifier")
+};
+
+lp$2.initFunction = function(node) {
+ node.id = null;
+ node.params = [];
+ if (this.options.ecmaVersion >= 6) {
+ node.generator = false;
+ node.expression = false;
+ }
+ if (this.options.ecmaVersion >= 8)
+ { node.async = false; }
+};
+
+// Convert existing expression atom to assignable pattern
+// if possible.
+
+lp$2.toAssignable = function(node, binding) {
+ if (!node || node.type === "Identifier" || (node.type === "MemberExpression" && !binding)) ; else if (node.type === "ParenthesizedExpression") {
+ this.toAssignable(node.expression, binding);
+ } else if (this.options.ecmaVersion < 6) {
+ return this.dummyIdent()
+ } else if (node.type === "ObjectExpression") {
+ node.type = "ObjectPattern";
+ for (var i = 0, list = node.properties; i < list.length; i += 1)
+ {
+ var prop = list[i];
+
+ this.toAssignable(prop, binding);
+ }
+ } else if (node.type === "ArrayExpression") {
+ node.type = "ArrayPattern";
+ this.toAssignableList(node.elements, binding);
+ } else if (node.type === "Property") {
+ this.toAssignable(node.value, binding);
+ } else if (node.type === "SpreadElement") {
+ node.type = "RestElement";
+ this.toAssignable(node.argument, binding);
+ } else if (node.type === "AssignmentExpression") {
+ node.type = "AssignmentPattern";
+ delete node.operator;
+ } else {
+ return this.dummyIdent()
+ }
+ return node
+};
+
+lp$2.toAssignableList = function(exprList, binding) {
+ for (var i = 0, list = exprList; i < list.length; i += 1)
+ {
+ var expr = list[i];
+
+ this.toAssignable(expr, binding);
+ }
+ return exprList
+};
+
+lp$2.parseFunctionParams = function(params) {
+ params = this.parseExprList(tokTypes.parenR);
+ return this.toAssignableList(params, true)
+};
+
+lp$2.parseMethod = function(isGenerator, isAsync) {
+ var node = this.startNode(), oldInAsync = this.inAsync, oldInFunction = this.inFunction;
+ this.initFunction(node);
+ if (this.options.ecmaVersion >= 6)
+ { node.generator = !!isGenerator; }
+ if (this.options.ecmaVersion >= 8)
+ { node.async = !!isAsync; }
+ this.inAsync = node.async;
+ this.inFunction = true;
+ node.params = this.parseFunctionParams();
+ node.body = this.parseBlock();
+ this.toks.adaptDirectivePrologue(node.body.body);
+ this.inAsync = oldInAsync;
+ this.inFunction = oldInFunction;
+ return this.finishNode(node, "FunctionExpression")
+};
+
+lp$2.parseArrowExpression = function(node, params, isAsync) {
+ var oldInAsync = this.inAsync, oldInFunction = this.inFunction;
+ this.initFunction(node);
+ if (this.options.ecmaVersion >= 8)
+ { node.async = !!isAsync; }
+ this.inAsync = node.async;
+ this.inFunction = true;
+ node.params = this.toAssignableList(params, true);
+ node.expression = this.tok.type !== tokTypes.braceL;
+ if (node.expression) {
+ node.body = this.parseMaybeAssign();
+ } else {
+ node.body = this.parseBlock();
+ this.toks.adaptDirectivePrologue(node.body.body);
+ }
+ this.inAsync = oldInAsync;
+ this.inFunction = oldInFunction;
+ return this.finishNode(node, "ArrowFunctionExpression")
+};
+
+lp$2.parseExprList = function(close, allowEmpty) {
+ this.pushCx();
+ var indent = this.curIndent, line = this.curLineStart, elts = [];
+ this.next(); // Opening bracket
+ while (!this.closes(close, indent + 1, line)) {
+ if (this.eat(tokTypes.comma)) {
+ elts.push(allowEmpty ? null : this.dummyIdent());
+ continue
+ }
+ var elt = this.parseMaybeAssign();
+ if (isDummy(elt)) {
+ if (this.closes(close, indent, line)) { break }
+ this.next();
+ } else {
+ elts.push(elt);
+ }
+ this.eat(tokTypes.comma);
+ }
+ this.popCx();
+ if (!this.eat(close)) {
+ // If there is no closing brace, make the node span to the start
+ // of the next token (this is useful for Tern)
+ this.last.end = this.tok.start;
+ if (this.options.locations) { this.last.loc.end = this.tok.loc.start; }
+ }
+ return elts
+};
+
+lp$2.parseAwait = function() {
+ var node = this.startNode();
+ this.next();
+ node.argument = this.parseMaybeUnary();
+ return this.finishNode(node, "AwaitExpression")
+};
+
+// Acorn: Loose parser
+
+defaultOptions.tabSize = 4;
+
+function parse(input, options) {
+ return LooseParser.parse(input, options)
+}
+
+export { LooseParser, parse };
diff --git a/node_modules/acorn/acorn-loose/dist/acorn-loose.mjs.map b/node_modules/acorn/acorn-loose/dist/acorn-loose.mjs.map
new file mode 100644
index 0000000..0293307
--- /dev/null
+++ b/node_modules/acorn/acorn-loose/dist/acorn-loose.mjs.map
@@ -0,0 +1 @@
+{"version":3,"file":"acorn-loose.mjs","sources":["../src/state.js","../src/tokenize.js","../src/parseutil.js","../src/statement.js","../src/expression.js","../src/index.js"],"sourcesContent":["import {Parser, SourceLocation, tokTypes as tt, Node, lineBreak, isNewLine} from \"acorn\"\n\nfunction noop() {}\n\nexport class LooseParser {\n constructor(input, options = {}) {\n this.toks = this.constructor.BaseParser.tokenizer(input, options)\n this.options = this.toks.options\n this.input = this.toks.input\n this.tok = this.last = {type: tt.eof, start: 0, end: 0}\n this.tok.validateRegExpFlags = noop\n this.tok.validateRegExpPattern = noop\n if (this.options.locations) {\n let here = this.toks.curPosition()\n this.tok.loc = new SourceLocation(this.toks, here, here)\n }\n this.ahead = [] // Tokens ahead\n this.context = [] // Indentation contexted\n this.curIndent = 0\n this.curLineStart = 0\n this.nextLineStart = this.lineEnd(this.curLineStart) + 1\n this.inAsync = false\n this.inFunction = false\n }\n\n startNode() {\n return new Node(this.toks, this.tok.start, this.options.locations ? this.tok.loc.start : null)\n }\n\n storeCurrentPos() {\n return this.options.locations ? [this.tok.start, this.tok.loc.start] : this.tok.start\n }\n\n startNodeAt(pos) {\n if (this.options.locations) {\n return new Node(this.toks, pos[0], pos[1])\n } else {\n return new Node(this.toks, pos)\n }\n }\n\n finishNode(node, type) {\n node.type = type\n node.end = this.last.end\n if (this.options.locations)\n node.loc.end = this.last.loc.end\n if (this.options.ranges)\n node.range[1] = this.last.end\n return node\n }\n\n dummyNode(type) {\n let dummy = this.startNode()\n dummy.type = type\n dummy.end = dummy.start\n if (this.options.locations)\n dummy.loc.end = dummy.loc.start\n if (this.options.ranges)\n dummy.range[1] = dummy.start\n this.last = {type: tt.name, start: dummy.start, end: dummy.start, loc: dummy.loc}\n return dummy\n }\n\n dummyIdent() {\n let dummy = this.dummyNode(\"Identifier\")\n dummy.name = \"✖\"\n return dummy\n }\n\n dummyString() {\n let dummy = this.dummyNode(\"Literal\")\n dummy.value = dummy.raw = \"✖\"\n return dummy\n }\n\n eat(type) {\n if (this.tok.type === type) {\n this.next()\n return true\n } else {\n return false\n }\n }\n\n isContextual(name) {\n return this.tok.type === tt.name && this.tok.value === name\n }\n\n eatContextual(name) {\n return this.tok.value === name && this.eat(tt.name)\n }\n\n canInsertSemicolon() {\n return this.tok.type === tt.eof || this.tok.type === tt.braceR ||\n lineBreak.test(this.input.slice(this.last.end, this.tok.start))\n }\n\n semicolon() {\n return this.eat(tt.semi)\n }\n\n expect(type) {\n if (this.eat(type)) return true\n for (let i = 1; i <= 2; i++) {\n if (this.lookAhead(i).type === type) {\n for (let j = 0; j < i; j++) this.next()\n return true\n }\n }\n }\n\n pushCx() {\n this.context.push(this.curIndent)\n }\n\n popCx() {\n this.curIndent = this.context.pop()\n }\n\n lineEnd(pos) {\n while (pos < this.input.length && !isNewLine(this.input.charCodeAt(pos))) ++pos\n return pos\n }\n\n indentationAfter(pos) {\n for (let count = 0;; ++pos) {\n let ch = this.input.charCodeAt(pos)\n if (ch === 32) ++count\n else if (ch === 9) count += this.options.tabSize\n else return count\n }\n }\n\n closes(closeTok, indent, line, blockHeuristic) {\n if (this.tok.type === closeTok || this.tok.type === tt.eof) return true\n return line !== this.curLineStart && this.curIndent < indent && this.tokenStartsLine() &&\n (!blockHeuristic || this.nextLineStart >= this.input.length ||\n this.indentationAfter(this.nextLineStart) < indent)\n }\n\n tokenStartsLine() {\n for (let p = this.tok.start - 1; p >= this.curLineStart; --p) {\n let ch = this.input.charCodeAt(p)\n if (ch !== 9 && ch !== 32) return false\n }\n return true\n }\n\n extend(name, f) {\n this[name] = f(this[name])\n }\n\n parse() {\n this.next()\n return this.parseTopLevel()\n }\n\n static extend(...plugins) {\n let cls = this\n for (let i = 0; i < plugins.length; i++) cls = plugins[i](cls)\n return cls\n }\n\n static parse(input, options) {\n return new this(input, options).parse()\n }\n}\n\n// Allows plugins to extend the base parser / tokenizer used\nLooseParser.BaseParser = Parser\n","import {tokTypes as tt, Token, isNewLine, SourceLocation, getLineInfo, lineBreakG} from \"acorn\"\nimport {LooseParser} from \"./state\"\n\nconst lp = LooseParser.prototype\n\nfunction isSpace(ch) {\n return (ch < 14 && ch > 8) || ch === 32 || ch === 160 || isNewLine(ch)\n}\n\nlp.next = function() {\n this.last = this.tok\n if (this.ahead.length)\n this.tok = this.ahead.shift()\n else\n this.tok = this.readToken()\n\n if (this.tok.start >= this.nextLineStart) {\n while (this.tok.start >= this.nextLineStart) {\n this.curLineStart = this.nextLineStart\n this.nextLineStart = this.lineEnd(this.curLineStart) + 1\n }\n this.curIndent = this.indentationAfter(this.curLineStart)\n }\n}\n\nlp.readToken = function() {\n for (;;) {\n try {\n this.toks.next()\n if (this.toks.type === tt.dot &&\n this.input.substr(this.toks.end, 1) === \".\" &&\n this.options.ecmaVersion >= 6) {\n this.toks.end++\n this.toks.type = tt.ellipsis\n }\n return new Token(this.toks)\n } catch (e) {\n if (!(e instanceof SyntaxError)) throw e\n\n // Try to skip some text, based on the error message, and then continue\n let msg = e.message, pos = e.raisedAt, replace = true\n if (/unterminated/i.test(msg)) {\n pos = this.lineEnd(e.pos + 1)\n if (/string/.test(msg)) {\n replace = {start: e.pos, end: pos, type: tt.string, value: this.input.slice(e.pos + 1, pos)}\n } else if (/regular expr/i.test(msg)) {\n let re = this.input.slice(e.pos, pos)\n try { re = new RegExp(re) } catch (e) { /* ignore compilation error due to new syntax */ }\n replace = {start: e.pos, end: pos, type: tt.regexp, value: re}\n } else if (/template/.test(msg)) {\n replace = {\n start: e.pos,\n end: pos,\n type: tt.template,\n value: this.input.slice(e.pos, pos)\n }\n } else {\n replace = false\n }\n } else if (/invalid (unicode|regexp|number)|expecting unicode|octal literal|is reserved|directly after number|expected number in radix/i.test(msg)) {\n while (pos < this.input.length && !isSpace(this.input.charCodeAt(pos))) ++pos\n } else if (/character escape|expected hexadecimal/i.test(msg)) {\n while (pos < this.input.length) {\n let ch = this.input.charCodeAt(pos++)\n if (ch === 34 || ch === 39 || isNewLine(ch)) break\n }\n } else if (/unexpected character/i.test(msg)) {\n pos++\n replace = false\n } else if (/regular expression/i.test(msg)) {\n replace = true\n } else {\n throw e\n }\n this.resetTo(pos)\n if (replace === true) replace = {start: pos, end: pos, type: tt.name, value: \"✖\"}\n if (replace) {\n if (this.options.locations)\n replace.loc = new SourceLocation(\n this.toks,\n getLineInfo(this.input, replace.start),\n getLineInfo(this.input, replace.end))\n return replace\n }\n }\n }\n}\n\nlp.resetTo = function(pos) {\n this.toks.pos = pos\n let ch = this.input.charAt(pos - 1)\n this.toks.exprAllowed = !ch || /[[{(,;:?/*=+\\-~!|&%^<>]/.test(ch) ||\n /[enwfd]/.test(ch) &&\n /\\b(case|else|return|throw|new|in|(instance|type)?of|delete|void)$/.test(this.input.slice(pos - 10, pos))\n\n if (this.options.locations) {\n this.toks.curLine = 1\n this.toks.lineStart = lineBreakG.lastIndex = 0\n let match\n while ((match = lineBreakG.exec(this.input)) && match.index < pos) {\n ++this.toks.curLine\n this.toks.lineStart = match.index + match[0].length\n }\n }\n}\n\nlp.lookAhead = function(n) {\n while (n > this.ahead.length)\n this.ahead.push(this.readToken())\n return this.ahead[n - 1]\n}\n","export function isDummy(node) { return node.name === \"✖\" }\n","import {LooseParser} from \"./state\"\nimport {isDummy} from \"./parseutil\"\nimport {getLineInfo, tokTypes as tt} from \"acorn\"\n\nconst lp = LooseParser.prototype\n\nlp.parseTopLevel = function() {\n let node = this.startNodeAt(this.options.locations ? [0, getLineInfo(this.input, 0)] : 0)\n node.body = []\n while (this.tok.type !== tt.eof) node.body.push(this.parseStatement())\n this.toks.adaptDirectivePrologue(node.body)\n this.last = this.tok\n if (this.options.ecmaVersion >= 6) {\n node.sourceType = this.options.sourceType\n }\n return this.finishNode(node, \"Program\")\n}\n\nlp.parseStatement = function() {\n let starttype = this.tok.type, node = this.startNode(), kind\n\n if (this.toks.isLet()) {\n starttype = tt._var\n kind = \"let\"\n }\n\n switch (starttype) {\n case tt._break: case tt._continue:\n this.next()\n let isBreak = starttype === tt._break\n if (this.semicolon() || this.canInsertSemicolon()) {\n node.label = null\n } else {\n node.label = this.tok.type === tt.name ? this.parseIdent() : null\n this.semicolon()\n }\n return this.finishNode(node, isBreak ? \"BreakStatement\" : \"ContinueStatement\")\n\n case tt._debugger:\n this.next()\n this.semicolon()\n return this.finishNode(node, \"DebuggerStatement\")\n\n case tt._do:\n this.next()\n node.body = this.parseStatement()\n node.test = this.eat(tt._while) ? this.parseParenExpression() : this.dummyIdent()\n this.semicolon()\n return this.finishNode(node, \"DoWhileStatement\")\n\n case tt._for:\n this.next() // `for` keyword\n let isAwait = this.options.ecmaVersion >= 9 && this.inAsync && this.eatContextual(\"await\")\n\n this.pushCx()\n this.expect(tt.parenL)\n if (this.tok.type === tt.semi) return this.parseFor(node, null)\n let isLet = this.toks.isLet()\n if (isLet || this.tok.type === tt._var || this.tok.type === tt._const) {\n let init = this.parseVar(this.startNode(), true, isLet ? \"let\" : this.tok.value)\n if (init.declarations.length === 1 && (this.tok.type === tt._in || this.isContextual(\"of\"))) {\n if (this.options.ecmaVersion >= 9 && this.tok.type !== tt._in) {\n node.await = isAwait\n }\n return this.parseForIn(node, init)\n }\n return this.parseFor(node, init)\n }\n let init = this.parseExpression(true)\n if (this.tok.type === tt._in || this.isContextual(\"of\")) {\n if (this.options.ecmaVersion >= 9 && this.tok.type !== tt._in) {\n node.await = isAwait\n }\n return this.parseForIn(node, this.toAssignable(init))\n }\n return this.parseFor(node, init)\n\n case tt._function:\n this.next()\n return this.parseFunction(node, true)\n\n case tt._if:\n this.next()\n node.test = this.parseParenExpression()\n node.consequent = this.parseStatement()\n node.alternate = this.eat(tt._else) ? this.parseStatement() : null\n return this.finishNode(node, \"IfStatement\")\n\n case tt._return:\n this.next()\n if (this.eat(tt.semi) || this.canInsertSemicolon()) node.argument = null\n else { node.argument = this.parseExpression(); this.semicolon() }\n return this.finishNode(node, \"ReturnStatement\")\n\n case tt._switch:\n let blockIndent = this.curIndent, line = this.curLineStart\n this.next()\n node.discriminant = this.parseParenExpression()\n node.cases = []\n this.pushCx()\n this.expect(tt.braceL)\n\n let cur\n while (!this.closes(tt.braceR, blockIndent, line, true)) {\n if (this.tok.type === tt._case || this.tok.type === tt._default) {\n let isCase = this.tok.type === tt._case\n if (cur) this.finishNode(cur, \"SwitchCase\")\n node.cases.push(cur = this.startNode())\n cur.consequent = []\n this.next()\n if (isCase) cur.test = this.parseExpression()\n else cur.test = null\n this.expect(tt.colon)\n } else {\n if (!cur) {\n node.cases.push(cur = this.startNode())\n cur.consequent = []\n cur.test = null\n }\n cur.consequent.push(this.parseStatement())\n }\n }\n if (cur) this.finishNode(cur, \"SwitchCase\")\n this.popCx()\n this.eat(tt.braceR)\n return this.finishNode(node, \"SwitchStatement\")\n\n case tt._throw:\n this.next()\n node.argument = this.parseExpression()\n this.semicolon()\n return this.finishNode(node, \"ThrowStatement\")\n\n case tt._try:\n this.next()\n node.block = this.parseBlock()\n node.handler = null\n if (this.tok.type === tt._catch) {\n let clause = this.startNode()\n this.next()\n if (this.eat(tt.parenL)) {\n clause.param = this.toAssignable(this.parseExprAtom(), true)\n this.expect(tt.parenR)\n } else {\n clause.param = null\n }\n clause.body = this.parseBlock()\n node.handler = this.finishNode(clause, \"CatchClause\")\n }\n node.finalizer = this.eat(tt._finally) ? this.parseBlock() : null\n if (!node.handler && !node.finalizer) return node.block\n return this.finishNode(node, \"TryStatement\")\n\n case tt._var:\n case tt._const:\n return this.parseVar(node, false, kind || this.tok.value)\n\n case tt._while:\n this.next()\n node.test = this.parseParenExpression()\n node.body = this.parseStatement()\n return this.finishNode(node, \"WhileStatement\")\n\n case tt._with:\n this.next()\n node.object = this.parseParenExpression()\n node.body = this.parseStatement()\n return this.finishNode(node, \"WithStatement\")\n\n case tt.braceL:\n return this.parseBlock()\n\n case tt.semi:\n this.next()\n return this.finishNode(node, \"EmptyStatement\")\n\n case tt._class:\n return this.parseClass(true)\n\n case tt._import:\n return this.parseImport()\n\n case tt._export:\n return this.parseExport()\n\n default:\n if (this.toks.isAsyncFunction()) {\n this.next()\n this.next()\n return this.parseFunction(node, true, true)\n }\n let expr = this.parseExpression()\n if (isDummy(expr)) {\n this.next()\n if (this.tok.type === tt.eof) return this.finishNode(node, \"EmptyStatement\")\n return this.parseStatement()\n } else if (starttype === tt.name && expr.type === \"Identifier\" && this.eat(tt.colon)) {\n node.body = this.parseStatement()\n node.label = expr\n return this.finishNode(node, \"LabeledStatement\")\n } else {\n node.expression = expr\n this.semicolon()\n return this.finishNode(node, \"ExpressionStatement\")\n }\n }\n}\n\nlp.parseBlock = function() {\n let node = this.startNode()\n this.pushCx()\n this.expect(tt.braceL)\n let blockIndent = this.curIndent, line = this.curLineStart\n node.body = []\n while (!this.closes(tt.braceR, blockIndent, line, true))\n node.body.push(this.parseStatement())\n this.popCx()\n this.eat(tt.braceR)\n return this.finishNode(node, \"BlockStatement\")\n}\n\nlp.parseFor = function(node, init) {\n node.init = init\n node.test = node.update = null\n if (this.eat(tt.semi) && this.tok.type !== tt.semi) node.test = this.parseExpression()\n if (this.eat(tt.semi) && this.tok.type !== tt.parenR) node.update = this.parseExpression()\n this.popCx()\n this.expect(tt.parenR)\n node.body = this.parseStatement()\n return this.finishNode(node, \"ForStatement\")\n}\n\nlp.parseForIn = function(node, init) {\n let type = this.tok.type === tt._in ? \"ForInStatement\" : \"ForOfStatement\"\n this.next()\n node.left = init\n node.right = this.parseExpression()\n this.popCx()\n this.expect(tt.parenR)\n node.body = this.parseStatement()\n return this.finishNode(node, type)\n}\n\nlp.parseVar = function(node, noIn, kind) {\n node.kind = kind\n this.next()\n node.declarations = []\n do {\n let decl = this.startNode()\n decl.id = this.options.ecmaVersion >= 6 ? this.toAssignable(this.parseExprAtom(), true) : this.parseIdent()\n decl.init = this.eat(tt.eq) ? this.parseMaybeAssign(noIn) : null\n node.declarations.push(this.finishNode(decl, \"VariableDeclarator\"))\n } while (this.eat(tt.comma))\n if (!node.declarations.length) {\n let decl = this.startNode()\n decl.id = this.dummyIdent()\n node.declarations.push(this.finishNode(decl, \"VariableDeclarator\"))\n }\n if (!noIn) this.semicolon()\n return this.finishNode(node, \"VariableDeclaration\")\n}\n\nlp.parseClass = function(isStatement) {\n let node = this.startNode()\n this.next()\n if (this.tok.type === tt.name) node.id = this.parseIdent()\n else if (isStatement === true) node.id = this.dummyIdent()\n else node.id = null\n node.superClass = this.eat(tt._extends) ? this.parseExpression() : null\n node.body = this.startNode()\n node.body.body = []\n this.pushCx()\n let indent = this.curIndent + 1, line = this.curLineStart\n this.eat(tt.braceL)\n if (this.curIndent + 1 < indent) { indent = this.curIndent; line = this.curLineStart }\n while (!this.closes(tt.braceR, indent, line)) {\n if (this.semicolon()) continue\n let method = this.startNode(), isGenerator, isAsync\n if (this.options.ecmaVersion >= 6) {\n method.static = false\n isGenerator = this.eat(tt.star)\n }\n this.parsePropertyName(method)\n if (isDummy(method.key)) { if (isDummy(this.parseMaybeAssign())) this.next(); this.eat(tt.comma); continue }\n if (method.key.type === \"Identifier\" && !method.computed && method.key.name === \"static\" &&\n (this.tok.type !== tt.parenL && this.tok.type !== tt.braceL)) {\n method.static = true\n isGenerator = this.eat(tt.star)\n this.parsePropertyName(method)\n } else {\n method.static = false\n }\n if (!method.computed &&\n method.key.type === \"Identifier\" && method.key.name === \"async\" && this.tok.type !== tt.parenL &&\n !this.canInsertSemicolon()) {\n isAsync = true\n isGenerator = this.options.ecmaVersion >= 9 && this.eat(tt.star)\n this.parsePropertyName(method)\n } else {\n isAsync = false\n }\n if (this.options.ecmaVersion >= 5 && method.key.type === \"Identifier\" &&\n !method.computed && (method.key.name === \"get\" || method.key.name === \"set\") &&\n this.tok.type !== tt.parenL && this.tok.type !== tt.braceL) {\n method.kind = method.key.name\n this.parsePropertyName(method)\n method.value = this.parseMethod(false)\n } else {\n if (!method.computed && !method.static && !isGenerator && !isAsync && (\n method.key.type === \"Identifier\" && method.key.name === \"constructor\" ||\n method.key.type === \"Literal\" && method.key.value === \"constructor\")) {\n method.kind = \"constructor\"\n } else {\n method.kind = \"method\"\n }\n method.value = this.parseMethod(isGenerator, isAsync)\n }\n node.body.body.push(this.finishNode(method, \"MethodDefinition\"))\n }\n this.popCx()\n if (!this.eat(tt.braceR)) {\n // If there is no closing brace, make the node span to the start\n // of the next token (this is useful for Tern)\n this.last.end = this.tok.start\n if (this.options.locations) this.last.loc.end = this.tok.loc.start\n }\n this.semicolon()\n this.finishNode(node.body, \"ClassBody\")\n return this.finishNode(node, isStatement ? \"ClassDeclaration\" : \"ClassExpression\")\n}\n\nlp.parseFunction = function(node, isStatement, isAsync) {\n let oldInAsync = this.inAsync, oldInFunction = this.inFunction\n this.initFunction(node)\n if (this.options.ecmaVersion >= 6) {\n node.generator = this.eat(tt.star)\n }\n if (this.options.ecmaVersion >= 8) {\n node.async = !!isAsync\n }\n if (this.tok.type === tt.name) node.id = this.parseIdent()\n else if (isStatement === true) node.id = this.dummyIdent()\n this.inAsync = node.async\n this.inFunction = true\n node.params = this.parseFunctionParams()\n node.body = this.parseBlock()\n this.toks.adaptDirectivePrologue(node.body.body)\n this.inAsync = oldInAsync\n this.inFunction = oldInFunction\n return this.finishNode(node, isStatement ? \"FunctionDeclaration\" : \"FunctionExpression\")\n}\n\nlp.parseExport = function() {\n let node = this.startNode()\n this.next()\n if (this.eat(tt.star)) {\n node.source = this.eatContextual(\"from\") ? this.parseExprAtom() : this.dummyString()\n return this.finishNode(node, \"ExportAllDeclaration\")\n }\n if (this.eat(tt._default)) {\n // export default (function foo() {}) // This is FunctionExpression.\n let isAsync\n if (this.tok.type === tt._function || (isAsync = this.toks.isAsyncFunction())) {\n let fNode = this.startNode()\n this.next()\n if (isAsync) this.next()\n node.declaration = this.parseFunction(fNode, \"nullableID\", isAsync)\n } else if (this.tok.type === tt._class) {\n node.declaration = this.parseClass(\"nullableID\")\n } else {\n node.declaration = this.parseMaybeAssign()\n this.semicolon()\n }\n return this.finishNode(node, \"ExportDefaultDeclaration\")\n }\n if (this.tok.type.keyword || this.toks.isLet() || this.toks.isAsyncFunction()) {\n node.declaration = this.parseStatement()\n node.specifiers = []\n node.source = null\n } else {\n node.declaration = null\n node.specifiers = this.parseExportSpecifierList()\n node.source = this.eatContextual(\"from\") ? this.parseExprAtom() : null\n this.semicolon()\n }\n return this.finishNode(node, \"ExportNamedDeclaration\")\n}\n\nlp.parseImport = function() {\n let node = this.startNode()\n this.next()\n if (this.tok.type === tt.string) {\n node.specifiers = []\n node.source = this.parseExprAtom()\n } else {\n let elt\n if (this.tok.type === tt.name && this.tok.value !== \"from\") {\n elt = this.startNode()\n elt.local = this.parseIdent()\n this.finishNode(elt, \"ImportDefaultSpecifier\")\n this.eat(tt.comma)\n }\n node.specifiers = this.parseImportSpecifiers()\n node.source = this.eatContextual(\"from\") && this.tok.type === tt.string ? this.parseExprAtom() : this.dummyString()\n if (elt) node.specifiers.unshift(elt)\n }\n this.semicolon()\n return this.finishNode(node, \"ImportDeclaration\")\n}\n\nlp.parseImportSpecifiers = function() {\n let elts = []\n if (this.tok.type === tt.star) {\n let elt = this.startNode()\n this.next()\n elt.local = this.eatContextual(\"as\") ? this.parseIdent() : this.dummyIdent()\n elts.push(this.finishNode(elt, \"ImportNamespaceSpecifier\"))\n } else {\n let indent = this.curIndent, line = this.curLineStart, continuedLine = this.nextLineStart\n this.pushCx()\n this.eat(tt.braceL)\n if (this.curLineStart > continuedLine) continuedLine = this.curLineStart\n while (!this.closes(tt.braceR, indent + (this.curLineStart <= continuedLine ? 1 : 0), line)) {\n let elt = this.startNode()\n if (this.eat(tt.star)) {\n elt.local = this.eatContextual(\"as\") ? this.parseIdent() : this.dummyIdent()\n this.finishNode(elt, \"ImportNamespaceSpecifier\")\n } else {\n if (this.isContextual(\"from\")) break\n elt.imported = this.parseIdent()\n if (isDummy(elt.imported)) break\n elt.local = this.eatContextual(\"as\") ? this.parseIdent() : elt.imported\n this.finishNode(elt, \"ImportSpecifier\")\n }\n elts.push(elt)\n this.eat(tt.comma)\n }\n this.eat(tt.braceR)\n this.popCx()\n }\n return elts\n}\n\nlp.parseExportSpecifierList = function() {\n let elts = []\n let indent = this.curIndent, line = this.curLineStart, continuedLine = this.nextLineStart\n this.pushCx()\n this.eat(tt.braceL)\n if (this.curLineStart > continuedLine) continuedLine = this.curLineStart\n while (!this.closes(tt.braceR, indent + (this.curLineStart <= continuedLine ? 1 : 0), line)) {\n if (this.isContextual(\"from\")) break\n let elt = this.startNode()\n elt.local = this.parseIdent()\n if (isDummy(elt.local)) break\n elt.exported = this.eatContextual(\"as\") ? this.parseIdent() : elt.local\n this.finishNode(elt, \"ExportSpecifier\")\n elts.push(elt)\n this.eat(tt.comma)\n }\n this.eat(tt.braceR)\n this.popCx()\n return elts\n}\n","import {LooseParser} from \"./state\"\nimport {isDummy} from \"./parseutil\"\nimport {tokTypes as tt} from \"acorn\"\n\nconst lp = LooseParser.prototype\n\nlp.checkLVal = function(expr) {\n if (!expr) return expr\n switch (expr.type) {\n case \"Identifier\":\n case \"MemberExpression\":\n return expr\n\n case \"ParenthesizedExpression\":\n expr.expression = this.checkLVal(expr.expression)\n return expr\n\n default:\n return this.dummyIdent()\n }\n}\n\nlp.parseExpression = function(noIn) {\n let start = this.storeCurrentPos()\n let expr = this.parseMaybeAssign(noIn)\n if (this.tok.type === tt.comma) {\n let node = this.startNodeAt(start)\n node.expressions = [expr]\n while (this.eat(tt.comma)) node.expressions.push(this.parseMaybeAssign(noIn))\n return this.finishNode(node, \"SequenceExpression\")\n }\n return expr\n}\n\nlp.parseParenExpression = function() {\n this.pushCx()\n this.expect(tt.parenL)\n let val = this.parseExpression()\n this.popCx()\n this.expect(tt.parenR)\n return val\n}\n\nlp.parseMaybeAssign = function(noIn) {\n if (this.toks.isContextual(\"yield\")) {\n let node = this.startNode()\n this.next()\n if (this.semicolon() || this.canInsertSemicolon() || (this.tok.type !== tt.star && !this.tok.type.startsExpr)) {\n node.delegate = false\n node.argument = null\n } else {\n node.delegate = this.eat(tt.star)\n node.argument = this.parseMaybeAssign()\n }\n return this.finishNode(node, \"YieldExpression\")\n }\n\n let start = this.storeCurrentPos()\n let left = this.parseMaybeConditional(noIn)\n if (this.tok.type.isAssign) {\n let node = this.startNodeAt(start)\n node.operator = this.tok.value\n node.left = this.tok.type === tt.eq ? this.toAssignable(left) : this.checkLVal(left)\n this.next()\n node.right = this.parseMaybeAssign(noIn)\n return this.finishNode(node, \"AssignmentExpression\")\n }\n return left\n}\n\nlp.parseMaybeConditional = function(noIn) {\n let start = this.storeCurrentPos()\n let expr = this.parseExprOps(noIn)\n if (this.eat(tt.question)) {\n let node = this.startNodeAt(start)\n node.test = expr\n node.consequent = this.parseMaybeAssign()\n node.alternate = this.expect(tt.colon) ? this.parseMaybeAssign(noIn) : this.dummyIdent()\n return this.finishNode(node, \"ConditionalExpression\")\n }\n return expr\n}\n\nlp.parseExprOps = function(noIn) {\n let start = this.storeCurrentPos()\n let indent = this.curIndent, line = this.curLineStart\n return this.parseExprOp(this.parseMaybeUnary(false), start, -1, noIn, indent, line)\n}\n\nlp.parseExprOp = function(left, start, minPrec, noIn, indent, line) {\n if (this.curLineStart !== line && this.curIndent < indent && this.tokenStartsLine()) return left\n let prec = this.tok.type.binop\n if (prec != null && (!noIn || this.tok.type !== tt._in)) {\n if (prec > minPrec) {\n let node = this.startNodeAt(start)\n node.left = left\n node.operator = this.tok.value\n this.next()\n if (this.curLineStart !== line && this.curIndent < indent && this.tokenStartsLine()) {\n node.right = this.dummyIdent()\n } else {\n let rightStart = this.storeCurrentPos()\n node.right = this.parseExprOp(this.parseMaybeUnary(false), rightStart, prec, noIn, indent, line)\n }\n this.finishNode(node, /&&|\\|\\|/.test(node.operator) ? \"LogicalExpression\" : \"BinaryExpression\")\n return this.parseExprOp(node, start, minPrec, noIn, indent, line)\n }\n }\n return left\n}\n\nlp.parseMaybeUnary = function(sawUnary) {\n let start = this.storeCurrentPos(), expr\n if (this.options.ecmaVersion >= 8 && this.toks.isContextual(\"await\") &&\n (this.inAsync || (!this.inFunction && this.options.allowAwaitOutsideFunction))\n ) {\n expr = this.parseAwait()\n sawUnary = true\n } else if (this.tok.type.prefix) {\n let node = this.startNode(), update = this.tok.type === tt.incDec\n if (!update) sawUnary = true\n node.operator = this.tok.value\n node.prefix = true\n this.next()\n node.argument = this.parseMaybeUnary(true)\n if (update) node.argument = this.checkLVal(node.argument)\n expr = this.finishNode(node, update ? \"UpdateExpression\" : \"UnaryExpression\")\n } else if (this.tok.type === tt.ellipsis) {\n let node = this.startNode()\n this.next()\n node.argument = this.parseMaybeUnary(sawUnary)\n expr = this.finishNode(node, \"SpreadElement\")\n } else {\n expr = this.parseExprSubscripts()\n while (this.tok.type.postfix && !this.canInsertSemicolon()) {\n let node = this.startNodeAt(start)\n node.operator = this.tok.value\n node.prefix = false\n node.argument = this.checkLVal(expr)\n this.next()\n expr = this.finishNode(node, \"UpdateExpression\")\n }\n }\n\n if (!sawUnary && this.eat(tt.starstar)) {\n let node = this.startNodeAt(start)\n node.operator = \"**\"\n node.left = expr\n node.right = this.parseMaybeUnary(false)\n return this.finishNode(node, \"BinaryExpression\")\n }\n\n return expr\n}\n\nlp.parseExprSubscripts = function() {\n let start = this.storeCurrentPos()\n return this.parseSubscripts(this.parseExprAtom(), start, false, this.curIndent, this.curLineStart)\n}\n\nlp.parseSubscripts = function(base, start, noCalls, startIndent, line) {\n for (;;) {\n if (this.curLineStart !== line && this.curIndent <= startIndent && this.tokenStartsLine()) {\n if (this.tok.type === tt.dot && this.curIndent === startIndent)\n --startIndent\n else\n return base\n }\n\n let maybeAsyncArrow = base.type === \"Identifier\" && base.name === \"async\" && !this.canInsertSemicolon()\n\n if (this.eat(tt.dot)) {\n let node = this.startNodeAt(start)\n node.object = base\n if (this.curLineStart !== line && this.curIndent <= startIndent && this.tokenStartsLine())\n node.property = this.dummyIdent()\n else\n node.property = this.parsePropertyAccessor() || this.dummyIdent()\n node.computed = false\n base = this.finishNode(node, \"MemberExpression\")\n } else if (this.tok.type === tt.bracketL) {\n this.pushCx()\n this.next()\n let node = this.startNodeAt(start)\n node.object = base\n node.property = this.parseExpression()\n node.computed = true\n this.popCx()\n this.expect(tt.bracketR)\n base = this.finishNode(node, \"MemberExpression\")\n } else if (!noCalls && this.tok.type === tt.parenL) {\n let exprList = this.parseExprList(tt.parenR)\n if (maybeAsyncArrow && this.eat(tt.arrow))\n return this.parseArrowExpression(this.startNodeAt(start), exprList, true)\n let node = this.startNodeAt(start)\n node.callee = base\n node.arguments = exprList\n base = this.finishNode(node, \"CallExpression\")\n } else if (this.tok.type === tt.backQuote) {\n let node = this.startNodeAt(start)\n node.tag = base\n node.quasi = this.parseTemplate()\n base = this.finishNode(node, \"TaggedTemplateExpression\")\n } else {\n return base\n }\n }\n}\n\nlp.parseExprAtom = function() {\n let node\n switch (this.tok.type) {\n case tt._this:\n case tt._super:\n let type = this.tok.type === tt._this ? \"ThisExpression\" : \"Super\"\n node = this.startNode()\n this.next()\n return this.finishNode(node, type)\n\n case tt.name:\n let start = this.storeCurrentPos()\n let id = this.parseIdent()\n let isAsync = false\n if (id.name === \"async\" && !this.canInsertSemicolon()) {\n if (this.eat(tt._function))\n return this.parseFunction(this.startNodeAt(start), false, true)\n if (this.tok.type === tt.name) {\n id = this.parseIdent()\n isAsync = true\n }\n }\n return this.eat(tt.arrow) ? this.parseArrowExpression(this.startNodeAt(start), [id], isAsync) : id\n\n case tt.regexp:\n node = this.startNode()\n let val = this.tok.value\n node.regex = {pattern: val.pattern, flags: val.flags}\n node.value = val.value\n node.raw = this.input.slice(this.tok.start, this.tok.end)\n this.next()\n return this.finishNode(node, \"Literal\")\n\n case tt.num: case tt.string:\n node = this.startNode()\n node.value = this.tok.value\n node.raw = this.input.slice(this.tok.start, this.tok.end)\n this.next()\n return this.finishNode(node, \"Literal\")\n\n case tt._null: case tt._true: case tt._false:\n node = this.startNode()\n node.value = this.tok.type === tt._null ? null : this.tok.type === tt._true\n node.raw = this.tok.type.keyword\n this.next()\n return this.finishNode(node, \"Literal\")\n\n case tt.parenL:\n let parenStart = this.storeCurrentPos()\n this.next()\n let inner = this.parseExpression()\n this.expect(tt.parenR)\n if (this.eat(tt.arrow)) {\n // (a,)=>a // SequenceExpression makes dummy in the last hole. Drop the dummy.\n let params = inner.expressions || [inner]\n if (params.length && isDummy(params[params.length - 1]))\n params.pop()\n return this.parseArrowExpression(this.startNodeAt(parenStart), params)\n }\n if (this.options.preserveParens) {\n let par = this.startNodeAt(parenStart)\n par.expression = inner\n inner = this.finishNode(par, \"ParenthesizedExpression\")\n }\n return inner\n\n case tt.bracketL:\n node = this.startNode()\n node.elements = this.parseExprList(tt.bracketR, true)\n return this.finishNode(node, \"ArrayExpression\")\n\n case tt.braceL:\n return this.parseObj()\n\n case tt._class:\n return this.parseClass(false)\n\n case tt._function:\n node = this.startNode()\n this.next()\n return this.parseFunction(node, false)\n\n case tt._new:\n return this.parseNew()\n\n case tt.backQuote:\n return this.parseTemplate()\n\n default:\n return this.dummyIdent()\n }\n}\n\nlp.parseNew = function() {\n let node = this.startNode(), startIndent = this.curIndent, line = this.curLineStart\n let meta = this.parseIdent(true)\n if (this.options.ecmaVersion >= 6 && this.eat(tt.dot)) {\n node.meta = meta\n node.property = this.parseIdent(true)\n return this.finishNode(node, \"MetaProperty\")\n }\n let start = this.storeCurrentPos()\n node.callee = this.parseSubscripts(this.parseExprAtom(), start, true, startIndent, line)\n if (this.tok.type === tt.parenL) {\n node.arguments = this.parseExprList(tt.parenR)\n } else {\n node.arguments = []\n }\n return this.finishNode(node, \"NewExpression\")\n}\n\nlp.parseTemplateElement = function() {\n let elem = this.startNode()\n\n // The loose parser accepts invalid unicode escapes even in untagged templates.\n if (this.tok.type === tt.invalidTemplate) {\n elem.value = {\n raw: this.tok.value,\n cooked: null\n }\n } else {\n elem.value = {\n raw: this.input.slice(this.tok.start, this.tok.end).replace(/\\r\\n?/g, \"\\n\"),\n cooked: this.tok.value\n }\n }\n this.next()\n elem.tail = this.tok.type === tt.backQuote\n return this.finishNode(elem, \"TemplateElement\")\n}\n\nlp.parseTemplate = function() {\n let node = this.startNode()\n this.next()\n node.expressions = []\n let curElt = this.parseTemplateElement()\n node.quasis = [curElt]\n while (!curElt.tail) {\n this.next()\n node.expressions.push(this.parseExpression())\n if (this.expect(tt.braceR)) {\n curElt = this.parseTemplateElement()\n } else {\n curElt = this.startNode()\n curElt.value = {cooked: \"\", raw: \"\"}\n curElt.tail = true\n this.finishNode(curElt, \"TemplateElement\")\n }\n node.quasis.push(curElt)\n }\n this.expect(tt.backQuote)\n return this.finishNode(node, \"TemplateLiteral\")\n}\n\nlp.parseObj = function() {\n let node = this.startNode()\n node.properties = []\n this.pushCx()\n let indent = this.curIndent + 1, line = this.curLineStart\n this.eat(tt.braceL)\n if (this.curIndent + 1 < indent) { indent = this.curIndent; line = this.curLineStart }\n while (!this.closes(tt.braceR, indent, line)) {\n let prop = this.startNode(), isGenerator, isAsync, start\n if (this.options.ecmaVersion >= 9 && this.eat(tt.ellipsis)) {\n prop.argument = this.parseMaybeAssign()\n node.properties.push(this.finishNode(prop, \"SpreadElement\"))\n this.eat(tt.comma)\n continue\n }\n if (this.options.ecmaVersion >= 6) {\n start = this.storeCurrentPos()\n prop.method = false\n prop.shorthand = false\n isGenerator = this.eat(tt.star)\n }\n this.parsePropertyName(prop)\n if (this.toks.isAsyncProp(prop)) {\n isAsync = true\n isGenerator = this.options.ecmaVersion >= 9 && this.eat(tt.star)\n this.parsePropertyName(prop)\n } else {\n isAsync = false\n }\n if (isDummy(prop.key)) { if (isDummy(this.parseMaybeAssign())) this.next(); this.eat(tt.comma); continue }\n if (this.eat(tt.colon)) {\n prop.kind = \"init\"\n prop.value = this.parseMaybeAssign()\n } else if (this.options.ecmaVersion >= 6 && (this.tok.type === tt.parenL || this.tok.type === tt.braceL)) {\n prop.kind = \"init\"\n prop.method = true\n prop.value = this.parseMethod(isGenerator, isAsync)\n } else if (this.options.ecmaVersion >= 5 && prop.key.type === \"Identifier\" &&\n !prop.computed && (prop.key.name === \"get\" || prop.key.name === \"set\") &&\n (this.tok.type !== tt.comma && this.tok.type !== tt.braceR && this.tok.type !== tt.eq)) {\n prop.kind = prop.key.name\n this.parsePropertyName(prop)\n prop.value = this.parseMethod(false)\n } else {\n prop.kind = \"init\"\n if (this.options.ecmaVersion >= 6) {\n if (this.eat(tt.eq)) {\n let assign = this.startNodeAt(start)\n assign.operator = \"=\"\n assign.left = prop.key\n assign.right = this.parseMaybeAssign()\n prop.value = this.finishNode(assign, \"AssignmentExpression\")\n } else {\n prop.value = prop.key\n }\n } else {\n prop.value = this.dummyIdent()\n }\n prop.shorthand = true\n }\n node.properties.push(this.finishNode(prop, \"Property\"))\n this.eat(tt.comma)\n }\n this.popCx()\n if (!this.eat(tt.braceR)) {\n // If there is no closing brace, make the node span to the start\n // of the next token (this is useful for Tern)\n this.last.end = this.tok.start\n if (this.options.locations) this.last.loc.end = this.tok.loc.start\n }\n return this.finishNode(node, \"ObjectExpression\")\n}\n\nlp.parsePropertyName = function(prop) {\n if (this.options.ecmaVersion >= 6) {\n if (this.eat(tt.bracketL)) {\n prop.computed = true\n prop.key = this.parseExpression()\n this.expect(tt.bracketR)\n return\n } else {\n prop.computed = false\n }\n }\n let key = (this.tok.type === tt.num || this.tok.type === tt.string) ? this.parseExprAtom() : this.parseIdent()\n prop.key = key || this.dummyIdent()\n}\n\nlp.parsePropertyAccessor = function() {\n if (this.tok.type === tt.name || this.tok.type.keyword) return this.parseIdent()\n}\n\nlp.parseIdent = function() {\n let name = this.tok.type === tt.name ? this.tok.value : this.tok.type.keyword\n if (!name) return this.dummyIdent()\n let node = this.startNode()\n this.next()\n node.name = name\n return this.finishNode(node, \"Identifier\")\n}\n\nlp.initFunction = function(node) {\n node.id = null\n node.params = []\n if (this.options.ecmaVersion >= 6) {\n node.generator = false\n node.expression = false\n }\n if (this.options.ecmaVersion >= 8)\n node.async = false\n}\n\n// Convert existing expression atom to assignable pattern\n// if possible.\n\nlp.toAssignable = function(node, binding) {\n if (!node || node.type === \"Identifier\" || (node.type === \"MemberExpression\" && !binding)) {\n // Okay\n } else if (node.type === \"ParenthesizedExpression\") {\n this.toAssignable(node.expression, binding)\n } else if (this.options.ecmaVersion < 6) {\n return this.dummyIdent()\n } else if (node.type === \"ObjectExpression\") {\n node.type = \"ObjectPattern\"\n for (let prop of node.properties)\n this.toAssignable(prop, binding)\n } else if (node.type === \"ArrayExpression\") {\n node.type = \"ArrayPattern\"\n this.toAssignableList(node.elements, binding)\n } else if (node.type === \"Property\") {\n this.toAssignable(node.value, binding)\n } else if (node.type === \"SpreadElement\") {\n node.type = \"RestElement\"\n this.toAssignable(node.argument, binding)\n } else if (node.type === \"AssignmentExpression\") {\n node.type = \"AssignmentPattern\"\n delete node.operator\n } else {\n return this.dummyIdent()\n }\n return node\n}\n\nlp.toAssignableList = function(exprList, binding) {\n for (let expr of exprList)\n this.toAssignable(expr, binding)\n return exprList\n}\n\nlp.parseFunctionParams = function(params) {\n params = this.parseExprList(tt.parenR)\n return this.toAssignableList(params, true)\n}\n\nlp.parseMethod = function(isGenerator, isAsync) {\n let node = this.startNode(), oldInAsync = this.inAsync, oldInFunction = this.inFunction\n this.initFunction(node)\n if (this.options.ecmaVersion >= 6)\n node.generator = !!isGenerator\n if (this.options.ecmaVersion >= 8)\n node.async = !!isAsync\n this.inAsync = node.async\n this.inFunction = true\n node.params = this.parseFunctionParams()\n node.body = this.parseBlock()\n this.toks.adaptDirectivePrologue(node.body.body)\n this.inAsync = oldInAsync\n this.inFunction = oldInFunction\n return this.finishNode(node, \"FunctionExpression\")\n}\n\nlp.parseArrowExpression = function(node, params, isAsync) {\n let oldInAsync = this.inAsync, oldInFunction = this.inFunction\n this.initFunction(node)\n if (this.options.ecmaVersion >= 8)\n node.async = !!isAsync\n this.inAsync = node.async\n this.inFunction = true\n node.params = this.toAssignableList(params, true)\n node.expression = this.tok.type !== tt.braceL\n if (node.expression) {\n node.body = this.parseMaybeAssign()\n } else {\n node.body = this.parseBlock()\n this.toks.adaptDirectivePrologue(node.body.body)\n }\n this.inAsync = oldInAsync\n this.inFunction = oldInFunction\n return this.finishNode(node, \"ArrowFunctionExpression\")\n}\n\nlp.parseExprList = function(close, allowEmpty) {\n this.pushCx()\n let indent = this.curIndent, line = this.curLineStart, elts = []\n this.next() // Opening bracket\n while (!this.closes(close, indent + 1, line)) {\n if (this.eat(tt.comma)) {\n elts.push(allowEmpty ? null : this.dummyIdent())\n continue\n }\n let elt = this.parseMaybeAssign()\n if (isDummy(elt)) {\n if (this.closes(close, indent, line)) break\n this.next()\n } else {\n elts.push(elt)\n }\n this.eat(tt.comma)\n }\n this.popCx()\n if (!this.eat(close)) {\n // If there is no closing brace, make the node span to the start\n // of the next token (this is useful for Tern)\n this.last.end = this.tok.start\n if (this.options.locations) this.last.loc.end = this.tok.loc.start\n }\n return elts\n}\n\nlp.parseAwait = function() {\n let node = this.startNode()\n this.next()\n node.argument = this.parseMaybeUnary()\n return this.finishNode(node, \"AwaitExpression\")\n}\n","// Acorn: Loose parser\n//\n// This module provides an alternative parser that exposes that same\n// interface as the main module's `parse` function, but will try to\n// parse anything as JavaScript, repairing syntax error the best it\n// can. There are circumstances in which it will raise an error and\n// give up, but they are very rare. The resulting AST will be a mostly\n// valid JavaScript AST (as per the [Mozilla parser API][api], except\n// that:\n//\n// - Return outside functions is allowed\n//\n// - Label consistency (no conflicts, break only to existing labels)\n// is not enforced.\n//\n// - Bogus Identifier nodes with a name of `\"✖\"` are inserted whenever\n// the parser got too confused to return anything meaningful.\n//\n// [api]: https://developer.mozilla.org/en-US/docs/SpiderMonkey/Parser_API\n//\n// The expected use for this is to *first* try `acorn.parse`, and only\n// if that fails switch to the loose parser. The loose parser might\n// parse badly indented code incorrectly, so **don't** use it as your\n// default parser.\n//\n// Quite a lot of acorn.js is duplicated here. The alternative was to\n// add a *lot* of extra cruft to that file, making it less readable\n// and slower. Copying and editing the code allowed me to make\n// invasive changes and simplifications without creating a complicated\n// tangle.\n\nimport {defaultOptions} from \"acorn\"\nimport {LooseParser} from \"./state\"\nimport \"./tokenize\"\nimport \"./statement\"\nimport \"./expression\"\n\nexport {LooseParser} from \"./state\"\n\ndefaultOptions.tabSize = 4\n\nexport function parse(input, options) {\n return LooseParser.parse(input, options)\n}\n"],"names":["tt","let","this","const","lp","init","decl","elt","node"],"mappings":";;AAEA,SAAS,IAAI,GAAG,EAAE;;AAElB,AAAO,IAAM,WAAW,GAAC,oBACZ,CAAC,KAAK,EAAE,OAAY,EAAE;mCAAP,GAAG,EAAE;;EAC/B,IAAM,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,EAAC;EACnE,IAAM,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,QAAO;EAClC,IAAM,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,MAAK;EAC9B,IAAM,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,EAAEA,QAAE,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAC;EACzD,IAAM,CAAC,GAAG,CAAC,mBAAmB,GAAG,KAAI;EACrC,IAAM,CAAC,GAAG,CAAC,qBAAqB,GAAG,KAAI;EACvC,IAAM,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE;IAC5B,IAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,GAAE;IACpC,IAAM,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAC;GACzD;EACH,IAAM,CAAC,KAAK,GAAG,GAAE;EACjB,IAAM,CAAC,OAAO,GAAG,GAAE;EACnB,IAAM,CAAC,SAAS,GAAG,EAAC;EACpB,IAAM,CAAC,YAAY,GAAG,EAAC;EACvB,IAAM,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,EAAC;EAC1D,IAAM,CAAC,OAAO,GAAG,MAAK;EACtB,IAAM,CAAC,UAAU,GAAG,MAAK;CACxB,CAAA;;AAEH,sBAAE,SAAS,yBAAG;EACZ,OAAS,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC;CAC/F,CAAA;;AAEH,sBAAE,eAAe,+BAAG;EAClB,OAAS,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK;CACtF,CAAA;;AAEH,sBAAE,WAAW,yBAAC,GAAG,EAAE;EACjB,IAAM,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE;IAC5B,OAAS,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;GAC3C,MAAM;IACP,OAAS,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC;GAChC;CACF,CAAA;;AAEH,sBAAE,UAAU,wBAAC,IAAI,EAAE,IAAI,EAAE;EACvB,IAAM,CAAC,IAAI,GAAG,KAAI;EAClB,IAAM,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAG;EAC1B,IAAM,IAAI,CAAC,OAAO,CAAC,SAAS;IAC1B,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAG,EAAA;EACpC,IAAM,IAAI,CAAC,OAAO,CAAC,MAAM;IACvB,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAG,EAAA;EACjC,OAAS,IAAI;CACZ,CAAA;;AAEH,sBAAE,SAAS,uBAAC,IAAI,EAAE;EAChB,IAAM,KAAK,GAAG,IAAI,CAAC,SAAS,GAAE;EAC9B,KAAO,CAAC,IAAI,GAAG,KAAI;EACnB,KAAO,CAAC,GAAG,GAAG,KAAK,CAAC,MAAK;EACzB,IAAM,IAAI,CAAC,OAAO,CAAC,SAAS;IAC1B,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,MAAK,EAAA;EACnC,IAAM,IAAI,CAAC,OAAO,CAAC,MAAM;IACvB,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAK,EAAA;EAChC,IAAM,CAAC,IAAI,GAAG,CAAC,IAAI,EAAEA,QAAE,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAC;EACnF,OAAS,KAAK;CACb,CAAA;;AAEH,sBAAE,UAAU,0BAAG;EACb,IAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,EAAC;EAC1C,KAAO,CAAC,IAAI,GAAG,IAAG;EAClB,OAAS,KAAK;CACb,CAAA;;AAEH,sBAAE,WAAW,2BAAG;EACd,IAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,EAAC;EACvC,KAAO,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,GAAG,IAAG;EAC/B,OAAS,KAAK;CACb,CAAA;;AAEH,sBAAE,GAAG,iBAAC,IAAI,EAAE;EACV,IAAM,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI,EAAE;IAC5B,IAAM,CAAC,IAAI,GAAE;IACb,OAAS,IAAI;GACZ,MAAM;IACP,OAAS,KAAK;GACb;CACF,CAAA;;AAEH,sBAAE,YAAY,0BAAC,IAAI,EAAE;EACnB,OAAS,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKA,QAAE,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,IAAI;CAC5D,CAAA;;AAEH,sBAAE,aAAa,2BAAC,IAAI,EAAE;EACpB,OAAS,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,GAAG,CAACA,QAAE,CAAC,IAAI,CAAC;CACpD,CAAA;;AAEH,sBAAE,kBAAkB,kCAAG;EACrB,OAAS,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKA,QAAE,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKA,QAAE,CAAC,MAAM;IAC9D,SAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;CAClE,CAAA;;AAEH,sBAAE,SAAS,yBAAG;EACZ,OAAS,IAAI,CAAC,GAAG,CAACA,QAAE,CAAC,IAAI,CAAC;CACzB,CAAA;;AAEH,sBAAE,MAAM,oBAAC,IAAI,EAAE;;;EACb,IAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAA,OAAO,IAAI,EAAA;EACjC,KAAOC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;IAC7B,IAAMC,MAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,EAAE;MACrC,KAAOD,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,EAAAC,MAAI,CAAC,IAAI,GAAE,EAAA;MACzC,OAAS,IAAI;KACZ;GACF;CACF,CAAA;;AAEH,sBAAE,MAAM,sBAAG;EACT,IAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAC;CAClC,CAAA;;AAEH,sBAAE,KAAK,qBAAG;EACR,IAAM,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,GAAE;CACpC,CAAA;;AAEH,sBAAE,OAAO,qBAAC,GAAG,EAAE;EACb,OAAS,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAA,EAAE,IAAG,EAAA;EACjF,OAAS,GAAG;CACX,CAAA;;AAEH,sBAAE,gBAAgB,8BAAC,GAAG,EAAE;;;EACtB,KAAOD,IAAI,KAAK,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE;IAC5B,IAAM,EAAE,GAAGC,MAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,EAAC;IACrC,IAAM,EAAE,KAAK,EAAE,EAAE,EAAA,EAAE,MAAK,EAAA;SACjB,IAAI,EAAE,KAAK,CAAC,EAAE,EAAA,KAAK,IAAIA,MAAI,CAAC,OAAO,CAAC,QAAO,EAAA;SAC3C,EAAA,OAAO,KAAK,EAAA;GAClB;CACF,CAAA;;AAEH,sBAAE,MAAM,oBAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE;EAC/C,IAAM,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKF,QAAE,CAAC,GAAG,EAAE,EAAA,OAAO,IAAI,EAAA;EACzE,OAAS,IAAI,KAAK,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,SAAS,GAAG,MAAM,IAAI,IAAI,CAAC,eAAe,EAAE;KACnF,CAAC,cAAc,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM;KAC5D,IAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC;CACvD,CAAA;;AAEH,sBAAE,eAAe,+BAAG;;;EAClB,KAAOC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC,EAAE;IAC9D,IAAM,EAAE,GAAGC,MAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,EAAC;IACnC,IAAM,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,EAAA,OAAO,KAAK,EAAA;GACxC;EACH,OAAS,IAAI;CACZ,CAAA;;AAEH,sBAAE,MAAM,oBAAC,IAAI,EAAE,CAAC,EAAE;EAChB,IAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAC;CAC3B,CAAA;;AAEH,sBAAE,KAAK,qBAAG;EACR,IAAM,CAAC,IAAI,GAAE;EACb,OAAS,IAAI,CAAC,aAAa,EAAE;CAC5B,CAAA;;AAEH,YAAE,MAAa,sBAAa;;;;EAC1B,IAAM,GAAG,GAAG,KAAI;EAChB,KAAOD,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,EAAA,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,EAAC,EAAA;EAChE,OAAS,GAAG;CACX,CAAA;;AAEH,YAAE,KAAY,mBAAC,KAAK,EAAE,OAAO,EAAE;EAC7B,OAAS,IAAI,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,KAAK,EAAE;CACxC,CAAA;;;AAIH,WAAW,CAAC,UAAU,GAAG,MAAM;;ACtK/BE,IAAM,EAAE,GAAG,WAAW,CAAC,UAAS;;AAEhC,SAAS,OAAO,CAAC,EAAE,EAAE;EACnB,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,GAAG,IAAI,SAAS,CAAC,EAAE,CAAC;CACvE;;AAED,EAAE,CAAC,IAAI,GAAG,WAAW;;;EACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAG;EACpB,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM;IACnB,EAAA,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAE,EAAA;;IAE7B,EAAA,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,SAAS,GAAE,EAAA;;EAE7B,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,CAAC,aAAa,EAAE;IACxC,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,CAAC,aAAa,EAAE;MAC3CD,MAAI,CAAC,YAAY,GAAGA,MAAI,CAAC,cAAa;MACtCA,MAAI,CAAC,aAAa,GAAGA,MAAI,CAAC,OAAO,CAACA,MAAI,CAAC,YAAY,CAAC,GAAG,EAAC;KACzD;IACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAAY,EAAC;GAC1D;EACF;;AAED,EAAE,CAAC,SAAS,GAAG,WAAW;;;EACxB,SAAS;IACP,IAAI;MACFA,MAAI,CAAC,IAAI,CAAC,IAAI,GAAE;MAChB,IAAIA,MAAI,CAAC,IAAI,CAAC,IAAI,KAAKF,QAAE,CAAC,GAAG;UACzBE,MAAI,CAAC,KAAK,CAAC,MAAM,CAACA,MAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,GAAG;UAC3CA,MAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,EAAE;QACjCA,MAAI,CAAC,IAAI,CAAC,GAAG,GAAE;QACfA,MAAI,CAAC,IAAI,CAAC,IAAI,GAAGF,QAAE,CAAC,SAAQ;OAC7B;MACD,OAAO,IAAI,KAAK,CAACE,MAAI,CAAC,IAAI,CAAC;KAC5B,CAAC,OAAO,CAAC,EAAE;MACV,IAAI,EAAE,CAAC,YAAY,WAAW,CAAC,EAAE,EAAA,MAAM,CAAC,EAAA;;;MAGxCD,IAAI,GAAG,GAAG,CAAC,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,CAAC,QAAQ,EAAE,OAAO,GAAG,KAAI;MACrD,IAAI,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QAC7B,GAAG,GAAGC,MAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,EAAC;QAC7B,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;UACtB,OAAO,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAEF,QAAE,CAAC,MAAM,EAAE,KAAK,EAAEE,MAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,EAAC;SAC7F,MAAM,IAAI,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;UACpCD,IAAI,EAAE,GAAGC,MAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,EAAC;UACrC,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,CAAC,EAAE,EAAC,EAAE,CAAC,OAAO,CAAC,EAAE,oDAAoD;UAC1F,OAAO,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAEF,QAAE,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,EAAC;SAC/D,MAAM,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;UAC/B,OAAO,GAAG;YACR,KAAK,EAAE,CAAC,CAAC,GAAG;YACZ,GAAG,EAAE,GAAG;YACR,IAAI,EAAEA,QAAE,CAAC,QAAQ;YACjB,KAAK,EAAEE,MAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC;YACpC;SACF,MAAM;UACL,OAAO,GAAG,MAAK;SAChB;OACF,MAAM,IAAI,6HAA6H,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QAClJ,OAAO,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAA,EAAE,IAAG,EAAA;OAC9E,MAAM,IAAI,wCAAwC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QAC7D,OAAO,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;UAC9BD,IAAI,EAAE,GAAGC,MAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,EAAC;UACrC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,SAAS,CAAC,EAAE,CAAC,EAAE,EAAA,KAAK,EAAA;SACnD;OACF,MAAM,IAAI,uBAAuB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QAC5C,GAAG,GAAE;QACL,OAAO,GAAG,MAAK;OAChB,MAAM,IAAI,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QAC1C,OAAO,GAAG,KAAI;OACf,MAAM;QACL,MAAM,CAAC;OACR;MACDA,MAAI,CAAC,OAAO,CAAC,GAAG,EAAC;MACjB,IAAI,OAAO,KAAK,IAAI,EAAE,EAAA,OAAO,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAEF,QAAE,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAC,EAAA;MACjF,IAAI,OAAO,EAAE;QACX,IAAIE,MAAI,CAAC,OAAO,CAAC,SAAS;UACxB,EAAA,OAAO,CAAC,GAAG,GAAG,IAAI,cAAc;YAC9BA,MAAI,CAAC,IAAI;YACT,WAAW,CAACA,MAAI,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC;YACtC,WAAW,CAACA,MAAI,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,EAAC,EAAA;QACzC,OAAO,OAAO;OACf;KACF;GACF;EACF;;AAED,EAAE,CAAC,OAAO,GAAG,SAAS,GAAG,EAAE;;;EACzB,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,IAAG;EACnBD,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,EAAC;EACnC,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,EAAE,IAAI,yBAAyB,CAAC,IAAI,CAAC,EAAE,CAAC;IAC/D,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;IAClB,mEAAmE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,EAAE,EAAE,GAAG,CAAC,EAAC;;EAE3G,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE;IAC1B,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,EAAC;IACrB,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,GAAG,EAAC;IAC9CA,IAAI,MAAK;IACT,OAAO,CAAC,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,KAAK,GAAG,GAAG,EAAE;MACjE,EAAEC,MAAI,CAAC,IAAI,CAAC,QAAO;MACnBA,MAAI,CAAC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,OAAM;KACpD;GACF;EACF;;AAED,EAAE,CAAC,SAAS,GAAG,SAAS,CAAC,EAAE;;;EACzB,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM;IAC1B,EAAAA,MAAI,CAAC,KAAK,CAAC,IAAI,CAACA,MAAI,CAAC,SAAS,EAAE,EAAC,EAAA;EACnC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;CACzB;;AC9GM,SAAS,OAAO,CAAC,IAAI,EAAE,EAAE,OAAO,IAAI,CAAC,IAAI,KAAK,GAAG,EAAE;;ACI1DC,IAAMC,IAAE,GAAG,WAAW,CAAC,UAAS;;AAEhCA,IAAE,CAAC,aAAa,GAAG,WAAW;;;EAC5BH,IAAI,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAC;EACzF,IAAI,CAAC,IAAI,GAAG,GAAE;EACd,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKD,QAAE,CAAC,GAAG,EAAE,EAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAACE,MAAI,CAAC,cAAc,EAAE,EAAC,EAAA;EACtE,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,EAAC;EAC3C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAG;EACpB,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,EAAE;IACjC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,WAAU;GAC1C;EACD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC;EACxC;;AAEDE,IAAE,CAAC,cAAc,GAAG,WAAW;;;EAC7BH,IAAI,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,EAAE,KAAI;;EAE5D,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE;IACrB,SAAS,GAAGD,QAAE,CAAC,KAAI;IACnB,IAAI,GAAG,MAAK;GACb;;EAED,QAAQ,SAAS;EACjB,KAAKA,QAAE,CAAC,MAAM,CAAC,CAAC,KAAKA,QAAE,CAAC,SAAS;IAC/B,IAAI,CAAC,IAAI,GAAE;IACXC,IAAI,OAAO,GAAG,SAAS,KAAKD,QAAE,CAAC,OAAM;IACrC,IAAI,IAAI,CAAC,SAAS,EAAE,IAAI,IAAI,CAAC,kBAAkB,EAAE,EAAE;MACjD,IAAI,CAAC,KAAK,GAAG,KAAI;KAClB,MAAM;MACL,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKA,QAAE,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,KAAI;MACjE,IAAI,CAAC,SAAS,GAAE;KACjB;IACD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG,gBAAgB,GAAG,mBAAmB,CAAC;;EAEhF,KAAKA,QAAE,CAAC,SAAS;IACf,IAAI,CAAC,IAAI,GAAE;IACX,IAAI,CAAC,SAAS,GAAE;IAChB,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,mBAAmB,CAAC;;EAEnD,KAAKA,QAAE,CAAC,GAAG;IACT,IAAI,CAAC,IAAI,GAAE;IACX,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,cAAc,GAAE;IACjC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAACA,QAAE,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,oBAAoB,EAAE,GAAG,IAAI,CAAC,UAAU,GAAE;IACjF,IAAI,CAAC,SAAS,GAAE;IAChB,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,kBAAkB,CAAC;;EAElD,KAAKA,QAAE,CAAC,IAAI;IACV,IAAI,CAAC,IAAI,GAAE;IACXC,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,EAAC;;IAE1F,IAAI,CAAC,MAAM,GAAE;IACb,IAAI,CAAC,MAAM,CAACD,QAAE,CAAC,MAAM,EAAC;IACtB,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKA,QAAE,CAAC,IAAI,EAAE,EAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,EAAA;IAC/DC,IAAI,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAE;IAC7B,IAAI,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKD,QAAE,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKA,QAAE,CAAC,MAAM,EAAE;MACrEC,IAAII,MAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAC;MAChF,IAAIA,MAAI,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKL,QAAE,CAAC,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE;QAC3F,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKA,QAAE,CAAC,GAAG,EAAE;UAC7D,IAAI,CAAC,KAAK,GAAG,QAAO;SACrB;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAEK,MAAI,CAAC;OACnC;MACD,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAEA,MAAI,CAAC;KACjC;IACDJ,IAAI,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,EAAC;IACrC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKD,QAAE,CAAC,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE;MACvD,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKA,QAAE,CAAC,GAAG,EAAE;QAC7D,IAAI,CAAC,KAAK,GAAG,QAAO;OACrB;MACD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;KACtD;IACD,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;;EAElC,KAAKA,QAAE,CAAC,SAAS;IACf,IAAI,CAAC,IAAI,GAAE;IACX,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC;;EAEvC,KAAKA,QAAE,CAAC,GAAG;IACT,IAAI,CAAC,IAAI,GAAE;IACX,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,oBAAoB,GAAE;IACvC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,cAAc,GAAE;IACvC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAACA,QAAE,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,cAAc,EAAE,GAAG,KAAI;IAClE,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,aAAa,CAAC;;EAE7C,KAAKA,QAAE,CAAC,OAAO;IACb,IAAI,CAAC,IAAI,GAAE;IACX,IAAI,IAAI,CAAC,GAAG,CAACA,QAAE,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,kBAAkB,EAAE,EAAE,EAAA,IAAI,CAAC,QAAQ,GAAG,KAAI,EAAA;SACnE,EAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,GAAE,EAAE;IACjE,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,iBAAiB,CAAC;;EAEjD,KAAKA,QAAE,CAAC,OAAO;IACbC,IAAI,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC,aAAY;IAC1D,IAAI,CAAC,IAAI,GAAE;IACX,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,oBAAoB,GAAE;IAC/C,IAAI,CAAC,KAAK,GAAG,GAAE;IACf,IAAI,CAAC,MAAM,GAAE;IACb,IAAI,CAAC,MAAM,CAACD,QAAE,CAAC,MAAM,EAAC;;IAEtBC,IAAI,IAAG;IACP,OAAO,CAAC,IAAI,CAAC,MAAM,CAACD,QAAE,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE;MACvD,IAAIE,MAAI,CAAC,GAAG,CAAC,IAAI,KAAKF,QAAE,CAAC,KAAK,IAAIE,MAAI,CAAC,GAAG,CAAC,IAAI,KAAKF,QAAE,CAAC,QAAQ,EAAE;QAC/DC,IAAI,MAAM,GAAGC,MAAI,CAAC,GAAG,CAAC,IAAI,KAAKF,QAAE,CAAC,MAAK;QACvC,IAAI,GAAG,EAAE,EAAAE,MAAI,CAAC,UAAU,CAAC,GAAG,EAAE,YAAY,EAAC,EAAA;QAC3C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAGA,MAAI,CAAC,SAAS,EAAE,EAAC;QACvC,GAAG,CAAC,UAAU,GAAG,GAAE;QACnBA,MAAI,CAAC,IAAI,GAAE;QACX,IAAI,MAAM,EAAE,EAAA,GAAG,CAAC,IAAI,GAAGA,MAAI,CAAC,eAAe,GAAE,EAAA;aACxC,EAAA,GAAG,CAAC,IAAI,GAAG,KAAI,EAAA;QACpBA,MAAI,CAAC,MAAM,CAACF,QAAE,CAAC,KAAK,EAAC;OACtB,MAAM;QACL,IAAI,CAAC,GAAG,EAAE;UACR,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAGE,MAAI,CAAC,SAAS,EAAE,EAAC;UACvC,GAAG,CAAC,UAAU,GAAG,GAAE;UACnB,GAAG,CAAC,IAAI,GAAG,KAAI;SAChB;QACD,GAAG,CAAC,UAAU,CAAC,IAAI,CAACA,MAAI,CAAC,cAAc,EAAE,EAAC;OAC3C;KACF;IACD,IAAI,GAAG,EAAE,EAAA,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,YAAY,EAAC,EAAA;IAC3C,IAAI,CAAC,KAAK,GAAE;IACZ,IAAI,CAAC,GAAG,CAACF,QAAE,CAAC,MAAM,EAAC;IACnB,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,iBAAiB,CAAC;;EAEjD,KAAKA,QAAE,CAAC,MAAM;IACZ,IAAI,CAAC,IAAI,GAAE;IACX,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,eAAe,GAAE;IACtC,IAAI,CAAC,SAAS,GAAE;IAChB,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,gBAAgB,CAAC;;EAEhD,KAAKA,QAAE,CAAC,IAAI;IACV,IAAI,CAAC,IAAI,GAAE;IACX,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,GAAE;IAC9B,IAAI,CAAC,OAAO,GAAG,KAAI;IACnB,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKA,QAAE,CAAC,MAAM,EAAE;MAC/BC,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,GAAE;MAC7B,IAAI,CAAC,IAAI,GAAE;MACX,IAAI,IAAI,CAAC,GAAG,CAACD,QAAE,CAAC,MAAM,CAAC,EAAE;QACvB,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,EAAC;QAC5D,IAAI,CAAC,MAAM,CAACA,QAAE,CAAC,MAAM,EAAC;OACvB,MAAM;QACL,MAAM,CAAC,KAAK,GAAG,KAAI;OACpB;MACD,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,GAAE;MAC/B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,aAAa,EAAC;KACtD;IACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAACA,QAAE,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,KAAI;IACjE,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAA,OAAO,IAAI,CAAC,KAAK,EAAA;IACvD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,cAAc,CAAC;;EAE9C,KAAKA,QAAE,CAAC,IAAI,CAAC;EACb,KAAKA,QAAE,CAAC,MAAM;IACZ,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;;EAE3D,KAAKA,QAAE,CAAC,MAAM;IACZ,IAAI,CAAC,IAAI,GAAE;IACX,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,oBAAoB,GAAE;IACvC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,cAAc,GAAE;IACjC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,gBAAgB,CAAC;;EAEhD,KAAKA,QAAE,CAAC,KAAK;IACX,IAAI,CAAC,IAAI,GAAE;IACX,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,oBAAoB,GAAE;IACzC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,cAAc,GAAE;IACjC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,eAAe,CAAC;;EAE/C,KAAKA,QAAE,CAAC,MAAM;IACZ,OAAO,IAAI,CAAC,UAAU,EAAE;;EAE1B,KAAKA,QAAE,CAAC,IAAI;IACV,IAAI,CAAC,IAAI,GAAE;IACX,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,gBAAgB,CAAC;;EAEhD,KAAKA,QAAE,CAAC,MAAM;IACZ,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;;EAE9B,KAAKA,QAAE,CAAC,OAAO;IACb,OAAO,IAAI,CAAC,WAAW,EAAE;;EAE3B,KAAKA,QAAE,CAAC,OAAO;IACb,OAAO,IAAI,CAAC,WAAW,EAAE;;EAE3B;IACE,IAAI,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE;MAC/B,IAAI,CAAC,IAAI,GAAE;MACX,IAAI,CAAC,IAAI,GAAE;MACX,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;KAC5C;IACDC,IAAI,IAAI,GAAG,IAAI,CAAC,eAAe,GAAE;IACjC,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE;MACjB,IAAI,CAAC,IAAI,GAAE;MACX,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKD,QAAE,CAAC,GAAG,EAAE,EAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,gBAAgB,CAAC,EAAA;MAC5E,OAAO,IAAI,CAAC,cAAc,EAAE;KAC7B,MAAM,IAAI,SAAS,KAAKA,QAAE,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,IAAI,CAAC,GAAG,CAACA,QAAE,CAAC,KAAK,CAAC,EAAE;MACpF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,cAAc,GAAE;MACjC,IAAI,CAAC,KAAK,GAAG,KAAI;MACjB,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,kBAAkB,CAAC;KACjD,MAAM;MACL,IAAI,CAAC,UAAU,GAAG,KAAI;MACtB,IAAI,CAAC,SAAS,GAAE;MAChB,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,qBAAqB,CAAC;KACpD;GACF;EACF;;AAEDI,IAAE,CAAC,UAAU,GAAG,WAAW;;;EACzBH,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,GAAE;EAC3B,IAAI,CAAC,MAAM,GAAE;EACb,IAAI,CAAC,MAAM,CAACD,QAAE,CAAC,MAAM,EAAC;EACtBC,IAAI,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC,aAAY;EAC1D,IAAI,CAAC,IAAI,GAAG,GAAE;EACd,OAAO,CAAC,IAAI,CAAC,MAAM,CAACD,QAAE,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC;IACrD,EAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAACE,MAAI,CAAC,cAAc,EAAE,EAAC,EAAA;EACvC,IAAI,CAAC,KAAK,GAAE;EACZ,IAAI,CAAC,GAAG,CAACF,QAAE,CAAC,MAAM,EAAC;EACnB,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,gBAAgB,CAAC;EAC/C;;AAEDI,IAAE,CAAC,QAAQ,GAAG,SAAS,IAAI,EAAE,IAAI,EAAE;EACjC,IAAI,CAAC,IAAI,GAAG,KAAI;EAChB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,GAAG,KAAI;EAC9B,IAAI,IAAI,CAAC,GAAG,CAACJ,QAAE,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKA,QAAE,CAAC,IAAI,EAAE,EAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,eAAe,GAAE,EAAA;EACtF,IAAI,IAAI,CAAC,GAAG,CAACA,QAAE,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKA,QAAE,CAAC,MAAM,EAAE,EAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,eAAe,GAAE,EAAA;EAC1F,IAAI,CAAC,KAAK,GAAE;EACZ,IAAI,CAAC,MAAM,CAACA,QAAE,CAAC,MAAM,EAAC;EACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,cAAc,GAAE;EACjC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,cAAc,CAAC;EAC7C;;AAEDI,IAAE,CAAC,UAAU,GAAG,SAAS,IAAI,EAAE,IAAI,EAAE;EACnCH,IAAI,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKD,QAAE,CAAC,GAAG,GAAG,gBAAgB,GAAG,iBAAgB;EACzE,IAAI,CAAC,IAAI,GAAE;EACX,IAAI,CAAC,IAAI,GAAG,KAAI;EAChB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,eAAe,GAAE;EACnC,IAAI,CAAC,KAAK,GAAE;EACZ,IAAI,CAAC,MAAM,CAACA,QAAE,CAAC,MAAM,EAAC;EACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,cAAc,GAAE;EACjC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC;EACnC;;AAEDI,IAAE,CAAC,QAAQ,GAAG,SAAS,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;;;EACvC,IAAI,CAAC,IAAI,GAAG,KAAI;EAChB,IAAI,CAAC,IAAI,GAAE;EACX,IAAI,CAAC,YAAY,GAAG,GAAE;EACtB,GAAG;IACDH,IAAI,IAAI,GAAGC,MAAI,CAAC,SAAS,GAAE;IAC3B,IAAI,CAAC,EAAE,GAAGA,MAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,GAAGA,MAAI,CAAC,YAAY,CAACA,MAAI,CAAC,aAAa,EAAE,EAAE,IAAI,CAAC,GAAGA,MAAI,CAAC,UAAU,GAAE;IAC3G,IAAI,CAAC,IAAI,GAAGA,MAAI,CAAC,GAAG,CAACF,QAAE,CAAC,EAAE,CAAC,GAAGE,MAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,KAAI;IAChE,IAAI,CAAC,YAAY,CAAC,IAAI,CAACA,MAAI,CAAC,UAAU,CAAC,IAAI,EAAE,oBAAoB,CAAC,EAAC;GACpE,QAAQ,IAAI,CAAC,GAAG,CAACF,QAAE,CAAC,KAAK,CAAC,CAAC;EAC5B,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE;IAC7BC,IAAIK,MAAI,GAAG,IAAI,CAAC,SAAS,GAAE;IAC3BA,MAAI,CAAC,EAAE,GAAG,IAAI,CAAC,UAAU,GAAE;IAC3B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAACA,MAAI,EAAE,oBAAoB,CAAC,EAAC;GACpE;EACD,IAAI,CAAC,IAAI,EAAE,EAAA,IAAI,CAAC,SAAS,GAAE,EAAA;EAC3B,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,qBAAqB,CAAC;EACpD;;AAEDF,IAAE,CAAC,UAAU,GAAG,SAAS,WAAW,EAAE;;;EACpCH,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,GAAE;EAC3B,IAAI,CAAC,IAAI,GAAE;EACX,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKD,QAAE,CAAC,IAAI,EAAE,EAAA,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,UAAU,GAAE,EAAA;OACrD,IAAI,WAAW,KAAK,IAAI,EAAE,EAAA,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,UAAU,GAAE,EAAA;OACrD,EAAA,IAAI,CAAC,EAAE,GAAG,KAAI,EAAA;EACnB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAACA,QAAE,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,eAAe,EAAE,GAAG,KAAI;EACvE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,GAAE;EAC5B,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,GAAE;EACnB,IAAI,CAAC,MAAM,GAAE;EACbC,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,aAAY;EACzD,IAAI,CAAC,GAAG,CAACD,QAAE,CAAC,MAAM,EAAC;EACnB,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,GAAG,MAAM,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,aAAY,EAAE;EACtF,OAAO,CAAC,IAAI,CAAC,MAAM,CAACA,QAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;IAC5C,IAAIE,MAAI,CAAC,SAAS,EAAE,EAAE,EAAA,QAAQ,EAAA;IAC9BD,IAAI,MAAM,GAAGC,MAAI,CAAC,SAAS,EAAE,EAAE,WAAW,WAAA,EAAE,OAAO,YAAA;IACnD,IAAIA,MAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,EAAE;MACjC,MAAM,CAAC,MAAM,GAAG,MAAK;MACrB,WAAW,GAAGA,MAAI,CAAC,GAAG,CAACF,QAAE,CAAC,IAAI,EAAC;KAChC;IACDE,MAAI,CAAC,iBAAiB,CAAC,MAAM,EAAC;IAC9B,IAAI,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,OAAO,CAACA,MAAI,CAAC,gBAAgB,EAAE,CAAC,EAAE,EAAAA,MAAI,CAAC,IAAI,EAAE,CAAC,EAAA,CAACA,MAAI,CAAC,GAAG,CAACF,QAAE,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC5G,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,QAAQ;SACnFE,MAAI,CAAC,GAAG,CAAC,IAAI,KAAKF,QAAE,CAAC,MAAM,IAAIE,MAAI,CAAC,GAAG,CAAC,IAAI,KAAKF,QAAE,CAAC,MAAM,CAAC,EAAE;MAChE,MAAM,CAAC,MAAM,GAAG,KAAI;MACpB,WAAW,GAAGE,MAAI,CAAC,GAAG,CAACF,QAAE,CAAC,IAAI,EAAC;MAC/BE,MAAI,CAAC,iBAAiB,CAAC,MAAM,EAAC;KAC/B,MAAM;MACL,MAAM,CAAC,MAAM,GAAG,MAAK;KACtB;IACD,IAAI,CAAC,MAAM,CAAC,QAAQ;QAChB,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,YAAY,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,OAAO,IAAIA,MAAI,CAAC,GAAG,CAAC,IAAI,KAAKF,QAAE,CAAC,MAAM;QAC9F,CAACE,MAAI,CAAC,kBAAkB,EAAE,EAAE;MAC9B,OAAO,GAAG,KAAI;MACd,WAAW,GAAGA,MAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,IAAIA,MAAI,CAAC,GAAG,CAACF,QAAE,CAAC,IAAI,EAAC;MAChEE,MAAI,CAAC,iBAAiB,CAAC,MAAM,EAAC;KAC/B,MAAM;MACL,OAAO,GAAG,MAAK;KAChB;IACD,IAAIA,MAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,YAAY;QACjE,CAAC,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,KAAK,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,KAAK,CAAC;QAC5EA,MAAI,CAAC,GAAG,CAAC,IAAI,KAAKF,QAAE,CAAC,MAAM,IAAIE,MAAI,CAAC,GAAG,CAAC,IAAI,KAAKF,QAAE,CAAC,MAAM,EAAE;MAC9D,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,KAAI;MAC7BE,MAAI,CAAC,iBAAiB,CAAC,MAAM,EAAC;MAC9B,MAAM,CAAC,KAAK,GAAGA,MAAI,CAAC,WAAW,CAAC,KAAK,EAAC;KACvC,MAAM;MACL,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,IAAI,CAAC,OAAO;QAChE,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,YAAY,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,aAAa;UACnE,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,KAAK,aAAa,CAAC,EAAE;QACxE,MAAM,CAAC,IAAI,GAAG,cAAa;OAC5B,MAAM;QACL,MAAM,CAAC,IAAI,GAAG,SAAQ;OACvB;MACD,MAAM,CAAC,KAAK,GAAGA,MAAI,CAAC,WAAW,CAAC,WAAW,EAAE,OAAO,EAAC;KACtD;IACD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAACA,MAAI,CAAC,UAAU,CAAC,MAAM,EAAE,kBAAkB,CAAC,EAAC;GACjE;EACD,IAAI,CAAC,KAAK,GAAE;EACZ,IAAI,CAAC,IAAI,CAAC,GAAG,CAACF,QAAE,CAAC,MAAM,CAAC,EAAE;;;IAGxB,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAK;IAC9B,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAK,EAAA;GACnE;EACD,IAAI,CAAC,SAAS,GAAE;EAChB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,EAAC;EACvC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,WAAW,GAAG,kBAAkB,GAAG,iBAAiB,CAAC;EACnF;;AAEDI,IAAE,CAAC,aAAa,GAAG,SAAS,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE;EACtDH,IAAI,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CAAC,WAAU;EAC9D,IAAI,CAAC,YAAY,CAAC,IAAI,EAAC;EACvB,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,EAAE;IACjC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAACD,QAAE,CAAC,IAAI,EAAC;GACnC;EACD,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,EAAE;IACjC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,QAAO;GACvB;EACD,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKA,QAAE,CAAC,IAAI,EAAE,EAAA,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,UAAU,GAAE,EAAA;OACrD,IAAI,WAAW,KAAK,IAAI,EAAE,EAAA,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,UAAU,GAAE,EAAA;EAC1D,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAK;EACzB,IAAI,CAAC,UAAU,GAAG,KAAI;EACtB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,mBAAmB,GAAE;EACxC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,GAAE;EAC7B,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAC;EAChD,IAAI,CAAC,OAAO,GAAG,WAAU;EACzB,IAAI,CAAC,UAAU,GAAG,cAAa;EAC/B,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,WAAW,GAAG,qBAAqB,GAAG,oBAAoB,CAAC;EACzF;;AAEDI,IAAE,CAAC,WAAW,GAAG,WAAW;EAC1BH,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,GAAE;EAC3B,IAAI,CAAC,IAAI,GAAE;EACX,IAAI,IAAI,CAAC,GAAG,CAACD,QAAE,CAAC,IAAI,CAAC,EAAE;IACrB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,GAAG,IAAI,CAAC,WAAW,GAAE;IACpF,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,sBAAsB,CAAC;GACrD;EACD,IAAI,IAAI,CAAC,GAAG,CAACA,QAAE,CAAC,QAAQ,CAAC,EAAE;;IAEzBC,IAAI,QAAO;IACX,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKD,QAAE,CAAC,SAAS,KAAK,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,EAAE;MAC7EC,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,GAAE;MAC5B,IAAI,CAAC,IAAI,GAAE;MACX,IAAI,OAAO,EAAE,EAAA,IAAI,CAAC,IAAI,GAAE,EAAA;MACxB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,EAAC;KACpE,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKD,QAAE,CAAC,MAAM,EAAE;MACtC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,EAAC;KACjD,MAAM;MACL,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,gBAAgB,GAAE;MAC1C,IAAI,CAAC,SAAS,GAAE;KACjB;IACD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,0BAA0B,CAAC;GACzD;EACD,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE;IAC7E,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,GAAE;IACxC,IAAI,CAAC,UAAU,GAAG,GAAE;IACpB,IAAI,CAAC,MAAM,GAAG,KAAI;GACnB,MAAM;IACL,IAAI,CAAC,WAAW,GAAG,KAAI;IACvB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,wBAAwB,GAAE;IACjD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,GAAG,KAAI;IACtE,IAAI,CAAC,SAAS,GAAE;GACjB;EACD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,wBAAwB,CAAC;EACvD;;AAEDI,IAAE,CAAC,WAAW,GAAG,WAAW;EAC1BH,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,GAAE;EAC3B,IAAI,CAAC,IAAI,GAAE;EACX,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKD,QAAE,CAAC,MAAM,EAAE;IAC/B,IAAI,CAAC,UAAU,GAAG,GAAE;IACpB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,GAAE;GACnC,MAAM;IACLC,IAAI,IAAG;IACP,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKD,QAAE,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,MAAM,EAAE;MAC1D,GAAG,GAAG,IAAI,CAAC,SAAS,GAAE;MACtB,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,GAAE;MAC7B,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,wBAAwB,EAAC;MAC9C,IAAI,CAAC,GAAG,CAACA,QAAE,CAAC,KAAK,EAAC;KACnB;IACD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,qBAAqB,GAAE;IAC9C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKA,QAAE,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,GAAG,IAAI,CAAC,WAAW,GAAE;IACnH,IAAI,GAAG,EAAE,EAAA,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,EAAC,EAAA;GACtC;EACD,IAAI,CAAC,SAAS,GAAE;EAChB,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,mBAAmB,CAAC;EAClD;;AAEDI,IAAE,CAAC,qBAAqB,GAAG,WAAW;;;EACpCH,IAAI,IAAI,GAAG,GAAE;EACb,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKD,QAAE,CAAC,IAAI,EAAE;IAC7BC,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,GAAE;IAC1B,IAAI,CAAC,IAAI,GAAE;IACX,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,UAAU,GAAE;IAC5E,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,0BAA0B,CAAC,EAAC;GAC5D,MAAM;IACLA,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,aAAa,GAAG,IAAI,CAAC,cAAa;IACzF,IAAI,CAAC,MAAM,GAAE;IACb,IAAI,CAAC,GAAG,CAACD,QAAE,CAAC,MAAM,EAAC;IACnB,IAAI,IAAI,CAAC,YAAY,GAAG,aAAa,EAAE,EAAA,aAAa,GAAG,IAAI,CAAC,aAAY,EAAA;IACxE,OAAO,CAAC,IAAI,CAAC,MAAM,CAACA,QAAE,CAAC,MAAM,EAAE,MAAM,IAAI,IAAI,CAAC,YAAY,IAAI,aAAa,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE;MAC3FC,IAAIM,KAAG,GAAGL,MAAI,CAAC,SAAS,GAAE;MAC1B,IAAIA,MAAI,CAAC,GAAG,CAACF,QAAE,CAAC,IAAI,CAAC,EAAE;QACrBO,KAAG,CAAC,KAAK,GAAGL,MAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAGA,MAAI,CAAC,UAAU,EAAE,GAAGA,MAAI,CAAC,UAAU,GAAE;QAC5EA,MAAI,CAAC,UAAU,CAACK,KAAG,EAAE,0BAA0B,EAAC;OACjD,MAAM;QACL,IAAIL,MAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,EAAA,KAAK,EAAA;QACpCK,KAAG,CAAC,QAAQ,GAAGL,MAAI,CAAC,UAAU,GAAE;QAChC,IAAI,OAAO,CAACK,KAAG,CAAC,QAAQ,CAAC,EAAE,EAAA,KAAK,EAAA;QAChCA,KAAG,CAAC,KAAK,GAAGL,MAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAGA,MAAI,CAAC,UAAU,EAAE,GAAGK,KAAG,CAAC,SAAQ;QACvEL,MAAI,CAAC,UAAU,CAACK,KAAG,EAAE,iBAAiB,EAAC;OACxC;MACD,IAAI,CAAC,IAAI,CAACA,KAAG,EAAC;MACdL,MAAI,CAAC,GAAG,CAACF,QAAE,CAAC,KAAK,EAAC;KACnB;IACD,IAAI,CAAC,GAAG,CAACA,QAAE,CAAC,MAAM,EAAC;IACnB,IAAI,CAAC,KAAK,GAAE;GACb;EACD,OAAO,IAAI;EACZ;;AAEDI,IAAE,CAAC,wBAAwB,GAAG,WAAW;;;EACvCH,IAAI,IAAI,GAAG,GAAE;EACbA,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,aAAa,GAAG,IAAI,CAAC,cAAa;EACzF,IAAI,CAAC,MAAM,GAAE;EACb,IAAI,CAAC,GAAG,CAACD,QAAE,CAAC,MAAM,EAAC;EACnB,IAAI,IAAI,CAAC,YAAY,GAAG,aAAa,EAAE,EAAA,aAAa,GAAG,IAAI,CAAC,aAAY,EAAA;EACxE,OAAO,CAAC,IAAI,CAAC,MAAM,CAACA,QAAE,CAAC,MAAM,EAAE,MAAM,IAAI,IAAI,CAAC,YAAY,IAAI,aAAa,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE;IAC3F,IAAIE,MAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,EAAA,KAAK,EAAA;IACpCD,IAAI,GAAG,GAAGC,MAAI,CAAC,SAAS,GAAE;IAC1B,GAAG,CAAC,KAAK,GAAGA,MAAI,CAAC,UAAU,GAAE;IAC7B,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAA,KAAK,EAAA;IAC7B,GAAG,CAAC,QAAQ,GAAGA,MAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAGA,MAAI,CAAC,UAAU,EAAE,GAAG,GAAG,CAAC,MAAK;IACvEA,MAAI,CAAC,UAAU,CAAC,GAAG,EAAE,iBAAiB,EAAC;IACvC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAC;IACdA,MAAI,CAAC,GAAG,CAACF,QAAE,CAAC,KAAK,EAAC;GACnB;EACD,IAAI,CAAC,GAAG,CAACA,QAAE,CAAC,MAAM,EAAC;EACnB,IAAI,CAAC,KAAK,GAAE;EACZ,OAAO,IAAI;CACZ;;AC1cDG,IAAMC,IAAE,GAAG,WAAW,CAAC,UAAS;;AAEhCA,IAAE,CAAC,SAAS,GAAG,SAAS,IAAI,EAAE;EAC5B,IAAI,CAAC,IAAI,EAAE,EAAA,OAAO,IAAI,EAAA;EACtB,QAAQ,IAAI,CAAC,IAAI;EACjB,KAAK,YAAY,CAAC;EAClB,KAAK,kBAAkB;IACrB,OAAO,IAAI;;EAEb,KAAK,yBAAyB;IAC5B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,EAAC;IACjD,OAAO,IAAI;;EAEb;IACE,OAAO,IAAI,CAAC,UAAU,EAAE;GACzB;EACF;;AAEDA,IAAE,CAAC,eAAe,GAAG,SAAS,IAAI,EAAE;;;EAClCH,IAAI,KAAK,GAAG,IAAI,CAAC,eAAe,GAAE;EAClCA,IAAI,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAC;EACtC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKD,QAAE,CAAC,KAAK,EAAE;IAC9BC,IAAI,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAC;IAClC,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,EAAC;IACzB,OAAO,IAAI,CAAC,GAAG,CAACD,QAAE,CAAC,KAAK,CAAC,EAAE,EAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAACE,MAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAC,EAAA;IAC7E,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,oBAAoB,CAAC;GACnD;EACD,OAAO,IAAI;EACZ;;AAEDE,IAAE,CAAC,oBAAoB,GAAG,WAAW;EACnC,IAAI,CAAC,MAAM,GAAE;EACb,IAAI,CAAC,MAAM,CAACJ,QAAE,CAAC,MAAM,EAAC;EACtBC,IAAI,GAAG,GAAG,IAAI,CAAC,eAAe,GAAE;EAChC,IAAI,CAAC,KAAK,GAAE;EACZ,IAAI,CAAC,MAAM,CAACD,QAAE,CAAC,MAAM,EAAC;EACtB,OAAO,GAAG;EACX;;AAEDI,IAAE,CAAC,gBAAgB,GAAG,SAAS,IAAI,EAAE;EACnC,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE;IACnCH,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,GAAE;IAC3B,IAAI,CAAC,IAAI,GAAE;IACX,IAAI,IAAI,CAAC,SAAS,EAAE,IAAI,IAAI,CAAC,kBAAkB,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKD,QAAE,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;MAC7G,IAAI,CAAC,QAAQ,GAAG,MAAK;MACrB,IAAI,CAAC,QAAQ,GAAG,KAAI;KACrB,MAAM;MACL,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAACA,QAAE,CAAC,IAAI,EAAC;MACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,gBAAgB,GAAE;KACxC;IACD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,iBAAiB,CAAC;GAChD;;EAEDC,IAAI,KAAK,GAAG,IAAI,CAAC,eAAe,GAAE;EAClCA,IAAI,IAAI,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAC;EAC3C,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE;IAC1BA,IAAIO,MAAI,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAC;IAClCA,MAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,MAAK;IAC9BA,MAAI,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKR,QAAE,CAAC,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAC;IACpF,IAAI,CAAC,IAAI,GAAE;IACXQ,MAAI,CAAC,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAC;IACxC,OAAO,IAAI,CAAC,UAAU,CAACA,MAAI,EAAE,sBAAsB,CAAC;GACrD;EACD,OAAO,IAAI;EACZ;;AAEDJ,IAAE,CAAC,qBAAqB,GAAG,SAAS,IAAI,EAAE;EACxCH,IAAI,KAAK,GAAG,IAAI,CAAC,eAAe,GAAE;EAClCA,IAAI,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAC;EAClC,IAAI,IAAI,CAAC,GAAG,CAACD,QAAE,CAAC,QAAQ,CAAC,EAAE;IACzBC,IAAI,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAC;IAClC,IAAI,CAAC,IAAI,GAAG,KAAI;IAChB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,gBAAgB,GAAE;IACzC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAACD,QAAE,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,GAAE;IACxF,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,uBAAuB,CAAC;GACtD;EACD,OAAO,IAAI;EACZ;;AAEDI,IAAE,CAAC,YAAY,GAAG,SAAS,IAAI,EAAE;EAC/BH,IAAI,KAAK,GAAG,IAAI,CAAC,eAAe,GAAE;EAClCA,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC,aAAY;EACrD,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC;EACpF;;AAEDG,IAAE,CAAC,WAAW,GAAG,SAAS,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;EAClE,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,IAAI,IAAI,CAAC,SAAS,GAAG,MAAM,IAAI,IAAI,CAAC,eAAe,EAAE,EAAE,EAAA,OAAO,IAAI,EAAA;EAChGH,IAAI,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAK;EAC9B,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKD,QAAE,CAAC,GAAG,CAAC,EAAE;IACvD,IAAI,IAAI,GAAG,OAAO,EAAE;MAClBC,IAAI,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAC;MAClC,IAAI,CAAC,IAAI,GAAG,KAAI;MAChB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,MAAK;MAC9B,IAAI,CAAC,IAAI,GAAE;MACX,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,IAAI,IAAI,CAAC,SAAS,GAAG,MAAM,IAAI,IAAI,CAAC,eAAe,EAAE,EAAE;QACnF,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,GAAE;OAC/B,MAAM;QACLA,IAAI,UAAU,GAAG,IAAI,CAAC,eAAe,GAAE;QACvC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAC;OACjG;MACD,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,mBAAmB,GAAG,kBAAkB,EAAC;MAC/F,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC;KAClE;GACF;EACD,OAAO,IAAI;EACZ;;AAEDG,IAAE,CAAC,eAAe,GAAG,SAAS,QAAQ,EAAE;;;EACtCH,IAAI,KAAK,GAAG,IAAI,CAAC,eAAe,EAAE,EAAE,KAAI;EACxC,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;KACjE,IAAI,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;IAC9E;IACA,IAAI,GAAG,IAAI,CAAC,UAAU,GAAE;IACxB,QAAQ,GAAG,KAAI;GAChB,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE;IAC/BA,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKD,QAAE,CAAC,OAAM;IACjE,IAAI,CAAC,MAAM,EAAE,EAAA,QAAQ,GAAG,KAAI,EAAA;IAC5B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,MAAK;IAC9B,IAAI,CAAC,MAAM,GAAG,KAAI;IAClB,IAAI,CAAC,IAAI,GAAE;IACX,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,EAAC;IAC1C,IAAI,MAAM,EAAE,EAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAC,EAAA;IACzD,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,GAAG,iBAAiB,EAAC;GAC9E,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKA,QAAE,CAAC,QAAQ,EAAE;IACxCC,IAAIO,MAAI,GAAG,IAAI,CAAC,SAAS,GAAE;IAC3B,IAAI,CAAC,IAAI,GAAE;IACXA,MAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAC;IAC9C,IAAI,GAAG,IAAI,CAAC,UAAU,CAACA,MAAI,EAAE,eAAe,EAAC;GAC9C,MAAM;IACL,IAAI,GAAG,IAAI,CAAC,mBAAmB,GAAE;IACjC,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE;MAC1DP,IAAIO,MAAI,GAAGN,MAAI,CAAC,WAAW,CAAC,KAAK,EAAC;MAClCM,MAAI,CAAC,QAAQ,GAAGN,MAAI,CAAC,GAAG,CAAC,MAAK;MAC9BM,MAAI,CAAC,MAAM,GAAG,MAAK;MACnBA,MAAI,CAAC,QAAQ,GAAGN,MAAI,CAAC,SAAS,CAAC,IAAI,EAAC;MACpCA,MAAI,CAAC,IAAI,GAAE;MACX,IAAI,GAAGA,MAAI,CAAC,UAAU,CAACM,MAAI,EAAE,kBAAkB,EAAC;KACjD;GACF;;EAED,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,GAAG,CAACR,QAAE,CAAC,QAAQ,CAAC,EAAE;IACtCC,IAAIO,MAAI,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAC;IAClCA,MAAI,CAAC,QAAQ,GAAG,KAAI;IACpBA,MAAI,CAAC,IAAI,GAAG,KAAI;IAChBA,MAAI,CAAC,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,EAAC;IACxC,OAAO,IAAI,CAAC,UAAU,CAACA,MAAI,EAAE,kBAAkB,CAAC;GACjD;;EAED,OAAO,IAAI;EACZ;;AAEDJ,IAAE,CAAC,mBAAmB,GAAG,WAAW;EAClCH,IAAI,KAAK,GAAG,IAAI,CAAC,eAAe,GAAE;EAClC,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC;EACnG;;AAEDG,IAAE,CAAC,eAAe,GAAG,SAAS,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE;;;EACrE,SAAS;IACP,IAAIF,MAAI,CAAC,YAAY,KAAK,IAAI,IAAIA,MAAI,CAAC,SAAS,IAAI,WAAW,IAAIA,MAAI,CAAC,eAAe,EAAE,EAAE;MACzF,IAAIA,MAAI,CAAC,GAAG,CAAC,IAAI,KAAKF,QAAE,CAAC,GAAG,IAAIE,MAAI,CAAC,SAAS,KAAK,WAAW;QAC5D,EAAA,EAAE,YAAW,EAAA;;QAEb,EAAA,OAAO,IAAI,EAAA;KACd;;IAEDD,IAAI,eAAe,GAAG,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,CAACC,MAAI,CAAC,kBAAkB,GAAE;;IAEvG,IAAIA,MAAI,CAAC,GAAG,CAACF,QAAE,CAAC,GAAG,CAAC,EAAE;MACpBC,IAAI,IAAI,GAAGC,MAAI,CAAC,WAAW,CAAC,KAAK,EAAC;MAClC,IAAI,CAAC,MAAM,GAAG,KAAI;MAClB,IAAIA,MAAI,CAAC,YAAY,KAAK,IAAI,IAAIA,MAAI,CAAC,SAAS,IAAI,WAAW,IAAIA,MAAI,CAAC,eAAe,EAAE;QACvF,EAAA,IAAI,CAAC,QAAQ,GAAGA,MAAI,CAAC,UAAU,GAAE,EAAA;;QAEjC,EAAA,IAAI,CAAC,QAAQ,GAAGA,MAAI,CAAC,qBAAqB,EAAE,IAAIA,MAAI,CAAC,UAAU,GAAE,EAAA;MACnE,IAAI,CAAC,QAAQ,GAAG,MAAK;MACrB,IAAI,GAAGA,MAAI,CAAC,UAAU,CAAC,IAAI,EAAE,kBAAkB,EAAC;KACjD,MAAM,IAAIA,MAAI,CAAC,GAAG,CAAC,IAAI,KAAKF,QAAE,CAAC,QAAQ,EAAE;MACxCE,MAAI,CAAC,MAAM,GAAE;MACbA,MAAI,CAAC,IAAI,GAAE;MACXD,IAAIO,MAAI,GAAGN,MAAI,CAAC,WAAW,CAAC,KAAK,EAAC;MAClCM,MAAI,CAAC,MAAM,GAAG,KAAI;MAClBA,MAAI,CAAC,QAAQ,GAAGN,MAAI,CAAC,eAAe,GAAE;MACtCM,MAAI,CAAC,QAAQ,GAAG,KAAI;MACpBN,MAAI,CAAC,KAAK,GAAE;MACZA,MAAI,CAAC,MAAM,CAACF,QAAE,CAAC,QAAQ,EAAC;MACxB,IAAI,GAAGE,MAAI,CAAC,UAAU,CAACM,MAAI,EAAE,kBAAkB,EAAC;KACjD,MAAM,IAAI,CAAC,OAAO,IAAIN,MAAI,CAAC,GAAG,CAAC,IAAI,KAAKF,QAAE,CAAC,MAAM,EAAE;MAClDC,IAAI,QAAQ,GAAGC,MAAI,CAAC,aAAa,CAACF,QAAE,CAAC,MAAM,EAAC;MAC5C,IAAI,eAAe,IAAIE,MAAI,CAAC,GAAG,CAACF,QAAE,CAAC,KAAK,CAAC;QACvC,EAAA,OAAOE,MAAI,CAAC,oBAAoB,CAACA,MAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAA;MAC3ED,IAAIO,MAAI,GAAGN,MAAI,CAAC,WAAW,CAAC,KAAK,EAAC;MAClCM,MAAI,CAAC,MAAM,GAAG,KAAI;MAClBA,MAAI,CAAC,SAAS,GAAG,SAAQ;MACzB,IAAI,GAAGN,MAAI,CAAC,UAAU,CAACM,MAAI,EAAE,gBAAgB,EAAC;KAC/C,MAAM,IAAIN,MAAI,CAAC,GAAG,CAAC,IAAI,KAAKF,QAAE,CAAC,SAAS,EAAE;MACzCC,IAAIO,MAAI,GAAGN,MAAI,CAAC,WAAW,CAAC,KAAK,EAAC;MAClCM,MAAI,CAAC,GAAG,GAAG,KAAI;MACfA,MAAI,CAAC,KAAK,GAAGN,MAAI,CAAC,aAAa,GAAE;MACjC,IAAI,GAAGA,MAAI,CAAC,UAAU,CAACM,MAAI,EAAE,0BAA0B,EAAC;KACzD,MAAM;MACL,OAAO,IAAI;KACZ;GACF;EACF;;AAEDJ,IAAE,CAAC,aAAa,GAAG,WAAW;EAC5BH,IAAI,KAAI;EACR,QAAQ,IAAI,CAAC,GAAG,CAAC,IAAI;EACrB,KAAKD,QAAE,CAAC,KAAK,CAAC;EACd,KAAKA,QAAE,CAAC,MAAM;IACZC,IAAI,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKD,QAAE,CAAC,KAAK,GAAG,gBAAgB,GAAG,QAAO;IAClE,IAAI,GAAG,IAAI,CAAC,SAAS,GAAE;IACvB,IAAI,CAAC,IAAI,GAAE;IACX,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC;;EAEpC,KAAKA,QAAE,CAAC,IAAI;IACVC,IAAI,KAAK,GAAG,IAAI,CAAC,eAAe,GAAE;IAClCA,IAAI,EAAE,GAAG,IAAI,CAAC,UAAU,GAAE;IAC1BA,IAAI,OAAO,GAAG,MAAK;IACnB,IAAI,EAAE,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE;MACrD,IAAI,IAAI,CAAC,GAAG,CAACD,QAAE,CAAC,SAAS,CAAC;QACxB,EAAA,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,EAAA;MACjE,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKA,QAAE,CAAC,IAAI,EAAE;QAC7B,EAAE,GAAG,IAAI,CAAC,UAAU,GAAE;QACtB,OAAO,GAAG,KAAI;OACf;KACF;IACD,OAAO,IAAI,CAAC,GAAG,CAACA,QAAE,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE;;EAEpG,KAAKA,QAAE,CAAC,MAAM;IACZ,IAAI,GAAG,IAAI,CAAC,SAAS,GAAE;IACvBC,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAK;IACxB,IAAI,CAAC,KAAK,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAC;IACrD,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,MAAK;IACtB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAC;IACzD,IAAI,CAAC,IAAI,GAAE;IACX,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC;;EAEzC,KAAKD,QAAE,CAAC,GAAG,CAAC,CAAC,KAAKA,QAAE,CAAC,MAAM;IACzB,IAAI,GAAG,IAAI,CAAC,SAAS,GAAE;IACvB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,MAAK;IAC3B,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAC;IACzD,IAAI,CAAC,IAAI,GAAE;IACX,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC;;EAEzC,KAAKA,QAAE,CAAC,KAAK,CAAC,CAAC,KAAKA,QAAE,CAAC,KAAK,CAAC,CAAC,KAAKA,QAAE,CAAC,MAAM;IAC1C,IAAI,GAAG,IAAI,CAAC,SAAS,GAAE;IACvB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKA,QAAE,CAAC,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKA,QAAE,CAAC,MAAK;IAC3E,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAO;IAChC,IAAI,CAAC,IAAI,GAAE;IACX,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC;;EAEzC,KAAKA,QAAE,CAAC,MAAM;IACZC,IAAI,UAAU,GAAG,IAAI,CAAC,eAAe,GAAE;IACvC,IAAI,CAAC,IAAI,GAAE;IACXA,IAAI,KAAK,GAAG,IAAI,CAAC,eAAe,GAAE;IAClC,IAAI,CAAC,MAAM,CAACD,QAAE,CAAC,MAAM,EAAC;IACtB,IAAI,IAAI,CAAC,GAAG,CAACA,QAAE,CAAC,KAAK,CAAC,EAAE;;MAEtBC,IAAI,MAAM,GAAG,KAAK,CAAC,WAAW,IAAI,CAAC,KAAK,EAAC;MACzC,IAAI,MAAM,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACrD,EAAA,MAAM,CAAC,GAAG,GAAE,EAAA;MACd,OAAO,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;KACvE;IACD,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;MAC/BA,IAAI,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,EAAC;MACtC,GAAG,CAAC,UAAU,GAAG,MAAK;MACtB,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,yBAAyB,EAAC;KACxD;IACD,OAAO,KAAK;;EAEd,KAAKD,QAAE,CAAC,QAAQ;IACd,IAAI,GAAG,IAAI,CAAC,SAAS,GAAE;IACvB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAACA,QAAE,CAAC,QAAQ,EAAE,IAAI,EAAC;IACrD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,iBAAiB,CAAC;;EAEjD,KAAKA,QAAE,CAAC,MAAM;IACZ,OAAO,IAAI,CAAC,QAAQ,EAAE;;EAExB,KAAKA,QAAE,CAAC,MAAM;IACZ,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;;EAE/B,KAAKA,QAAE,CAAC,SAAS;IACf,IAAI,GAAG,IAAI,CAAC,SAAS,GAAE;IACvB,IAAI,CAAC,IAAI,GAAE;IACX,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC;;EAExC,KAAKA,QAAE,CAAC,IAAI;IACV,OAAO,IAAI,CAAC,QAAQ,EAAE;;EAExB,KAAKA,QAAE,CAAC,SAAS;IACf,OAAO,IAAI,CAAC,aAAa,EAAE;;EAE7B;IACE,OAAO,IAAI,CAAC,UAAU,EAAE;GACzB;EACF;;AAEDI,IAAE,CAAC,QAAQ,GAAG,WAAW;EACvBH,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,EAAE,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC,aAAY;EACnFA,IAAI,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAC;EAChC,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,CAACD,QAAE,CAAC,GAAG,CAAC,EAAE;IACrD,IAAI,CAAC,IAAI,GAAG,KAAI;IAChB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAC;IACrC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,cAAc,CAAC;GAC7C;EACDC,IAAI,KAAK,GAAG,IAAI,CAAC,eAAe,GAAE;EAClC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAC;EACxF,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKD,QAAE,CAAC,MAAM,EAAE;IAC/B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,CAACA,QAAE,CAAC,MAAM,EAAC;GAC/C,MAAM;IACL,IAAI,CAAC,SAAS,GAAG,GAAE;GACpB;EACD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,eAAe,CAAC;EAC9C;;AAEDI,IAAE,CAAC,oBAAoB,GAAG,WAAW;EACnCH,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,GAAE;;;EAG3B,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKD,QAAE,CAAC,eAAe,EAAE;IACxC,IAAI,CAAC,KAAK,GAAG;MACX,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK;MACnB,MAAM,EAAE,IAAI;MACb;GACF,MAAM;IACL,IAAI,CAAC,KAAK,GAAG;MACX,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC;MAC3E,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK;MACvB;GACF;EACD,IAAI,CAAC,IAAI,GAAE;EACX,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKA,QAAE,CAAC,UAAS;EAC1C,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,iBAAiB,CAAC;EAChD;;AAEDI,IAAE,CAAC,aAAa,GAAG,WAAW;;;EAC5BH,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,GAAE;EAC3B,IAAI,CAAC,IAAI,GAAE;EACX,IAAI,CAAC,WAAW,GAAG,GAAE;EACrBA,IAAI,MAAM,GAAG,IAAI,CAAC,oBAAoB,GAAE;EACxC,IAAI,CAAC,MAAM,GAAG,CAAC,MAAM,EAAC;EACtB,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE;IACnBC,MAAI,CAAC,IAAI,GAAE;IACX,IAAI,CAAC,WAAW,CAAC,IAAI,CAACA,MAAI,CAAC,eAAe,EAAE,EAAC;IAC7C,IAAIA,MAAI,CAAC,MAAM,CAACF,QAAE,CAAC,MAAM,CAAC,EAAE;MAC1B,MAAM,GAAGE,MAAI,CAAC,oBAAoB,GAAE;KACrC,MAAM;MACL,MAAM,GAAGA,MAAI,CAAC,SAAS,GAAE;MACzB,MAAM,CAAC,KAAK,GAAG,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAC;MACpC,MAAM,CAAC,IAAI,GAAG,KAAI;MAClBA,MAAI,CAAC,UAAU,CAAC,MAAM,EAAE,iBAAiB,EAAC;KAC3C;IACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAC;GACzB;EACD,IAAI,CAAC,MAAM,CAACF,QAAE,CAAC,SAAS,EAAC;EACzB,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,iBAAiB,CAAC;EAChD;;AAEDI,IAAE,CAAC,QAAQ,GAAG,WAAW;;;EACvBH,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,GAAE;EAC3B,IAAI,CAAC,UAAU,GAAG,GAAE;EACpB,IAAI,CAAC,MAAM,GAAE;EACbA,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,aAAY;EACzD,IAAI,CAAC,GAAG,CAACD,QAAE,CAAC,MAAM,EAAC;EACnB,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,GAAG,MAAM,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,aAAY,EAAE;EACtF,OAAO,CAAC,IAAI,CAAC,MAAM,CAACA,QAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;IAC5CC,IAAI,IAAI,GAAGC,MAAI,CAAC,SAAS,EAAE,EAAE,WAAW,WAAA,EAAE,OAAO,WAAA,EAAE,KAAK,YAAA;IACxD,IAAIA,MAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,IAAIA,MAAI,CAAC,GAAG,CAACF,QAAE,CAAC,QAAQ,CAAC,EAAE;MAC1D,IAAI,CAAC,QAAQ,GAAGE,MAAI,CAAC,gBAAgB,GAAE;MACvC,IAAI,CAAC,UAAU,CAAC,IAAI,CAACA,MAAI,CAAC,UAAU,CAAC,IAAI,EAAE,eAAe,CAAC,EAAC;MAC5DA,MAAI,CAAC,GAAG,CAACF,QAAE,CAAC,KAAK,EAAC;MAClB,QAAQ;KACT;IACD,IAAIE,MAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,EAAE;MACjC,KAAK,GAAGA,MAAI,CAAC,eAAe,GAAE;MAC9B,IAAI,CAAC,MAAM,GAAG,MAAK;MACnB,IAAI,CAAC,SAAS,GAAG,MAAK;MACtB,WAAW,GAAGA,MAAI,CAAC,GAAG,CAACF,QAAE,CAAC,IAAI,EAAC;KAChC;IACDE,MAAI,CAAC,iBAAiB,CAAC,IAAI,EAAC;IAC5B,IAAIA,MAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE;MAC/B,OAAO,GAAG,KAAI;MACd,WAAW,GAAGA,MAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,IAAIA,MAAI,CAAC,GAAG,CAACF,QAAE,CAAC,IAAI,EAAC;MAChEE,MAAI,CAAC,iBAAiB,CAAC,IAAI,EAAC;KAC7B,MAAM;MACL,OAAO,GAAG,MAAK;KAChB;IACD,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,OAAO,CAACA,MAAI,CAAC,gBAAgB,EAAE,CAAC,EAAE,EAAAA,MAAI,CAAC,IAAI,EAAE,CAAC,EAAA,CAACA,MAAI,CAAC,GAAG,CAACF,QAAE,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC1G,IAAIE,MAAI,CAAC,GAAG,CAACF,QAAE,CAAC,KAAK,CAAC,EAAE;MACtB,IAAI,CAAC,IAAI,GAAG,OAAM;MAClB,IAAI,CAAC,KAAK,GAAGE,MAAI,CAAC,gBAAgB,GAAE;KACrC,MAAM,IAAIA,MAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,KAAKA,MAAI,CAAC,GAAG,CAAC,IAAI,KAAKF,QAAE,CAAC,MAAM,IAAIE,MAAI,CAAC,GAAG,CAAC,IAAI,KAAKF,QAAE,CAAC,MAAM,CAAC,EAAE;MACxG,IAAI,CAAC,IAAI,GAAG,OAAM;MAClB,IAAI,CAAC,MAAM,GAAG,KAAI;MAClB,IAAI,CAAC,KAAK,GAAGE,MAAI,CAAC,WAAW,CAAC,WAAW,EAAE,OAAO,EAAC;KACpD,MAAM,IAAIA,MAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,YAAY;eAC/D,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,KAAK,CAAC;gBACrEA,MAAI,CAAC,GAAG,CAAC,IAAI,KAAKF,QAAE,CAAC,KAAK,IAAIE,MAAI,CAAC,GAAG,CAAC,IAAI,KAAKF,QAAE,CAAC,MAAM,IAAIE,MAAI,CAAC,GAAG,CAAC,IAAI,KAAKF,QAAE,CAAC,EAAE,CAAC,EAAE;MACjG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,KAAI;MACzBE,MAAI,CAAC,iBAAiB,CAAC,IAAI,EAAC;MAC5B,IAAI,CAAC,KAAK,GAAGA,MAAI,CAAC,WAAW,CAAC,KAAK,EAAC;KACrC,MAAM;MACL,IAAI,CAAC,IAAI,GAAG,OAAM;MAClB,IAAIA,MAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,EAAE;QACjC,IAAIA,MAAI,CAAC,GAAG,CAACF,QAAE,CAAC,EAAE,CAAC,EAAE;UACnBC,IAAI,MAAM,GAAGC,MAAI,CAAC,WAAW,CAAC,KAAK,EAAC;UACpC,MAAM,CAAC,QAAQ,GAAG,IAAG;UACrB,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAG;UACtB,MAAM,CAAC,KAAK,GAAGA,MAAI,CAAC,gBAAgB,GAAE;UACtC,IAAI,CAAC,KAAK,GAAGA,MAAI,CAAC,UAAU,CAAC,MAAM,EAAE,sBAAsB,EAAC;SAC7D,MAAM;UACL,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAG;SACtB;OACF,MAAM;QACL,IAAI,CAAC,KAAK,GAAGA,MAAI,CAAC,UAAU,GAAE;OAC/B;MACD,IAAI,CAAC,SAAS,GAAG,KAAI;KACtB;IACD,IAAI,CAAC,UAAU,CAAC,IAAI,CAACA,MAAI,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,EAAC;IACvDA,MAAI,CAAC,GAAG,CAACF,QAAE,CAAC,KAAK,EAAC;GACnB;EACD,IAAI,CAAC,KAAK,GAAE;EACZ,IAAI,CAAC,IAAI,CAAC,GAAG,CAACA,QAAE,CAAC,MAAM,CAAC,EAAE;;;IAGxB,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAK;IAC9B,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAK,EAAA;GACnE;EACD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,kBAAkB,CAAC;EACjD;;AAEDI,IAAE,CAAC,iBAAiB,GAAG,SAAS,IAAI,EAAE;EACpC,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,EAAE;IACjC,IAAI,IAAI,CAAC,GAAG,CAACJ,QAAE,CAAC,QAAQ,CAAC,EAAE;MACzB,IAAI,CAAC,QAAQ,GAAG,KAAI;MACpB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,eAAe,GAAE;MACjC,IAAI,CAAC,MAAM,CAACA,QAAE,CAAC,QAAQ,EAAC;MACxB,MAAM;KACP,MAAM;MACL,IAAI,CAAC,QAAQ,GAAG,MAAK;KACtB;GACF;EACDC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKD,QAAE,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKA,QAAE,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,EAAE,GAAG,IAAI,CAAC,UAAU,GAAE;EAC9G,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,CAAC,UAAU,GAAE;EACpC;;AAEDI,IAAE,CAAC,qBAAqB,GAAG,WAAW;EACpC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKJ,QAAE,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,EAAA,OAAO,IAAI,CAAC,UAAU,EAAE,EAAA;EACjF;;AAEDI,IAAE,CAAC,UAAU,GAAG,WAAW;EACzBH,IAAI,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKD,QAAE,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAO;EAC7E,IAAI,CAAC,IAAI,EAAE,EAAA,OAAO,IAAI,CAAC,UAAU,EAAE,EAAA;EACnCC,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,GAAE;EAC3B,IAAI,CAAC,IAAI,GAAE;EACX,IAAI,CAAC,IAAI,GAAG,KAAI;EAChB,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,YAAY,CAAC;EAC3C;;AAEDG,IAAE,CAAC,YAAY,GAAG,SAAS,IAAI,EAAE;EAC/B,IAAI,CAAC,EAAE,GAAG,KAAI;EACd,IAAI,CAAC,MAAM,GAAG,GAAE;EAChB,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,EAAE;IACjC,IAAI,CAAC,SAAS,GAAG,MAAK;IACtB,IAAI,CAAC,UAAU,GAAG,MAAK;GACxB;EACD,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC;IAC/B,EAAA,IAAI,CAAC,KAAK,GAAG,MAAK,EAAA;EACrB;;;;;AAKDA,IAAE,CAAC,YAAY,GAAG,SAAS,IAAI,EAAE,OAAO,EAAE;;;EACxC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,KAAK,IAAI,CAAC,IAAI,KAAK,kBAAkB,IAAI,CAAC,OAAO,CAAC,EAAE;;GAE1F,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,yBAAyB,EAAE;IAClD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,EAAC;GAC5C,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,CAAC,EAAE;IACvC,OAAO,IAAI,CAAC,UAAU,EAAE;GACzB,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,kBAAkB,EAAE;IAC3C,IAAI,CAAC,IAAI,GAAG,gBAAe;IAC3B,KAAa,kBAAI,IAAI,CAAC,UAAU,yBAAA;MAA3B;MAAAH,IAAI,IAAI;;MACXC,MAAI,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,EAAC;KAAA;GACnC,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,iBAAiB,EAAE;IAC1C,IAAI,CAAC,IAAI,GAAG,eAAc;IAC1B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAC;GAC9C,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE;IACnC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAC;GACvC,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe,EAAE;IACxC,IAAI,CAAC,IAAI,GAAG,cAAa;IACzB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAC;GAC1C,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,sBAAsB,EAAE;IAC/C,IAAI,CAAC,IAAI,GAAG,oBAAmB;IAC/B,OAAO,IAAI,CAAC,SAAQ;GACrB,MAAM;IACL,OAAO,IAAI,CAAC,UAAU,EAAE;GACzB;EACD,OAAO,IAAI;EACZ;;AAEDE,IAAE,CAAC,gBAAgB,GAAG,SAAS,QAAQ,EAAE,OAAO,EAAE;;;EAChD,KAAa,kBAAI,QAAQ,yBAAA;IAApB;IAAAH,IAAI,IAAI;;IACXC,MAAI,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,EAAC;GAAA;EAClC,OAAO,QAAQ;EAChB;;AAEDE,IAAE,CAAC,mBAAmB,GAAG,SAAS,MAAM,EAAE;EACxC,MAAM,GAAG,IAAI,CAAC,aAAa,CAACJ,QAAE,CAAC,MAAM,EAAC;EACtC,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC;EAC3C;;AAEDI,IAAE,CAAC,WAAW,GAAG,SAAS,WAAW,EAAE,OAAO,EAAE;EAC9CH,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,EAAE,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CAAC,WAAU;EACvF,IAAI,CAAC,YAAY,CAAC,IAAI,EAAC;EACvB,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC;IAC/B,EAAA,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,YAAW,EAAA;EAChC,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC;IAC/B,EAAA,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,QAAO,EAAA;EACxB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAK;EACzB,IAAI,CAAC,UAAU,GAAG,KAAI;EACtB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,mBAAmB,GAAE;EACxC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,GAAE;EAC7B,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAC;EAChD,IAAI,CAAC,OAAO,GAAG,WAAU;EACzB,IAAI,CAAC,UAAU,GAAG,cAAa;EAC/B,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,oBAAoB,CAAC;EACnD;;AAEDG,IAAE,CAAC,oBAAoB,GAAG,SAAS,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE;EACxDH,IAAI,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CAAC,WAAU;EAC9D,IAAI,CAAC,YAAY,CAAC,IAAI,EAAC;EACvB,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC;IAC/B,EAAA,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,QAAO,EAAA;EACxB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAK;EACzB,IAAI,CAAC,UAAU,GAAG,KAAI;EACtB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,EAAC;EACjD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,KAAKD,QAAE,CAAC,OAAM;EAC7C,IAAI,IAAI,CAAC,UAAU,EAAE;IACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,gBAAgB,GAAE;GACpC,MAAM;IACL,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,GAAE;IAC7B,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAC;GACjD;EACD,IAAI,CAAC,OAAO,GAAG,WAAU;EACzB,IAAI,CAAC,UAAU,GAAG,cAAa;EAC/B,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,yBAAyB,CAAC;EACxD;;AAEDI,IAAE,CAAC,aAAa,GAAG,SAAS,KAAK,EAAE,UAAU,EAAE;;;EAC7C,IAAI,CAAC,MAAM,GAAE;EACbH,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,IAAI,GAAG,GAAE;EAChE,IAAI,CAAC,IAAI,GAAE;EACX,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,EAAE;IAC5C,IAAIC,MAAI,CAAC,GAAG,CAACF,QAAE,CAAC,KAAK,CAAC,EAAE;MACtB,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,GAAGE,MAAI,CAAC,UAAU,EAAE,EAAC;MAChD,QAAQ;KACT;IACDD,IAAI,GAAG,GAAGC,MAAI,CAAC,gBAAgB,GAAE;IACjC,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE;MAChB,IAAIA,MAAI,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAA,KAAK,EAAA;MAC3CA,MAAI,CAAC,IAAI,GAAE;KACZ,MAAM;MACL,IAAI,CAAC,IAAI,CAAC,GAAG,EAAC;KACf;IACDA,MAAI,CAAC,GAAG,CAACF,QAAE,CAAC,KAAK,EAAC;GACnB;EACD,IAAI,CAAC,KAAK,GAAE;EACZ,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;;;IAGpB,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAK;IAC9B,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAK,EAAA;GACnE;EACD,OAAO,IAAI;EACZ;;AAEDI,IAAE,CAAC,UAAU,GAAG,WAAW;EACzBH,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,GAAE;EAC3B,IAAI,CAAC,IAAI,GAAE;EACX,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,eAAe,GAAE;EACtC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,iBAAiB,CAAC;CAChD;;AC3kBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BA,AAQA,cAAc,CAAC,OAAO,GAAG,EAAC;;AAE1B,AAAO,SAAS,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE;EACpC,OAAO,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC;CACzC;;;;"}
\ No newline at end of file
diff --git a/node_modules/acorn/acorn-walk/dist/walk.js b/node_modules/acorn/acorn-walk/dist/walk.js
new file mode 100644
index 0000000..7aaab9c
--- /dev/null
+++ b/node_modules/acorn/acorn-walk/dist/walk.js
@@ -0,0 +1,461 @@
+(function (global, factory) {
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
+ typeof define === 'function' && define.amd ? define(['exports'], factory) :
+ (global = global || self, factory((global.acorn = global.acorn || {}, global.acorn.walk = {})));
+}(this, function (exports) { 'use strict';
+
+ // AST walker module for Mozilla Parser API compatible trees
+
+ // A simple walk is one where you simply specify callbacks to be
+ // called on specific nodes. The last two arguments are optional. A
+ // simple use would be
+ //
+ // walk.simple(myTree, {
+ // Expression: function(node) { ... }
+ // });
+ //
+ // to do something with all expressions. All Parser API node types
+ // can be used to identify node types, as well as Expression and
+ // Statement, which denote categories of nodes.
+ //
+ // The base argument can be used to pass a custom (recursive)
+ // walker, and state can be used to give this walked an initial
+ // state.
+
+ function simple(node, visitors, baseVisitor, state, override) {
+ if (!baseVisitor) { baseVisitor = base
+ ; }(function c(node, st, override) {
+ var type = override || node.type, found = visitors[type];
+ baseVisitor[type](node, st, c);
+ if (found) { found(node, st); }
+ })(node, state, override);
+ }
+
+ // An ancestor walk keeps an array of ancestor nodes (including the
+ // current node) and passes them to the callback as third parameter
+ // (and also as state parameter when no other state is present).
+ function ancestor(node, visitors, baseVisitor, state, override) {
+ var ancestors = [];
+ if (!baseVisitor) { baseVisitor = base
+ ; }(function c(node, st, override) {
+ var type = override || node.type, found = visitors[type];
+ var isNew = node !== ancestors[ancestors.length - 1];
+ if (isNew) { ancestors.push(node); }
+ baseVisitor[type](node, st, c);
+ if (found) { found(node, st || ancestors, ancestors); }
+ if (isNew) { ancestors.pop(); }
+ })(node, state, override);
+ }
+
+ // A recursive walk is one where your functions override the default
+ // walkers. They can modify and replace the state parameter that's
+ // threaded through the walk, and can opt how and whether to walk
+ // their child nodes (by calling their third argument on these
+ // nodes).
+ function recursive(node, state, funcs, baseVisitor, override) {
+ var visitor = funcs ? make(funcs, baseVisitor || undefined) : baseVisitor
+ ;(function c(node, st, override) {
+ visitor[override || node.type](node, st, c);
+ })(node, state, override);
+ }
+
+ function makeTest(test) {
+ if (typeof test === "string")
+ { return function (type) { return type === test; } }
+ else if (!test)
+ { return function () { return true; } }
+ else
+ { return test }
+ }
+
+ var Found = function Found(node, state) { this.node = node; this.state = state; };
+
+ // A full walk triggers the callback on each node
+ function full(node, callback, baseVisitor, state, override) {
+ if (!baseVisitor) { baseVisitor = base
+ ; }(function c(node, st, override) {
+ var type = override || node.type;
+ baseVisitor[type](node, st, c);
+ if (!override) { callback(node, st, type); }
+ })(node, state, override);
+ }
+
+ // An fullAncestor walk is like an ancestor walk, but triggers
+ // the callback on each node
+ function fullAncestor(node, callback, baseVisitor, state) {
+ if (!baseVisitor) { baseVisitor = base; }
+ var ancestors = []
+ ;(function c(node, st, override) {
+ var type = override || node.type;
+ var isNew = node !== ancestors[ancestors.length - 1];
+ if (isNew) { ancestors.push(node); }
+ baseVisitor[type](node, st, c);
+ if (!override) { callback(node, st || ancestors, ancestors, type); }
+ if (isNew) { ancestors.pop(); }
+ })(node, state);
+ }
+
+ // Find a node with a given start, end, and type (all are optional,
+ // null can be used as wildcard). Returns a {node, state} object, or
+ // undefined when it doesn't find a matching node.
+ function findNodeAt(node, start, end, test, baseVisitor, state) {
+ if (!baseVisitor) { baseVisitor = base; }
+ test = makeTest(test);
+ try {
+ (function c(node, st, override) {
+ var type = override || node.type;
+ if ((start == null || node.start <= start) &&
+ (end == null || node.end >= end))
+ { baseVisitor[type](node, st, c); }
+ if ((start == null || node.start === start) &&
+ (end == null || node.end === end) &&
+ test(type, node))
+ { throw new Found(node, st) }
+ })(node, state);
+ } catch (e) {
+ if (e instanceof Found) { return e }
+ throw e
+ }
+ }
+
+ // Find the innermost node of a given type that contains the given
+ // position. Interface similar to findNodeAt.
+ function findNodeAround(node, pos, test, baseVisitor, state) {
+ test = makeTest(test);
+ if (!baseVisitor) { baseVisitor = base; }
+ try {
+ (function c(node, st, override) {
+ var type = override || node.type;
+ if (node.start > pos || node.end < pos) { return }
+ baseVisitor[type](node, st, c);
+ if (test(type, node)) { throw new Found(node, st) }
+ })(node, state);
+ } catch (e) {
+ if (e instanceof Found) { return e }
+ throw e
+ }
+ }
+
+ // Find the outermost matching node after a given position.
+ function findNodeAfter(node, pos, test, baseVisitor, state) {
+ test = makeTest(test);
+ if (!baseVisitor) { baseVisitor = base; }
+ try {
+ (function c(node, st, override) {
+ if (node.end < pos) { return }
+ var type = override || node.type;
+ if (node.start >= pos && test(type, node)) { throw new Found(node, st) }
+ baseVisitor[type](node, st, c);
+ })(node, state);
+ } catch (e) {
+ if (e instanceof Found) { return e }
+ throw e
+ }
+ }
+
+ // Find the outermost matching node before a given position.
+ function findNodeBefore(node, pos, test, baseVisitor, state) {
+ test = makeTest(test);
+ if (!baseVisitor) { baseVisitor = base; }
+ var max
+ ;(function c(node, st, override) {
+ if (node.start > pos) { return }
+ var type = override || node.type;
+ if (node.end <= pos && (!max || max.node.end < node.end) && test(type, node))
+ { max = new Found(node, st); }
+ baseVisitor[type](node, st, c);
+ })(node, state);
+ return max
+ }
+
+ // Fallback to an Object.create polyfill for older environments.
+ var create = Object.create || function(proto) {
+ function Ctor() {}
+ Ctor.prototype = proto;
+ return new Ctor
+ };
+
+ // Used to create a custom walker. Will fill in all missing node
+ // type properties with the defaults.
+ function make(funcs, baseVisitor) {
+ var visitor = create(baseVisitor || base);
+ for (var type in funcs) { visitor[type] = funcs[type]; }
+ return visitor
+ }
+
+ function skipThrough(node, st, c) { c(node, st); }
+ function ignore(_node, _st, _c) {}
+
+ // Node walkers.
+
+ var base = {};
+
+ base.Program = base.BlockStatement = function (node, st, c) {
+ for (var i = 0, list = node.body; i < list.length; i += 1)
+ {
+ var stmt = list[i];
+
+ c(stmt, st, "Statement");
+ }
+ };
+ base.Statement = skipThrough;
+ base.EmptyStatement = ignore;
+ base.ExpressionStatement = base.ParenthesizedExpression =
+ function (node, st, c) { return c(node.expression, st, "Expression"); };
+ base.IfStatement = function (node, st, c) {
+ c(node.test, st, "Expression");
+ c(node.consequent, st, "Statement");
+ if (node.alternate) { c(node.alternate, st, "Statement"); }
+ };
+ base.LabeledStatement = function (node, st, c) { return c(node.body, st, "Statement"); };
+ base.BreakStatement = base.ContinueStatement = ignore;
+ base.WithStatement = function (node, st, c) {
+ c(node.object, st, "Expression");
+ c(node.body, st, "Statement");
+ };
+ base.SwitchStatement = function (node, st, c) {
+ c(node.discriminant, st, "Expression");
+ for (var i$1 = 0, list$1 = node.cases; i$1 < list$1.length; i$1 += 1) {
+ var cs = list$1[i$1];
+
+ if (cs.test) { c(cs.test, st, "Expression"); }
+ for (var i = 0, list = cs.consequent; i < list.length; i += 1)
+ {
+ var cons = list[i];
+
+ c(cons, st, "Statement");
+ }
+ }
+ };
+ base.SwitchCase = function (node, st, c) {
+ if (node.test) { c(node.test, st, "Expression"); }
+ for (var i = 0, list = node.consequent; i < list.length; i += 1)
+ {
+ var cons = list[i];
+
+ c(cons, st, "Statement");
+ }
+ };
+ base.ReturnStatement = base.YieldExpression = base.AwaitExpression = function (node, st, c) {
+ if (node.argument) { c(node.argument, st, "Expression"); }
+ };
+ base.ThrowStatement = base.SpreadElement =
+ function (node, st, c) { return c(node.argument, st, "Expression"); };
+ base.TryStatement = function (node, st, c) {
+ c(node.block, st, "Statement");
+ if (node.handler) { c(node.handler, st); }
+ if (node.finalizer) { c(node.finalizer, st, "Statement"); }
+ };
+ base.CatchClause = function (node, st, c) {
+ if (node.param) { c(node.param, st, "Pattern"); }
+ c(node.body, st, "Statement");
+ };
+ base.WhileStatement = base.DoWhileStatement = function (node, st, c) {
+ c(node.test, st, "Expression");
+ c(node.body, st, "Statement");
+ };
+ base.ForStatement = function (node, st, c) {
+ if (node.init) { c(node.init, st, "ForInit"); }
+ if (node.test) { c(node.test, st, "Expression"); }
+ if (node.update) { c(node.update, st, "Expression"); }
+ c(node.body, st, "Statement");
+ };
+ base.ForInStatement = base.ForOfStatement = function (node, st, c) {
+ c(node.left, st, "ForInit");
+ c(node.right, st, "Expression");
+ c(node.body, st, "Statement");
+ };
+ base.ForInit = function (node, st, c) {
+ if (node.type === "VariableDeclaration") { c(node, st); }
+ else { c(node, st, "Expression"); }
+ };
+ base.DebuggerStatement = ignore;
+
+ base.FunctionDeclaration = function (node, st, c) { return c(node, st, "Function"); };
+ base.VariableDeclaration = function (node, st, c) {
+ for (var i = 0, list = node.declarations; i < list.length; i += 1)
+ {
+ var decl = list[i];
+
+ c(decl, st);
+ }
+ };
+ base.VariableDeclarator = function (node, st, c) {
+ c(node.id, st, "Pattern");
+ if (node.init) { c(node.init, st, "Expression"); }
+ };
+
+ base.Function = function (node, st, c) {
+ if (node.id) { c(node.id, st, "Pattern"); }
+ for (var i = 0, list = node.params; i < list.length; i += 1)
+ {
+ var param = list[i];
+
+ c(param, st, "Pattern");
+ }
+ c(node.body, st, node.expression ? "Expression" : "Statement");
+ };
+
+ base.Pattern = function (node, st, c) {
+ if (node.type === "Identifier")
+ { c(node, st, "VariablePattern"); }
+ else if (node.type === "MemberExpression")
+ { c(node, st, "MemberPattern"); }
+ else
+ { c(node, st); }
+ };
+ base.VariablePattern = ignore;
+ base.MemberPattern = skipThrough;
+ base.RestElement = function (node, st, c) { return c(node.argument, st, "Pattern"); };
+ base.ArrayPattern = function (node, st, c) {
+ for (var i = 0, list = node.elements; i < list.length; i += 1) {
+ var elt = list[i];
+
+ if (elt) { c(elt, st, "Pattern"); }
+ }
+ };
+ base.ObjectPattern = function (node, st, c) {
+ for (var i = 0, list = node.properties; i < list.length; i += 1) {
+ var prop = list[i];
+
+ if (prop.type === "Property") {
+ if (prop.computed) { c(prop.key, st, "Expression"); }
+ c(prop.value, st, "Pattern");
+ } else if (prop.type === "RestElement") {
+ c(prop.argument, st, "Pattern");
+ }
+ }
+ };
+
+ base.Expression = skipThrough;
+ base.ThisExpression = base.Super = base.MetaProperty = ignore;
+ base.ArrayExpression = function (node, st, c) {
+ for (var i = 0, list = node.elements; i < list.length; i += 1) {
+ var elt = list[i];
+
+ if (elt) { c(elt, st, "Expression"); }
+ }
+ };
+ base.ObjectExpression = function (node, st, c) {
+ for (var i = 0, list = node.properties; i < list.length; i += 1)
+ {
+ var prop = list[i];
+
+ c(prop, st);
+ }
+ };
+ base.FunctionExpression = base.ArrowFunctionExpression = base.FunctionDeclaration;
+ base.SequenceExpression = function (node, st, c) {
+ for (var i = 0, list = node.expressions; i < list.length; i += 1)
+ {
+ var expr = list[i];
+
+ c(expr, st, "Expression");
+ }
+ };
+ base.TemplateLiteral = function (node, st, c) {
+ for (var i = 0, list = node.quasis; i < list.length; i += 1)
+ {
+ var quasi = list[i];
+
+ c(quasi, st);
+ }
+
+ for (var i$1 = 0, list$1 = node.expressions; i$1 < list$1.length; i$1 += 1)
+ {
+ var expr = list$1[i$1];
+
+ c(expr, st, "Expression");
+ }
+ };
+ base.TemplateElement = ignore;
+ base.UnaryExpression = base.UpdateExpression = function (node, st, c) {
+ c(node.argument, st, "Expression");
+ };
+ base.BinaryExpression = base.LogicalExpression = function (node, st, c) {
+ c(node.left, st, "Expression");
+ c(node.right, st, "Expression");
+ };
+ base.AssignmentExpression = base.AssignmentPattern = function (node, st, c) {
+ c(node.left, st, "Pattern");
+ c(node.right, st, "Expression");
+ };
+ base.ConditionalExpression = function (node, st, c) {
+ c(node.test, st, "Expression");
+ c(node.consequent, st, "Expression");
+ c(node.alternate, st, "Expression");
+ };
+ base.NewExpression = base.CallExpression = function (node, st, c) {
+ c(node.callee, st, "Expression");
+ if (node.arguments)
+ { for (var i = 0, list = node.arguments; i < list.length; i += 1)
+ {
+ var arg = list[i];
+
+ c(arg, st, "Expression");
+ } }
+ };
+ base.MemberExpression = function (node, st, c) {
+ c(node.object, st, "Expression");
+ if (node.computed) { c(node.property, st, "Expression"); }
+ };
+ base.ExportNamedDeclaration = base.ExportDefaultDeclaration = function (node, st, c) {
+ if (node.declaration)
+ { c(node.declaration, st, node.type === "ExportNamedDeclaration" || node.declaration.id ? "Statement" : "Expression"); }
+ if (node.source) { c(node.source, st, "Expression"); }
+ };
+ base.ExportAllDeclaration = function (node, st, c) {
+ c(node.source, st, "Expression");
+ };
+ base.ImportDeclaration = function (node, st, c) {
+ for (var i = 0, list = node.specifiers; i < list.length; i += 1)
+ {
+ var spec = list[i];
+
+ c(spec, st);
+ }
+ c(node.source, st, "Expression");
+ };
+ base.ImportExpression = function (node, st, c) {
+ c(node.source, st, "Expression");
+ };
+ base.ImportSpecifier = base.ImportDefaultSpecifier = base.ImportNamespaceSpecifier = base.Identifier = base.Literal = ignore;
+
+ base.TaggedTemplateExpression = function (node, st, c) {
+ c(node.tag, st, "Expression");
+ c(node.quasi, st, "Expression");
+ };
+ base.ClassDeclaration = base.ClassExpression = function (node, st, c) { return c(node, st, "Class"); };
+ base.Class = function (node, st, c) {
+ if (node.id) { c(node.id, st, "Pattern"); }
+ if (node.superClass) { c(node.superClass, st, "Expression"); }
+ c(node.body, st);
+ };
+ base.ClassBody = function (node, st, c) {
+ for (var i = 0, list = node.body; i < list.length; i += 1)
+ {
+ var elt = list[i];
+
+ c(elt, st);
+ }
+ };
+ base.MethodDefinition = base.Property = function (node, st, c) {
+ if (node.computed) { c(node.key, st, "Expression"); }
+ c(node.value, st, "Expression");
+ };
+
+ exports.ancestor = ancestor;
+ exports.base = base;
+ exports.findNodeAfter = findNodeAfter;
+ exports.findNodeAround = findNodeAround;
+ exports.findNodeAt = findNodeAt;
+ exports.findNodeBefore = findNodeBefore;
+ exports.full = full;
+ exports.fullAncestor = fullAncestor;
+ exports.make = make;
+ exports.recursive = recursive;
+ exports.simple = simple;
+
+ Object.defineProperty(exports, '__esModule', { value: true });
+
+}));
diff --git a/node_modules/acorn/acorn-walk/dist/walk.js.map b/node_modules/acorn/acorn-walk/dist/walk.js.map
new file mode 100644
index 0000000..5590a29
--- /dev/null
+++ b/node_modules/acorn/acorn-walk/dist/walk.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"walk.js","sources":["../src/index.js"],"sourcesContent":["// AST walker module for Mozilla Parser API compatible trees\n\n// A simple walk is one where you simply specify callbacks to be\n// called on specific nodes. The last two arguments are optional. A\n// simple use would be\n//\n// walk.simple(myTree, {\n// Expression: function(node) { ... }\n// });\n//\n// to do something with all expressions. All Parser API node types\n// can be used to identify node types, as well as Expression and\n// Statement, which denote categories of nodes.\n//\n// The base argument can be used to pass a custom (recursive)\n// walker, and state can be used to give this walked an initial\n// state.\n\nexport function simple(node, visitors, baseVisitor, state, override) {\n if (!baseVisitor) baseVisitor = base\n ;(function c(node, st, override) {\n let type = override || node.type, found = visitors[type]\n baseVisitor[type](node, st, c)\n if (found) found(node, st)\n })(node, state, override)\n}\n\n// An ancestor walk keeps an array of ancestor nodes (including the\n// current node) and passes them to the callback as third parameter\n// (and also as state parameter when no other state is present).\nexport function ancestor(node, visitors, baseVisitor, state) {\n let ancestors = []\n if (!baseVisitor) baseVisitor = base\n ;(function c(node, st, override) {\n let type = override || node.type, found = visitors[type]\n let isNew = node !== ancestors[ancestors.length - 1]\n if (isNew) ancestors.push(node)\n baseVisitor[type](node, st, c)\n if (found) found(node, st || ancestors, ancestors)\n if (isNew) ancestors.pop()\n })(node, state)\n}\n\n// A recursive walk is one where your functions override the default\n// walkers. They can modify and replace the state parameter that's\n// threaded through the walk, and can opt how and whether to walk\n// their child nodes (by calling their third argument on these\n// nodes).\nexport function recursive(node, state, funcs, baseVisitor, override) {\n let visitor = funcs ? make(funcs, baseVisitor || undefined) : baseVisitor\n ;(function c(node, st, override) {\n visitor[override || node.type](node, st, c)\n })(node, state, override)\n}\n\nfunction makeTest(test) {\n if (typeof test === \"string\")\n return type => type === test\n else if (!test)\n return () => true\n else\n return test\n}\n\nclass Found {\n constructor(node, state) { this.node = node; this.state = state }\n}\n\n// A full walk triggers the callback on each node\nexport function full(node, callback, baseVisitor, state, override) {\n if (!baseVisitor) baseVisitor = base\n ;(function c(node, st, override) {\n let type = override || node.type\n baseVisitor[type](node, st, c)\n if (!override) callback(node, st, type)\n })(node, state, override)\n}\n\n// An fullAncestor walk is like an ancestor walk, but triggers\n// the callback on each node\nexport function fullAncestor(node, callback, baseVisitor, state) {\n if (!baseVisitor) baseVisitor = base\n let ancestors = []\n ;(function c(node, st, override) {\n let type = override || node.type\n let isNew = node !== ancestors[ancestors.length - 1]\n if (isNew) ancestors.push(node)\n baseVisitor[type](node, st, c)\n if (!override) callback(node, st || ancestors, ancestors, type)\n if (isNew) ancestors.pop()\n })(node, state)\n}\n\n// Find a node with a given start, end, and type (all are optional,\n// null can be used as wildcard). Returns a {node, state} object, or\n// undefined when it doesn't find a matching node.\nexport function findNodeAt(node, start, end, test, baseVisitor, state) {\n if (!baseVisitor) baseVisitor = base\n test = makeTest(test)\n try {\n (function c(node, st, override) {\n let type = override || node.type\n if ((start == null || node.start <= start) &&\n (end == null || node.end >= end))\n baseVisitor[type](node, st, c)\n if ((start == null || node.start === start) &&\n (end == null || node.end === end) &&\n test(type, node))\n throw new Found(node, st)\n })(node, state)\n } catch (e) {\n if (e instanceof Found) return e\n throw e\n }\n}\n\n// Find the innermost node of a given type that contains the given\n// position. Interface similar to findNodeAt.\nexport function findNodeAround(node, pos, test, baseVisitor, state) {\n test = makeTest(test)\n if (!baseVisitor) baseVisitor = base\n try {\n (function c(node, st, override) {\n let type = override || node.type\n if (node.start > pos || node.end < pos) return\n baseVisitor[type](node, st, c)\n if (test(type, node)) throw new Found(node, st)\n })(node, state)\n } catch (e) {\n if (e instanceof Found) return e\n throw e\n }\n}\n\n// Find the outermost matching node after a given position.\nexport function findNodeAfter(node, pos, test, baseVisitor, state) {\n test = makeTest(test)\n if (!baseVisitor) baseVisitor = base\n try {\n (function c(node, st, override) {\n if (node.end < pos) return\n let type = override || node.type\n if (node.start >= pos && test(type, node)) throw new Found(node, st)\n baseVisitor[type](node, st, c)\n })(node, state)\n } catch (e) {\n if (e instanceof Found) return e\n throw e\n }\n}\n\n// Find the outermost matching node before a given position.\nexport function findNodeBefore(node, pos, test, baseVisitor, state) {\n test = makeTest(test)\n if (!baseVisitor) baseVisitor = base\n let max\n ;(function c(node, st, override) {\n if (node.start > pos) return\n let type = override || node.type\n if (node.end <= pos && (!max || max.node.end < node.end) && test(type, node))\n max = new Found(node, st)\n baseVisitor[type](node, st, c)\n })(node, state)\n return max\n}\n\n// Fallback to an Object.create polyfill for older environments.\nconst create = Object.create || function(proto) {\n function Ctor() {}\n Ctor.prototype = proto\n return new Ctor\n}\n\n// Used to create a custom walker. Will fill in all missing node\n// type properties with the defaults.\nexport function make(funcs, baseVisitor) {\n let visitor = create(baseVisitor || base)\n for (let type in funcs) visitor[type] = funcs[type]\n return visitor\n}\n\nfunction skipThrough(node, st, c) { c(node, st) }\nfunction ignore(_node, _st, _c) {}\n\n// Node walkers.\n\nexport const base = {}\n\nbase.Program = base.BlockStatement = (node, st, c) => {\n for (let stmt of node.body)\n c(stmt, st, \"Statement\")\n}\nbase.Statement = skipThrough\nbase.EmptyStatement = ignore\nbase.ExpressionStatement = base.ParenthesizedExpression =\n (node, st, c) => c(node.expression, st, \"Expression\")\nbase.IfStatement = (node, st, c) => {\n c(node.test, st, \"Expression\")\n c(node.consequent, st, \"Statement\")\n if (node.alternate) c(node.alternate, st, \"Statement\")\n}\nbase.LabeledStatement = (node, st, c) => c(node.body, st, \"Statement\")\nbase.BreakStatement = base.ContinueStatement = ignore\nbase.WithStatement = (node, st, c) => {\n c(node.object, st, \"Expression\")\n c(node.body, st, \"Statement\")\n}\nbase.SwitchStatement = (node, st, c) => {\n c(node.discriminant, st, \"Expression\")\n for (let cs of node.cases) {\n if (cs.test) c(cs.test, st, \"Expression\")\n for (let cons of cs.consequent)\n c(cons, st, \"Statement\")\n }\n}\nbase.SwitchCase = (node, st, c) => {\n if (node.test) c(node.test, st, \"Expression\")\n for (let cons of node.consequent)\n c(cons, st, \"Statement\")\n}\nbase.ReturnStatement = base.YieldExpression = base.AwaitExpression = (node, st, c) => {\n if (node.argument) c(node.argument, st, \"Expression\")\n}\nbase.ThrowStatement = base.SpreadElement =\n (node, st, c) => c(node.argument, st, \"Expression\")\nbase.TryStatement = (node, st, c) => {\n c(node.block, st, \"Statement\")\n if (node.handler) c(node.handler, st)\n if (node.finalizer) c(node.finalizer, st, \"Statement\")\n}\nbase.CatchClause = (node, st, c) => {\n if (node.param) c(node.param, st, \"Pattern\")\n c(node.body, st, \"Statement\")\n}\nbase.WhileStatement = base.DoWhileStatement = (node, st, c) => {\n c(node.test, st, \"Expression\")\n c(node.body, st, \"Statement\")\n}\nbase.ForStatement = (node, st, c) => {\n if (node.init) c(node.init, st, \"ForInit\")\n if (node.test) c(node.test, st, \"Expression\")\n if (node.update) c(node.update, st, \"Expression\")\n c(node.body, st, \"Statement\")\n}\nbase.ForInStatement = base.ForOfStatement = (node, st, c) => {\n c(node.left, st, \"ForInit\")\n c(node.right, st, \"Expression\")\n c(node.body, st, \"Statement\")\n}\nbase.ForInit = (node, st, c) => {\n if (node.type === \"VariableDeclaration\") c(node, st)\n else c(node, st, \"Expression\")\n}\nbase.DebuggerStatement = ignore\n\nbase.FunctionDeclaration = (node, st, c) => c(node, st, \"Function\")\nbase.VariableDeclaration = (node, st, c) => {\n for (let decl of node.declarations)\n c(decl, st)\n}\nbase.VariableDeclarator = (node, st, c) => {\n c(node.id, st, \"Pattern\")\n if (node.init) c(node.init, st, \"Expression\")\n}\n\nbase.Function = (node, st, c) => {\n if (node.id) c(node.id, st, \"Pattern\")\n for (let param of node.params)\n c(param, st, \"Pattern\")\n c(node.body, st, node.expression ? \"Expression\" : \"Statement\")\n}\n\nbase.Pattern = (node, st, c) => {\n if (node.type === \"Identifier\")\n c(node, st, \"VariablePattern\")\n else if (node.type === \"MemberExpression\")\n c(node, st, \"MemberPattern\")\n else\n c(node, st)\n}\nbase.VariablePattern = ignore\nbase.MemberPattern = skipThrough\nbase.RestElement = (node, st, c) => c(node.argument, st, \"Pattern\")\nbase.ArrayPattern = (node, st, c) => {\n for (let elt of node.elements) {\n if (elt) c(elt, st, \"Pattern\")\n }\n}\nbase.ObjectPattern = (node, st, c) => {\n for (let prop of node.properties) {\n if (prop.type === \"Property\") {\n if (prop.computed) c(prop.key, st, \"Expression\")\n c(prop.value, st, \"Pattern\")\n } else if (prop.type === \"RestElement\") {\n c(prop.argument, st, \"Pattern\")\n }\n }\n}\n\nbase.Expression = skipThrough\nbase.ThisExpression = base.Super = base.MetaProperty = ignore\nbase.ArrayExpression = (node, st, c) => {\n for (let elt of node.elements) {\n if (elt) c(elt, st, \"Expression\")\n }\n}\nbase.ObjectExpression = (node, st, c) => {\n for (let prop of node.properties)\n c(prop, st)\n}\nbase.FunctionExpression = base.ArrowFunctionExpression = base.FunctionDeclaration\nbase.SequenceExpression = (node, st, c) => {\n for (let expr of node.expressions)\n c(expr, st, \"Expression\")\n}\nbase.TemplateLiteral = (node, st, c) => {\n for (let quasi of node.quasis)\n c(quasi, st)\n\n for (let expr of node.expressions)\n c(expr, st, \"Expression\")\n}\nbase.TemplateElement = ignore\nbase.UnaryExpression = base.UpdateExpression = (node, st, c) => {\n c(node.argument, st, \"Expression\")\n}\nbase.BinaryExpression = base.LogicalExpression = (node, st, c) => {\n c(node.left, st, \"Expression\")\n c(node.right, st, \"Expression\")\n}\nbase.AssignmentExpression = base.AssignmentPattern = (node, st, c) => {\n c(node.left, st, \"Pattern\")\n c(node.right, st, \"Expression\")\n}\nbase.ConditionalExpression = (node, st, c) => {\n c(node.test, st, \"Expression\")\n c(node.consequent, st, \"Expression\")\n c(node.alternate, st, \"Expression\")\n}\nbase.NewExpression = base.CallExpression = (node, st, c) => {\n c(node.callee, st, \"Expression\")\n if (node.arguments)\n for (let arg of node.arguments)\n c(arg, st, \"Expression\")\n}\nbase.MemberExpression = (node, st, c) => {\n c(node.object, st, \"Expression\")\n if (node.computed) c(node.property, st, \"Expression\")\n}\nbase.ExportNamedDeclaration = base.ExportDefaultDeclaration = (node, st, c) => {\n if (node.declaration)\n c(node.declaration, st, node.type === \"ExportNamedDeclaration\" || node.declaration.id ? \"Statement\" : \"Expression\")\n if (node.source) c(node.source, st, \"Expression\")\n}\nbase.ExportAllDeclaration = (node, st, c) => {\n c(node.source, st, \"Expression\")\n}\nbase.ImportDeclaration = (node, st, c) => {\n for (let spec of node.specifiers)\n c(spec, st)\n c(node.source, st, \"Expression\")\n}\nbase.ImportSpecifier = base.ImportDefaultSpecifier = base.ImportNamespaceSpecifier = base.Identifier = base.Literal = ignore\n\nbase.TaggedTemplateExpression = (node, st, c) => {\n c(node.tag, st, \"Expression\")\n c(node.quasi, st, \"Expression\")\n}\nbase.ClassDeclaration = base.ClassExpression = (node, st, c) => c(node, st, \"Class\")\nbase.Class = (node, st, c) => {\n if (node.id) c(node.id, st, \"Pattern\")\n if (node.superClass) c(node.superClass, st, \"Expression\")\n c(node.body, st)\n}\nbase.ClassBody = (node, st, c) => {\n for (let elt of node.body)\n c(elt, st)\n}\nbase.MethodDefinition = base.Property = (node, st, c) => {\n if (node.computed) c(node.key, st, \"Expression\")\n c(node.value, st, \"Expression\")\n}\n"],"names":["let","const"],"mappings":";;;;;;AAAA;;;;;;;;;;;;;;;;;;AAkBA,AAAO,SAAS,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE;EACnE,IAAI,CAAC,WAAW,EAAE,EAAA,WAAW,GAAG,IAAI;GACnC,EAAA,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE;IAC/BA,IAAI,IAAI,GAAG,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,QAAQ,CAAC,IAAI,EAAC;IACxD,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAC;IAC9B,IAAI,KAAK,EAAE,EAAA,KAAK,CAAC,IAAI,EAAE,EAAE,EAAC,EAAA;GAC3B,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAC;CAC1B;;;;;AAKD,AAAO,SAAS,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE;EAC3DA,IAAI,SAAS,GAAG,GAAE;EAClB,IAAI,CAAC,WAAW,EAAE,EAAA,WAAW,GAAG,IAAI;GACnC,EAAA,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE;IAC/BA,IAAI,IAAI,GAAG,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,QAAQ,CAAC,IAAI,EAAC;IACxDA,IAAI,KAAK,GAAG,IAAI,KAAK,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAC;IACpD,IAAI,KAAK,EAAE,EAAA,SAAS,CAAC,IAAI,CAAC,IAAI,EAAC,EAAA;IAC/B,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAC;IAC9B,IAAI,KAAK,EAAE,EAAA,KAAK,CAAC,IAAI,EAAE,EAAE,IAAI,SAAS,EAAE,SAAS,EAAC,EAAA;IAClD,IAAI,KAAK,EAAE,EAAA,SAAS,CAAC,GAAG,GAAE,EAAA;GAC3B,EAAE,IAAI,EAAE,KAAK,EAAC;CAChB;;;;;;;AAOD,AAAO,SAAS,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE;EACnEA,IAAI,OAAO,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,WAAW,IAAI,SAAS,CAAC,GAAG,WAAW,CACxE,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE;IAC/B,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAC;GAC5C,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAC;CAC1B;;AAED,SAAS,QAAQ,CAAC,IAAI,EAAE;EACtB,IAAI,OAAO,IAAI,KAAK,QAAQ;IAC1B,EAAA,OAAO,UAAA,IAAI,EAAC,SAAG,IAAI,KAAK,IAAI,GAAA,EAAA;OACzB,IAAI,CAAC,IAAI;IACZ,EAAA,OAAO,YAAG,SAAG,IAAI,GAAA,EAAA;;IAEjB,EAAA,OAAO,IAAI,EAAA;CACd;;AAED,IAAM,KAAK,GAAC,cACC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,MAAK,EAAE,CAAA;;;AAInE,AAAO,SAAS,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE;EACjE,IAAI,CAAC,WAAW,EAAE,EAAA,WAAW,GAAG,IAAI;GACnC,EAAA,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE;IAC/BA,IAAI,IAAI,GAAG,QAAQ,IAAI,IAAI,CAAC,KAAI;IAChC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAC;IAC9B,IAAI,CAAC,QAAQ,EAAE,EAAA,QAAQ,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,EAAC,EAAA;GACxC,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAC;CAC1B;;;;AAID,AAAO,SAAS,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE;EAC/D,IAAI,CAAC,WAAW,EAAE,EAAA,WAAW,GAAG,KAAI,EAAA;EACpCA,IAAI,SAAS,GAAG,EAAE,CACjB,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE;IAC/BA,IAAI,IAAI,GAAG,QAAQ,IAAI,IAAI,CAAC,KAAI;IAChCA,IAAI,KAAK,GAAG,IAAI,KAAK,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAC;IACpD,IAAI,KAAK,EAAE,EAAA,SAAS,CAAC,IAAI,CAAC,IAAI,EAAC,EAAA;IAC/B,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAC;IAC9B,IAAI,CAAC,QAAQ,EAAE,EAAA,QAAQ,CAAC,IAAI,EAAE,EAAE,IAAI,SAAS,EAAE,SAAS,EAAE,IAAI,EAAC,EAAA;IAC/D,IAAI,KAAK,EAAE,EAAA,SAAS,CAAC,GAAG,GAAE,EAAA;GAC3B,EAAE,IAAI,EAAE,KAAK,EAAC;CAChB;;;;;AAKD,AAAO,SAAS,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE;EACrE,IAAI,CAAC,WAAW,EAAE,EAAA,WAAW,GAAG,KAAI,EAAA;EACpC,IAAI,GAAG,QAAQ,CAAC,IAAI,EAAC;EACrB,IAAI;IACF,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE;MAC9BA,IAAI,IAAI,GAAG,QAAQ,IAAI,IAAI,CAAC,KAAI;MAChC,IAAI,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,IAAI,KAAK;WACpC,GAAG,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC;QAClC,EAAA,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAC,EAAA;MAChC,IAAI,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK;WACrC,GAAG,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC;UACjC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC;QAClB,EAAA,MAAM,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,EAAA;KAC5B,EAAE,IAAI,EAAE,KAAK,EAAC;GAChB,CAAC,OAAO,CAAC,EAAE;IACV,IAAI,CAAC,YAAY,KAAK,EAAE,EAAA,OAAO,CAAC,EAAA;IAChC,MAAM,CAAC;GACR;CACF;;;;AAID,AAAO,SAAS,cAAc,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE;EAClE,IAAI,GAAG,QAAQ,CAAC,IAAI,EAAC;EACrB,IAAI,CAAC,WAAW,EAAE,EAAA,WAAW,GAAG,KAAI,EAAA;EACpC,IAAI;IACF,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE;MAC9BA,IAAI,IAAI,GAAG,QAAQ,IAAI,IAAI,CAAC,KAAI;MAChC,IAAI,IAAI,CAAC,KAAK,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE,EAAA,MAAM,EAAA;MAC9C,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAC;MAC9B,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAA,MAAM,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,EAAA;KAChD,EAAE,IAAI,EAAE,KAAK,EAAC;GAChB,CAAC,OAAO,CAAC,EAAE;IACV,IAAI,CAAC,YAAY,KAAK,EAAE,EAAA,OAAO,CAAC,EAAA;IAChC,MAAM,CAAC;GACR;CACF;;;AAGD,AAAO,SAAS,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE;EACjE,IAAI,GAAG,QAAQ,CAAC,IAAI,EAAC;EACrB,IAAI,CAAC,WAAW,EAAE,EAAA,WAAW,GAAG,KAAI,EAAA;EACpC,IAAI;IACF,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE;MAC9B,IAAI,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE,EAAA,MAAM,EAAA;MAC1BA,IAAI,IAAI,GAAG,QAAQ,IAAI,IAAI,CAAC,KAAI;MAChC,IAAI,IAAI,CAAC,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAA,MAAM,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,EAAA;MACpE,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAC;KAC/B,EAAE,IAAI,EAAE,KAAK,EAAC;GAChB,CAAC,OAAO,CAAC,EAAE;IACV,IAAI,CAAC,YAAY,KAAK,EAAE,EAAA,OAAO,CAAC,EAAA;IAChC,MAAM,CAAC;GACR;CACF;;;AAGD,AAAO,SAAS,cAAc,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE;EAClE,IAAI,GAAG,QAAQ,CAAC,IAAI,EAAC;EACrB,IAAI,CAAC,WAAW,EAAE,EAAA,WAAW,GAAG,KAAI,EAAA;EACpCA,IAAI,GAAG,CACN,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE;IAC/B,IAAI,IAAI,CAAC,KAAK,GAAG,GAAG,EAAE,EAAA,MAAM,EAAA;IAC5BA,IAAI,IAAI,GAAG,QAAQ,IAAI,IAAI,CAAC,KAAI;IAChC,IAAI,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC;MAC1E,EAAA,GAAG,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,EAAC,EAAA;IAC3B,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAC;GAC/B,EAAE,IAAI,EAAE,KAAK,EAAC;EACf,OAAO,GAAG;CACX;;;AAGDC,IAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,SAAS,KAAK,EAAE;EAC9C,SAAS,IAAI,GAAG,EAAE;EAClB,IAAI,CAAC,SAAS,GAAG,MAAK;EACtB,OAAO,IAAI,IAAI;EAChB;;;;AAID,AAAO,SAAS,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE;EACvCD,IAAI,OAAO,GAAG,MAAM,CAAC,WAAW,IAAI,IAAI,EAAC;EACzC,KAAKA,IAAI,IAAI,IAAI,KAAK,EAAE,EAAA,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,EAAC,EAAA;EACnD,OAAO,OAAO;CACf;;AAED,SAAS,WAAW,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,EAAC,EAAE;AACjD,SAAS,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE;;;;AAIlC,AAAOC,IAAM,IAAI,GAAG,GAAE;;AAEtB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,cAAc,GAAG,UAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE;EACjD,KAAa,kBAAI,IAAI,CAAC,IAAI,yBAAA;IAArB;IAAAD,IAAI,IAAI;;IACX,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,WAAW,EAAC;GAAA;EAC3B;AACD,IAAI,CAAC,SAAS,GAAG,YAAW;AAC5B,IAAI,CAAC,cAAc,GAAG,OAAM;AAC5B,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,uBAAuB;EACrD,UAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,SAAG,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,EAAE,YAAY,CAAC,IAAA;AACvD,IAAI,CAAC,WAAW,GAAG,UAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE;EAC/B,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,YAAY,EAAC;EAC9B,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,EAAE,WAAW,EAAC;EACnC,IAAI,IAAI,CAAC,SAAS,EAAE,EAAA,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,EAAE,WAAW,EAAC,EAAA;EACvD;AACD,IAAI,CAAC,gBAAgB,GAAG,UAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,SAAG,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,WAAW,CAAC,IAAA;AACtE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,iBAAiB,GAAG,OAAM;AACrD,IAAI,CAAC,aAAa,GAAG,UAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE;EACjC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,YAAY,EAAC;EAChC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,WAAW,EAAC;EAC9B;AACD,IAAI,CAAC,eAAe,GAAG,UAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE;EACnC,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,EAAE,YAAY,EAAC;EACtC,KAAW,kBAAI,IAAI,CAAC,KAAK,yBAAA,EAAE;IAAtBA,IAAI,EAAE;;IACT,IAAI,EAAE,CAAC,IAAI,EAAE,EAAA,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,YAAY,EAAC,EAAA;IACzC,KAAa,sBAAI,EAAE,CAAC,UAAU,+BAAA;MAAzB;MAAAA,IAAI,IAAI;;MACX,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,WAAW,EAAC;KAAA;GAC3B;EACF;AACD,IAAI,CAAC,UAAU,GAAG,UAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE;EAC9B,IAAI,IAAI,CAAC,IAAI,EAAE,EAAA,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,YAAY,EAAC,EAAA;EAC7C,KAAa,kBAAI,IAAI,CAAC,UAAU,yBAAA;IAA3B;IAAAA,IAAI,IAAI;;IACX,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,WAAW,EAAC;GAAA;EAC3B;AACD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,GAAG,UAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE;EACjF,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAA,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,YAAY,EAAC,EAAA;EACtD;AACD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa;EACtC,UAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,SAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,YAAY,CAAC,IAAA;AACrD,IAAI,CAAC,YAAY,GAAG,UAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE;EAChC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,WAAW,EAAC;EAC9B,IAAI,IAAI,CAAC,OAAO,EAAE,EAAA,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,EAAC,EAAA;EACrC,IAAI,IAAI,CAAC,SAAS,EAAE,EAAA,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,EAAE,WAAW,EAAC,EAAA;EACvD;AACD,IAAI,CAAC,WAAW,GAAG,UAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE;EAC/B,IAAI,IAAI,CAAC,KAAK,EAAE,EAAA,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,SAAS,EAAC,EAAA;EAC5C,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,WAAW,EAAC;EAC9B;AACD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,gBAAgB,GAAG,UAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE;EAC1D,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,YAAY,EAAC;EAC9B,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,WAAW,EAAC;EAC9B;AACD,IAAI,CAAC,YAAY,GAAG,UAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE;EAChC,IAAI,IAAI,CAAC,IAAI,EAAE,EAAA,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,SAAS,EAAC,EAAA;EAC1C,IAAI,IAAI,CAAC,IAAI,EAAE,EAAA,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,YAAY,EAAC,EAAA;EAC7C,IAAI,IAAI,CAAC,MAAM,EAAE,EAAA,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,YAAY,EAAC,EAAA;EACjD,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,WAAW,EAAC;EAC9B;AACD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,GAAG,UAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE;EACxD,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,SAAS,EAAC;EAC3B,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,YAAY,EAAC;EAC/B,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,WAAW,EAAC;EAC9B;AACD,IAAI,CAAC,OAAO,GAAG,UAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE;EAC3B,IAAI,IAAI,CAAC,IAAI,KAAK,qBAAqB,EAAE,EAAA,CAAC,CAAC,IAAI,EAAE,EAAE,EAAC,EAAA;OAC/C,EAAA,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,YAAY,EAAC,EAAA;EAC/B;AACD,IAAI,CAAC,iBAAiB,GAAG,OAAM;;AAE/B,IAAI,CAAC,mBAAmB,GAAG,UAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,SAAG,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,UAAU,CAAC,IAAA;AACnE,IAAI,CAAC,mBAAmB,GAAG,UAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE;EACvC,KAAa,kBAAI,IAAI,CAAC,YAAY,yBAAA;IAA7B;IAAAA,IAAI,IAAI;;IACX,CAAC,CAAC,IAAI,EAAE,EAAE,EAAC;GAAA;EACd;AACD,IAAI,CAAC,kBAAkB,GAAG,UAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE;EACtC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,SAAS,EAAC;EACzB,IAAI,IAAI,CAAC,IAAI,EAAE,EAAA,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,YAAY,EAAC,EAAA;EAC9C;;AAED,IAAI,CAAC,QAAQ,GAAG,UAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE;EAC5B,IAAI,IAAI,CAAC,EAAE,EAAE,EAAA,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,SAAS,EAAC,EAAA;EACtC,KAAc,kBAAI,IAAI,CAAC,MAAM,yBAAA;IAAxB;IAAAA,IAAI,KAAK;;IACZ,CAAC,CAAC,KAAK,EAAE,EAAE,EAAE,SAAS,EAAC;GAAA;EACzB,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,UAAU,GAAG,YAAY,GAAG,WAAW,EAAC;EAC/D;;AAED,IAAI,CAAC,OAAO,GAAG,UAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE;EAC3B,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY;IAC5B,EAAA,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,iBAAiB,EAAC,EAAA;OAC3B,IAAI,IAAI,CAAC,IAAI,KAAK,kBAAkB;IACvC,EAAA,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,eAAe,EAAC,EAAA;;IAE5B,EAAA,CAAC,CAAC,IAAI,EAAE,EAAE,EAAC,EAAA;EACd;AACD,IAAI,CAAC,eAAe,GAAG,OAAM;AAC7B,IAAI,CAAC,aAAa,GAAG,YAAW;AAChC,IAAI,CAAC,WAAW,GAAG,UAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,SAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,SAAS,CAAC,IAAA;AACnE,IAAI,CAAC,YAAY,GAAG,UAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE;EAChC,KAAY,kBAAI,IAAI,CAAC,QAAQ,yBAAA,EAAE;IAA1BA,IAAI,GAAG;;IACV,IAAI,GAAG,EAAE,EAAA,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,SAAS,EAAC,EAAA;GAC/B;EACF;AACD,IAAI,CAAC,aAAa,GAAG,UAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE;EACjC,KAAa,kBAAI,IAAI,CAAC,UAAU,yBAAA,EAAE;IAA7BA,IAAI,IAAI;;IACX,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE;MAC5B,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAA,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,YAAY,EAAC,EAAA;MAChD,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,SAAS,EAAC;KAC7B,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,EAAE;MACtC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAC;KAChC;GACF;EACF;;AAED,IAAI,CAAC,UAAU,GAAG,YAAW;AAC7B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,GAAG,OAAM;AAC7D,IAAI,CAAC,eAAe,GAAG,UAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE;EACnC,KAAY,kBAAI,IAAI,CAAC,QAAQ,yBAAA,EAAE;IAA1BA,IAAI,GAAG;;IACV,IAAI,GAAG,EAAE,EAAA,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,YAAY,EAAC,EAAA;GAClC;EACF;AACD,IAAI,CAAC,gBAAgB,GAAG,UAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE;EACpC,KAAa,kBAAI,IAAI,CAAC,UAAU,yBAAA;IAA3B;IAAAA,IAAI,IAAI;;IACX,CAAC,CAAC,IAAI,EAAE,EAAE,EAAC;GAAA;EACd;AACD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,oBAAmB;AACjF,IAAI,CAAC,kBAAkB,GAAG,UAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE;EACtC,KAAa,kBAAI,IAAI,CAAC,WAAW,yBAAA;IAA5B;IAAAA,IAAI,IAAI;;IACX,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,YAAY,EAAC;GAAA;EAC5B;AACD,IAAI,CAAC,eAAe,GAAG,UAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE;EACnC,KAAc,kBAAI,IAAI,CAAC,MAAM,yBAAA;IAAxB;IAAAA,IAAI,KAAK;;IACZ,CAAC,CAAC,KAAK,EAAE,EAAE,EAAC;GAAA;;EAEd,KAAa,sBAAI,IAAI,CAAC,WAAW,+BAAA;IAA5B;IAAAA,IAAI,IAAI;;IACX,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,YAAY,EAAC;GAAA;EAC5B;AACD,IAAI,CAAC,eAAe,GAAG,OAAM;AAC7B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,gBAAgB,GAAG,UAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE;EAC3D,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,YAAY,EAAC;EACnC;AACD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,GAAG,UAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE;EAC7D,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,YAAY,EAAC;EAC9B,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,YAAY,EAAC;EAChC;AACD,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,iBAAiB,GAAG,UAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE;EACjE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,SAAS,EAAC;EAC3B,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,YAAY,EAAC;EAChC;AACD,IAAI,CAAC,qBAAqB,GAAG,UAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE;EACzC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,YAAY,EAAC;EAC9B,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,EAAE,YAAY,EAAC;EACpC,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,EAAE,YAAY,EAAC;EACpC;AACD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,cAAc,GAAG,UAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE;EACvD,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,YAAY,EAAC;EAChC,IAAI,IAAI,CAAC,SAAS;IAChB,EAAA,KAAY,kBAAI,IAAI,CAAC,SAAS,yBAAA;MAAzB;QAAAA,IAAI,GAAG;;QACV,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,YAAY,EAAC;OAAA,EAAA;EAC7B;AACD,IAAI,CAAC,gBAAgB,GAAG,UAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE;EACpC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,YAAY,EAAC;EAChC,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAA,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,YAAY,EAAC,EAAA;EACtD;AACD,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,wBAAwB,GAAG,UAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE;EAC1E,IAAI,IAAI,CAAC,WAAW;IAClB,EAAA,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,KAAK,wBAAwB,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,GAAG,WAAW,GAAG,YAAY,EAAC,EAAA;EACrH,IAAI,IAAI,CAAC,MAAM,EAAE,EAAA,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,YAAY,EAAC,EAAA;EAClD;AACD,IAAI,CAAC,oBAAoB,GAAG,UAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE;EACxC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,YAAY,EAAC;EACjC;AACD,IAAI,CAAC,iBAAiB,GAAG,UAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE;EACrC,KAAa,kBAAI,IAAI,CAAC,UAAU,yBAAA;IAA3B;IAAAA,IAAI,IAAI;;IACX,CAAC,CAAC,IAAI,EAAE,EAAE,EAAC;GAAA;EACb,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,YAAY,EAAC;EACjC;AACD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,GAAG,OAAM;;AAE5H,IAAI,CAAC,wBAAwB,GAAG,UAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE;EAC5C,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,YAAY,EAAC;EAC7B,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,YAAY,EAAC;EAChC;AACD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,eAAe,GAAG,UAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,SAAG,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,CAAC,IAAA;AACpF,IAAI,CAAC,KAAK,GAAG,UAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE;EACzB,IAAI,IAAI,CAAC,EAAE,EAAE,EAAA,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,SAAS,EAAC,EAAA;EACtC,IAAI,IAAI,CAAC,UAAU,EAAE,EAAA,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,EAAE,YAAY,EAAC,EAAA;EACzD,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAC;EACjB;AACD,IAAI,CAAC,SAAS,GAAG,UAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE;EAC7B,KAAY,kBAAI,IAAI,CAAC,IAAI,yBAAA;IAApB;IAAAA,IAAI,GAAG;;IACV,CAAC,CAAC,GAAG,EAAE,EAAE,EAAC;GAAA;EACb;AACD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,QAAQ,GAAG,UAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE;EACpD,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAA,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,YAAY,EAAC,EAAA;EAChD,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,YAAY,EAAC;CAChC;;;;;;;;;;;;;;;;;;;;;;"}
\ No newline at end of file
diff --git a/node_modules/acorn/acorn-walk/dist/walk.mjs b/node_modules/acorn/acorn-walk/dist/walk.mjs
new file mode 100644
index 0000000..2b5b05a
--- /dev/null
+++ b/node_modules/acorn/acorn-walk/dist/walk.mjs
@@ -0,0 +1,441 @@
+// AST walker module for Mozilla Parser API compatible trees
+
+// A simple walk is one where you simply specify callbacks to be
+// called on specific nodes. The last two arguments are optional. A
+// simple use would be
+//
+// walk.simple(myTree, {
+// Expression: function(node) { ... }
+// });
+//
+// to do something with all expressions. All Parser API node types
+// can be used to identify node types, as well as Expression and
+// Statement, which denote categories of nodes.
+//
+// The base argument can be used to pass a custom (recursive)
+// walker, and state can be used to give this walked an initial
+// state.
+
+function simple(node, visitors, baseVisitor, state, override) {
+ if (!baseVisitor) { baseVisitor = base
+ ; }(function c(node, st, override) {
+ var type = override || node.type, found = visitors[type];
+ baseVisitor[type](node, st, c);
+ if (found) { found(node, st); }
+ })(node, state, override);
+}
+
+// An ancestor walk keeps an array of ancestor nodes (including the
+// current node) and passes them to the callback as third parameter
+// (and also as state parameter when no other state is present).
+function ancestor(node, visitors, baseVisitor, state, override) {
+ var ancestors = [];
+ if (!baseVisitor) { baseVisitor = base
+ ; }(function c(node, st, override) {
+ var type = override || node.type, found = visitors[type];
+ var isNew = node !== ancestors[ancestors.length - 1];
+ if (isNew) { ancestors.push(node); }
+ baseVisitor[type](node, st, c);
+ if (found) { found(node, st || ancestors, ancestors); }
+ if (isNew) { ancestors.pop(); }
+ })(node, state, override);
+}
+
+// A recursive walk is one where your functions override the default
+// walkers. They can modify and replace the state parameter that's
+// threaded through the walk, and can opt how and whether to walk
+// their child nodes (by calling their third argument on these
+// nodes).
+function recursive(node, state, funcs, baseVisitor, override) {
+ var visitor = funcs ? make(funcs, baseVisitor || undefined) : baseVisitor
+ ;(function c(node, st, override) {
+ visitor[override || node.type](node, st, c);
+ })(node, state, override);
+}
+
+function makeTest(test) {
+ if (typeof test === "string")
+ { return function (type) { return type === test; } }
+ else if (!test)
+ { return function () { return true; } }
+ else
+ { return test }
+}
+
+var Found = function Found(node, state) { this.node = node; this.state = state; };
+
+// A full walk triggers the callback on each node
+function full(node, callback, baseVisitor, state, override) {
+ if (!baseVisitor) { baseVisitor = base
+ ; }(function c(node, st, override) {
+ var type = override || node.type;
+ baseVisitor[type](node, st, c);
+ if (!override) { callback(node, st, type); }
+ })(node, state, override);
+}
+
+// An fullAncestor walk is like an ancestor walk, but triggers
+// the callback on each node
+function fullAncestor(node, callback, baseVisitor, state) {
+ if (!baseVisitor) { baseVisitor = base; }
+ var ancestors = []
+ ;(function c(node, st, override) {
+ var type = override || node.type;
+ var isNew = node !== ancestors[ancestors.length - 1];
+ if (isNew) { ancestors.push(node); }
+ baseVisitor[type](node, st, c);
+ if (!override) { callback(node, st || ancestors, ancestors, type); }
+ if (isNew) { ancestors.pop(); }
+ })(node, state);
+}
+
+// Find a node with a given start, end, and type (all are optional,
+// null can be used as wildcard). Returns a {node, state} object, or
+// undefined when it doesn't find a matching node.
+function findNodeAt(node, start, end, test, baseVisitor, state) {
+ if (!baseVisitor) { baseVisitor = base; }
+ test = makeTest(test);
+ try {
+ (function c(node, st, override) {
+ var type = override || node.type;
+ if ((start == null || node.start <= start) &&
+ (end == null || node.end >= end))
+ { baseVisitor[type](node, st, c); }
+ if ((start == null || node.start === start) &&
+ (end == null || node.end === end) &&
+ test(type, node))
+ { throw new Found(node, st) }
+ })(node, state);
+ } catch (e) {
+ if (e instanceof Found) { return e }
+ throw e
+ }
+}
+
+// Find the innermost node of a given type that contains the given
+// position. Interface similar to findNodeAt.
+function findNodeAround(node, pos, test, baseVisitor, state) {
+ test = makeTest(test);
+ if (!baseVisitor) { baseVisitor = base; }
+ try {
+ (function c(node, st, override) {
+ var type = override || node.type;
+ if (node.start > pos || node.end < pos) { return }
+ baseVisitor[type](node, st, c);
+ if (test(type, node)) { throw new Found(node, st) }
+ })(node, state);
+ } catch (e) {
+ if (e instanceof Found) { return e }
+ throw e
+ }
+}
+
+// Find the outermost matching node after a given position.
+function findNodeAfter(node, pos, test, baseVisitor, state) {
+ test = makeTest(test);
+ if (!baseVisitor) { baseVisitor = base; }
+ try {
+ (function c(node, st, override) {
+ if (node.end < pos) { return }
+ var type = override || node.type;
+ if (node.start >= pos && test(type, node)) { throw new Found(node, st) }
+ baseVisitor[type](node, st, c);
+ })(node, state);
+ } catch (e) {
+ if (e instanceof Found) { return e }
+ throw e
+ }
+}
+
+// Find the outermost matching node before a given position.
+function findNodeBefore(node, pos, test, baseVisitor, state) {
+ test = makeTest(test);
+ if (!baseVisitor) { baseVisitor = base; }
+ var max
+ ;(function c(node, st, override) {
+ if (node.start > pos) { return }
+ var type = override || node.type;
+ if (node.end <= pos && (!max || max.node.end < node.end) && test(type, node))
+ { max = new Found(node, st); }
+ baseVisitor[type](node, st, c);
+ })(node, state);
+ return max
+}
+
+// Fallback to an Object.create polyfill for older environments.
+var create = Object.create || function(proto) {
+ function Ctor() {}
+ Ctor.prototype = proto;
+ return new Ctor
+};
+
+// Used to create a custom walker. Will fill in all missing node
+// type properties with the defaults.
+function make(funcs, baseVisitor) {
+ var visitor = create(baseVisitor || base);
+ for (var type in funcs) { visitor[type] = funcs[type]; }
+ return visitor
+}
+
+function skipThrough(node, st, c) { c(node, st); }
+function ignore(_node, _st, _c) {}
+
+// Node walkers.
+
+var base = {};
+
+base.Program = base.BlockStatement = function (node, st, c) {
+ for (var i = 0, list = node.body; i < list.length; i += 1)
+ {
+ var stmt = list[i];
+
+ c(stmt, st, "Statement");
+ }
+};
+base.Statement = skipThrough;
+base.EmptyStatement = ignore;
+base.ExpressionStatement = base.ParenthesizedExpression =
+ function (node, st, c) { return c(node.expression, st, "Expression"); };
+base.IfStatement = function (node, st, c) {
+ c(node.test, st, "Expression");
+ c(node.consequent, st, "Statement");
+ if (node.alternate) { c(node.alternate, st, "Statement"); }
+};
+base.LabeledStatement = function (node, st, c) { return c(node.body, st, "Statement"); };
+base.BreakStatement = base.ContinueStatement = ignore;
+base.WithStatement = function (node, st, c) {
+ c(node.object, st, "Expression");
+ c(node.body, st, "Statement");
+};
+base.SwitchStatement = function (node, st, c) {
+ c(node.discriminant, st, "Expression");
+ for (var i$1 = 0, list$1 = node.cases; i$1 < list$1.length; i$1 += 1) {
+ var cs = list$1[i$1];
+
+ if (cs.test) { c(cs.test, st, "Expression"); }
+ for (var i = 0, list = cs.consequent; i < list.length; i += 1)
+ {
+ var cons = list[i];
+
+ c(cons, st, "Statement");
+ }
+ }
+};
+base.SwitchCase = function (node, st, c) {
+ if (node.test) { c(node.test, st, "Expression"); }
+ for (var i = 0, list = node.consequent; i < list.length; i += 1)
+ {
+ var cons = list[i];
+
+ c(cons, st, "Statement");
+ }
+};
+base.ReturnStatement = base.YieldExpression = base.AwaitExpression = function (node, st, c) {
+ if (node.argument) { c(node.argument, st, "Expression"); }
+};
+base.ThrowStatement = base.SpreadElement =
+ function (node, st, c) { return c(node.argument, st, "Expression"); };
+base.TryStatement = function (node, st, c) {
+ c(node.block, st, "Statement");
+ if (node.handler) { c(node.handler, st); }
+ if (node.finalizer) { c(node.finalizer, st, "Statement"); }
+};
+base.CatchClause = function (node, st, c) {
+ if (node.param) { c(node.param, st, "Pattern"); }
+ c(node.body, st, "Statement");
+};
+base.WhileStatement = base.DoWhileStatement = function (node, st, c) {
+ c(node.test, st, "Expression");
+ c(node.body, st, "Statement");
+};
+base.ForStatement = function (node, st, c) {
+ if (node.init) { c(node.init, st, "ForInit"); }
+ if (node.test) { c(node.test, st, "Expression"); }
+ if (node.update) { c(node.update, st, "Expression"); }
+ c(node.body, st, "Statement");
+};
+base.ForInStatement = base.ForOfStatement = function (node, st, c) {
+ c(node.left, st, "ForInit");
+ c(node.right, st, "Expression");
+ c(node.body, st, "Statement");
+};
+base.ForInit = function (node, st, c) {
+ if (node.type === "VariableDeclaration") { c(node, st); }
+ else { c(node, st, "Expression"); }
+};
+base.DebuggerStatement = ignore;
+
+base.FunctionDeclaration = function (node, st, c) { return c(node, st, "Function"); };
+base.VariableDeclaration = function (node, st, c) {
+ for (var i = 0, list = node.declarations; i < list.length; i += 1)
+ {
+ var decl = list[i];
+
+ c(decl, st);
+ }
+};
+base.VariableDeclarator = function (node, st, c) {
+ c(node.id, st, "Pattern");
+ if (node.init) { c(node.init, st, "Expression"); }
+};
+
+base.Function = function (node, st, c) {
+ if (node.id) { c(node.id, st, "Pattern"); }
+ for (var i = 0, list = node.params; i < list.length; i += 1)
+ {
+ var param = list[i];
+
+ c(param, st, "Pattern");
+ }
+ c(node.body, st, node.expression ? "Expression" : "Statement");
+};
+
+base.Pattern = function (node, st, c) {
+ if (node.type === "Identifier")
+ { c(node, st, "VariablePattern"); }
+ else if (node.type === "MemberExpression")
+ { c(node, st, "MemberPattern"); }
+ else
+ { c(node, st); }
+};
+base.VariablePattern = ignore;
+base.MemberPattern = skipThrough;
+base.RestElement = function (node, st, c) { return c(node.argument, st, "Pattern"); };
+base.ArrayPattern = function (node, st, c) {
+ for (var i = 0, list = node.elements; i < list.length; i += 1) {
+ var elt = list[i];
+
+ if (elt) { c(elt, st, "Pattern"); }
+ }
+};
+base.ObjectPattern = function (node, st, c) {
+ for (var i = 0, list = node.properties; i < list.length; i += 1) {
+ var prop = list[i];
+
+ if (prop.type === "Property") {
+ if (prop.computed) { c(prop.key, st, "Expression"); }
+ c(prop.value, st, "Pattern");
+ } else if (prop.type === "RestElement") {
+ c(prop.argument, st, "Pattern");
+ }
+ }
+};
+
+base.Expression = skipThrough;
+base.ThisExpression = base.Super = base.MetaProperty = ignore;
+base.ArrayExpression = function (node, st, c) {
+ for (var i = 0, list = node.elements; i < list.length; i += 1) {
+ var elt = list[i];
+
+ if (elt) { c(elt, st, "Expression"); }
+ }
+};
+base.ObjectExpression = function (node, st, c) {
+ for (var i = 0, list = node.properties; i < list.length; i += 1)
+ {
+ var prop = list[i];
+
+ c(prop, st);
+ }
+};
+base.FunctionExpression = base.ArrowFunctionExpression = base.FunctionDeclaration;
+base.SequenceExpression = function (node, st, c) {
+ for (var i = 0, list = node.expressions; i < list.length; i += 1)
+ {
+ var expr = list[i];
+
+ c(expr, st, "Expression");
+ }
+};
+base.TemplateLiteral = function (node, st, c) {
+ for (var i = 0, list = node.quasis; i < list.length; i += 1)
+ {
+ var quasi = list[i];
+
+ c(quasi, st);
+ }
+
+ for (var i$1 = 0, list$1 = node.expressions; i$1 < list$1.length; i$1 += 1)
+ {
+ var expr = list$1[i$1];
+
+ c(expr, st, "Expression");
+ }
+};
+base.TemplateElement = ignore;
+base.UnaryExpression = base.UpdateExpression = function (node, st, c) {
+ c(node.argument, st, "Expression");
+};
+base.BinaryExpression = base.LogicalExpression = function (node, st, c) {
+ c(node.left, st, "Expression");
+ c(node.right, st, "Expression");
+};
+base.AssignmentExpression = base.AssignmentPattern = function (node, st, c) {
+ c(node.left, st, "Pattern");
+ c(node.right, st, "Expression");
+};
+base.ConditionalExpression = function (node, st, c) {
+ c(node.test, st, "Expression");
+ c(node.consequent, st, "Expression");
+ c(node.alternate, st, "Expression");
+};
+base.NewExpression = base.CallExpression = function (node, st, c) {
+ c(node.callee, st, "Expression");
+ if (node.arguments)
+ { for (var i = 0, list = node.arguments; i < list.length; i += 1)
+ {
+ var arg = list[i];
+
+ c(arg, st, "Expression");
+ } }
+};
+base.MemberExpression = function (node, st, c) {
+ c(node.object, st, "Expression");
+ if (node.computed) { c(node.property, st, "Expression"); }
+};
+base.ExportNamedDeclaration = base.ExportDefaultDeclaration = function (node, st, c) {
+ if (node.declaration)
+ { c(node.declaration, st, node.type === "ExportNamedDeclaration" || node.declaration.id ? "Statement" : "Expression"); }
+ if (node.source) { c(node.source, st, "Expression"); }
+};
+base.ExportAllDeclaration = function (node, st, c) {
+ c(node.source, st, "Expression");
+};
+base.ImportDeclaration = function (node, st, c) {
+ for (var i = 0, list = node.specifiers; i < list.length; i += 1)
+ {
+ var spec = list[i];
+
+ c(spec, st);
+ }
+ c(node.source, st, "Expression");
+};
+base.ImportExpression = function (node, st, c) {
+ c(node.source, st, "Expression");
+};
+base.ImportSpecifier = base.ImportDefaultSpecifier = base.ImportNamespaceSpecifier = base.Identifier = base.Literal = ignore;
+
+base.TaggedTemplateExpression = function (node, st, c) {
+ c(node.tag, st, "Expression");
+ c(node.quasi, st, "Expression");
+};
+base.ClassDeclaration = base.ClassExpression = function (node, st, c) { return c(node, st, "Class"); };
+base.Class = function (node, st, c) {
+ if (node.id) { c(node.id, st, "Pattern"); }
+ if (node.superClass) { c(node.superClass, st, "Expression"); }
+ c(node.body, st);
+};
+base.ClassBody = function (node, st, c) {
+ for (var i = 0, list = node.body; i < list.length; i += 1)
+ {
+ var elt = list[i];
+
+ c(elt, st);
+ }
+};
+base.MethodDefinition = base.Property = function (node, st, c) {
+ if (node.computed) { c(node.key, st, "Expression"); }
+ c(node.value, st, "Expression");
+};
+
+export { ancestor, base, findNodeAfter, findNodeAround, findNodeAt, findNodeBefore, full, fullAncestor, make, recursive, simple };
diff --git a/node_modules/acorn/acorn-walk/dist/walk.mjs.map b/node_modules/acorn/acorn-walk/dist/walk.mjs.map
new file mode 100644
index 0000000..2a94219
--- /dev/null
+++ b/node_modules/acorn/acorn-walk/dist/walk.mjs.map
@@ -0,0 +1 @@
+{"version":3,"file":"walk.mjs","sources":["../src/index.js"],"sourcesContent":["// AST walker module for Mozilla Parser API compatible trees\n\n// A simple walk is one where you simply specify callbacks to be\n// called on specific nodes. The last two arguments are optional. A\n// simple use would be\n//\n// walk.simple(myTree, {\n// Expression: function(node) { ... }\n// });\n//\n// to do something with all expressions. All Parser API node types\n// can be used to identify node types, as well as Expression and\n// Statement, which denote categories of nodes.\n//\n// The base argument can be used to pass a custom (recursive)\n// walker, and state can be used to give this walked an initial\n// state.\n\nexport function simple(node, visitors, baseVisitor, state, override) {\n if (!baseVisitor) baseVisitor = base\n ;(function c(node, st, override) {\n let type = override || node.type, found = visitors[type]\n baseVisitor[type](node, st, c)\n if (found) found(node, st)\n })(node, state, override)\n}\n\n// An ancestor walk keeps an array of ancestor nodes (including the\n// current node) and passes them to the callback as third parameter\n// (and also as state parameter when no other state is present).\nexport function ancestor(node, visitors, baseVisitor, state) {\n let ancestors = []\n if (!baseVisitor) baseVisitor = base\n ;(function c(node, st, override) {\n let type = override || node.type, found = visitors[type]\n let isNew = node !== ancestors[ancestors.length - 1]\n if (isNew) ancestors.push(node)\n baseVisitor[type](node, st, c)\n if (found) found(node, st || ancestors, ancestors)\n if (isNew) ancestors.pop()\n })(node, state)\n}\n\n// A recursive walk is one where your functions override the default\n// walkers. They can modify and replace the state parameter that's\n// threaded through the walk, and can opt how and whether to walk\n// their child nodes (by calling their third argument on these\n// nodes).\nexport function recursive(node, state, funcs, baseVisitor, override) {\n let visitor = funcs ? make(funcs, baseVisitor || undefined) : baseVisitor\n ;(function c(node, st, override) {\n visitor[override || node.type](node, st, c)\n })(node, state, override)\n}\n\nfunction makeTest(test) {\n if (typeof test === \"string\")\n return type => type === test\n else if (!test)\n return () => true\n else\n return test\n}\n\nclass Found {\n constructor(node, state) { this.node = node; this.state = state }\n}\n\n// A full walk triggers the callback on each node\nexport function full(node, callback, baseVisitor, state, override) {\n if (!baseVisitor) baseVisitor = base\n ;(function c(node, st, override) {\n let type = override || node.type\n baseVisitor[type](node, st, c)\n if (!override) callback(node, st, type)\n })(node, state, override)\n}\n\n// An fullAncestor walk is like an ancestor walk, but triggers\n// the callback on each node\nexport function fullAncestor(node, callback, baseVisitor, state) {\n if (!baseVisitor) baseVisitor = base\n let ancestors = []\n ;(function c(node, st, override) {\n let type = override || node.type\n let isNew = node !== ancestors[ancestors.length - 1]\n if (isNew) ancestors.push(node)\n baseVisitor[type](node, st, c)\n if (!override) callback(node, st || ancestors, ancestors, type)\n if (isNew) ancestors.pop()\n })(node, state)\n}\n\n// Find a node with a given start, end, and type (all are optional,\n// null can be used as wildcard). Returns a {node, state} object, or\n// undefined when it doesn't find a matching node.\nexport function findNodeAt(node, start, end, test, baseVisitor, state) {\n if (!baseVisitor) baseVisitor = base\n test = makeTest(test)\n try {\n (function c(node, st, override) {\n let type = override || node.type\n if ((start == null || node.start <= start) &&\n (end == null || node.end >= end))\n baseVisitor[type](node, st, c)\n if ((start == null || node.start === start) &&\n (end == null || node.end === end) &&\n test(type, node))\n throw new Found(node, st)\n })(node, state)\n } catch (e) {\n if (e instanceof Found) return e\n throw e\n }\n}\n\n// Find the innermost node of a given type that contains the given\n// position. Interface similar to findNodeAt.\nexport function findNodeAround(node, pos, test, baseVisitor, state) {\n test = makeTest(test)\n if (!baseVisitor) baseVisitor = base\n try {\n (function c(node, st, override) {\n let type = override || node.type\n if (node.start > pos || node.end < pos) return\n baseVisitor[type](node, st, c)\n if (test(type, node)) throw new Found(node, st)\n })(node, state)\n } catch (e) {\n if (e instanceof Found) return e\n throw e\n }\n}\n\n// Find the outermost matching node after a given position.\nexport function findNodeAfter(node, pos, test, baseVisitor, state) {\n test = makeTest(test)\n if (!baseVisitor) baseVisitor = base\n try {\n (function c(node, st, override) {\n if (node.end < pos) return\n let type = override || node.type\n if (node.start >= pos && test(type, node)) throw new Found(node, st)\n baseVisitor[type](node, st, c)\n })(node, state)\n } catch (e) {\n if (e instanceof Found) return e\n throw e\n }\n}\n\n// Find the outermost matching node before a given position.\nexport function findNodeBefore(node, pos, test, baseVisitor, state) {\n test = makeTest(test)\n if (!baseVisitor) baseVisitor = base\n let max\n ;(function c(node, st, override) {\n if (node.start > pos) return\n let type = override || node.type\n if (node.end <= pos && (!max || max.node.end < node.end) && test(type, node))\n max = new Found(node, st)\n baseVisitor[type](node, st, c)\n })(node, state)\n return max\n}\n\n// Fallback to an Object.create polyfill for older environments.\nconst create = Object.create || function(proto) {\n function Ctor() {}\n Ctor.prototype = proto\n return new Ctor\n}\n\n// Used to create a custom walker. Will fill in all missing node\n// type properties with the defaults.\nexport function make(funcs, baseVisitor) {\n let visitor = create(baseVisitor || base)\n for (let type in funcs) visitor[type] = funcs[type]\n return visitor\n}\n\nfunction skipThrough(node, st, c) { c(node, st) }\nfunction ignore(_node, _st, _c) {}\n\n// Node walkers.\n\nexport const base = {}\n\nbase.Program = base.BlockStatement = (node, st, c) => {\n for (let stmt of node.body)\n c(stmt, st, \"Statement\")\n}\nbase.Statement = skipThrough\nbase.EmptyStatement = ignore\nbase.ExpressionStatement = base.ParenthesizedExpression =\n (node, st, c) => c(node.expression, st, \"Expression\")\nbase.IfStatement = (node, st, c) => {\n c(node.test, st, \"Expression\")\n c(node.consequent, st, \"Statement\")\n if (node.alternate) c(node.alternate, st, \"Statement\")\n}\nbase.LabeledStatement = (node, st, c) => c(node.body, st, \"Statement\")\nbase.BreakStatement = base.ContinueStatement = ignore\nbase.WithStatement = (node, st, c) => {\n c(node.object, st, \"Expression\")\n c(node.body, st, \"Statement\")\n}\nbase.SwitchStatement = (node, st, c) => {\n c(node.discriminant, st, \"Expression\")\n for (let cs of node.cases) {\n if (cs.test) c(cs.test, st, \"Expression\")\n for (let cons of cs.consequent)\n c(cons, st, \"Statement\")\n }\n}\nbase.SwitchCase = (node, st, c) => {\n if (node.test) c(node.test, st, \"Expression\")\n for (let cons of node.consequent)\n c(cons, st, \"Statement\")\n}\nbase.ReturnStatement = base.YieldExpression = base.AwaitExpression = (node, st, c) => {\n if (node.argument) c(node.argument, st, \"Expression\")\n}\nbase.ThrowStatement = base.SpreadElement =\n (node, st, c) => c(node.argument, st, \"Expression\")\nbase.TryStatement = (node, st, c) => {\n c(node.block, st, \"Statement\")\n if (node.handler) c(node.handler, st)\n if (node.finalizer) c(node.finalizer, st, \"Statement\")\n}\nbase.CatchClause = (node, st, c) => {\n if (node.param) c(node.param, st, \"Pattern\")\n c(node.body, st, \"Statement\")\n}\nbase.WhileStatement = base.DoWhileStatement = (node, st, c) => {\n c(node.test, st, \"Expression\")\n c(node.body, st, \"Statement\")\n}\nbase.ForStatement = (node, st, c) => {\n if (node.init) c(node.init, st, \"ForInit\")\n if (node.test) c(node.test, st, \"Expression\")\n if (node.update) c(node.update, st, \"Expression\")\n c(node.body, st, \"Statement\")\n}\nbase.ForInStatement = base.ForOfStatement = (node, st, c) => {\n c(node.left, st, \"ForInit\")\n c(node.right, st, \"Expression\")\n c(node.body, st, \"Statement\")\n}\nbase.ForInit = (node, st, c) => {\n if (node.type === \"VariableDeclaration\") c(node, st)\n else c(node, st, \"Expression\")\n}\nbase.DebuggerStatement = ignore\n\nbase.FunctionDeclaration = (node, st, c) => c(node, st, \"Function\")\nbase.VariableDeclaration = (node, st, c) => {\n for (let decl of node.declarations)\n c(decl, st)\n}\nbase.VariableDeclarator = (node, st, c) => {\n c(node.id, st, \"Pattern\")\n if (node.init) c(node.init, st, \"Expression\")\n}\n\nbase.Function = (node, st, c) => {\n if (node.id) c(node.id, st, \"Pattern\")\n for (let param of node.params)\n c(param, st, \"Pattern\")\n c(node.body, st, node.expression ? \"Expression\" : \"Statement\")\n}\n\nbase.Pattern = (node, st, c) => {\n if (node.type === \"Identifier\")\n c(node, st, \"VariablePattern\")\n else if (node.type === \"MemberExpression\")\n c(node, st, \"MemberPattern\")\n else\n c(node, st)\n}\nbase.VariablePattern = ignore\nbase.MemberPattern = skipThrough\nbase.RestElement = (node, st, c) => c(node.argument, st, \"Pattern\")\nbase.ArrayPattern = (node, st, c) => {\n for (let elt of node.elements) {\n if (elt) c(elt, st, \"Pattern\")\n }\n}\nbase.ObjectPattern = (node, st, c) => {\n for (let prop of node.properties) {\n if (prop.type === \"Property\") {\n if (prop.computed) c(prop.key, st, \"Expression\")\n c(prop.value, st, \"Pattern\")\n } else if (prop.type === \"RestElement\") {\n c(prop.argument, st, \"Pattern\")\n }\n }\n}\n\nbase.Expression = skipThrough\nbase.ThisExpression = base.Super = base.MetaProperty = ignore\nbase.ArrayExpression = (node, st, c) => {\n for (let elt of node.elements) {\n if (elt) c(elt, st, \"Expression\")\n }\n}\nbase.ObjectExpression = (node, st, c) => {\n for (let prop of node.properties)\n c(prop, st)\n}\nbase.FunctionExpression = base.ArrowFunctionExpression = base.FunctionDeclaration\nbase.SequenceExpression = (node, st, c) => {\n for (let expr of node.expressions)\n c(expr, st, \"Expression\")\n}\nbase.TemplateLiteral = (node, st, c) => {\n for (let quasi of node.quasis)\n c(quasi, st)\n\n for (let expr of node.expressions)\n c(expr, st, \"Expression\")\n}\nbase.TemplateElement = ignore\nbase.UnaryExpression = base.UpdateExpression = (node, st, c) => {\n c(node.argument, st, \"Expression\")\n}\nbase.BinaryExpression = base.LogicalExpression = (node, st, c) => {\n c(node.left, st, \"Expression\")\n c(node.right, st, \"Expression\")\n}\nbase.AssignmentExpression = base.AssignmentPattern = (node, st, c) => {\n c(node.left, st, \"Pattern\")\n c(node.right, st, \"Expression\")\n}\nbase.ConditionalExpression = (node, st, c) => {\n c(node.test, st, \"Expression\")\n c(node.consequent, st, \"Expression\")\n c(node.alternate, st, \"Expression\")\n}\nbase.NewExpression = base.CallExpression = (node, st, c) => {\n c(node.callee, st, \"Expression\")\n if (node.arguments)\n for (let arg of node.arguments)\n c(arg, st, \"Expression\")\n}\nbase.MemberExpression = (node, st, c) => {\n c(node.object, st, \"Expression\")\n if (node.computed) c(node.property, st, \"Expression\")\n}\nbase.ExportNamedDeclaration = base.ExportDefaultDeclaration = (node, st, c) => {\n if (node.declaration)\n c(node.declaration, st, node.type === \"ExportNamedDeclaration\" || node.declaration.id ? \"Statement\" : \"Expression\")\n if (node.source) c(node.source, st, \"Expression\")\n}\nbase.ExportAllDeclaration = (node, st, c) => {\n c(node.source, st, \"Expression\")\n}\nbase.ImportDeclaration = (node, st, c) => {\n for (let spec of node.specifiers)\n c(spec, st)\n c(node.source, st, \"Expression\")\n}\nbase.ImportSpecifier = base.ImportDefaultSpecifier = base.ImportNamespaceSpecifier = base.Identifier = base.Literal = ignore\n\nbase.TaggedTemplateExpression = (node, st, c) => {\n c(node.tag, st, \"Expression\")\n c(node.quasi, st, \"Expression\")\n}\nbase.ClassDeclaration = base.ClassExpression = (node, st, c) => c(node, st, \"Class\")\nbase.Class = (node, st, c) => {\n if (node.id) c(node.id, st, \"Pattern\")\n if (node.superClass) c(node.superClass, st, \"Expression\")\n c(node.body, st)\n}\nbase.ClassBody = (node, st, c) => {\n for (let elt of node.body)\n c(elt, st)\n}\nbase.MethodDefinition = base.Property = (node, st, c) => {\n if (node.computed) c(node.key, st, \"Expression\")\n c(node.value, st, \"Expression\")\n}\n"],"names":["let","const"],"mappings":"AAAA;;;;;;;;;;;;;;;;;;AAkBA,AAAO,SAAS,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE;EACnE,IAAI,CAAC,WAAW,EAAE,EAAA,WAAW,GAAG,IAAI;GACnC,EAAA,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE;IAC/BA,IAAI,IAAI,GAAG,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,QAAQ,CAAC,IAAI,EAAC;IACxD,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAC;IAC9B,IAAI,KAAK,EAAE,EAAA,KAAK,CAAC,IAAI,EAAE,EAAE,EAAC,EAAA;GAC3B,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAC;CAC1B;;;;;AAKD,AAAO,SAAS,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE;EAC3DA,IAAI,SAAS,GAAG,GAAE;EAClB,IAAI,CAAC,WAAW,EAAE,EAAA,WAAW,GAAG,IAAI;GACnC,EAAA,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE;IAC/BA,IAAI,IAAI,GAAG,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,QAAQ,CAAC,IAAI,EAAC;IACxDA,IAAI,KAAK,GAAG,IAAI,KAAK,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAC;IACpD,IAAI,KAAK,EAAE,EAAA,SAAS,CAAC,IAAI,CAAC,IAAI,EAAC,EAAA;IAC/B,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAC;IAC9B,IAAI,KAAK,EAAE,EAAA,KAAK,CAAC,IAAI,EAAE,EAAE,IAAI,SAAS,EAAE,SAAS,EAAC,EAAA;IAClD,IAAI,KAAK,EAAE,EAAA,SAAS,CAAC,GAAG,GAAE,EAAA;GAC3B,EAAE,IAAI,EAAE,KAAK,EAAC;CAChB;;;;;;;AAOD,AAAO,SAAS,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE;EACnEA,IAAI,OAAO,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,WAAW,IAAI,SAAS,CAAC,GAAG,WAAW,CACxE,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE;IAC/B,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAC;GAC5C,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAC;CAC1B;;AAED,SAAS,QAAQ,CAAC,IAAI,EAAE;EACtB,IAAI,OAAO,IAAI,KAAK,QAAQ;IAC1B,EAAA,OAAO,UAAA,IAAI,EAAC,SAAG,IAAI,KAAK,IAAI,GAAA,EAAA;OACzB,IAAI,CAAC,IAAI;IACZ,EAAA,OAAO,YAAG,SAAG,IAAI,GAAA,EAAA;;IAEjB,EAAA,OAAO,IAAI,EAAA;CACd;;AAED,IAAM,KAAK,GAAC,cACC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,MAAK,EAAE,CAAA;;;AAInE,AAAO,SAAS,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE;EACjE,IAAI,CAAC,WAAW,EAAE,EAAA,WAAW,GAAG,IAAI;GACnC,EAAA,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE;IAC/BA,IAAI,IAAI,GAAG,QAAQ,IAAI,IAAI,CAAC,KAAI;IAChC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAC;IAC9B,IAAI,CAAC,QAAQ,EAAE,EAAA,QAAQ,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,EAAC,EAAA;GACxC,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAC;CAC1B;;;;AAID,AAAO,SAAS,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE;EAC/D,IAAI,CAAC,WAAW,EAAE,EAAA,WAAW,GAAG,KAAI,EAAA;EACpCA,IAAI,SAAS,GAAG,EAAE,CACjB,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE;IAC/BA,IAAI,IAAI,GAAG,QAAQ,IAAI,IAAI,CAAC,KAAI;IAChCA,IAAI,KAAK,GAAG,IAAI,KAAK,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAC;IACpD,IAAI,KAAK,EAAE,EAAA,SAAS,CAAC,IAAI,CAAC,IAAI,EAAC,EAAA;IAC/B,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAC;IAC9B,IAAI,CAAC,QAAQ,EAAE,EAAA,QAAQ,CAAC,IAAI,EAAE,EAAE,IAAI,SAAS,EAAE,SAAS,EAAE,IAAI,EAAC,EAAA;IAC/D,IAAI,KAAK,EAAE,EAAA,SAAS,CAAC,GAAG,GAAE,EAAA;GAC3B,EAAE,IAAI,EAAE,KAAK,EAAC;CAChB;;;;;AAKD,AAAO,SAAS,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE;EACrE,IAAI,CAAC,WAAW,EAAE,EAAA,WAAW,GAAG,KAAI,EAAA;EACpC,IAAI,GAAG,QAAQ,CAAC,IAAI,EAAC;EACrB,IAAI;IACF,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE;MAC9BA,IAAI,IAAI,GAAG,QAAQ,IAAI,IAAI,CAAC,KAAI;MAChC,IAAI,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,IAAI,KAAK;WACpC,GAAG,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC;QAClC,EAAA,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAC,EAAA;MAChC,IAAI,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK;WACrC,GAAG,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC;UACjC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC;QAClB,EAAA,MAAM,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,EAAA;KAC5B,EAAE,IAAI,EAAE,KAAK,EAAC;GAChB,CAAC,OAAO,CAAC,EAAE;IACV,IAAI,CAAC,YAAY,KAAK,EAAE,EAAA,OAAO,CAAC,EAAA;IAChC,MAAM,CAAC;GACR;CACF;;;;AAID,AAAO,SAAS,cAAc,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE;EAClE,IAAI,GAAG,QAAQ,CAAC,IAAI,EAAC;EACrB,IAAI,CAAC,WAAW,EAAE,EAAA,WAAW,GAAG,KAAI,EAAA;EACpC,IAAI;IACF,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE;MAC9BA,IAAI,IAAI,GAAG,QAAQ,IAAI,IAAI,CAAC,KAAI;MAChC,IAAI,IAAI,CAAC,KAAK,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE,EAAA,MAAM,EAAA;MAC9C,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAC;MAC9B,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAA,MAAM,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,EAAA;KAChD,EAAE,IAAI,EAAE,KAAK,EAAC;GAChB,CAAC,OAAO,CAAC,EAAE;IACV,IAAI,CAAC,YAAY,KAAK,EAAE,EAAA,OAAO,CAAC,EAAA;IAChC,MAAM,CAAC;GACR;CACF;;;AAGD,AAAO,SAAS,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE;EACjE,IAAI,GAAG,QAAQ,CAAC,IAAI,EAAC;EACrB,IAAI,CAAC,WAAW,EAAE,EAAA,WAAW,GAAG,KAAI,EAAA;EACpC,IAAI;IACF,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE;MAC9B,IAAI,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE,EAAA,MAAM,EAAA;MAC1BA,IAAI,IAAI,GAAG,QAAQ,IAAI,IAAI,CAAC,KAAI;MAChC,IAAI,IAAI,CAAC,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAA,MAAM,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,EAAA;MACpE,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAC;KAC/B,EAAE,IAAI,EAAE,KAAK,EAAC;GAChB,CAAC,OAAO,CAAC,EAAE;IACV,IAAI,CAAC,YAAY,KAAK,EAAE,EAAA,OAAO,CAAC,EAAA;IAChC,MAAM,CAAC;GACR;CACF;;;AAGD,AAAO,SAAS,cAAc,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE;EAClE,IAAI,GAAG,QAAQ,CAAC,IAAI,EAAC;EACrB,IAAI,CAAC,WAAW,EAAE,EAAA,WAAW,GAAG,KAAI,EAAA;EACpCA,IAAI,GAAG,CACN,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE;IAC/B,IAAI,IAAI,CAAC,KAAK,GAAG,GAAG,EAAE,EAAA,MAAM,EAAA;IAC5BA,IAAI,IAAI,GAAG,QAAQ,IAAI,IAAI,CAAC,KAAI;IAChC,IAAI,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC;MAC1E,EAAA,GAAG,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,EAAC,EAAA;IAC3B,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAC;GAC/B,EAAE,IAAI,EAAE,KAAK,EAAC;EACf,OAAO,GAAG;CACX;;;AAGDC,IAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,SAAS,KAAK,EAAE;EAC9C,SAAS,IAAI,GAAG,EAAE;EAClB,IAAI,CAAC,SAAS,GAAG,MAAK;EACtB,OAAO,IAAI,IAAI;EAChB;;;;AAID,AAAO,SAAS,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE;EACvCD,IAAI,OAAO,GAAG,MAAM,CAAC,WAAW,IAAI,IAAI,EAAC;EACzC,KAAKA,IAAI,IAAI,IAAI,KAAK,EAAE,EAAA,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,EAAC,EAAA;EACnD,OAAO,OAAO;CACf;;AAED,SAAS,WAAW,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,EAAC,EAAE;AACjD,SAAS,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE;;;;AAIlC,AAAOC,IAAM,IAAI,GAAG,GAAE;;AAEtB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,cAAc,GAAG,UAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE;EACjD,KAAa,kBAAI,IAAI,CAAC,IAAI,yBAAA;IAArB;IAAAD,IAAI,IAAI;;IACX,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,WAAW,EAAC;GAAA;EAC3B;AACD,IAAI,CAAC,SAAS,GAAG,YAAW;AAC5B,IAAI,CAAC,cAAc,GAAG,OAAM;AAC5B,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,uBAAuB;EACrD,UAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,SAAG,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,EAAE,YAAY,CAAC,IAAA;AACvD,IAAI,CAAC,WAAW,GAAG,UAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE;EAC/B,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,YAAY,EAAC;EAC9B,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,EAAE,WAAW,EAAC;EACnC,IAAI,IAAI,CAAC,SAAS,EAAE,EAAA,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,EAAE,WAAW,EAAC,EAAA;EACvD;AACD,IAAI,CAAC,gBAAgB,GAAG,UAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,SAAG,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,WAAW,CAAC,IAAA;AACtE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,iBAAiB,GAAG,OAAM;AACrD,IAAI,CAAC,aAAa,GAAG,UAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE;EACjC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,YAAY,EAAC;EAChC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,WAAW,EAAC;EAC9B;AACD,IAAI,CAAC,eAAe,GAAG,UAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE;EACnC,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,EAAE,YAAY,EAAC;EACtC,KAAW,kBAAI,IAAI,CAAC,KAAK,yBAAA,EAAE;IAAtBA,IAAI,EAAE;;IACT,IAAI,EAAE,CAAC,IAAI,EAAE,EAAA,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,YAAY,EAAC,EAAA;IACzC,KAAa,sBAAI,EAAE,CAAC,UAAU,+BAAA;MAAzB;MAAAA,IAAI,IAAI;;MACX,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,WAAW,EAAC;KAAA;GAC3B;EACF;AACD,IAAI,CAAC,UAAU,GAAG,UAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE;EAC9B,IAAI,IAAI,CAAC,IAAI,EAAE,EAAA,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,YAAY,EAAC,EAAA;EAC7C,KAAa,kBAAI,IAAI,CAAC,UAAU,yBAAA;IAA3B;IAAAA,IAAI,IAAI;;IACX,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,WAAW,EAAC;GAAA;EAC3B;AACD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,GAAG,UAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE;EACjF,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAA,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,YAAY,EAAC,EAAA;EACtD;AACD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa;EACtC,UAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,SAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,YAAY,CAAC,IAAA;AACrD,IAAI,CAAC,YAAY,GAAG,UAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE;EAChC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,WAAW,EAAC;EAC9B,IAAI,IAAI,CAAC,OAAO,EAAE,EAAA,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,EAAC,EAAA;EACrC,IAAI,IAAI,CAAC,SAAS,EAAE,EAAA,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,EAAE,WAAW,EAAC,EAAA;EACvD;AACD,IAAI,CAAC,WAAW,GAAG,UAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE;EAC/B,IAAI,IAAI,CAAC,KAAK,EAAE,EAAA,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,SAAS,EAAC,EAAA;EAC5C,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,WAAW,EAAC;EAC9B;AACD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,gBAAgB,GAAG,UAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE;EAC1D,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,YAAY,EAAC;EAC9B,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,WAAW,EAAC;EAC9B;AACD,IAAI,CAAC,YAAY,GAAG,UAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE;EAChC,IAAI,IAAI,CAAC,IAAI,EAAE,EAAA,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,SAAS,EAAC,EAAA;EAC1C,IAAI,IAAI,CAAC,IAAI,EAAE,EAAA,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,YAAY,EAAC,EAAA;EAC7C,IAAI,IAAI,CAAC,MAAM,EAAE,EAAA,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,YAAY,EAAC,EAAA;EACjD,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,WAAW,EAAC;EAC9B;AACD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,GAAG,UAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE;EACxD,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,SAAS,EAAC;EAC3B,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,YAAY,EAAC;EAC/B,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,WAAW,EAAC;EAC9B;AACD,IAAI,CAAC,OAAO,GAAG,UAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE;EAC3B,IAAI,IAAI,CAAC,IAAI,KAAK,qBAAqB,EAAE,EAAA,CAAC,CAAC,IAAI,EAAE,EAAE,EAAC,EAAA;OAC/C,EAAA,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,YAAY,EAAC,EAAA;EAC/B;AACD,IAAI,CAAC,iBAAiB,GAAG,OAAM;;AAE/B,IAAI,CAAC,mBAAmB,GAAG,UAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,SAAG,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,UAAU,CAAC,IAAA;AACnE,IAAI,CAAC,mBAAmB,GAAG,UAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE;EACvC,KAAa,kBAAI,IAAI,CAAC,YAAY,yBAAA;IAA7B;IAAAA,IAAI,IAAI;;IACX,CAAC,CAAC,IAAI,EAAE,EAAE,EAAC;GAAA;EACd;AACD,IAAI,CAAC,kBAAkB,GAAG,UAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE;EACtC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,SAAS,EAAC;EACzB,IAAI,IAAI,CAAC,IAAI,EAAE,EAAA,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,YAAY,EAAC,EAAA;EAC9C;;AAED,IAAI,CAAC,QAAQ,GAAG,UAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE;EAC5B,IAAI,IAAI,CAAC,EAAE,EAAE,EAAA,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,SAAS,EAAC,EAAA;EACtC,KAAc,kBAAI,IAAI,CAAC,MAAM,yBAAA;IAAxB;IAAAA,IAAI,KAAK;;IACZ,CAAC,CAAC,KAAK,EAAE,EAAE,EAAE,SAAS,EAAC;GAAA;EACzB,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,UAAU,GAAG,YAAY,GAAG,WAAW,EAAC;EAC/D;;AAED,IAAI,CAAC,OAAO,GAAG,UAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE;EAC3B,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY;IAC5B,EAAA,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,iBAAiB,EAAC,EAAA;OAC3B,IAAI,IAAI,CAAC,IAAI,KAAK,kBAAkB;IACvC,EAAA,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,eAAe,EAAC,EAAA;;IAE5B,EAAA,CAAC,CAAC,IAAI,EAAE,EAAE,EAAC,EAAA;EACd;AACD,IAAI,CAAC,eAAe,GAAG,OAAM;AAC7B,IAAI,CAAC,aAAa,GAAG,YAAW;AAChC,IAAI,CAAC,WAAW,GAAG,UAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,SAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,SAAS,CAAC,IAAA;AACnE,IAAI,CAAC,YAAY,GAAG,UAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE;EAChC,KAAY,kBAAI,IAAI,CAAC,QAAQ,yBAAA,EAAE;IAA1BA,IAAI,GAAG;;IACV,IAAI,GAAG,EAAE,EAAA,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,SAAS,EAAC,EAAA;GAC/B;EACF;AACD,IAAI,CAAC,aAAa,GAAG,UAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE;EACjC,KAAa,kBAAI,IAAI,CAAC,UAAU,yBAAA,EAAE;IAA7BA,IAAI,IAAI;;IACX,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE;MAC5B,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAA,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,YAAY,EAAC,EAAA;MAChD,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,SAAS,EAAC;KAC7B,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,EAAE;MACtC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAC;KAChC;GACF;EACF;;AAED,IAAI,CAAC,UAAU,GAAG,YAAW;AAC7B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,GAAG,OAAM;AAC7D,IAAI,CAAC,eAAe,GAAG,UAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE;EACnC,KAAY,kBAAI,IAAI,CAAC,QAAQ,yBAAA,EAAE;IAA1BA,IAAI,GAAG;;IACV,IAAI,GAAG,EAAE,EAAA,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,YAAY,EAAC,EAAA;GAClC;EACF;AACD,IAAI,CAAC,gBAAgB,GAAG,UAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE;EACpC,KAAa,kBAAI,IAAI,CAAC,UAAU,yBAAA;IAA3B;IAAAA,IAAI,IAAI;;IACX,CAAC,CAAC,IAAI,EAAE,EAAE,EAAC;GAAA;EACd;AACD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,oBAAmB;AACjF,IAAI,CAAC,kBAAkB,GAAG,UAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE;EACtC,KAAa,kBAAI,IAAI,CAAC,WAAW,yBAAA;IAA5B;IAAAA,IAAI,IAAI;;IACX,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,YAAY,EAAC;GAAA;EAC5B;AACD,IAAI,CAAC,eAAe,GAAG,UAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE;EACnC,KAAc,kBAAI,IAAI,CAAC,MAAM,yBAAA;IAAxB;IAAAA,IAAI,KAAK;;IACZ,CAAC,CAAC,KAAK,EAAE,EAAE,EAAC;GAAA;;EAEd,KAAa,sBAAI,IAAI,CAAC,WAAW,+BAAA;IAA5B;IAAAA,IAAI,IAAI;;IACX,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,YAAY,EAAC;GAAA;EAC5B;AACD,IAAI,CAAC,eAAe,GAAG,OAAM;AAC7B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,gBAAgB,GAAG,UAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE;EAC3D,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,YAAY,EAAC;EACnC;AACD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,GAAG,UAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE;EAC7D,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,YAAY,EAAC;EAC9B,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,YAAY,EAAC;EAChC;AACD,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,iBAAiB,GAAG,UAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE;EACjE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,SAAS,EAAC;EAC3B,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,YAAY,EAAC;EAChC;AACD,IAAI,CAAC,qBAAqB,GAAG,UAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE;EACzC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,YAAY,EAAC;EAC9B,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,EAAE,YAAY,EAAC;EACpC,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,EAAE,YAAY,EAAC;EACpC;AACD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,cAAc,GAAG,UAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE;EACvD,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,YAAY,EAAC;EAChC,IAAI,IAAI,CAAC,SAAS;IAChB,EAAA,KAAY,kBAAI,IAAI,CAAC,SAAS,yBAAA;MAAzB;QAAAA,IAAI,GAAG;;QACV,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,YAAY,EAAC;OAAA,EAAA;EAC7B;AACD,IAAI,CAAC,gBAAgB,GAAG,UAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE;EACpC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,YAAY,EAAC;EAChC,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAA,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,YAAY,EAAC,EAAA;EACtD;AACD,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,wBAAwB,GAAG,UAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE;EAC1E,IAAI,IAAI,CAAC,WAAW;IAClB,EAAA,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,KAAK,wBAAwB,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,GAAG,WAAW,GAAG,YAAY,EAAC,EAAA;EACrH,IAAI,IAAI,CAAC,MAAM,EAAE,EAAA,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,YAAY,EAAC,EAAA;EAClD;AACD,IAAI,CAAC,oBAAoB,GAAG,UAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE;EACxC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,YAAY,EAAC;EACjC;AACD,IAAI,CAAC,iBAAiB,GAAG,UAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE;EACrC,KAAa,kBAAI,IAAI,CAAC,UAAU,yBAAA;IAA3B;IAAAA,IAAI,IAAI;;IACX,CAAC,CAAC,IAAI,EAAE,EAAE,EAAC;GAAA;EACb,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,YAAY,EAAC;EACjC;AACD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,GAAG,OAAM;;AAE5H,IAAI,CAAC,wBAAwB,GAAG,UAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE;EAC5C,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,YAAY,EAAC;EAC7B,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,YAAY,EAAC;EAChC;AACD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,eAAe,GAAG,UAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,SAAG,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,CAAC,IAAA;AACpF,IAAI,CAAC,KAAK,GAAG,UAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE;EACzB,IAAI,IAAI,CAAC,EAAE,EAAE,EAAA,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,SAAS,EAAC,EAAA;EACtC,IAAI,IAAI,CAAC,UAAU,EAAE,EAAA,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,EAAE,YAAY,EAAC,EAAA;EACzD,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAC;EACjB;AACD,IAAI,CAAC,SAAS,GAAG,UAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE;EAC7B,KAAY,kBAAI,IAAI,CAAC,IAAI,yBAAA;IAApB;IAAAA,IAAI,GAAG;;IACV,CAAC,CAAC,GAAG,EAAE,EAAE,EAAC;GAAA;EACb;AACD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,QAAQ,GAAG,UAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE;EACpD,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAA,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,YAAY,EAAC,EAAA;EAChD,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,YAAY,EAAC;CAChC;;;;"}
\ No newline at end of file
diff --git a/node_modules/acorn/acorn/dist/acorn.js b/node_modules/acorn/acorn/dist/acorn.js
new file mode 100644
index 0000000..52644f2
--- /dev/null
+++ b/node_modules/acorn/acorn/dist/acorn.js
@@ -0,0 +1,4992 @@
+(function (global, factory) {
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
+ typeof define === 'function' && define.amd ? define(['exports'], factory) :
+ (global = global || self, factory(global.acorn = {}));
+}(this, function (exports) { 'use strict';
+
+ // Reserved word lists for various dialects of the language
+
+ var reservedWords = {
+ 3: "abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile",
+ 5: "class enum extends super const export import",
+ 6: "enum",
+ strict: "implements interface let package private protected public static yield",
+ strictBind: "eval arguments"
+ };
+
+ // And the keywords
+
+ var ecma5AndLessKeywords = "break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this";
+
+ var keywords = {
+ 5: ecma5AndLessKeywords,
+ "5module": ecma5AndLessKeywords + " export import",
+ 6: ecma5AndLessKeywords + " const class extends export import super"
+ };
+
+ var keywordRelationalOperator = /^in(stanceof)?$/;
+
+ // ## Character categories
+
+ // Big ugly regular expressions that match characters in the
+ // whitespace, identifier, and identifier-start categories. These
+ // are only applied when a character is found to actually have a
+ // code point above 128.
+ // Generated by `bin/generate-identifier-regex.js`.
+ var nonASCIIidentifierStartChars = "\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u05d0-\u05ea\u05ef-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u0860-\u086a\u08a0-\u08b4\u08b6-\u08bd\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u09fc\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0af9\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58-\u0c5a\u0c60\u0c61\u0c80\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d54-\u0d56\u0d5f-\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1878\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1c80-\u1c88\u1c90-\u1cba\u1cbd-\u1cbf\u1ce9-\u1cec\u1cee-\u1cf3\u1cf5\u1cf6\u1cfa\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309b-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fef\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua7bf\ua7c2-\ua7c6\ua7f7-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua8fd\ua8fe\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab67\uab70-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc";
+ var nonASCIIidentifierChars = "\u200c\u200d\xb7\u0300-\u036f\u0387\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u0669\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u06f0-\u06f9\u0711\u0730-\u074a\u07a6-\u07b0\u07c0-\u07c9\u07eb-\u07f3\u07fd\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u08d3-\u08e1\u08e3-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09cb-\u09cd\u09d7\u09e2\u09e3\u09e6-\u09ef\u09fe\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2\u0ae3\u0ae6-\u0aef\u0afa-\u0aff\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c00-\u0c04\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c66-\u0c6f\u0c81-\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0ce6-\u0cef\u0d00-\u0d03\u0d3b\u0d3c\u0d3e-\u0d44\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0d62\u0d63\u0d66-\u0d6f\u0d82\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2\u0df3\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0e50-\u0e59\u0eb1\u0eb4-\u0ebc\u0ec8-\u0ecd\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102b-\u103e\u1040-\u1049\u1056-\u1059\u105e-\u1060\u1062-\u1064\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u1369-\u1371\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b4-\u17d3\u17dd\u17e0-\u17e9\u180b-\u180d\u1810-\u1819\u18a9\u1920-\u192b\u1930-\u193b\u1946-\u194f\u19d0-\u19da\u1a17-\u1a1b\u1a55-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1ab0-\u1abd\u1b00-\u1b04\u1b34-\u1b44\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1b82\u1ba1-\u1bad\u1bb0-\u1bb9\u1be6-\u1bf3\u1c24-\u1c37\u1c40-\u1c49\u1c50-\u1c59\u1cd0-\u1cd2\u1cd4-\u1ce8\u1ced\u1cf4\u1cf7-\u1cf9\u1dc0-\u1df9\u1dfb-\u1dff\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua620-\ua629\ua66f\ua674-\ua67d\ua69e\ua69f\ua6f0\ua6f1\ua802\ua806\ua80b\ua823-\ua827\ua880\ua881\ua8b4-\ua8c5\ua8d0-\ua8d9\ua8e0-\ua8f1\ua8ff-\ua909\ua926-\ua92d\ua947-\ua953\ua980-\ua983\ua9b3-\ua9c0\ua9d0-\ua9d9\ua9e5\ua9f0-\ua9f9\uaa29-\uaa36\uaa43\uaa4c\uaa4d\uaa50-\uaa59\uaa7b-\uaa7d\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uaaeb-\uaaef\uaaf5\uaaf6\uabe3-\uabea\uabec\uabed\uabf0-\uabf9\ufb1e\ufe00-\ufe0f\ufe20-\ufe2f\ufe33\ufe34\ufe4d-\ufe4f\uff10-\uff19\uff3f";
+
+ var nonASCIIidentifierStart = new RegExp("[" + nonASCIIidentifierStartChars + "]");
+ var nonASCIIidentifier = new RegExp("[" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + "]");
+
+ nonASCIIidentifierStartChars = nonASCIIidentifierChars = null;
+
+ // These are a run-length and offset encoded representation of the
+ // >0xffff code points that are a valid part of identifiers. The
+ // offset starts at 0x10000, and each pair of numbers represents an
+ // offset to the next range, and then a size of the range. They were
+ // generated by bin/generate-identifier-regex.js
+
+ // eslint-disable-next-line comma-spacing
+ var astralIdentifierStartCodes = [0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,157,310,10,21,11,7,153,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,477,28,11,0,9,21,155,22,13,52,76,44,33,24,27,35,30,0,12,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,85,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,159,52,19,3,21,0,33,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,230,43,117,63,32,0,161,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,35,56,264,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,270,921,103,110,18,195,2749,1070,4050,582,8634,568,8,30,114,29,19,47,17,3,32,20,6,18,689,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,754,9486,286,50,2,18,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,2357,44,11,6,17,0,370,43,1301,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42710,42,4148,12,221,3,5761,15,7472,3104,541];
+
+ // eslint-disable-next-line comma-spacing
+ var astralIdentifierCodes = [509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,525,10,176,2,54,14,32,9,16,3,46,10,54,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,4,9,83,11,7,0,161,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,243,14,166,9,232,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,406,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,19306,9,135,4,60,6,26,9,1014,0,2,54,8,3,19723,1,5319,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,262,6,10,9,419,13,1495,6,110,6,6,9,792487,239];
+
+ // This has a complexity linear to the value of the code. The
+ // assumption is that looking up astral identifier characters is
+ // rare.
+ function isInAstralSet(code, set) {
+ var pos = 0x10000;
+ for (var i = 0; i < set.length; i += 2) {
+ pos += set[i];
+ if (pos > code) { return false }
+ pos += set[i + 1];
+ if (pos >= code) { return true }
+ }
+ }
+
+ // Test whether a given character code starts an identifier.
+
+ function isIdentifierStart(code, astral) {
+ if (code < 65) { return code === 36 }
+ if (code < 91) { return true }
+ if (code < 97) { return code === 95 }
+ if (code < 123) { return true }
+ if (code <= 0xffff) { return code >= 0xaa && nonASCIIidentifierStart.test(String.fromCharCode(code)) }
+ if (astral === false) { return false }
+ return isInAstralSet(code, astralIdentifierStartCodes)
+ }
+
+ // Test whether a given character is part of an identifier.
+
+ function isIdentifierChar(code, astral) {
+ if (code < 48) { return code === 36 }
+ if (code < 58) { return true }
+ if (code < 65) { return false }
+ if (code < 91) { return true }
+ if (code < 97) { return code === 95 }
+ if (code < 123) { return true }
+ if (code <= 0xffff) { return code >= 0xaa && nonASCIIidentifier.test(String.fromCharCode(code)) }
+ if (astral === false) { return false }
+ return isInAstralSet(code, astralIdentifierStartCodes) || isInAstralSet(code, astralIdentifierCodes)
+ }
+
+ // ## Token types
+
+ // The assignment of fine-grained, information-carrying type objects
+ // allows the tokenizer to store the information it has about a
+ // token in a way that is very cheap for the parser to look up.
+
+ // All token type variables start with an underscore, to make them
+ // easy to recognize.
+
+ // The `beforeExpr` property is used to disambiguate between regular
+ // expressions and divisions. It is set on all token types that can
+ // be followed by an expression (thus, a slash after them would be a
+ // regular expression).
+ //
+ // The `startsExpr` property is used to check if the token ends a
+ // `yield` expression. It is set on all token types that either can
+ // directly start an expression (like a quotation mark) or can
+ // continue an expression (like the body of a string).
+ //
+ // `isLoop` marks a keyword as starting a loop, which is important
+ // to know when parsing a label, in order to allow or disallow
+ // continue jumps to that label.
+
+ var TokenType = function TokenType(label, conf) {
+ if ( conf === void 0 ) conf = {};
+
+ this.label = label;
+ this.keyword = conf.keyword;
+ this.beforeExpr = !!conf.beforeExpr;
+ this.startsExpr = !!conf.startsExpr;
+ this.isLoop = !!conf.isLoop;
+ this.isAssign = !!conf.isAssign;
+ this.prefix = !!conf.prefix;
+ this.postfix = !!conf.postfix;
+ this.binop = conf.binop || null;
+ this.updateContext = null;
+ };
+
+ function binop(name, prec) {
+ return new TokenType(name, {beforeExpr: true, binop: prec})
+ }
+ var beforeExpr = {beforeExpr: true}, startsExpr = {startsExpr: true};
+
+ // Map keyword names to token types.
+
+ var keywords$1 = {};
+
+ // Succinct definitions of keyword token types
+ function kw(name, options) {
+ if ( options === void 0 ) options = {};
+
+ options.keyword = name;
+ return keywords$1[name] = new TokenType(name, options)
+ }
+
+ var types = {
+ num: new TokenType("num", startsExpr),
+ regexp: new TokenType("regexp", startsExpr),
+ string: new TokenType("string", startsExpr),
+ name: new TokenType("name", startsExpr),
+ eof: new TokenType("eof"),
+
+ // Punctuation token types.
+ bracketL: new TokenType("[", {beforeExpr: true, startsExpr: true}),
+ bracketR: new TokenType("]"),
+ braceL: new TokenType("{", {beforeExpr: true, startsExpr: true}),
+ braceR: new TokenType("}"),
+ parenL: new TokenType("(", {beforeExpr: true, startsExpr: true}),
+ parenR: new TokenType(")"),
+ comma: new TokenType(",", beforeExpr),
+ semi: new TokenType(";", beforeExpr),
+ colon: new TokenType(":", beforeExpr),
+ dot: new TokenType("."),
+ question: new TokenType("?", beforeExpr),
+ arrow: new TokenType("=>", beforeExpr),
+ template: new TokenType("template"),
+ invalidTemplate: new TokenType("invalidTemplate"),
+ ellipsis: new TokenType("...", beforeExpr),
+ backQuote: new TokenType("`", startsExpr),
+ dollarBraceL: new TokenType("${", {beforeExpr: true, startsExpr: true}),
+
+ // Operators. These carry several kinds of properties to help the
+ // parser use them properly (the presence of these properties is
+ // what categorizes them as operators).
+ //
+ // `binop`, when present, specifies that this operator is a binary
+ // operator, and will refer to its precedence.
+ //
+ // `prefix` and `postfix` mark the operator as a prefix or postfix
+ // unary operator.
+ //
+ // `isAssign` marks all of `=`, `+=`, `-=` etcetera, which act as
+ // binary operators with a very low precedence, that should result
+ // in AssignmentExpression nodes.
+
+ eq: new TokenType("=", {beforeExpr: true, isAssign: true}),
+ assign: new TokenType("_=", {beforeExpr: true, isAssign: true}),
+ incDec: new TokenType("++/--", {prefix: true, postfix: true, startsExpr: true}),
+ prefix: new TokenType("!/~", {beforeExpr: true, prefix: true, startsExpr: true}),
+ logicalOR: binop("||", 1),
+ logicalAND: binop("&&", 2),
+ bitwiseOR: binop("|", 3),
+ bitwiseXOR: binop("^", 4),
+ bitwiseAND: binop("&", 5),
+ equality: binop("==/!=/===/!==", 6),
+ relational: binop(">/<=/>=", 7),
+ bitShift: binop("<>>/>>>", 8),
+ plusMin: new TokenType("+/-", {beforeExpr: true, binop: 9, prefix: true, startsExpr: true}),
+ modulo: binop("%", 10),
+ star: binop("*", 10),
+ slash: binop("/", 10),
+ starstar: new TokenType("**", {beforeExpr: true}),
+
+ // Keyword token types.
+ _break: kw("break"),
+ _case: kw("case", beforeExpr),
+ _catch: kw("catch"),
+ _continue: kw("continue"),
+ _debugger: kw("debugger"),
+ _default: kw("default", beforeExpr),
+ _do: kw("do", {isLoop: true, beforeExpr: true}),
+ _else: kw("else", beforeExpr),
+ _finally: kw("finally"),
+ _for: kw("for", {isLoop: true}),
+ _function: kw("function", startsExpr),
+ _if: kw("if"),
+ _return: kw("return", beforeExpr),
+ _switch: kw("switch"),
+ _throw: kw("throw", beforeExpr),
+ _try: kw("try"),
+ _var: kw("var"),
+ _const: kw("const"),
+ _while: kw("while", {isLoop: true}),
+ _with: kw("with"),
+ _new: kw("new", {beforeExpr: true, startsExpr: true}),
+ _this: kw("this", startsExpr),
+ _super: kw("super", startsExpr),
+ _class: kw("class", startsExpr),
+ _extends: kw("extends", beforeExpr),
+ _export: kw("export"),
+ _import: kw("import", startsExpr),
+ _null: kw("null", startsExpr),
+ _true: kw("true", startsExpr),
+ _false: kw("false", startsExpr),
+ _in: kw("in", {beforeExpr: true, binop: 7}),
+ _instanceof: kw("instanceof", {beforeExpr: true, binop: 7}),
+ _typeof: kw("typeof", {beforeExpr: true, prefix: true, startsExpr: true}),
+ _void: kw("void", {beforeExpr: true, prefix: true, startsExpr: true}),
+ _delete: kw("delete", {beforeExpr: true, prefix: true, startsExpr: true})
+ };
+
+ // Matches a whole line break (where CRLF is considered a single
+ // line break). Used to count lines.
+
+ var lineBreak = /\r\n?|\n|\u2028|\u2029/;
+ var lineBreakG = new RegExp(lineBreak.source, "g");
+
+ function isNewLine(code, ecma2019String) {
+ return code === 10 || code === 13 || (!ecma2019String && (code === 0x2028 || code === 0x2029))
+ }
+
+ var nonASCIIwhitespace = /[\u1680\u2000-\u200a\u202f\u205f\u3000\ufeff]/;
+
+ var skipWhiteSpace = /(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g;
+
+ var ref = Object.prototype;
+ var hasOwnProperty = ref.hasOwnProperty;
+ var toString = ref.toString;
+
+ // Checks if an object has a property.
+
+ function has(obj, propName) {
+ return hasOwnProperty.call(obj, propName)
+ }
+
+ var isArray = Array.isArray || (function (obj) { return (
+ toString.call(obj) === "[object Array]"
+ ); });
+
+ function wordsRegexp(words) {
+ return new RegExp("^(?:" + words.replace(/ /g, "|") + ")$")
+ }
+
+ // These are used when `options.locations` is on, for the
+ // `startLoc` and `endLoc` properties.
+
+ var Position = function Position(line, col) {
+ this.line = line;
+ this.column = col;
+ };
+
+ Position.prototype.offset = function offset (n) {
+ return new Position(this.line, this.column + n)
+ };
+
+ var SourceLocation = function SourceLocation(p, start, end) {
+ this.start = start;
+ this.end = end;
+ if (p.sourceFile !== null) { this.source = p.sourceFile; }
+ };
+
+ // The `getLineInfo` function is mostly useful when the
+ // `locations` option is off (for performance reasons) and you
+ // want to find the line/column position for a given character
+ // offset. `input` should be the code string that the offset refers
+ // into.
+
+ function getLineInfo(input, offset) {
+ for (var line = 1, cur = 0;;) {
+ lineBreakG.lastIndex = cur;
+ var match = lineBreakG.exec(input);
+ if (match && match.index < offset) {
+ ++line;
+ cur = match.index + match[0].length;
+ } else {
+ return new Position(line, offset - cur)
+ }
+ }
+ }
+
+ // A second optional argument can be given to further configure
+ // the parser process. These options are recognized:
+
+ var defaultOptions = {
+ // `ecmaVersion` indicates the ECMAScript version to parse. Must be
+ // either 3, 5, 6 (2015), 7 (2016), 8 (2017), 9 (2018), or 10
+ // (2019). This influences support for strict mode, the set of
+ // reserved words, and support for new syntax features. The default
+ // is 9.
+ ecmaVersion: 9,
+ // `sourceType` indicates the mode the code should be parsed in.
+ // Can be either `"script"` or `"module"`. This influences global
+ // strict mode and parsing of `import` and `export` declarations.
+ sourceType: "script",
+ // `onInsertedSemicolon` can be a callback that will be called
+ // when a semicolon is automatically inserted. It will be passed
+ // the position of the comma as an offset, and if `locations` is
+ // enabled, it is given the location as a `{line, column}` object
+ // as second argument.
+ onInsertedSemicolon: null,
+ // `onTrailingComma` is similar to `onInsertedSemicolon`, but for
+ // trailing commas.
+ onTrailingComma: null,
+ // By default, reserved words are only enforced if ecmaVersion >= 5.
+ // Set `allowReserved` to a boolean value to explicitly turn this on
+ // an off. When this option has the value "never", reserved words
+ // and keywords can also not be used as property names.
+ allowReserved: null,
+ // When enabled, a return at the top level is not considered an
+ // error.
+ allowReturnOutsideFunction: false,
+ // When enabled, import/export statements are not constrained to
+ // appearing at the top of the program.
+ allowImportExportEverywhere: false,
+ // When enabled, await identifiers are allowed to appear at the top-level scope,
+ // but they are still not allowed in non-async functions.
+ allowAwaitOutsideFunction: false,
+ // When enabled, hashbang directive in the beginning of file
+ // is allowed and treated as a line comment.
+ allowHashBang: false,
+ // When `locations` is on, `loc` properties holding objects with
+ // `start` and `end` properties in `{line, column}` form (with
+ // line being 1-based and column 0-based) will be attached to the
+ // nodes.
+ locations: false,
+ // A function can be passed as `onToken` option, which will
+ // cause Acorn to call that function with object in the same
+ // format as tokens returned from `tokenizer().getToken()`. Note
+ // that you are not allowed to call the parser from the
+ // callback—that will corrupt its internal state.
+ onToken: null,
+ // A function can be passed as `onComment` option, which will
+ // cause Acorn to call that function with `(block, text, start,
+ // end)` parameters whenever a comment is skipped. `block` is a
+ // boolean indicating whether this is a block (`/* */`) comment,
+ // `text` is the content of the comment, and `start` and `end` are
+ // character offsets that denote the start and end of the comment.
+ // When the `locations` option is on, two more parameters are
+ // passed, the full `{line, column}` locations of the start and
+ // end of the comments. Note that you are not allowed to call the
+ // parser from the callback—that will corrupt its internal state.
+ onComment: null,
+ // Nodes have their start and end characters offsets recorded in
+ // `start` and `end` properties (directly on the node, rather than
+ // the `loc` object, which holds line/column data. To also add a
+ // [semi-standardized][range] `range` property holding a `[start,
+ // end]` array with the same numbers, set the `ranges` option to
+ // `true`.
+ //
+ // [range]: https://bugzilla.mozilla.org/show_bug.cgi?id=745678
+ ranges: false,
+ // It is possible to parse multiple files into a single AST by
+ // passing the tree produced by parsing the first file as
+ // `program` option in subsequent parses. This will add the
+ // toplevel forms of the parsed file to the `Program` (top) node
+ // of an existing parse tree.
+ program: null,
+ // When `locations` is on, you can pass this to record the source
+ // file in every node's `loc` object.
+ sourceFile: null,
+ // This value, if given, is stored in every node, whether
+ // `locations` is on or off.
+ directSourceFile: null,
+ // When enabled, parenthesized expressions are represented by
+ // (non-standard) ParenthesizedExpression nodes
+ preserveParens: false
+ };
+
+ // Interpret and default an options object
+
+ function getOptions(opts) {
+ var options = {};
+
+ for (var opt in defaultOptions)
+ { options[opt] = opts && has(opts, opt) ? opts[opt] : defaultOptions[opt]; }
+
+ if (options.ecmaVersion >= 2015)
+ { options.ecmaVersion -= 2009; }
+
+ if (options.allowReserved == null)
+ { options.allowReserved = options.ecmaVersion < 5; }
+
+ if (isArray(options.onToken)) {
+ var tokens = options.onToken;
+ options.onToken = function (token) { return tokens.push(token); };
+ }
+ if (isArray(options.onComment))
+ { options.onComment = pushComment(options, options.onComment); }
+
+ return options
+ }
+
+ function pushComment(options, array) {
+ return function(block, text, start, end, startLoc, endLoc) {
+ var comment = {
+ type: block ? "Block" : "Line",
+ value: text,
+ start: start,
+ end: end
+ };
+ if (options.locations)
+ { comment.loc = new SourceLocation(this, startLoc, endLoc); }
+ if (options.ranges)
+ { comment.range = [start, end]; }
+ array.push(comment);
+ }
+ }
+
+ // Each scope gets a bitset that may contain these flags
+ var
+ SCOPE_TOP = 1,
+ SCOPE_FUNCTION = 2,
+ SCOPE_VAR = SCOPE_TOP | SCOPE_FUNCTION,
+ SCOPE_ASYNC = 4,
+ SCOPE_GENERATOR = 8,
+ SCOPE_ARROW = 16,
+ SCOPE_SIMPLE_CATCH = 32,
+ SCOPE_SUPER = 64,
+ SCOPE_DIRECT_SUPER = 128;
+
+ function functionFlags(async, generator) {
+ return SCOPE_FUNCTION | (async ? SCOPE_ASYNC : 0) | (generator ? SCOPE_GENERATOR : 0)
+ }
+
+ // Used in checkLVal and declareName to determine the type of a binding
+ var
+ BIND_NONE = 0, // Not a binding
+ BIND_VAR = 1, // Var-style binding
+ BIND_LEXICAL = 2, // Let- or const-style binding
+ BIND_FUNCTION = 3, // Function declaration
+ BIND_SIMPLE_CATCH = 4, // Simple (identifier pattern) catch binding
+ BIND_OUTSIDE = 5; // Special case for function names as bound inside the function
+
+ var Parser = function Parser(options, input, startPos) {
+ this.options = options = getOptions(options);
+ this.sourceFile = options.sourceFile;
+ this.keywords = wordsRegexp(keywords[options.ecmaVersion >= 6 ? 6 : options.sourceType === "module" ? "5module" : 5]);
+ var reserved = "";
+ if (options.allowReserved !== true) {
+ for (var v = options.ecmaVersion;; v--)
+ { if (reserved = reservedWords[v]) { break } }
+ if (options.sourceType === "module") { reserved += " await"; }
+ }
+ this.reservedWords = wordsRegexp(reserved);
+ var reservedStrict = (reserved ? reserved + " " : "") + reservedWords.strict;
+ this.reservedWordsStrict = wordsRegexp(reservedStrict);
+ this.reservedWordsStrictBind = wordsRegexp(reservedStrict + " " + reservedWords.strictBind);
+ this.input = String(input);
+
+ // Used to signal to callers of `readWord1` whether the word
+ // contained any escape sequences. This is needed because words with
+ // escape sequences must not be interpreted as keywords.
+ this.containsEsc = false;
+
+ // Set up token state
+
+ // The current position of the tokenizer in the input.
+ if (startPos) {
+ this.pos = startPos;
+ this.lineStart = this.input.lastIndexOf("\n", startPos - 1) + 1;
+ this.curLine = this.input.slice(0, this.lineStart).split(lineBreak).length;
+ } else {
+ this.pos = this.lineStart = 0;
+ this.curLine = 1;
+ }
+
+ // Properties of the current token:
+ // Its type
+ this.type = types.eof;
+ // For tokens that include more information than their type, the value
+ this.value = null;
+ // Its start and end offset
+ this.start = this.end = this.pos;
+ // And, if locations are used, the {line, column} object
+ // corresponding to those offsets
+ this.startLoc = this.endLoc = this.curPosition();
+
+ // Position information for the previous token
+ this.lastTokEndLoc = this.lastTokStartLoc = null;
+ this.lastTokStart = this.lastTokEnd = this.pos;
+
+ // The context stack is used to superficially track syntactic
+ // context to predict whether a regular expression is allowed in a
+ // given position.
+ this.context = this.initialContext();
+ this.exprAllowed = true;
+
+ // Figure out if it's a module code.
+ this.inModule = options.sourceType === "module";
+ this.strict = this.inModule || this.strictDirective(this.pos);
+
+ // Used to signify the start of a potential arrow function
+ this.potentialArrowAt = -1;
+
+ // Positions to delayed-check that yield/await does not exist in default parameters.
+ this.yieldPos = this.awaitPos = this.awaitIdentPos = 0;
+ // Labels in scope.
+ this.labels = [];
+ // Thus-far undefined exports.
+ this.undefinedExports = {};
+
+ // If enabled, skip leading hashbang line.
+ if (this.pos === 0 && options.allowHashBang && this.input.slice(0, 2) === "#!")
+ { this.skipLineComment(2); }
+
+ // Scope tracking for duplicate variable names (see scope.js)
+ this.scopeStack = [];
+ this.enterScope(SCOPE_TOP);
+
+ // For RegExp validation
+ this.regexpState = null;
+ };
+
+ var prototypeAccessors = { inFunction: { configurable: true },inGenerator: { configurable: true },inAsync: { configurable: true },allowSuper: { configurable: true },allowDirectSuper: { configurable: true },treatFunctionsAsVar: { configurable: true } };
+
+ Parser.prototype.parse = function parse () {
+ var node = this.options.program || this.startNode();
+ this.nextToken();
+ return this.parseTopLevel(node)
+ };
+
+ prototypeAccessors.inFunction.get = function () { return (this.currentVarScope().flags & SCOPE_FUNCTION) > 0 };
+ prototypeAccessors.inGenerator.get = function () { return (this.currentVarScope().flags & SCOPE_GENERATOR) > 0 };
+ prototypeAccessors.inAsync.get = function () { return (this.currentVarScope().flags & SCOPE_ASYNC) > 0 };
+ prototypeAccessors.allowSuper.get = function () { return (this.currentThisScope().flags & SCOPE_SUPER) > 0 };
+ prototypeAccessors.allowDirectSuper.get = function () { return (this.currentThisScope().flags & SCOPE_DIRECT_SUPER) > 0 };
+ prototypeAccessors.treatFunctionsAsVar.get = function () { return this.treatFunctionsAsVarInScope(this.currentScope()) };
+
+ // Switch to a getter for 7.0.0.
+ Parser.prototype.inNonArrowFunction = function inNonArrowFunction () { return (this.currentThisScope().flags & SCOPE_FUNCTION) > 0 };
+
+ Parser.extend = function extend () {
+ var plugins = [], len = arguments.length;
+ while ( len-- ) plugins[ len ] = arguments[ len ];
+
+ var cls = this;
+ for (var i = 0; i < plugins.length; i++) { cls = plugins[i](cls); }
+ return cls
+ };
+
+ Parser.parse = function parse (input, options) {
+ return new this(options, input).parse()
+ };
+
+ Parser.parseExpressionAt = function parseExpressionAt (input, pos, options) {
+ var parser = new this(options, input, pos);
+ parser.nextToken();
+ return parser.parseExpression()
+ };
+
+ Parser.tokenizer = function tokenizer (input, options) {
+ return new this(options, input)
+ };
+
+ Object.defineProperties( Parser.prototype, prototypeAccessors );
+
+ var pp = Parser.prototype;
+
+ // ## Parser utilities
+
+ var literal = /^(?:'((?:\\.|[^'])*?)'|"((?:\\.|[^"])*?)")/;
+ pp.strictDirective = function(start) {
+ for (;;) {
+ // Try to find string literal.
+ skipWhiteSpace.lastIndex = start;
+ start += skipWhiteSpace.exec(this.input)[0].length;
+ var match = literal.exec(this.input.slice(start));
+ if (!match) { return false }
+ if ((match[1] || match[2]) === "use strict") { return true }
+ start += match[0].length;
+
+ // Skip semicolon, if any.
+ skipWhiteSpace.lastIndex = start;
+ start += skipWhiteSpace.exec(this.input)[0].length;
+ if (this.input[start] === ";")
+ { start++; }
+ }
+ };
+
+ // Predicate that tests whether the next token is of the given
+ // type, and if yes, consumes it as a side effect.
+
+ pp.eat = function(type) {
+ if (this.type === type) {
+ this.next();
+ return true
+ } else {
+ return false
+ }
+ };
+
+ // Tests whether parsed token is a contextual keyword.
+
+ pp.isContextual = function(name) {
+ return this.type === types.name && this.value === name && !this.containsEsc
+ };
+
+ // Consumes contextual keyword if possible.
+
+ pp.eatContextual = function(name) {
+ if (!this.isContextual(name)) { return false }
+ this.next();
+ return true
+ };
+
+ // Asserts that following token is given contextual keyword.
+
+ pp.expectContextual = function(name) {
+ if (!this.eatContextual(name)) { this.unexpected(); }
+ };
+
+ // Test whether a semicolon can be inserted at the current position.
+
+ pp.canInsertSemicolon = function() {
+ return this.type === types.eof ||
+ this.type === types.braceR ||
+ lineBreak.test(this.input.slice(this.lastTokEnd, this.start))
+ };
+
+ pp.insertSemicolon = function() {
+ if (this.canInsertSemicolon()) {
+ if (this.options.onInsertedSemicolon)
+ { this.options.onInsertedSemicolon(this.lastTokEnd, this.lastTokEndLoc); }
+ return true
+ }
+ };
+
+ // Consume a semicolon, or, failing that, see if we are allowed to
+ // pretend that there is a semicolon at this position.
+
+ pp.semicolon = function() {
+ if (!this.eat(types.semi) && !this.insertSemicolon()) { this.unexpected(); }
+ };
+
+ pp.afterTrailingComma = function(tokType, notNext) {
+ if (this.type === tokType) {
+ if (this.options.onTrailingComma)
+ { this.options.onTrailingComma(this.lastTokStart, this.lastTokStartLoc); }
+ if (!notNext)
+ { this.next(); }
+ return true
+ }
+ };
+
+ // Expect a token of a given type. If found, consume it, otherwise,
+ // raise an unexpected token error.
+
+ pp.expect = function(type) {
+ this.eat(type) || this.unexpected();
+ };
+
+ // Raise an unexpected token error.
+
+ pp.unexpected = function(pos) {
+ this.raise(pos != null ? pos : this.start, "Unexpected token");
+ };
+
+ function DestructuringErrors() {
+ this.shorthandAssign =
+ this.trailingComma =
+ this.parenthesizedAssign =
+ this.parenthesizedBind =
+ this.doubleProto =
+ -1;
+ }
+
+ pp.checkPatternErrors = function(refDestructuringErrors, isAssign) {
+ if (!refDestructuringErrors) { return }
+ if (refDestructuringErrors.trailingComma > -1)
+ { this.raiseRecoverable(refDestructuringErrors.trailingComma, "Comma is not permitted after the rest element"); }
+ var parens = isAssign ? refDestructuringErrors.parenthesizedAssign : refDestructuringErrors.parenthesizedBind;
+ if (parens > -1) { this.raiseRecoverable(parens, "Parenthesized pattern"); }
+ };
+
+ pp.checkExpressionErrors = function(refDestructuringErrors, andThrow) {
+ if (!refDestructuringErrors) { return false }
+ var shorthandAssign = refDestructuringErrors.shorthandAssign;
+ var doubleProto = refDestructuringErrors.doubleProto;
+ if (!andThrow) { return shorthandAssign >= 0 || doubleProto >= 0 }
+ if (shorthandAssign >= 0)
+ { this.raise(shorthandAssign, "Shorthand property assignments are valid only in destructuring patterns"); }
+ if (doubleProto >= 0)
+ { this.raiseRecoverable(doubleProto, "Redefinition of __proto__ property"); }
+ };
+
+ pp.checkYieldAwaitInDefaultParams = function() {
+ if (this.yieldPos && (!this.awaitPos || this.yieldPos < this.awaitPos))
+ { this.raise(this.yieldPos, "Yield expression cannot be a default value"); }
+ if (this.awaitPos)
+ { this.raise(this.awaitPos, "Await expression cannot be a default value"); }
+ };
+
+ pp.isSimpleAssignTarget = function(expr) {
+ if (expr.type === "ParenthesizedExpression")
+ { return this.isSimpleAssignTarget(expr.expression) }
+ return expr.type === "Identifier" || expr.type === "MemberExpression"
+ };
+
+ var pp$1 = Parser.prototype;
+
+ // ### Statement parsing
+
+ // Parse a program. Initializes the parser, reads any number of
+ // statements, and wraps them in a Program node. Optionally takes a
+ // `program` argument. If present, the statements will be appended
+ // to its body instead of creating a new node.
+
+ pp$1.parseTopLevel = function(node) {
+ var exports = {};
+ if (!node.body) { node.body = []; }
+ while (this.type !== types.eof) {
+ var stmt = this.parseStatement(null, true, exports);
+ node.body.push(stmt);
+ }
+ if (this.inModule)
+ { for (var i = 0, list = Object.keys(this.undefinedExports); i < list.length; i += 1)
+ {
+ var name = list[i];
+
+ this.raiseRecoverable(this.undefinedExports[name].start, ("Export '" + name + "' is not defined"));
+ } }
+ this.adaptDirectivePrologue(node.body);
+ this.next();
+ node.sourceType = this.options.sourceType;
+ return this.finishNode(node, "Program")
+ };
+
+ var loopLabel = {kind: "loop"}, switchLabel = {kind: "switch"};
+
+ pp$1.isLet = function(context) {
+ if (this.options.ecmaVersion < 6 || !this.isContextual("let")) { return false }
+ skipWhiteSpace.lastIndex = this.pos;
+ var skip = skipWhiteSpace.exec(this.input);
+ var next = this.pos + skip[0].length, nextCh = this.input.charCodeAt(next);
+ // For ambiguous cases, determine if a LexicalDeclaration (or only a
+ // Statement) is allowed here. If context is not empty then only a Statement
+ // is allowed. However, `let [` is an explicit negative lookahead for
+ // ExpressionStatement, so special-case it first.
+ if (nextCh === 91) { return true } // '['
+ if (context) { return false }
+
+ if (nextCh === 123) { return true } // '{'
+ if (isIdentifierStart(nextCh, true)) {
+ var pos = next + 1;
+ while (isIdentifierChar(this.input.charCodeAt(pos), true)) { ++pos; }
+ var ident = this.input.slice(next, pos);
+ if (!keywordRelationalOperator.test(ident)) { return true }
+ }
+ return false
+ };
+
+ // check 'async [no LineTerminator here] function'
+ // - 'async /*foo*/ function' is OK.
+ // - 'async /*\n*/ function' is invalid.
+ pp$1.isAsyncFunction = function() {
+ if (this.options.ecmaVersion < 8 || !this.isContextual("async"))
+ { return false }
+
+ skipWhiteSpace.lastIndex = this.pos;
+ var skip = skipWhiteSpace.exec(this.input);
+ var next = this.pos + skip[0].length;
+ return !lineBreak.test(this.input.slice(this.pos, next)) &&
+ this.input.slice(next, next + 8) === "function" &&
+ (next + 8 === this.input.length || !isIdentifierChar(this.input.charAt(next + 8)))
+ };
+
+ // Parse a single statement.
+ //
+ // If expecting a statement and finding a slash operator, parse a
+ // regular expression literal. This is to handle cases like
+ // `if (foo) /blah/.exec(foo)`, where looking at the previous token
+ // does not help.
+
+ pp$1.parseStatement = function(context, topLevel, exports) {
+ var starttype = this.type, node = this.startNode(), kind;
+
+ if (this.isLet(context)) {
+ starttype = types._var;
+ kind = "let";
+ }
+
+ // Most types of statements are recognized by the keyword they
+ // start with. Many are trivial to parse, some require a bit of
+ // complexity.
+
+ switch (starttype) {
+ case types._break: case types._continue: return this.parseBreakContinueStatement(node, starttype.keyword)
+ case types._debugger: return this.parseDebuggerStatement(node)
+ case types._do: return this.parseDoStatement(node)
+ case types._for: return this.parseForStatement(node)
+ case types._function:
+ // Function as sole body of either an if statement or a labeled statement
+ // works, but not when it is part of a labeled statement that is the sole
+ // body of an if statement.
+ if ((context && (this.strict || context !== "if" && context !== "label")) && this.options.ecmaVersion >= 6) { this.unexpected(); }
+ return this.parseFunctionStatement(node, false, !context)
+ case types._class:
+ if (context) { this.unexpected(); }
+ return this.parseClass(node, true)
+ case types._if: return this.parseIfStatement(node)
+ case types._return: return this.parseReturnStatement(node)
+ case types._switch: return this.parseSwitchStatement(node)
+ case types._throw: return this.parseThrowStatement(node)
+ case types._try: return this.parseTryStatement(node)
+ case types._const: case types._var:
+ kind = kind || this.value;
+ if (context && kind !== "var") { this.unexpected(); }
+ return this.parseVarStatement(node, kind)
+ case types._while: return this.parseWhileStatement(node)
+ case types._with: return this.parseWithStatement(node)
+ case types.braceL: return this.parseBlock(true, node)
+ case types.semi: return this.parseEmptyStatement(node)
+ case types._export:
+ case types._import:
+ if (this.options.ecmaVersion > 10 && starttype === types._import) {
+ skipWhiteSpace.lastIndex = this.pos;
+ var skip = skipWhiteSpace.exec(this.input);
+ var next = this.pos + skip[0].length, nextCh = this.input.charCodeAt(next);
+ if (nextCh === 40) // '('
+ { return this.parseExpressionStatement(node, this.parseExpression()) }
+ }
+
+ if (!this.options.allowImportExportEverywhere) {
+ if (!topLevel)
+ { this.raise(this.start, "'import' and 'export' may only appear at the top level"); }
+ if (!this.inModule)
+ { this.raise(this.start, "'import' and 'export' may appear only with 'sourceType: module'"); }
+ }
+ return starttype === types._import ? this.parseImport(node) : this.parseExport(node, exports)
+
+ // If the statement does not start with a statement keyword or a
+ // brace, it's an ExpressionStatement or LabeledStatement. We
+ // simply start parsing an expression, and afterwards, if the
+ // next token is a colon and the expression was a simple
+ // Identifier node, we switch to interpreting it as a label.
+ default:
+ if (this.isAsyncFunction()) {
+ if (context) { this.unexpected(); }
+ this.next();
+ return this.parseFunctionStatement(node, true, !context)
+ }
+
+ var maybeName = this.value, expr = this.parseExpression();
+ if (starttype === types.name && expr.type === "Identifier" && this.eat(types.colon))
+ { return this.parseLabeledStatement(node, maybeName, expr, context) }
+ else { return this.parseExpressionStatement(node, expr) }
+ }
+ };
+
+ pp$1.parseBreakContinueStatement = function(node, keyword) {
+ var isBreak = keyword === "break";
+ this.next();
+ if (this.eat(types.semi) || this.insertSemicolon()) { node.label = null; }
+ else if (this.type !== types.name) { this.unexpected(); }
+ else {
+ node.label = this.parseIdent();
+ this.semicolon();
+ }
+
+ // Verify that there is an actual destination to break or
+ // continue to.
+ var i = 0;
+ for (; i < this.labels.length; ++i) {
+ var lab = this.labels[i];
+ if (node.label == null || lab.name === node.label.name) {
+ if (lab.kind != null && (isBreak || lab.kind === "loop")) { break }
+ if (node.label && isBreak) { break }
+ }
+ }
+ if (i === this.labels.length) { this.raise(node.start, "Unsyntactic " + keyword); }
+ return this.finishNode(node, isBreak ? "BreakStatement" : "ContinueStatement")
+ };
+
+ pp$1.parseDebuggerStatement = function(node) {
+ this.next();
+ this.semicolon();
+ return this.finishNode(node, "DebuggerStatement")
+ };
+
+ pp$1.parseDoStatement = function(node) {
+ this.next();
+ this.labels.push(loopLabel);
+ node.body = this.parseStatement("do");
+ this.labels.pop();
+ this.expect(types._while);
+ node.test = this.parseParenExpression();
+ if (this.options.ecmaVersion >= 6)
+ { this.eat(types.semi); }
+ else
+ { this.semicolon(); }
+ return this.finishNode(node, "DoWhileStatement")
+ };
+
+ // Disambiguating between a `for` and a `for`/`in` or `for`/`of`
+ // loop is non-trivial. Basically, we have to parse the init `var`
+ // statement or expression, disallowing the `in` operator (see
+ // the second parameter to `parseExpression`), and then check
+ // whether the next token is `in` or `of`. When there is no init
+ // part (semicolon immediately after the opening parenthesis), it
+ // is a regular `for` loop.
+
+ pp$1.parseForStatement = function(node) {
+ this.next();
+ var awaitAt = (this.options.ecmaVersion >= 9 && (this.inAsync || (!this.inFunction && this.options.allowAwaitOutsideFunction)) && this.eatContextual("await")) ? this.lastTokStart : -1;
+ this.labels.push(loopLabel);
+ this.enterScope(0);
+ this.expect(types.parenL);
+ if (this.type === types.semi) {
+ if (awaitAt > -1) { this.unexpected(awaitAt); }
+ return this.parseFor(node, null)
+ }
+ var isLet = this.isLet();
+ if (this.type === types._var || this.type === types._const || isLet) {
+ var init$1 = this.startNode(), kind = isLet ? "let" : this.value;
+ this.next();
+ this.parseVar(init$1, true, kind);
+ this.finishNode(init$1, "VariableDeclaration");
+ if ((this.type === types._in || (this.options.ecmaVersion >= 6 && this.isContextual("of"))) && init$1.declarations.length === 1) {
+ if (this.options.ecmaVersion >= 9) {
+ if (this.type === types._in) {
+ if (awaitAt > -1) { this.unexpected(awaitAt); }
+ } else { node.await = awaitAt > -1; }
+ }
+ return this.parseForIn(node, init$1)
+ }
+ if (awaitAt > -1) { this.unexpected(awaitAt); }
+ return this.parseFor(node, init$1)
+ }
+ var refDestructuringErrors = new DestructuringErrors;
+ var init = this.parseExpression(true, refDestructuringErrors);
+ if (this.type === types._in || (this.options.ecmaVersion >= 6 && this.isContextual("of"))) {
+ if (this.options.ecmaVersion >= 9) {
+ if (this.type === types._in) {
+ if (awaitAt > -1) { this.unexpected(awaitAt); }
+ } else { node.await = awaitAt > -1; }
+ }
+ this.toAssignable(init, false, refDestructuringErrors);
+ this.checkLVal(init);
+ return this.parseForIn(node, init)
+ } else {
+ this.checkExpressionErrors(refDestructuringErrors, true);
+ }
+ if (awaitAt > -1) { this.unexpected(awaitAt); }
+ return this.parseFor(node, init)
+ };
+
+ pp$1.parseFunctionStatement = function(node, isAsync, declarationPosition) {
+ this.next();
+ return this.parseFunction(node, FUNC_STATEMENT | (declarationPosition ? 0 : FUNC_HANGING_STATEMENT), false, isAsync)
+ };
+
+ pp$1.parseIfStatement = function(node) {
+ this.next();
+ node.test = this.parseParenExpression();
+ // allow function declarations in branches, but only in non-strict mode
+ node.consequent = this.parseStatement("if");
+ node.alternate = this.eat(types._else) ? this.parseStatement("if") : null;
+ return this.finishNode(node, "IfStatement")
+ };
+
+ pp$1.parseReturnStatement = function(node) {
+ if (!this.inFunction && !this.options.allowReturnOutsideFunction)
+ { this.raise(this.start, "'return' outside of function"); }
+ this.next();
+
+ // In `return` (and `break`/`continue`), the keywords with
+ // optional arguments, we eagerly look for a semicolon or the
+ // possibility to insert one.
+
+ if (this.eat(types.semi) || this.insertSemicolon()) { node.argument = null; }
+ else { node.argument = this.parseExpression(); this.semicolon(); }
+ return this.finishNode(node, "ReturnStatement")
+ };
+
+ pp$1.parseSwitchStatement = function(node) {
+ this.next();
+ node.discriminant = this.parseParenExpression();
+ node.cases = [];
+ this.expect(types.braceL);
+ this.labels.push(switchLabel);
+ this.enterScope(0);
+
+ // Statements under must be grouped (by label) in SwitchCase
+ // nodes. `cur` is used to keep the node that we are currently
+ // adding statements to.
+
+ var cur;
+ for (var sawDefault = false; this.type !== types.braceR;) {
+ if (this.type === types._case || this.type === types._default) {
+ var isCase = this.type === types._case;
+ if (cur) { this.finishNode(cur, "SwitchCase"); }
+ node.cases.push(cur = this.startNode());
+ cur.consequent = [];
+ this.next();
+ if (isCase) {
+ cur.test = this.parseExpression();
+ } else {
+ if (sawDefault) { this.raiseRecoverable(this.lastTokStart, "Multiple default clauses"); }
+ sawDefault = true;
+ cur.test = null;
+ }
+ this.expect(types.colon);
+ } else {
+ if (!cur) { this.unexpected(); }
+ cur.consequent.push(this.parseStatement(null));
+ }
+ }
+ this.exitScope();
+ if (cur) { this.finishNode(cur, "SwitchCase"); }
+ this.next(); // Closing brace
+ this.labels.pop();
+ return this.finishNode(node, "SwitchStatement")
+ };
+
+ pp$1.parseThrowStatement = function(node) {
+ this.next();
+ if (lineBreak.test(this.input.slice(this.lastTokEnd, this.start)))
+ { this.raise(this.lastTokEnd, "Illegal newline after throw"); }
+ node.argument = this.parseExpression();
+ this.semicolon();
+ return this.finishNode(node, "ThrowStatement")
+ };
+
+ // Reused empty array added for node fields that are always empty.
+
+ var empty = [];
+
+ pp$1.parseTryStatement = function(node) {
+ this.next();
+ node.block = this.parseBlock();
+ node.handler = null;
+ if (this.type === types._catch) {
+ var clause = this.startNode();
+ this.next();
+ if (this.eat(types.parenL)) {
+ clause.param = this.parseBindingAtom();
+ var simple = clause.param.type === "Identifier";
+ this.enterScope(simple ? SCOPE_SIMPLE_CATCH : 0);
+ this.checkLVal(clause.param, simple ? BIND_SIMPLE_CATCH : BIND_LEXICAL);
+ this.expect(types.parenR);
+ } else {
+ if (this.options.ecmaVersion < 10) { this.unexpected(); }
+ clause.param = null;
+ this.enterScope(0);
+ }
+ clause.body = this.parseBlock(false);
+ this.exitScope();
+ node.handler = this.finishNode(clause, "CatchClause");
+ }
+ node.finalizer = this.eat(types._finally) ? this.parseBlock() : null;
+ if (!node.handler && !node.finalizer)
+ { this.raise(node.start, "Missing catch or finally clause"); }
+ return this.finishNode(node, "TryStatement")
+ };
+
+ pp$1.parseVarStatement = function(node, kind) {
+ this.next();
+ this.parseVar(node, false, kind);
+ this.semicolon();
+ return this.finishNode(node, "VariableDeclaration")
+ };
+
+ pp$1.parseWhileStatement = function(node) {
+ this.next();
+ node.test = this.parseParenExpression();
+ this.labels.push(loopLabel);
+ node.body = this.parseStatement("while");
+ this.labels.pop();
+ return this.finishNode(node, "WhileStatement")
+ };
+
+ pp$1.parseWithStatement = function(node) {
+ if (this.strict) { this.raise(this.start, "'with' in strict mode"); }
+ this.next();
+ node.object = this.parseParenExpression();
+ node.body = this.parseStatement("with");
+ return this.finishNode(node, "WithStatement")
+ };
+
+ pp$1.parseEmptyStatement = function(node) {
+ this.next();
+ return this.finishNode(node, "EmptyStatement")
+ };
+
+ pp$1.parseLabeledStatement = function(node, maybeName, expr, context) {
+ for (var i$1 = 0, list = this.labels; i$1 < list.length; i$1 += 1)
+ {
+ var label = list[i$1];
+
+ if (label.name === maybeName)
+ { this.raise(expr.start, "Label '" + maybeName + "' is already declared");
+ } }
+ var kind = this.type.isLoop ? "loop" : this.type === types._switch ? "switch" : null;
+ for (var i = this.labels.length - 1; i >= 0; i--) {
+ var label$1 = this.labels[i];
+ if (label$1.statementStart === node.start) {
+ // Update information about previous labels on this node
+ label$1.statementStart = this.start;
+ label$1.kind = kind;
+ } else { break }
+ }
+ this.labels.push({name: maybeName, kind: kind, statementStart: this.start});
+ node.body = this.parseStatement(context ? context.indexOf("label") === -1 ? context + "label" : context : "label");
+ this.labels.pop();
+ node.label = expr;
+ return this.finishNode(node, "LabeledStatement")
+ };
+
+ pp$1.parseExpressionStatement = function(node, expr) {
+ node.expression = expr;
+ this.semicolon();
+ return this.finishNode(node, "ExpressionStatement")
+ };
+
+ // Parse a semicolon-enclosed block of statements, handling `"use
+ // strict"` declarations when `allowStrict` is true (used for
+ // function bodies).
+
+ pp$1.parseBlock = function(createNewLexicalScope, node) {
+ if ( createNewLexicalScope === void 0 ) createNewLexicalScope = true;
+ if ( node === void 0 ) node = this.startNode();
+
+ node.body = [];
+ this.expect(types.braceL);
+ if (createNewLexicalScope) { this.enterScope(0); }
+ while (!this.eat(types.braceR)) {
+ var stmt = this.parseStatement(null);
+ node.body.push(stmt);
+ }
+ if (createNewLexicalScope) { this.exitScope(); }
+ return this.finishNode(node, "BlockStatement")
+ };
+
+ // Parse a regular `for` loop. The disambiguation code in
+ // `parseStatement` will already have parsed the init statement or
+ // expression.
+
+ pp$1.parseFor = function(node, init) {
+ node.init = init;
+ this.expect(types.semi);
+ node.test = this.type === types.semi ? null : this.parseExpression();
+ this.expect(types.semi);
+ node.update = this.type === types.parenR ? null : this.parseExpression();
+ this.expect(types.parenR);
+ node.body = this.parseStatement("for");
+ this.exitScope();
+ this.labels.pop();
+ return this.finishNode(node, "ForStatement")
+ };
+
+ // Parse a `for`/`in` and `for`/`of` loop, which are almost
+ // same from parser's perspective.
+
+ pp$1.parseForIn = function(node, init) {
+ var isForIn = this.type === types._in;
+ this.next();
+
+ if (
+ init.type === "VariableDeclaration" &&
+ init.declarations[0].init != null &&
+ (
+ !isForIn ||
+ this.options.ecmaVersion < 8 ||
+ this.strict ||
+ init.kind !== "var" ||
+ init.declarations[0].id.type !== "Identifier"
+ )
+ ) {
+ this.raise(
+ init.start,
+ ((isForIn ? "for-in" : "for-of") + " loop variable declaration may not have an initializer")
+ );
+ } else if (init.type === "AssignmentPattern") {
+ this.raise(init.start, "Invalid left-hand side in for-loop");
+ }
+ node.left = init;
+ node.right = isForIn ? this.parseExpression() : this.parseMaybeAssign();
+ this.expect(types.parenR);
+ node.body = this.parseStatement("for");
+ this.exitScope();
+ this.labels.pop();
+ return this.finishNode(node, isForIn ? "ForInStatement" : "ForOfStatement")
+ };
+
+ // Parse a list of variable declarations.
+
+ pp$1.parseVar = function(node, isFor, kind) {
+ node.declarations = [];
+ node.kind = kind;
+ for (;;) {
+ var decl = this.startNode();
+ this.parseVarId(decl, kind);
+ if (this.eat(types.eq)) {
+ decl.init = this.parseMaybeAssign(isFor);
+ } else if (kind === "const" && !(this.type === types._in || (this.options.ecmaVersion >= 6 && this.isContextual("of")))) {
+ this.unexpected();
+ } else if (decl.id.type !== "Identifier" && !(isFor && (this.type === types._in || this.isContextual("of")))) {
+ this.raise(this.lastTokEnd, "Complex binding patterns require an initialization value");
+ } else {
+ decl.init = null;
+ }
+ node.declarations.push(this.finishNode(decl, "VariableDeclarator"));
+ if (!this.eat(types.comma)) { break }
+ }
+ return node
+ };
+
+ pp$1.parseVarId = function(decl, kind) {
+ decl.id = this.parseBindingAtom();
+ this.checkLVal(decl.id, kind === "var" ? BIND_VAR : BIND_LEXICAL, false);
+ };
+
+ var FUNC_STATEMENT = 1, FUNC_HANGING_STATEMENT = 2, FUNC_NULLABLE_ID = 4;
+
+ // Parse a function declaration or literal (depending on the
+ // `statement & FUNC_STATEMENT`).
+
+ // Remove `allowExpressionBody` for 7.0.0, as it is only called with false
+ pp$1.parseFunction = function(node, statement, allowExpressionBody, isAsync) {
+ this.initFunction(node);
+ if (this.options.ecmaVersion >= 9 || this.options.ecmaVersion >= 6 && !isAsync) {
+ if (this.type === types.star && (statement & FUNC_HANGING_STATEMENT))
+ { this.unexpected(); }
+ node.generator = this.eat(types.star);
+ }
+ if (this.options.ecmaVersion >= 8)
+ { node.async = !!isAsync; }
+
+ if (statement & FUNC_STATEMENT) {
+ node.id = (statement & FUNC_NULLABLE_ID) && this.type !== types.name ? null : this.parseIdent();
+ if (node.id && !(statement & FUNC_HANGING_STATEMENT))
+ // If it is a regular function declaration in sloppy mode, then it is
+ // subject to Annex B semantics (BIND_FUNCTION). Otherwise, the binding
+ // mode depends on properties of the current scope (see
+ // treatFunctionsAsVar).
+ { this.checkLVal(node.id, (this.strict || node.generator || node.async) ? this.treatFunctionsAsVar ? BIND_VAR : BIND_LEXICAL : BIND_FUNCTION); }
+ }
+
+ var oldYieldPos = this.yieldPos, oldAwaitPos = this.awaitPos, oldAwaitIdentPos = this.awaitIdentPos;
+ this.yieldPos = 0;
+ this.awaitPos = 0;
+ this.awaitIdentPos = 0;
+ this.enterScope(functionFlags(node.async, node.generator));
+
+ if (!(statement & FUNC_STATEMENT))
+ { node.id = this.type === types.name ? this.parseIdent() : null; }
+
+ this.parseFunctionParams(node);
+ this.parseFunctionBody(node, allowExpressionBody, false);
+
+ this.yieldPos = oldYieldPos;
+ this.awaitPos = oldAwaitPos;
+ this.awaitIdentPos = oldAwaitIdentPos;
+ return this.finishNode(node, (statement & FUNC_STATEMENT) ? "FunctionDeclaration" : "FunctionExpression")
+ };
+
+ pp$1.parseFunctionParams = function(node) {
+ this.expect(types.parenL);
+ node.params = this.parseBindingList(types.parenR, false, this.options.ecmaVersion >= 8);
+ this.checkYieldAwaitInDefaultParams();
+ };
+
+ // Parse a class declaration or literal (depending on the
+ // `isStatement` parameter).
+
+ pp$1.parseClass = function(node, isStatement) {
+ this.next();
+
+ // ecma-262 14.6 Class Definitions
+ // A class definition is always strict mode code.
+ var oldStrict = this.strict;
+ this.strict = true;
+
+ this.parseClassId(node, isStatement);
+ this.parseClassSuper(node);
+ var classBody = this.startNode();
+ var hadConstructor = false;
+ classBody.body = [];
+ this.expect(types.braceL);
+ while (!this.eat(types.braceR)) {
+ var element = this.parseClassElement(node.superClass !== null);
+ if (element) {
+ classBody.body.push(element);
+ if (element.type === "MethodDefinition" && element.kind === "constructor") {
+ if (hadConstructor) { this.raise(element.start, "Duplicate constructor in the same class"); }
+ hadConstructor = true;
+ }
+ }
+ }
+ node.body = this.finishNode(classBody, "ClassBody");
+ this.strict = oldStrict;
+ return this.finishNode(node, isStatement ? "ClassDeclaration" : "ClassExpression")
+ };
+
+ pp$1.parseClassElement = function(constructorAllowsSuper) {
+ var this$1 = this;
+
+ if (this.eat(types.semi)) { return null }
+
+ var method = this.startNode();
+ var tryContextual = function (k, noLineBreak) {
+ if ( noLineBreak === void 0 ) noLineBreak = false;
+
+ var start = this$1.start, startLoc = this$1.startLoc;
+ if (!this$1.eatContextual(k)) { return false }
+ if (this$1.type !== types.parenL && (!noLineBreak || !this$1.canInsertSemicolon())) { return true }
+ if (method.key) { this$1.unexpected(); }
+ method.computed = false;
+ method.key = this$1.startNodeAt(start, startLoc);
+ method.key.name = k;
+ this$1.finishNode(method.key, "Identifier");
+ return false
+ };
+
+ method.kind = "method";
+ method.static = tryContextual("static");
+ var isGenerator = this.eat(types.star);
+ var isAsync = false;
+ if (!isGenerator) {
+ if (this.options.ecmaVersion >= 8 && tryContextual("async", true)) {
+ isAsync = true;
+ isGenerator = this.options.ecmaVersion >= 9 && this.eat(types.star);
+ } else if (tryContextual("get")) {
+ method.kind = "get";
+ } else if (tryContextual("set")) {
+ method.kind = "set";
+ }
+ }
+ if (!method.key) { this.parsePropertyName(method); }
+ var key = method.key;
+ var allowsDirectSuper = false;
+ if (!method.computed && !method.static && (key.type === "Identifier" && key.name === "constructor" ||
+ key.type === "Literal" && key.value === "constructor")) {
+ if (method.kind !== "method") { this.raise(key.start, "Constructor can't have get/set modifier"); }
+ if (isGenerator) { this.raise(key.start, "Constructor can't be a generator"); }
+ if (isAsync) { this.raise(key.start, "Constructor can't be an async method"); }
+ method.kind = "constructor";
+ allowsDirectSuper = constructorAllowsSuper;
+ } else if (method.static && key.type === "Identifier" && key.name === "prototype") {
+ this.raise(key.start, "Classes may not have a static property named prototype");
+ }
+ this.parseClassMethod(method, isGenerator, isAsync, allowsDirectSuper);
+ if (method.kind === "get" && method.value.params.length !== 0)
+ { this.raiseRecoverable(method.value.start, "getter should have no params"); }
+ if (method.kind === "set" && method.value.params.length !== 1)
+ { this.raiseRecoverable(method.value.start, "setter should have exactly one param"); }
+ if (method.kind === "set" && method.value.params[0].type === "RestElement")
+ { this.raiseRecoverable(method.value.params[0].start, "Setter cannot use rest params"); }
+ return method
+ };
+
+ pp$1.parseClassMethod = function(method, isGenerator, isAsync, allowsDirectSuper) {
+ method.value = this.parseMethod(isGenerator, isAsync, allowsDirectSuper);
+ return this.finishNode(method, "MethodDefinition")
+ };
+
+ pp$1.parseClassId = function(node, isStatement) {
+ if (this.type === types.name) {
+ node.id = this.parseIdent();
+ if (isStatement)
+ { this.checkLVal(node.id, BIND_LEXICAL, false); }
+ } else {
+ if (isStatement === true)
+ { this.unexpected(); }
+ node.id = null;
+ }
+ };
+
+ pp$1.parseClassSuper = function(node) {
+ node.superClass = this.eat(types._extends) ? this.parseExprSubscripts() : null;
+ };
+
+ // Parses module export declaration.
+
+ pp$1.parseExport = function(node, exports) {
+ this.next();
+ // export * from '...'
+ if (this.eat(types.star)) {
+ this.expectContextual("from");
+ if (this.type !== types.string) { this.unexpected(); }
+ node.source = this.parseExprAtom();
+ this.semicolon();
+ return this.finishNode(node, "ExportAllDeclaration")
+ }
+ if (this.eat(types._default)) { // export default ...
+ this.checkExport(exports, "default", this.lastTokStart);
+ var isAsync;
+ if (this.type === types._function || (isAsync = this.isAsyncFunction())) {
+ var fNode = this.startNode();
+ this.next();
+ if (isAsync) { this.next(); }
+ node.declaration = this.parseFunction(fNode, FUNC_STATEMENT | FUNC_NULLABLE_ID, false, isAsync);
+ } else if (this.type === types._class) {
+ var cNode = this.startNode();
+ node.declaration = this.parseClass(cNode, "nullableID");
+ } else {
+ node.declaration = this.parseMaybeAssign();
+ this.semicolon();
+ }
+ return this.finishNode(node, "ExportDefaultDeclaration")
+ }
+ // export var|const|let|function|class ...
+ if (this.shouldParseExportStatement()) {
+ node.declaration = this.parseStatement(null);
+ if (node.declaration.type === "VariableDeclaration")
+ { this.checkVariableExport(exports, node.declaration.declarations); }
+ else
+ { this.checkExport(exports, node.declaration.id.name, node.declaration.id.start); }
+ node.specifiers = [];
+ node.source = null;
+ } else { // export { x, y as z } [from '...']
+ node.declaration = null;
+ node.specifiers = this.parseExportSpecifiers(exports);
+ if (this.eatContextual("from")) {
+ if (this.type !== types.string) { this.unexpected(); }
+ node.source = this.parseExprAtom();
+ } else {
+ for (var i = 0, list = node.specifiers; i < list.length; i += 1) {
+ // check for keywords used as local names
+ var spec = list[i];
+
+ this.checkUnreserved(spec.local);
+ // check if export is defined
+ this.checkLocalExport(spec.local);
+ }
+
+ node.source = null;
+ }
+ this.semicolon();
+ }
+ return this.finishNode(node, "ExportNamedDeclaration")
+ };
+
+ pp$1.checkExport = function(exports, name, pos) {
+ if (!exports) { return }
+ if (has(exports, name))
+ { this.raiseRecoverable(pos, "Duplicate export '" + name + "'"); }
+ exports[name] = true;
+ };
+
+ pp$1.checkPatternExport = function(exports, pat) {
+ var type = pat.type;
+ if (type === "Identifier")
+ { this.checkExport(exports, pat.name, pat.start); }
+ else if (type === "ObjectPattern")
+ { for (var i = 0, list = pat.properties; i < list.length; i += 1)
+ {
+ var prop = list[i];
+
+ this.checkPatternExport(exports, prop);
+ } }
+ else if (type === "ArrayPattern")
+ { for (var i$1 = 0, list$1 = pat.elements; i$1 < list$1.length; i$1 += 1) {
+ var elt = list$1[i$1];
+
+ if (elt) { this.checkPatternExport(exports, elt); }
+ } }
+ else if (type === "Property")
+ { this.checkPatternExport(exports, pat.value); }
+ else if (type === "AssignmentPattern")
+ { this.checkPatternExport(exports, pat.left); }
+ else if (type === "RestElement")
+ { this.checkPatternExport(exports, pat.argument); }
+ else if (type === "ParenthesizedExpression")
+ { this.checkPatternExport(exports, pat.expression); }
+ };
+
+ pp$1.checkVariableExport = function(exports, decls) {
+ if (!exports) { return }
+ for (var i = 0, list = decls; i < list.length; i += 1)
+ {
+ var decl = list[i];
+
+ this.checkPatternExport(exports, decl.id);
+ }
+ };
+
+ pp$1.shouldParseExportStatement = function() {
+ return this.type.keyword === "var" ||
+ this.type.keyword === "const" ||
+ this.type.keyword === "class" ||
+ this.type.keyword === "function" ||
+ this.isLet() ||
+ this.isAsyncFunction()
+ };
+
+ // Parses a comma-separated list of module exports.
+
+ pp$1.parseExportSpecifiers = function(exports) {
+ var nodes = [], first = true;
+ // export { x, y as z } [from '...']
+ this.expect(types.braceL);
+ while (!this.eat(types.braceR)) {
+ if (!first) {
+ this.expect(types.comma);
+ if (this.afterTrailingComma(types.braceR)) { break }
+ } else { first = false; }
+
+ var node = this.startNode();
+ node.local = this.parseIdent(true);
+ node.exported = this.eatContextual("as") ? this.parseIdent(true) : node.local;
+ this.checkExport(exports, node.exported.name, node.exported.start);
+ nodes.push(this.finishNode(node, "ExportSpecifier"));
+ }
+ return nodes
+ };
+
+ // Parses import declaration.
+
+ pp$1.parseImport = function(node) {
+ this.next();
+ // import '...'
+ if (this.type === types.string) {
+ node.specifiers = empty;
+ node.source = this.parseExprAtom();
+ } else {
+ node.specifiers = this.parseImportSpecifiers();
+ this.expectContextual("from");
+ node.source = this.type === types.string ? this.parseExprAtom() : this.unexpected();
+ }
+ this.semicolon();
+ return this.finishNode(node, "ImportDeclaration")
+ };
+
+ // Parses a comma-separated list of module imports.
+
+ pp$1.parseImportSpecifiers = function() {
+ var nodes = [], first = true;
+ if (this.type === types.name) {
+ // import defaultObj, { x, y as z } from '...'
+ var node = this.startNode();
+ node.local = this.parseIdent();
+ this.checkLVal(node.local, BIND_LEXICAL);
+ nodes.push(this.finishNode(node, "ImportDefaultSpecifier"));
+ if (!this.eat(types.comma)) { return nodes }
+ }
+ if (this.type === types.star) {
+ var node$1 = this.startNode();
+ this.next();
+ this.expectContextual("as");
+ node$1.local = this.parseIdent();
+ this.checkLVal(node$1.local, BIND_LEXICAL);
+ nodes.push(this.finishNode(node$1, "ImportNamespaceSpecifier"));
+ return nodes
+ }
+ this.expect(types.braceL);
+ while (!this.eat(types.braceR)) {
+ if (!first) {
+ this.expect(types.comma);
+ if (this.afterTrailingComma(types.braceR)) { break }
+ } else { first = false; }
+
+ var node$2 = this.startNode();
+ node$2.imported = this.parseIdent(true);
+ if (this.eatContextual("as")) {
+ node$2.local = this.parseIdent();
+ } else {
+ this.checkUnreserved(node$2.imported);
+ node$2.local = node$2.imported;
+ }
+ this.checkLVal(node$2.local, BIND_LEXICAL);
+ nodes.push(this.finishNode(node$2, "ImportSpecifier"));
+ }
+ return nodes
+ };
+
+ // Set `ExpressionStatement#directive` property for directive prologues.
+ pp$1.adaptDirectivePrologue = function(statements) {
+ for (var i = 0; i < statements.length && this.isDirectiveCandidate(statements[i]); ++i) {
+ statements[i].directive = statements[i].expression.raw.slice(1, -1);
+ }
+ };
+ pp$1.isDirectiveCandidate = function(statement) {
+ return (
+ statement.type === "ExpressionStatement" &&
+ statement.expression.type === "Literal" &&
+ typeof statement.expression.value === "string" &&
+ // Reject parenthesized strings.
+ (this.input[statement.start] === "\"" || this.input[statement.start] === "'")
+ )
+ };
+
+ var pp$2 = Parser.prototype;
+
+ // Convert existing expression atom to assignable pattern
+ // if possible.
+
+ pp$2.toAssignable = function(node, isBinding, refDestructuringErrors) {
+ if (this.options.ecmaVersion >= 6 && node) {
+ switch (node.type) {
+ case "Identifier":
+ if (this.inAsync && node.name === "await")
+ { this.raise(node.start, "Cannot use 'await' as identifier inside an async function"); }
+ break
+
+ case "ObjectPattern":
+ case "ArrayPattern":
+ case "RestElement":
+ break
+
+ case "ObjectExpression":
+ node.type = "ObjectPattern";
+ if (refDestructuringErrors) { this.checkPatternErrors(refDestructuringErrors, true); }
+ for (var i = 0, list = node.properties; i < list.length; i += 1) {
+ var prop = list[i];
+
+ this.toAssignable(prop, isBinding);
+ // Early error:
+ // AssignmentRestProperty[Yield, Await] :
+ // `...` DestructuringAssignmentTarget[Yield, Await]
+ //
+ // It is a Syntax Error if |DestructuringAssignmentTarget| is an |ArrayLiteral| or an |ObjectLiteral|.
+ if (
+ prop.type === "RestElement" &&
+ (prop.argument.type === "ArrayPattern" || prop.argument.type === "ObjectPattern")
+ ) {
+ this.raise(prop.argument.start, "Unexpected token");
+ }
+ }
+ break
+
+ case "Property":
+ // AssignmentProperty has type === "Property"
+ if (node.kind !== "init") { this.raise(node.key.start, "Object pattern can't contain getter or setter"); }
+ this.toAssignable(node.value, isBinding);
+ break
+
+ case "ArrayExpression":
+ node.type = "ArrayPattern";
+ if (refDestructuringErrors) { this.checkPatternErrors(refDestructuringErrors, true); }
+ this.toAssignableList(node.elements, isBinding);
+ break
+
+ case "SpreadElement":
+ node.type = "RestElement";
+ this.toAssignable(node.argument, isBinding);
+ if (node.argument.type === "AssignmentPattern")
+ { this.raise(node.argument.start, "Rest elements cannot have a default value"); }
+ break
+
+ case "AssignmentExpression":
+ if (node.operator !== "=") { this.raise(node.left.end, "Only '=' operator can be used for specifying default value."); }
+ node.type = "AssignmentPattern";
+ delete node.operator;
+ this.toAssignable(node.left, isBinding);
+ // falls through to AssignmentPattern
+
+ case "AssignmentPattern":
+ break
+
+ case "ParenthesizedExpression":
+ this.toAssignable(node.expression, isBinding, refDestructuringErrors);
+ break
+
+ case "MemberExpression":
+ if (!isBinding) { break }
+
+ default:
+ this.raise(node.start, "Assigning to rvalue");
+ }
+ } else if (refDestructuringErrors) { this.checkPatternErrors(refDestructuringErrors, true); }
+ return node
+ };
+
+ // Convert list of expression atoms to binding list.
+
+ pp$2.toAssignableList = function(exprList, isBinding) {
+ var end = exprList.length;
+ for (var i = 0; i < end; i++) {
+ var elt = exprList[i];
+ if (elt) { this.toAssignable(elt, isBinding); }
+ }
+ if (end) {
+ var last = exprList[end - 1];
+ if (this.options.ecmaVersion === 6 && isBinding && last && last.type === "RestElement" && last.argument.type !== "Identifier")
+ { this.unexpected(last.argument.start); }
+ }
+ return exprList
+ };
+
+ // Parses spread element.
+
+ pp$2.parseSpread = function(refDestructuringErrors) {
+ var node = this.startNode();
+ this.next();
+ node.argument = this.parseMaybeAssign(false, refDestructuringErrors);
+ return this.finishNode(node, "SpreadElement")
+ };
+
+ pp$2.parseRestBinding = function() {
+ var node = this.startNode();
+ this.next();
+
+ // RestElement inside of a function parameter must be an identifier
+ if (this.options.ecmaVersion === 6 && this.type !== types.name)
+ { this.unexpected(); }
+
+ node.argument = this.parseBindingAtom();
+
+ return this.finishNode(node, "RestElement")
+ };
+
+ // Parses lvalue (assignable) atom.
+
+ pp$2.parseBindingAtom = function() {
+ if (this.options.ecmaVersion >= 6) {
+ switch (this.type) {
+ case types.bracketL:
+ var node = this.startNode();
+ this.next();
+ node.elements = this.parseBindingList(types.bracketR, true, true);
+ return this.finishNode(node, "ArrayPattern")
+
+ case types.braceL:
+ return this.parseObj(true)
+ }
+ }
+ return this.parseIdent()
+ };
+
+ pp$2.parseBindingList = function(close, allowEmpty, allowTrailingComma) {
+ var elts = [], first = true;
+ while (!this.eat(close)) {
+ if (first) { first = false; }
+ else { this.expect(types.comma); }
+ if (allowEmpty && this.type === types.comma) {
+ elts.push(null);
+ } else if (allowTrailingComma && this.afterTrailingComma(close)) {
+ break
+ } else if (this.type === types.ellipsis) {
+ var rest = this.parseRestBinding();
+ this.parseBindingListItem(rest);
+ elts.push(rest);
+ if (this.type === types.comma) { this.raise(this.start, "Comma is not permitted after the rest element"); }
+ this.expect(close);
+ break
+ } else {
+ var elem = this.parseMaybeDefault(this.start, this.startLoc);
+ this.parseBindingListItem(elem);
+ elts.push(elem);
+ }
+ }
+ return elts
+ };
+
+ pp$2.parseBindingListItem = function(param) {
+ return param
+ };
+
+ // Parses assignment pattern around given atom if possible.
+
+ pp$2.parseMaybeDefault = function(startPos, startLoc, left) {
+ left = left || this.parseBindingAtom();
+ if (this.options.ecmaVersion < 6 || !this.eat(types.eq)) { return left }
+ var node = this.startNodeAt(startPos, startLoc);
+ node.left = left;
+ node.right = this.parseMaybeAssign();
+ return this.finishNode(node, "AssignmentPattern")
+ };
+
+ // Verify that a node is an lval — something that can be assigned
+ // to.
+ // bindingType can be either:
+ // 'var' indicating that the lval creates a 'var' binding
+ // 'let' indicating that the lval creates a lexical ('let' or 'const') binding
+ // 'none' indicating that the binding should be checked for illegal identifiers, but not for duplicate references
+
+ pp$2.checkLVal = function(expr, bindingType, checkClashes) {
+ if ( bindingType === void 0 ) bindingType = BIND_NONE;
+
+ switch (expr.type) {
+ case "Identifier":
+ if (bindingType === BIND_LEXICAL && expr.name === "let")
+ { this.raiseRecoverable(expr.start, "let is disallowed as a lexically bound name"); }
+ if (this.strict && this.reservedWordsStrictBind.test(expr.name))
+ { this.raiseRecoverable(expr.start, (bindingType ? "Binding " : "Assigning to ") + expr.name + " in strict mode"); }
+ if (checkClashes) {
+ if (has(checkClashes, expr.name))
+ { this.raiseRecoverable(expr.start, "Argument name clash"); }
+ checkClashes[expr.name] = true;
+ }
+ if (bindingType !== BIND_NONE && bindingType !== BIND_OUTSIDE) { this.declareName(expr.name, bindingType, expr.start); }
+ break
+
+ case "MemberExpression":
+ if (bindingType) { this.raiseRecoverable(expr.start, "Binding member expression"); }
+ break
+
+ case "ObjectPattern":
+ for (var i = 0, list = expr.properties; i < list.length; i += 1)
+ {
+ var prop = list[i];
+
+ this.checkLVal(prop, bindingType, checkClashes);
+ }
+ break
+
+ case "Property":
+ // AssignmentProperty has type === "Property"
+ this.checkLVal(expr.value, bindingType, checkClashes);
+ break
+
+ case "ArrayPattern":
+ for (var i$1 = 0, list$1 = expr.elements; i$1 < list$1.length; i$1 += 1) {
+ var elem = list$1[i$1];
+
+ if (elem) { this.checkLVal(elem, bindingType, checkClashes); }
+ }
+ break
+
+ case "AssignmentPattern":
+ this.checkLVal(expr.left, bindingType, checkClashes);
+ break
+
+ case "RestElement":
+ this.checkLVal(expr.argument, bindingType, checkClashes);
+ break
+
+ case "ParenthesizedExpression":
+ this.checkLVal(expr.expression, bindingType, checkClashes);
+ break
+
+ default:
+ this.raise(expr.start, (bindingType ? "Binding" : "Assigning to") + " rvalue");
+ }
+ };
+
+ // A recursive descent parser operates by defining functions for all
+
+ var pp$3 = Parser.prototype;
+
+ // Check if property name clashes with already added.
+ // Object/class getters and setters are not allowed to clash —
+ // either with each other or with an init property — and in
+ // strict mode, init properties are also not allowed to be repeated.
+
+ pp$3.checkPropClash = function(prop, propHash, refDestructuringErrors) {
+ if (this.options.ecmaVersion >= 9 && prop.type === "SpreadElement")
+ { return }
+ if (this.options.ecmaVersion >= 6 && (prop.computed || prop.method || prop.shorthand))
+ { return }
+ var key = prop.key;
+ var name;
+ switch (key.type) {
+ case "Identifier": name = key.name; break
+ case "Literal": name = String(key.value); break
+ default: return
+ }
+ var kind = prop.kind;
+ if (this.options.ecmaVersion >= 6) {
+ if (name === "__proto__" && kind === "init") {
+ if (propHash.proto) {
+ if (refDestructuringErrors && refDestructuringErrors.doubleProto < 0) { refDestructuringErrors.doubleProto = key.start; }
+ // Backwards-compat kludge. Can be removed in version 6.0
+ else { this.raiseRecoverable(key.start, "Redefinition of __proto__ property"); }
+ }
+ propHash.proto = true;
+ }
+ return
+ }
+ name = "$" + name;
+ var other = propHash[name];
+ if (other) {
+ var redefinition;
+ if (kind === "init") {
+ redefinition = this.strict && other.init || other.get || other.set;
+ } else {
+ redefinition = other.init || other[kind];
+ }
+ if (redefinition)
+ { this.raiseRecoverable(key.start, "Redefinition of property"); }
+ } else {
+ other = propHash[name] = {
+ init: false,
+ get: false,
+ set: false
+ };
+ }
+ other[kind] = true;
+ };
+
+ // ### Expression parsing
+
+ // These nest, from the most general expression type at the top to
+ // 'atomic', nondivisible expression types at the bottom. Most of
+ // the functions will simply let the function(s) below them parse,
+ // and, *if* the syntactic construct they handle is present, wrap
+ // the AST node that the inner parser gave them in another node.
+
+ // Parse a full expression. The optional arguments are used to
+ // forbid the `in` operator (in for loops initalization expressions)
+ // and provide reference for storing '=' operator inside shorthand
+ // property assignment in contexts where both object expression
+ // and object pattern might appear (so it's possible to raise
+ // delayed syntax error at correct position).
+
+ pp$3.parseExpression = function(noIn, refDestructuringErrors) {
+ var startPos = this.start, startLoc = this.startLoc;
+ var expr = this.parseMaybeAssign(noIn, refDestructuringErrors);
+ if (this.type === types.comma) {
+ var node = this.startNodeAt(startPos, startLoc);
+ node.expressions = [expr];
+ while (this.eat(types.comma)) { node.expressions.push(this.parseMaybeAssign(noIn, refDestructuringErrors)); }
+ return this.finishNode(node, "SequenceExpression")
+ }
+ return expr
+ };
+
+ // Parse an assignment expression. This includes applications of
+ // operators like `+=`.
+
+ pp$3.parseMaybeAssign = function(noIn, refDestructuringErrors, afterLeftParse) {
+ if (this.isContextual("yield")) {
+ if (this.inGenerator) { return this.parseYield(noIn) }
+ // The tokenizer will assume an expression is allowed after
+ // `yield`, but this isn't that kind of yield
+ else { this.exprAllowed = false; }
+ }
+
+ var ownDestructuringErrors = false, oldParenAssign = -1, oldTrailingComma = -1, oldShorthandAssign = -1;
+ if (refDestructuringErrors) {
+ oldParenAssign = refDestructuringErrors.parenthesizedAssign;
+ oldTrailingComma = refDestructuringErrors.trailingComma;
+ oldShorthandAssign = refDestructuringErrors.shorthandAssign;
+ refDestructuringErrors.parenthesizedAssign = refDestructuringErrors.trailingComma = refDestructuringErrors.shorthandAssign = -1;
+ } else {
+ refDestructuringErrors = new DestructuringErrors;
+ ownDestructuringErrors = true;
+ }
+
+ var startPos = this.start, startLoc = this.startLoc;
+ if (this.type === types.parenL || this.type === types.name)
+ { this.potentialArrowAt = this.start; }
+ var left = this.parseMaybeConditional(noIn, refDestructuringErrors);
+ if (afterLeftParse) { left = afterLeftParse.call(this, left, startPos, startLoc); }
+ if (this.type.isAssign) {
+ var node = this.startNodeAt(startPos, startLoc);
+ node.operator = this.value;
+ node.left = this.type === types.eq ? this.toAssignable(left, false, refDestructuringErrors) : left;
+ if (!ownDestructuringErrors) { DestructuringErrors.call(refDestructuringErrors); }
+ refDestructuringErrors.shorthandAssign = -1; // reset because shorthand default was used correctly
+ this.checkLVal(left);
+ this.next();
+ node.right = this.parseMaybeAssign(noIn);
+ return this.finishNode(node, "AssignmentExpression")
+ } else {
+ if (ownDestructuringErrors) { this.checkExpressionErrors(refDestructuringErrors, true); }
+ }
+ if (oldParenAssign > -1) { refDestructuringErrors.parenthesizedAssign = oldParenAssign; }
+ if (oldTrailingComma > -1) { refDestructuringErrors.trailingComma = oldTrailingComma; }
+ if (oldShorthandAssign > -1) { refDestructuringErrors.shorthandAssign = oldShorthandAssign; }
+ return left
+ };
+
+ // Parse a ternary conditional (`?:`) operator.
+
+ pp$3.parseMaybeConditional = function(noIn, refDestructuringErrors) {
+ var startPos = this.start, startLoc = this.startLoc;
+ var expr = this.parseExprOps(noIn, refDestructuringErrors);
+ if (this.checkExpressionErrors(refDestructuringErrors)) { return expr }
+ if (this.eat(types.question)) {
+ var node = this.startNodeAt(startPos, startLoc);
+ node.test = expr;
+ node.consequent = this.parseMaybeAssign();
+ this.expect(types.colon);
+ node.alternate = this.parseMaybeAssign(noIn);
+ return this.finishNode(node, "ConditionalExpression")
+ }
+ return expr
+ };
+
+ // Start the precedence parser.
+
+ pp$3.parseExprOps = function(noIn, refDestructuringErrors) {
+ var startPos = this.start, startLoc = this.startLoc;
+ var expr = this.parseMaybeUnary(refDestructuringErrors, false);
+ if (this.checkExpressionErrors(refDestructuringErrors)) { return expr }
+ return expr.start === startPos && expr.type === "ArrowFunctionExpression" ? expr : this.parseExprOp(expr, startPos, startLoc, -1, noIn)
+ };
+
+ // Parse binary operators with the operator precedence parsing
+ // algorithm. `left` is the left-hand side of the operator.
+ // `minPrec` provides context that allows the function to stop and
+ // defer further parser to one of its callers when it encounters an
+ // operator that has a lower precedence than the set it is parsing.
+
+ pp$3.parseExprOp = function(left, leftStartPos, leftStartLoc, minPrec, noIn) {
+ var prec = this.type.binop;
+ if (prec != null && (!noIn || this.type !== types._in)) {
+ if (prec > minPrec) {
+ var logical = this.type === types.logicalOR || this.type === types.logicalAND;
+ var op = this.value;
+ this.next();
+ var startPos = this.start, startLoc = this.startLoc;
+ var right = this.parseExprOp(this.parseMaybeUnary(null, false), startPos, startLoc, prec, noIn);
+ var node = this.buildBinary(leftStartPos, leftStartLoc, left, right, op, logical);
+ return this.parseExprOp(node, leftStartPos, leftStartLoc, minPrec, noIn)
+ }
+ }
+ return left
+ };
+
+ pp$3.buildBinary = function(startPos, startLoc, left, right, op, logical) {
+ var node = this.startNodeAt(startPos, startLoc);
+ node.left = left;
+ node.operator = op;
+ node.right = right;
+ return this.finishNode(node, logical ? "LogicalExpression" : "BinaryExpression")
+ };
+
+ // Parse unary operators, both prefix and postfix.
+
+ pp$3.parseMaybeUnary = function(refDestructuringErrors, sawUnary) {
+ var startPos = this.start, startLoc = this.startLoc, expr;
+ if (this.isContextual("await") && (this.inAsync || (!this.inFunction && this.options.allowAwaitOutsideFunction))) {
+ expr = this.parseAwait();
+ sawUnary = true;
+ } else if (this.type.prefix) {
+ var node = this.startNode(), update = this.type === types.incDec;
+ node.operator = this.value;
+ node.prefix = true;
+ this.next();
+ node.argument = this.parseMaybeUnary(null, true);
+ this.checkExpressionErrors(refDestructuringErrors, true);
+ if (update) { this.checkLVal(node.argument); }
+ else if (this.strict && node.operator === "delete" &&
+ node.argument.type === "Identifier")
+ { this.raiseRecoverable(node.start, "Deleting local variable in strict mode"); }
+ else { sawUnary = true; }
+ expr = this.finishNode(node, update ? "UpdateExpression" : "UnaryExpression");
+ } else {
+ expr = this.parseExprSubscripts(refDestructuringErrors);
+ if (this.checkExpressionErrors(refDestructuringErrors)) { return expr }
+ while (this.type.postfix && !this.canInsertSemicolon()) {
+ var node$1 = this.startNodeAt(startPos, startLoc);
+ node$1.operator = this.value;
+ node$1.prefix = false;
+ node$1.argument = expr;
+ this.checkLVal(expr);
+ this.next();
+ expr = this.finishNode(node$1, "UpdateExpression");
+ }
+ }
+
+ if (!sawUnary && this.eat(types.starstar))
+ { return this.buildBinary(startPos, startLoc, expr, this.parseMaybeUnary(null, false), "**", false) }
+ else
+ { return expr }
+ };
+
+ // Parse call, dot, and `[]`-subscript expressions.
+
+ pp$3.parseExprSubscripts = function(refDestructuringErrors) {
+ var startPos = this.start, startLoc = this.startLoc;
+ var expr = this.parseExprAtom(refDestructuringErrors);
+ var skipArrowSubscripts = expr.type === "ArrowFunctionExpression" && this.input.slice(this.lastTokStart, this.lastTokEnd) !== ")";
+ if (this.checkExpressionErrors(refDestructuringErrors) || skipArrowSubscripts) { return expr }
+ var result = this.parseSubscripts(expr, startPos, startLoc);
+ if (refDestructuringErrors && result.type === "MemberExpression") {
+ if (refDestructuringErrors.parenthesizedAssign >= result.start) { refDestructuringErrors.parenthesizedAssign = -1; }
+ if (refDestructuringErrors.parenthesizedBind >= result.start) { refDestructuringErrors.parenthesizedBind = -1; }
+ }
+ return result
+ };
+
+ pp$3.parseSubscripts = function(base, startPos, startLoc, noCalls) {
+ var maybeAsyncArrow = this.options.ecmaVersion >= 8 && base.type === "Identifier" && base.name === "async" &&
+ this.lastTokEnd === base.end && !this.canInsertSemicolon() && this.input.slice(base.start, base.end) === "async";
+ while (true) {
+ var element = this.parseSubscript(base, startPos, startLoc, noCalls, maybeAsyncArrow);
+ if (element === base || element.type === "ArrowFunctionExpression") { return element }
+ base = element;
+ }
+ };
+
+ pp$3.parseSubscript = function(base, startPos, startLoc, noCalls, maybeAsyncArrow) {
+ var computed = this.eat(types.bracketL);
+ if (computed || this.eat(types.dot)) {
+ var node = this.startNodeAt(startPos, startLoc);
+ node.object = base;
+ node.property = computed ? this.parseExpression() : this.parseIdent(this.options.allowReserved !== "never");
+ node.computed = !!computed;
+ if (computed) { this.expect(types.bracketR); }
+ base = this.finishNode(node, "MemberExpression");
+ } else if (!noCalls && this.eat(types.parenL)) {
+ var refDestructuringErrors = new DestructuringErrors, oldYieldPos = this.yieldPos, oldAwaitPos = this.awaitPos, oldAwaitIdentPos = this.awaitIdentPos;
+ this.yieldPos = 0;
+ this.awaitPos = 0;
+ this.awaitIdentPos = 0;
+ var exprList = this.parseExprList(types.parenR, this.options.ecmaVersion >= 8 && base.type !== "Import", false, refDestructuringErrors);
+ if (maybeAsyncArrow && !this.canInsertSemicolon() && this.eat(types.arrow)) {
+ this.checkPatternErrors(refDestructuringErrors, false);
+ this.checkYieldAwaitInDefaultParams();
+ if (this.awaitIdentPos > 0)
+ { this.raise(this.awaitIdentPos, "Cannot use 'await' as identifier inside an async function"); }
+ this.yieldPos = oldYieldPos;
+ this.awaitPos = oldAwaitPos;
+ this.awaitIdentPos = oldAwaitIdentPos;
+ return this.parseArrowExpression(this.startNodeAt(startPos, startLoc), exprList, true)
+ }
+ this.checkExpressionErrors(refDestructuringErrors, true);
+ this.yieldPos = oldYieldPos || this.yieldPos;
+ this.awaitPos = oldAwaitPos || this.awaitPos;
+ this.awaitIdentPos = oldAwaitIdentPos || this.awaitIdentPos;
+ var node$1 = this.startNodeAt(startPos, startLoc);
+ node$1.callee = base;
+ node$1.arguments = exprList;
+ if (node$1.callee.type === "Import") {
+ if (node$1.arguments.length !== 1) {
+ this.raise(node$1.start, "import() requires exactly one argument");
+ }
+
+ var importArg = node$1.arguments[0];
+ if (importArg && importArg.type === "SpreadElement") {
+ this.raise(importArg.start, "... is not allowed in import()");
+ }
+ }
+ base = this.finishNode(node$1, "CallExpression");
+ } else if (this.type === types.backQuote) {
+ var node$2 = this.startNodeAt(startPos, startLoc);
+ node$2.tag = base;
+ node$2.quasi = this.parseTemplate({isTagged: true});
+ base = this.finishNode(node$2, "TaggedTemplateExpression");
+ }
+ return base
+ };
+
+ // Parse an atomic expression — either a single token that is an
+ // expression, an expression started by a keyword like `function` or
+ // `new`, or an expression wrapped in punctuation like `()`, `[]`,
+ // or `{}`.
+
+ pp$3.parseExprAtom = function(refDestructuringErrors) {
+ // If a division operator appears in an expression position, the
+ // tokenizer got confused, and we force it to read a regexp instead.
+ if (this.type === types.slash) { this.readRegexp(); }
+
+ var node, canBeArrow = this.potentialArrowAt === this.start;
+ switch (this.type) {
+ case types._super:
+ if (!this.allowSuper)
+ { this.raise(this.start, "'super' keyword outside a method"); }
+ node = this.startNode();
+ this.next();
+ if (this.type === types.parenL && !this.allowDirectSuper)
+ { this.raise(node.start, "super() call outside constructor of a subclass"); }
+ // The `super` keyword can appear at below:
+ // SuperProperty:
+ // super [ Expression ]
+ // super . IdentifierName
+ // SuperCall:
+ // super Arguments
+ if (this.type !== types.dot && this.type !== types.bracketL && this.type !== types.parenL)
+ { this.unexpected(); }
+ return this.finishNode(node, "Super")
+
+ case types._this:
+ node = this.startNode();
+ this.next();
+ return this.finishNode(node, "ThisExpression")
+
+ case types.name:
+ var startPos = this.start, startLoc = this.startLoc, containsEsc = this.containsEsc;
+ var id = this.parseIdent(false);
+ if (this.options.ecmaVersion >= 8 && !containsEsc && id.name === "async" && !this.canInsertSemicolon() && this.eat(types._function))
+ { return this.parseFunction(this.startNodeAt(startPos, startLoc), 0, false, true) }
+ if (canBeArrow && !this.canInsertSemicolon()) {
+ if (this.eat(types.arrow))
+ { return this.parseArrowExpression(this.startNodeAt(startPos, startLoc), [id], false) }
+ if (this.options.ecmaVersion >= 8 && id.name === "async" && this.type === types.name && !containsEsc) {
+ id = this.parseIdent(false);
+ if (this.canInsertSemicolon() || !this.eat(types.arrow))
+ { this.unexpected(); }
+ return this.parseArrowExpression(this.startNodeAt(startPos, startLoc), [id], true)
+ }
+ }
+ return id
+
+ case types.regexp:
+ var value = this.value;
+ node = this.parseLiteral(value.value);
+ node.regex = {pattern: value.pattern, flags: value.flags};
+ return node
+
+ case types.num: case types.string:
+ return this.parseLiteral(this.value)
+
+ case types._null: case types._true: case types._false:
+ node = this.startNode();
+ node.value = this.type === types._null ? null : this.type === types._true;
+ node.raw = this.type.keyword;
+ this.next();
+ return this.finishNode(node, "Literal")
+
+ case types.parenL:
+ var start = this.start, expr = this.parseParenAndDistinguishExpression(canBeArrow);
+ if (refDestructuringErrors) {
+ if (refDestructuringErrors.parenthesizedAssign < 0 && !this.isSimpleAssignTarget(expr))
+ { refDestructuringErrors.parenthesizedAssign = start; }
+ if (refDestructuringErrors.parenthesizedBind < 0)
+ { refDestructuringErrors.parenthesizedBind = start; }
+ }
+ return expr
+
+ case types.bracketL:
+ node = this.startNode();
+ this.next();
+ node.elements = this.parseExprList(types.bracketR, true, true, refDestructuringErrors);
+ return this.finishNode(node, "ArrayExpression")
+
+ case types.braceL:
+ return this.parseObj(false, refDestructuringErrors)
+
+ case types._function:
+ node = this.startNode();
+ this.next();
+ return this.parseFunction(node, 0)
+
+ case types._class:
+ return this.parseClass(this.startNode(), false)
+
+ case types._new:
+ return this.parseNew()
+
+ case types.backQuote:
+ return this.parseTemplate()
+
+ case types._import:
+ if (this.options.ecmaVersion > 10) {
+ return this.parseDynamicImport()
+ } else {
+ return this.unexpected()
+ }
+
+ default:
+ this.unexpected();
+ }
+ };
+
+ pp$3.parseDynamicImport = function() {
+ var node = this.startNode();
+ this.next();
+ if (this.type !== types.parenL) {
+ this.unexpected();
+ }
+ return this.finishNode(node, "Import")
+ };
+
+ pp$3.parseLiteral = function(value) {
+ var node = this.startNode();
+ node.value = value;
+ node.raw = this.input.slice(this.start, this.end);
+ if (node.raw.charCodeAt(node.raw.length - 1) === 110) { node.bigint = node.raw.slice(0, -1); }
+ this.next();
+ return this.finishNode(node, "Literal")
+ };
+
+ pp$3.parseParenExpression = function() {
+ this.expect(types.parenL);
+ var val = this.parseExpression();
+ this.expect(types.parenR);
+ return val
+ };
+
+ pp$3.parseParenAndDistinguishExpression = function(canBeArrow) {
+ var startPos = this.start, startLoc = this.startLoc, val, allowTrailingComma = this.options.ecmaVersion >= 8;
+ if (this.options.ecmaVersion >= 6) {
+ this.next();
+
+ var innerStartPos = this.start, innerStartLoc = this.startLoc;
+ var exprList = [], first = true, lastIsComma = false;
+ var refDestructuringErrors = new DestructuringErrors, oldYieldPos = this.yieldPos, oldAwaitPos = this.awaitPos, spreadStart;
+ this.yieldPos = 0;
+ this.awaitPos = 0;
+ // Do not save awaitIdentPos to allow checking awaits nested in parameters
+ while (this.type !== types.parenR) {
+ first ? first = false : this.expect(types.comma);
+ if (allowTrailingComma && this.afterTrailingComma(types.parenR, true)) {
+ lastIsComma = true;
+ break
+ } else if (this.type === types.ellipsis) {
+ spreadStart = this.start;
+ exprList.push(this.parseParenItem(this.parseRestBinding()));
+ if (this.type === types.comma) { this.raise(this.start, "Comma is not permitted after the rest element"); }
+ break
+ } else {
+ exprList.push(this.parseMaybeAssign(false, refDestructuringErrors, this.parseParenItem));
+ }
+ }
+ var innerEndPos = this.start, innerEndLoc = this.startLoc;
+ this.expect(types.parenR);
+
+ if (canBeArrow && !this.canInsertSemicolon() && this.eat(types.arrow)) {
+ this.checkPatternErrors(refDestructuringErrors, false);
+ this.checkYieldAwaitInDefaultParams();
+ this.yieldPos = oldYieldPos;
+ this.awaitPos = oldAwaitPos;
+ return this.parseParenArrowList(startPos, startLoc, exprList)
+ }
+
+ if (!exprList.length || lastIsComma) { this.unexpected(this.lastTokStart); }
+ if (spreadStart) { this.unexpected(spreadStart); }
+ this.checkExpressionErrors(refDestructuringErrors, true);
+ this.yieldPos = oldYieldPos || this.yieldPos;
+ this.awaitPos = oldAwaitPos || this.awaitPos;
+
+ if (exprList.length > 1) {
+ val = this.startNodeAt(innerStartPos, innerStartLoc);
+ val.expressions = exprList;
+ this.finishNodeAt(val, "SequenceExpression", innerEndPos, innerEndLoc);
+ } else {
+ val = exprList[0];
+ }
+ } else {
+ val = this.parseParenExpression();
+ }
+
+ if (this.options.preserveParens) {
+ var par = this.startNodeAt(startPos, startLoc);
+ par.expression = val;
+ return this.finishNode(par, "ParenthesizedExpression")
+ } else {
+ return val
+ }
+ };
+
+ pp$3.parseParenItem = function(item) {
+ return item
+ };
+
+ pp$3.parseParenArrowList = function(startPos, startLoc, exprList) {
+ return this.parseArrowExpression(this.startNodeAt(startPos, startLoc), exprList)
+ };
+
+ // New's precedence is slightly tricky. It must allow its argument to
+ // be a `[]` or dot subscript expression, but not a call — at least,
+ // not without wrapping it in parentheses. Thus, it uses the noCalls
+ // argument to parseSubscripts to prevent it from consuming the
+ // argument list.
+
+ var empty$1 = [];
+
+ pp$3.parseNew = function() {
+ var node = this.startNode();
+ var meta = this.parseIdent(true);
+ if (this.options.ecmaVersion >= 6 && this.eat(types.dot)) {
+ node.meta = meta;
+ var containsEsc = this.containsEsc;
+ node.property = this.parseIdent(true);
+ if (node.property.name !== "target" || containsEsc)
+ { this.raiseRecoverable(node.property.start, "The only valid meta property for new is new.target"); }
+ if (!this.inNonArrowFunction())
+ { this.raiseRecoverable(node.start, "new.target can only be used in functions"); }
+ return this.finishNode(node, "MetaProperty")
+ }
+ var startPos = this.start, startLoc = this.startLoc;
+ node.callee = this.parseSubscripts(this.parseExprAtom(), startPos, startLoc, true);
+ if (this.options.ecmaVersion > 10 && node.callee.type === "Import") {
+ this.raise(node.callee.start, "Cannot use new with import(...)");
+ }
+ if (this.eat(types.parenL)) { node.arguments = this.parseExprList(types.parenR, this.options.ecmaVersion >= 8 && node.callee.type !== "Import", false); }
+ else { node.arguments = empty$1; }
+ return this.finishNode(node, "NewExpression")
+ };
+
+ // Parse template expression.
+
+ pp$3.parseTemplateElement = function(ref) {
+ var isTagged = ref.isTagged;
+
+ var elem = this.startNode();
+ if (this.type === types.invalidTemplate) {
+ if (!isTagged) {
+ this.raiseRecoverable(this.start, "Bad escape sequence in untagged template literal");
+ }
+ elem.value = {
+ raw: this.value,
+ cooked: null
+ };
+ } else {
+ elem.value = {
+ raw: this.input.slice(this.start, this.end).replace(/\r\n?/g, "\n"),
+ cooked: this.value
+ };
+ }
+ this.next();
+ elem.tail = this.type === types.backQuote;
+ return this.finishNode(elem, "TemplateElement")
+ };
+
+ pp$3.parseTemplate = function(ref) {
+ if ( ref === void 0 ) ref = {};
+ var isTagged = ref.isTagged; if ( isTagged === void 0 ) isTagged = false;
+
+ var node = this.startNode();
+ this.next();
+ node.expressions = [];
+ var curElt = this.parseTemplateElement({isTagged: isTagged});
+ node.quasis = [curElt];
+ while (!curElt.tail) {
+ if (this.type === types.eof) { this.raise(this.pos, "Unterminated template literal"); }
+ this.expect(types.dollarBraceL);
+ node.expressions.push(this.parseExpression());
+ this.expect(types.braceR);
+ node.quasis.push(curElt = this.parseTemplateElement({isTagged: isTagged}));
+ }
+ this.next();
+ return this.finishNode(node, "TemplateLiteral")
+ };
+
+ pp$3.isAsyncProp = function(prop) {
+ return !prop.computed && prop.key.type === "Identifier" && prop.key.name === "async" &&
+ (this.type === types.name || this.type === types.num || this.type === types.string || this.type === types.bracketL || this.type.keyword || (this.options.ecmaVersion >= 9 && this.type === types.star)) &&
+ !lineBreak.test(this.input.slice(this.lastTokEnd, this.start))
+ };
+
+ // Parse an object literal or binding pattern.
+
+ pp$3.parseObj = function(isPattern, refDestructuringErrors) {
+ var node = this.startNode(), first = true, propHash = {};
+ node.properties = [];
+ this.next();
+ while (!this.eat(types.braceR)) {
+ if (!first) {
+ this.expect(types.comma);
+ if (this.afterTrailingComma(types.braceR)) { break }
+ } else { first = false; }
+
+ var prop = this.parseProperty(isPattern, refDestructuringErrors);
+ if (!isPattern) { this.checkPropClash(prop, propHash, refDestructuringErrors); }
+ node.properties.push(prop);
+ }
+ return this.finishNode(node, isPattern ? "ObjectPattern" : "ObjectExpression")
+ };
+
+ pp$3.parseProperty = function(isPattern, refDestructuringErrors) {
+ var prop = this.startNode(), isGenerator, isAsync, startPos, startLoc;
+ if (this.options.ecmaVersion >= 9 && this.eat(types.ellipsis)) {
+ if (isPattern) {
+ prop.argument = this.parseIdent(false);
+ if (this.type === types.comma) {
+ this.raise(this.start, "Comma is not permitted after the rest element");
+ }
+ return this.finishNode(prop, "RestElement")
+ }
+ // To disallow parenthesized identifier via `this.toAssignable()`.
+ if (this.type === types.parenL && refDestructuringErrors) {
+ if (refDestructuringErrors.parenthesizedAssign < 0) {
+ refDestructuringErrors.parenthesizedAssign = this.start;
+ }
+ if (refDestructuringErrors.parenthesizedBind < 0) {
+ refDestructuringErrors.parenthesizedBind = this.start;
+ }
+ }
+ // Parse argument.
+ prop.argument = this.parseMaybeAssign(false, refDestructuringErrors);
+ // To disallow trailing comma via `this.toAssignable()`.
+ if (this.type === types.comma && refDestructuringErrors && refDestructuringErrors.trailingComma < 0) {
+ refDestructuringErrors.trailingComma = this.start;
+ }
+ // Finish
+ return this.finishNode(prop, "SpreadElement")
+ }
+ if (this.options.ecmaVersion >= 6) {
+ prop.method = false;
+ prop.shorthand = false;
+ if (isPattern || refDestructuringErrors) {
+ startPos = this.start;
+ startLoc = this.startLoc;
+ }
+ if (!isPattern)
+ { isGenerator = this.eat(types.star); }
+ }
+ var containsEsc = this.containsEsc;
+ this.parsePropertyName(prop);
+ if (!isPattern && !containsEsc && this.options.ecmaVersion >= 8 && !isGenerator && this.isAsyncProp(prop)) {
+ isAsync = true;
+ isGenerator = this.options.ecmaVersion >= 9 && this.eat(types.star);
+ this.parsePropertyName(prop, refDestructuringErrors);
+ } else {
+ isAsync = false;
+ }
+ this.parsePropertyValue(prop, isPattern, isGenerator, isAsync, startPos, startLoc, refDestructuringErrors, containsEsc);
+ return this.finishNode(prop, "Property")
+ };
+
+ pp$3.parsePropertyValue = function(prop, isPattern, isGenerator, isAsync, startPos, startLoc, refDestructuringErrors, containsEsc) {
+ if ((isGenerator || isAsync) && this.type === types.colon)
+ { this.unexpected(); }
+
+ if (this.eat(types.colon)) {
+ prop.value = isPattern ? this.parseMaybeDefault(this.start, this.startLoc) : this.parseMaybeAssign(false, refDestructuringErrors);
+ prop.kind = "init";
+ } else if (this.options.ecmaVersion >= 6 && this.type === types.parenL) {
+ if (isPattern) { this.unexpected(); }
+ prop.kind = "init";
+ prop.method = true;
+ prop.value = this.parseMethod(isGenerator, isAsync);
+ } else if (!isPattern && !containsEsc &&
+ this.options.ecmaVersion >= 5 && !prop.computed && prop.key.type === "Identifier" &&
+ (prop.key.name === "get" || prop.key.name === "set") &&
+ (this.type !== types.comma && this.type !== types.braceR)) {
+ if (isGenerator || isAsync) { this.unexpected(); }
+ prop.kind = prop.key.name;
+ this.parsePropertyName(prop);
+ prop.value = this.parseMethod(false);
+ var paramCount = prop.kind === "get" ? 0 : 1;
+ if (prop.value.params.length !== paramCount) {
+ var start = prop.value.start;
+ if (prop.kind === "get")
+ { this.raiseRecoverable(start, "getter should have no params"); }
+ else
+ { this.raiseRecoverable(start, "setter should have exactly one param"); }
+ } else {
+ if (prop.kind === "set" && prop.value.params[0].type === "RestElement")
+ { this.raiseRecoverable(prop.value.params[0].start, "Setter cannot use rest params"); }
+ }
+ } else if (this.options.ecmaVersion >= 6 && !prop.computed && prop.key.type === "Identifier") {
+ if (isGenerator || isAsync) { this.unexpected(); }
+ this.checkUnreserved(prop.key);
+ if (prop.key.name === "await" && !this.awaitIdentPos)
+ { this.awaitIdentPos = startPos; }
+ prop.kind = "init";
+ if (isPattern) {
+ prop.value = this.parseMaybeDefault(startPos, startLoc, prop.key);
+ } else if (this.type === types.eq && refDestructuringErrors) {
+ if (refDestructuringErrors.shorthandAssign < 0)
+ { refDestructuringErrors.shorthandAssign = this.start; }
+ prop.value = this.parseMaybeDefault(startPos, startLoc, prop.key);
+ } else {
+ prop.value = prop.key;
+ }
+ prop.shorthand = true;
+ } else { this.unexpected(); }
+ };
+
+ pp$3.parsePropertyName = function(prop) {
+ if (this.options.ecmaVersion >= 6) {
+ if (this.eat(types.bracketL)) {
+ prop.computed = true;
+ prop.key = this.parseMaybeAssign();
+ this.expect(types.bracketR);
+ return prop.key
+ } else {
+ prop.computed = false;
+ }
+ }
+ return prop.key = this.type === types.num || this.type === types.string ? this.parseExprAtom() : this.parseIdent(this.options.allowReserved !== "never")
+ };
+
+ // Initialize empty function node.
+
+ pp$3.initFunction = function(node) {
+ node.id = null;
+ if (this.options.ecmaVersion >= 6) { node.generator = node.expression = false; }
+ if (this.options.ecmaVersion >= 8) { node.async = false; }
+ };
+
+ // Parse object or class method.
+
+ pp$3.parseMethod = function(isGenerator, isAsync, allowDirectSuper) {
+ var node = this.startNode(), oldYieldPos = this.yieldPos, oldAwaitPos = this.awaitPos, oldAwaitIdentPos = this.awaitIdentPos;
+
+ this.initFunction(node);
+ if (this.options.ecmaVersion >= 6)
+ { node.generator = isGenerator; }
+ if (this.options.ecmaVersion >= 8)
+ { node.async = !!isAsync; }
+
+ this.yieldPos = 0;
+ this.awaitPos = 0;
+ this.awaitIdentPos = 0;
+ this.enterScope(functionFlags(isAsync, node.generator) | SCOPE_SUPER | (allowDirectSuper ? SCOPE_DIRECT_SUPER : 0));
+
+ this.expect(types.parenL);
+ node.params = this.parseBindingList(types.parenR, false, this.options.ecmaVersion >= 8);
+ this.checkYieldAwaitInDefaultParams();
+ this.parseFunctionBody(node, false, true);
+
+ this.yieldPos = oldYieldPos;
+ this.awaitPos = oldAwaitPos;
+ this.awaitIdentPos = oldAwaitIdentPos;
+ return this.finishNode(node, "FunctionExpression")
+ };
+
+ // Parse arrow function expression with given parameters.
+
+ pp$3.parseArrowExpression = function(node, params, isAsync) {
+ var oldYieldPos = this.yieldPos, oldAwaitPos = this.awaitPos, oldAwaitIdentPos = this.awaitIdentPos;
+
+ this.enterScope(functionFlags(isAsync, false) | SCOPE_ARROW);
+ this.initFunction(node);
+ if (this.options.ecmaVersion >= 8) { node.async = !!isAsync; }
+
+ this.yieldPos = 0;
+ this.awaitPos = 0;
+ this.awaitIdentPos = 0;
+
+ node.params = this.toAssignableList(params, true);
+ this.parseFunctionBody(node, true, false);
+
+ this.yieldPos = oldYieldPos;
+ this.awaitPos = oldAwaitPos;
+ this.awaitIdentPos = oldAwaitIdentPos;
+ return this.finishNode(node, "ArrowFunctionExpression")
+ };
+
+ // Parse function body and check parameters.
+
+ pp$3.parseFunctionBody = function(node, isArrowFunction, isMethod) {
+ var isExpression = isArrowFunction && this.type !== types.braceL;
+ var oldStrict = this.strict, useStrict = false;
+
+ if (isExpression) {
+ node.body = this.parseMaybeAssign();
+ node.expression = true;
+ this.checkParams(node, false);
+ } else {
+ var nonSimple = this.options.ecmaVersion >= 7 && !this.isSimpleParamList(node.params);
+ if (!oldStrict || nonSimple) {
+ useStrict = this.strictDirective(this.end);
+ // If this is a strict mode function, verify that argument names
+ // are not repeated, and it does not try to bind the words `eval`
+ // or `arguments`.
+ if (useStrict && nonSimple)
+ { this.raiseRecoverable(node.start, "Illegal 'use strict' directive in function with non-simple parameter list"); }
+ }
+ // Start a new scope with regard to labels and the `inFunction`
+ // flag (restore them to their old value afterwards).
+ var oldLabels = this.labels;
+ this.labels = [];
+ if (useStrict) { this.strict = true; }
+
+ // Add the params to varDeclaredNames to ensure that an error is thrown
+ // if a let/const declaration in the function clashes with one of the params.
+ this.checkParams(node, !oldStrict && !useStrict && !isArrowFunction && !isMethod && this.isSimpleParamList(node.params));
+ node.body = this.parseBlock(false);
+ node.expression = false;
+ this.adaptDirectivePrologue(node.body.body);
+ this.labels = oldLabels;
+ }
+ this.exitScope();
+
+ // Ensure the function name isn't a forbidden identifier in strict mode, e.g. 'eval'
+ if (this.strict && node.id) { this.checkLVal(node.id, BIND_OUTSIDE); }
+ this.strict = oldStrict;
+ };
+
+ pp$3.isSimpleParamList = function(params) {
+ for (var i = 0, list = params; i < list.length; i += 1)
+ {
+ var param = list[i];
+
+ if (param.type !== "Identifier") { return false
+ } }
+ return true
+ };
+
+ // Checks function params for various disallowed patterns such as using "eval"
+ // or "arguments" and duplicate parameters.
+
+ pp$3.checkParams = function(node, allowDuplicates) {
+ var nameHash = {};
+ for (var i = 0, list = node.params; i < list.length; i += 1)
+ {
+ var param = list[i];
+
+ this.checkLVal(param, BIND_VAR, allowDuplicates ? null : nameHash);
+ }
+ };
+
+ // Parses a comma-separated list of expressions, and returns them as
+ // an array. `close` is the token type that ends the list, and
+ // `allowEmpty` can be turned on to allow subsequent commas with
+ // nothing in between them to be parsed as `null` (which is needed
+ // for array literals).
+
+ pp$3.parseExprList = function(close, allowTrailingComma, allowEmpty, refDestructuringErrors) {
+ var elts = [], first = true;
+ while (!this.eat(close)) {
+ if (!first) {
+ this.expect(types.comma);
+ if (allowTrailingComma && this.afterTrailingComma(close)) { break }
+ } else { first = false; }
+
+ var elt = (void 0);
+ if (allowEmpty && this.type === types.comma)
+ { elt = null; }
+ else if (this.type === types.ellipsis) {
+ elt = this.parseSpread(refDestructuringErrors);
+ if (refDestructuringErrors && this.type === types.comma && refDestructuringErrors.trailingComma < 0)
+ { refDestructuringErrors.trailingComma = this.start; }
+ } else {
+ elt = this.parseMaybeAssign(false, refDestructuringErrors);
+ }
+ elts.push(elt);
+ }
+ return elts
+ };
+
+ pp$3.checkUnreserved = function(ref) {
+ var start = ref.start;
+ var end = ref.end;
+ var name = ref.name;
+
+ if (this.inGenerator && name === "yield")
+ { this.raiseRecoverable(start, "Cannot use 'yield' as identifier inside a generator"); }
+ if (this.inAsync && name === "await")
+ { this.raiseRecoverable(start, "Cannot use 'await' as identifier inside an async function"); }
+ if (this.keywords.test(name))
+ { this.raise(start, ("Unexpected keyword '" + name + "'")); }
+ if (this.options.ecmaVersion < 6 &&
+ this.input.slice(start, end).indexOf("\\") !== -1) { return }
+ var re = this.strict ? this.reservedWordsStrict : this.reservedWords;
+ if (re.test(name)) {
+ if (!this.inAsync && name === "await")
+ { this.raiseRecoverable(start, "Cannot use keyword 'await' outside an async function"); }
+ this.raiseRecoverable(start, ("The keyword '" + name + "' is reserved"));
+ }
+ };
+
+ // Parse the next token as an identifier. If `liberal` is true (used
+ // when parsing properties), it will also convert keywords into
+ // identifiers.
+
+ pp$3.parseIdent = function(liberal, isBinding) {
+ var node = this.startNode();
+ if (this.type === types.name) {
+ node.name = this.value;
+ } else if (this.type.keyword) {
+ node.name = this.type.keyword;
+
+ // To fix https://github.com/acornjs/acorn/issues/575
+ // `class` and `function` keywords push new context into this.context.
+ // But there is no chance to pop the context if the keyword is consumed as an identifier such as a property name.
+ // If the previous token is a dot, this does not apply because the context-managing code already ignored the keyword
+ if ((node.name === "class" || node.name === "function") &&
+ (this.lastTokEnd !== this.lastTokStart + 1 || this.input.charCodeAt(this.lastTokStart) !== 46)) {
+ this.context.pop();
+ }
+ } else {
+ this.unexpected();
+ }
+ this.next();
+ this.finishNode(node, "Identifier");
+ if (!liberal) {
+ this.checkUnreserved(node);
+ if (node.name === "await" && !this.awaitIdentPos)
+ { this.awaitIdentPos = node.start; }
+ }
+ return node
+ };
+
+ // Parses yield expression inside generator.
+
+ pp$3.parseYield = function(noIn) {
+ if (!this.yieldPos) { this.yieldPos = this.start; }
+
+ var node = this.startNode();
+ this.next();
+ if (this.type === types.semi || this.canInsertSemicolon() || (this.type !== types.star && !this.type.startsExpr)) {
+ node.delegate = false;
+ node.argument = null;
+ } else {
+ node.delegate = this.eat(types.star);
+ node.argument = this.parseMaybeAssign(noIn);
+ }
+ return this.finishNode(node, "YieldExpression")
+ };
+
+ pp$3.parseAwait = function() {
+ if (!this.awaitPos) { this.awaitPos = this.start; }
+
+ var node = this.startNode();
+ this.next();
+ node.argument = this.parseMaybeUnary(null, true);
+ return this.finishNode(node, "AwaitExpression")
+ };
+
+ var pp$4 = Parser.prototype;
+
+ // This function is used to raise exceptions on parse errors. It
+ // takes an offset integer (into the current `input`) to indicate
+ // the location of the error, attaches the position to the end
+ // of the error message, and then raises a `SyntaxError` with that
+ // message.
+
+ pp$4.raise = function(pos, message) {
+ var loc = getLineInfo(this.input, pos);
+ message += " (" + loc.line + ":" + loc.column + ")";
+ var err = new SyntaxError(message);
+ err.pos = pos; err.loc = loc; err.raisedAt = this.pos;
+ throw err
+ };
+
+ pp$4.raiseRecoverable = pp$4.raise;
+
+ pp$4.curPosition = function() {
+ if (this.options.locations) {
+ return new Position(this.curLine, this.pos - this.lineStart)
+ }
+ };
+
+ var pp$5 = Parser.prototype;
+
+ var Scope = function Scope(flags) {
+ this.flags = flags;
+ // A list of var-declared names in the current lexical scope
+ this.var = [];
+ // A list of lexically-declared names in the current lexical scope
+ this.lexical = [];
+ // A list of lexically-declared FunctionDeclaration names in the current lexical scope
+ this.functions = [];
+ };
+
+ // The functions in this module keep track of declared variables in the current scope in order to detect duplicate variable names.
+
+ pp$5.enterScope = function(flags) {
+ this.scopeStack.push(new Scope(flags));
+ };
+
+ pp$5.exitScope = function() {
+ this.scopeStack.pop();
+ };
+
+ // The spec says:
+ // > At the top level of a function, or script, function declarations are
+ // > treated like var declarations rather than like lexical declarations.
+ pp$5.treatFunctionsAsVarInScope = function(scope) {
+ return (scope.flags & SCOPE_FUNCTION) || !this.inModule && (scope.flags & SCOPE_TOP)
+ };
+
+ pp$5.declareName = function(name, bindingType, pos) {
+ var redeclared = false;
+ if (bindingType === BIND_LEXICAL) {
+ var scope = this.currentScope();
+ redeclared = scope.lexical.indexOf(name) > -1 || scope.functions.indexOf(name) > -1 || scope.var.indexOf(name) > -1;
+ scope.lexical.push(name);
+ if (this.inModule && (scope.flags & SCOPE_TOP))
+ { delete this.undefinedExports[name]; }
+ } else if (bindingType === BIND_SIMPLE_CATCH) {
+ var scope$1 = this.currentScope();
+ scope$1.lexical.push(name);
+ } else if (bindingType === BIND_FUNCTION) {
+ var scope$2 = this.currentScope();
+ if (this.treatFunctionsAsVar)
+ { redeclared = scope$2.lexical.indexOf(name) > -1; }
+ else
+ { redeclared = scope$2.lexical.indexOf(name) > -1 || scope$2.var.indexOf(name) > -1; }
+ scope$2.functions.push(name);
+ } else {
+ for (var i = this.scopeStack.length - 1; i >= 0; --i) {
+ var scope$3 = this.scopeStack[i];
+ if (scope$3.lexical.indexOf(name) > -1 && !((scope$3.flags & SCOPE_SIMPLE_CATCH) && scope$3.lexical[0] === name) ||
+ !this.treatFunctionsAsVarInScope(scope$3) && scope$3.functions.indexOf(name) > -1) {
+ redeclared = true;
+ break
+ }
+ scope$3.var.push(name);
+ if (this.inModule && (scope$3.flags & SCOPE_TOP))
+ { delete this.undefinedExports[name]; }
+ if (scope$3.flags & SCOPE_VAR) { break }
+ }
+ }
+ if (redeclared) { this.raiseRecoverable(pos, ("Identifier '" + name + "' has already been declared")); }
+ };
+
+ pp$5.checkLocalExport = function(id) {
+ // scope.functions must be empty as Module code is always strict.
+ if (this.scopeStack[0].lexical.indexOf(id.name) === -1 &&
+ this.scopeStack[0].var.indexOf(id.name) === -1) {
+ this.undefinedExports[id.name] = id;
+ }
+ };
+
+ pp$5.currentScope = function() {
+ return this.scopeStack[this.scopeStack.length - 1]
+ };
+
+ pp$5.currentVarScope = function() {
+ for (var i = this.scopeStack.length - 1;; i--) {
+ var scope = this.scopeStack[i];
+ if (scope.flags & SCOPE_VAR) { return scope }
+ }
+ };
+
+ // Could be useful for `this`, `new.target`, `super()`, `super.property`, and `super[property]`.
+ pp$5.currentThisScope = function() {
+ for (var i = this.scopeStack.length - 1;; i--) {
+ var scope = this.scopeStack[i];
+ if (scope.flags & SCOPE_VAR && !(scope.flags & SCOPE_ARROW)) { return scope }
+ }
+ };
+
+ var Node = function Node(parser, pos, loc) {
+ this.type = "";
+ this.start = pos;
+ this.end = 0;
+ if (parser.options.locations)
+ { this.loc = new SourceLocation(parser, loc); }
+ if (parser.options.directSourceFile)
+ { this.sourceFile = parser.options.directSourceFile; }
+ if (parser.options.ranges)
+ { this.range = [pos, 0]; }
+ };
+
+ // Start an AST node, attaching a start offset.
+
+ var pp$6 = Parser.prototype;
+
+ pp$6.startNode = function() {
+ return new Node(this, this.start, this.startLoc)
+ };
+
+ pp$6.startNodeAt = function(pos, loc) {
+ return new Node(this, pos, loc)
+ };
+
+ // Finish an AST node, adding `type` and `end` properties.
+
+ function finishNodeAt(node, type, pos, loc) {
+ node.type = type;
+ node.end = pos;
+ if (this.options.locations)
+ { node.loc.end = loc; }
+ if (this.options.ranges)
+ { node.range[1] = pos; }
+ return node
+ }
+
+ pp$6.finishNode = function(node, type) {
+ return finishNodeAt.call(this, node, type, this.lastTokEnd, this.lastTokEndLoc)
+ };
+
+ // Finish node at given position
+
+ pp$6.finishNodeAt = function(node, type, pos, loc) {
+ return finishNodeAt.call(this, node, type, pos, loc)
+ };
+
+ // The algorithm used to determine whether a regexp can appear at a
+
+ var TokContext = function TokContext(token, isExpr, preserveSpace, override, generator) {
+ this.token = token;
+ this.isExpr = !!isExpr;
+ this.preserveSpace = !!preserveSpace;
+ this.override = override;
+ this.generator = !!generator;
+ };
+
+ var types$1 = {
+ b_stat: new TokContext("{", false),
+ b_expr: new TokContext("{", true),
+ b_tmpl: new TokContext("${", false),
+ p_stat: new TokContext("(", false),
+ p_expr: new TokContext("(", true),
+ q_tmpl: new TokContext("`", true, true, function (p) { return p.tryReadTemplateToken(); }),
+ f_stat: new TokContext("function", false),
+ f_expr: new TokContext("function", true),
+ f_expr_gen: new TokContext("function", true, false, null, true),
+ f_gen: new TokContext("function", false, false, null, true)
+ };
+
+ var pp$7 = Parser.prototype;
+
+ pp$7.initialContext = function() {
+ return [types$1.b_stat]
+ };
+
+ pp$7.braceIsBlock = function(prevType) {
+ var parent = this.curContext();
+ if (parent === types$1.f_expr || parent === types$1.f_stat)
+ { return true }
+ if (prevType === types.colon && (parent === types$1.b_stat || parent === types$1.b_expr))
+ { return !parent.isExpr }
+
+ // The check for `tt.name && exprAllowed` detects whether we are
+ // after a `yield` or `of` construct. See the `updateContext` for
+ // `tt.name`.
+ if (prevType === types._return || prevType === types.name && this.exprAllowed)
+ { return lineBreak.test(this.input.slice(this.lastTokEnd, this.start)) }
+ if (prevType === types._else || prevType === types.semi || prevType === types.eof || prevType === types.parenR || prevType === types.arrow)
+ { return true }
+ if (prevType === types.braceL)
+ { return parent === types$1.b_stat }
+ if (prevType === types._var || prevType === types._const || prevType === types.name)
+ { return false }
+ return !this.exprAllowed
+ };
+
+ pp$7.inGeneratorContext = function() {
+ for (var i = this.context.length - 1; i >= 1; i--) {
+ var context = this.context[i];
+ if (context.token === "function")
+ { return context.generator }
+ }
+ return false
+ };
+
+ pp$7.updateContext = function(prevType) {
+ var update, type = this.type;
+ if (type.keyword && prevType === types.dot)
+ { this.exprAllowed = false; }
+ else if (update = type.updateContext)
+ { update.call(this, prevType); }
+ else
+ { this.exprAllowed = type.beforeExpr; }
+ };
+
+ // Token-specific context update code
+
+ types.parenR.updateContext = types.braceR.updateContext = function() {
+ if (this.context.length === 1) {
+ this.exprAllowed = true;
+ return
+ }
+ var out = this.context.pop();
+ if (out === types$1.b_stat && this.curContext().token === "function") {
+ out = this.context.pop();
+ }
+ this.exprAllowed = !out.isExpr;
+ };
+
+ types.braceL.updateContext = function(prevType) {
+ this.context.push(this.braceIsBlock(prevType) ? types$1.b_stat : types$1.b_expr);
+ this.exprAllowed = true;
+ };
+
+ types.dollarBraceL.updateContext = function() {
+ this.context.push(types$1.b_tmpl);
+ this.exprAllowed = true;
+ };
+
+ types.parenL.updateContext = function(prevType) {
+ var statementParens = prevType === types._if || prevType === types._for || prevType === types._with || prevType === types._while;
+ this.context.push(statementParens ? types$1.p_stat : types$1.p_expr);
+ this.exprAllowed = true;
+ };
+
+ types.incDec.updateContext = function() {
+ // tokExprAllowed stays unchanged
+ };
+
+ types._function.updateContext = types._class.updateContext = function(prevType) {
+ if (prevType.beforeExpr && prevType !== types.semi && prevType !== types._else &&
+ !(prevType === types._return && lineBreak.test(this.input.slice(this.lastTokEnd, this.start))) &&
+ !((prevType === types.colon || prevType === types.braceL) && this.curContext() === types$1.b_stat))
+ { this.context.push(types$1.f_expr); }
+ else
+ { this.context.push(types$1.f_stat); }
+ this.exprAllowed = false;
+ };
+
+ types.backQuote.updateContext = function() {
+ if (this.curContext() === types$1.q_tmpl)
+ { this.context.pop(); }
+ else
+ { this.context.push(types$1.q_tmpl); }
+ this.exprAllowed = false;
+ };
+
+ types.star.updateContext = function(prevType) {
+ if (prevType === types._function) {
+ var index = this.context.length - 1;
+ if (this.context[index] === types$1.f_expr)
+ { this.context[index] = types$1.f_expr_gen; }
+ else
+ { this.context[index] = types$1.f_gen; }
+ }
+ this.exprAllowed = true;
+ };
+
+ types.name.updateContext = function(prevType) {
+ var allowed = false;
+ if (this.options.ecmaVersion >= 6 && prevType !== types.dot) {
+ if (this.value === "of" && !this.exprAllowed ||
+ this.value === "yield" && this.inGeneratorContext())
+ { allowed = true; }
+ }
+ this.exprAllowed = allowed;
+ };
+
+ // This file contains Unicode properties extracted from the ECMAScript
+ // specification. The lists are extracted like so:
+ // $$('#table-binary-unicode-properties > figure > table > tbody > tr > td:nth-child(1) code').map(el => el.innerText)
+
+ // #table-binary-unicode-properties
+ var ecma9BinaryProperties = "ASCII ASCII_Hex_Digit AHex Alphabetic Alpha Any Assigned Bidi_Control Bidi_C Bidi_Mirrored Bidi_M Case_Ignorable CI Cased Changes_When_Casefolded CWCF Changes_When_Casemapped CWCM Changes_When_Lowercased CWL Changes_When_NFKC_Casefolded CWKCF Changes_When_Titlecased CWT Changes_When_Uppercased CWU Dash Default_Ignorable_Code_Point DI Deprecated Dep Diacritic Dia Emoji Emoji_Component Emoji_Modifier Emoji_Modifier_Base Emoji_Presentation Extender Ext Grapheme_Base Gr_Base Grapheme_Extend Gr_Ext Hex_Digit Hex IDS_Binary_Operator IDSB IDS_Trinary_Operator IDST ID_Continue IDC ID_Start IDS Ideographic Ideo Join_Control Join_C Logical_Order_Exception LOE Lowercase Lower Math Noncharacter_Code_Point NChar Pattern_Syntax Pat_Syn Pattern_White_Space Pat_WS Quotation_Mark QMark Radical Regional_Indicator RI Sentence_Terminal STerm Soft_Dotted SD Terminal_Punctuation Term Unified_Ideograph UIdeo Uppercase Upper Variation_Selector VS White_Space space XID_Continue XIDC XID_Start XIDS";
+ var ecma10BinaryProperties = ecma9BinaryProperties + " Extended_Pictographic";
+ var ecma11BinaryProperties = ecma10BinaryProperties;
+ var unicodeBinaryProperties = {
+ 9: ecma9BinaryProperties,
+ 10: ecma10BinaryProperties,
+ 11: ecma11BinaryProperties
+ };
+
+ // #table-unicode-general-category-values
+ var unicodeGeneralCategoryValues = "Cased_Letter LC Close_Punctuation Pe Connector_Punctuation Pc Control Cc cntrl Currency_Symbol Sc Dash_Punctuation Pd Decimal_Number Nd digit Enclosing_Mark Me Final_Punctuation Pf Format Cf Initial_Punctuation Pi Letter L Letter_Number Nl Line_Separator Zl Lowercase_Letter Ll Mark M Combining_Mark Math_Symbol Sm Modifier_Letter Lm Modifier_Symbol Sk Nonspacing_Mark Mn Number N Open_Punctuation Ps Other C Other_Letter Lo Other_Number No Other_Punctuation Po Other_Symbol So Paragraph_Separator Zp Private_Use Co Punctuation P punct Separator Z Space_Separator Zs Spacing_Mark Mc Surrogate Cs Symbol S Titlecase_Letter Lt Unassigned Cn Uppercase_Letter Lu";
+
+ // #table-unicode-script-values
+ var ecma9ScriptValues = "Adlam Adlm Ahom Ahom Anatolian_Hieroglyphs Hluw Arabic Arab Armenian Armn Avestan Avst Balinese Bali Bamum Bamu Bassa_Vah Bass Batak Batk Bengali Beng Bhaiksuki Bhks Bopomofo Bopo Brahmi Brah Braille Brai Buginese Bugi Buhid Buhd Canadian_Aboriginal Cans Carian Cari Caucasian_Albanian Aghb Chakma Cakm Cham Cham Cherokee Cher Common Zyyy Coptic Copt Qaac Cuneiform Xsux Cypriot Cprt Cyrillic Cyrl Deseret Dsrt Devanagari Deva Duployan Dupl Egyptian_Hieroglyphs Egyp Elbasan Elba Ethiopic Ethi Georgian Geor Glagolitic Glag Gothic Goth Grantha Gran Greek Grek Gujarati Gujr Gurmukhi Guru Han Hani Hangul Hang Hanunoo Hano Hatran Hatr Hebrew Hebr Hiragana Hira Imperial_Aramaic Armi Inherited Zinh Qaai Inscriptional_Pahlavi Phli Inscriptional_Parthian Prti Javanese Java Kaithi Kthi Kannada Knda Katakana Kana Kayah_Li Kali Kharoshthi Khar Khmer Khmr Khojki Khoj Khudawadi Sind Lao Laoo Latin Latn Lepcha Lepc Limbu Limb Linear_A Lina Linear_B Linb Lisu Lisu Lycian Lyci Lydian Lydi Mahajani Mahj Malayalam Mlym Mandaic Mand Manichaean Mani Marchen Marc Masaram_Gondi Gonm Meetei_Mayek Mtei Mende_Kikakui Mend Meroitic_Cursive Merc Meroitic_Hieroglyphs Mero Miao Plrd Modi Modi Mongolian Mong Mro Mroo Multani Mult Myanmar Mymr Nabataean Nbat New_Tai_Lue Talu Newa Newa Nko Nkoo Nushu Nshu Ogham Ogam Ol_Chiki Olck Old_Hungarian Hung Old_Italic Ital Old_North_Arabian Narb Old_Permic Perm Old_Persian Xpeo Old_South_Arabian Sarb Old_Turkic Orkh Oriya Orya Osage Osge Osmanya Osma Pahawh_Hmong Hmng Palmyrene Palm Pau_Cin_Hau Pauc Phags_Pa Phag Phoenician Phnx Psalter_Pahlavi Phlp Rejang Rjng Runic Runr Samaritan Samr Saurashtra Saur Sharada Shrd Shavian Shaw Siddham Sidd SignWriting Sgnw Sinhala Sinh Sora_Sompeng Sora Soyombo Soyo Sundanese Sund Syloti_Nagri Sylo Syriac Syrc Tagalog Tglg Tagbanwa Tagb Tai_Le Tale Tai_Tham Lana Tai_Viet Tavt Takri Takr Tamil Taml Tangut Tang Telugu Telu Thaana Thaa Thai Thai Tibetan Tibt Tifinagh Tfng Tirhuta Tirh Ugaritic Ugar Vai Vaii Warang_Citi Wara Yi Yiii Zanabazar_Square Zanb";
+ var ecma10ScriptValues = ecma9ScriptValues + " Dogra Dogr Gunjala_Gondi Gong Hanifi_Rohingya Rohg Makasar Maka Medefaidrin Medf Old_Sogdian Sogo Sogdian Sogd";
+ var ecma11ScriptValues = ecma10ScriptValues + " Elymaic Elym Nandinagari Nand Nyiakeng_Puachue_Hmong Hmnp Wancho Wcho";
+ var unicodeScriptValues = {
+ 9: ecma9ScriptValues,
+ 10: ecma10ScriptValues,
+ 11: ecma11ScriptValues
+ };
+
+ var data = {};
+ function buildUnicodeData(ecmaVersion) {
+ var d = data[ecmaVersion] = {
+ binary: wordsRegexp(unicodeBinaryProperties[ecmaVersion] + " " + unicodeGeneralCategoryValues),
+ nonBinary: {
+ General_Category: wordsRegexp(unicodeGeneralCategoryValues),
+ Script: wordsRegexp(unicodeScriptValues[ecmaVersion])
+ }
+ };
+ d.nonBinary.Script_Extensions = d.nonBinary.Script;
+
+ d.nonBinary.gc = d.nonBinary.General_Category;
+ d.nonBinary.sc = d.nonBinary.Script;
+ d.nonBinary.scx = d.nonBinary.Script_Extensions;
+ }
+ buildUnicodeData(9);
+ buildUnicodeData(10);
+ buildUnicodeData(11);
+
+ var pp$8 = Parser.prototype;
+
+ var RegExpValidationState = function RegExpValidationState(parser) {
+ this.parser = parser;
+ this.validFlags = "gim" + (parser.options.ecmaVersion >= 6 ? "uy" : "") + (parser.options.ecmaVersion >= 9 ? "s" : "");
+ this.unicodeProperties = data[parser.options.ecmaVersion >= 11 ? 11 : parser.options.ecmaVersion];
+ this.source = "";
+ this.flags = "";
+ this.start = 0;
+ this.switchU = false;
+ this.switchN = false;
+ this.pos = 0;
+ this.lastIntValue = 0;
+ this.lastStringValue = "";
+ this.lastAssertionIsQuantifiable = false;
+ this.numCapturingParens = 0;
+ this.maxBackReference = 0;
+ this.groupNames = [];
+ this.backReferenceNames = [];
+ };
+
+ RegExpValidationState.prototype.reset = function reset (start, pattern, flags) {
+ var unicode = flags.indexOf("u") !== -1;
+ this.start = start | 0;
+ this.source = pattern + "";
+ this.flags = flags;
+ this.switchU = unicode && this.parser.options.ecmaVersion >= 6;
+ this.switchN = unicode && this.parser.options.ecmaVersion >= 9;
+ };
+
+ RegExpValidationState.prototype.raise = function raise (message) {
+ this.parser.raiseRecoverable(this.start, ("Invalid regular expression: /" + (this.source) + "/: " + message));
+ };
+
+ // If u flag is given, this returns the code point at the index (it combines a surrogate pair).
+ // Otherwise, this returns the code unit of the index (can be a part of a surrogate pair).
+ RegExpValidationState.prototype.at = function at (i) {
+ var s = this.source;
+ var l = s.length;
+ if (i >= l) {
+ return -1
+ }
+ var c = s.charCodeAt(i);
+ if (!this.switchU || c <= 0xD7FF || c >= 0xE000 || i + 1 >= l) {
+ return c
+ }
+ var next = s.charCodeAt(i + 1);
+ return next >= 0xDC00 && next <= 0xDFFF ? (c << 10) + next - 0x35FDC00 : c
+ };
+
+ RegExpValidationState.prototype.nextIndex = function nextIndex (i) {
+ var s = this.source;
+ var l = s.length;
+ if (i >= l) {
+ return l
+ }
+ var c = s.charCodeAt(i), next;
+ if (!this.switchU || c <= 0xD7FF || c >= 0xE000 || i + 1 >= l ||
+ (next = s.charCodeAt(i + 1)) < 0xDC00 || next > 0xDFFF) {
+ return i + 1
+ }
+ return i + 2
+ };
+
+ RegExpValidationState.prototype.current = function current () {
+ return this.at(this.pos)
+ };
+
+ RegExpValidationState.prototype.lookahead = function lookahead () {
+ return this.at(this.nextIndex(this.pos))
+ };
+
+ RegExpValidationState.prototype.advance = function advance () {
+ this.pos = this.nextIndex(this.pos);
+ };
+
+ RegExpValidationState.prototype.eat = function eat (ch) {
+ if (this.current() === ch) {
+ this.advance();
+ return true
+ }
+ return false
+ };
+
+ function codePointToString(ch) {
+ if (ch <= 0xFFFF) { return String.fromCharCode(ch) }
+ ch -= 0x10000;
+ return String.fromCharCode((ch >> 10) + 0xD800, (ch & 0x03FF) + 0xDC00)
+ }
+
+ /**
+ * Validate the flags part of a given RegExpLiteral.
+ *
+ * @param {RegExpValidationState} state The state to validate RegExp.
+ * @returns {void}
+ */
+ pp$8.validateRegExpFlags = function(state) {
+ var validFlags = state.validFlags;
+ var flags = state.flags;
+
+ for (var i = 0; i < flags.length; i++) {
+ var flag = flags.charAt(i);
+ if (validFlags.indexOf(flag) === -1) {
+ this.raise(state.start, "Invalid regular expression flag");
+ }
+ if (flags.indexOf(flag, i + 1) > -1) {
+ this.raise(state.start, "Duplicate regular expression flag");
+ }
+ }
+ };
+
+ /**
+ * Validate the pattern part of a given RegExpLiteral.
+ *
+ * @param {RegExpValidationState} state The state to validate RegExp.
+ * @returns {void}
+ */
+ pp$8.validateRegExpPattern = function(state) {
+ this.regexp_pattern(state);
+
+ // The goal symbol for the parse is |Pattern[~U, ~N]|. If the result of
+ // parsing contains a |GroupName|, reparse with the goal symbol
+ // |Pattern[~U, +N]| and use this result instead. Throw a *SyntaxError*
+ // exception if _P_ did not conform to the grammar, if any elements of _P_
+ // were not matched by the parse, or if any Early Error conditions exist.
+ if (!state.switchN && this.options.ecmaVersion >= 9 && state.groupNames.length > 0) {
+ state.switchN = true;
+ this.regexp_pattern(state);
+ }
+ };
+
+ // https://www.ecma-international.org/ecma-262/8.0/#prod-Pattern
+ pp$8.regexp_pattern = function(state) {
+ state.pos = 0;
+ state.lastIntValue = 0;
+ state.lastStringValue = "";
+ state.lastAssertionIsQuantifiable = false;
+ state.numCapturingParens = 0;
+ state.maxBackReference = 0;
+ state.groupNames.length = 0;
+ state.backReferenceNames.length = 0;
+
+ this.regexp_disjunction(state);
+
+ if (state.pos !== state.source.length) {
+ // Make the same messages as V8.
+ if (state.eat(0x29 /* ) */)) {
+ state.raise("Unmatched ')'");
+ }
+ if (state.eat(0x5D /* [ */) || state.eat(0x7D /* } */)) {
+ state.raise("Lone quantifier brackets");
+ }
+ }
+ if (state.maxBackReference > state.numCapturingParens) {
+ state.raise("Invalid escape");
+ }
+ for (var i = 0, list = state.backReferenceNames; i < list.length; i += 1) {
+ var name = list[i];
+
+ if (state.groupNames.indexOf(name) === -1) {
+ state.raise("Invalid named capture referenced");
+ }
+ }
+ };
+
+ // https://www.ecma-international.org/ecma-262/8.0/#prod-Disjunction
+ pp$8.regexp_disjunction = function(state) {
+ this.regexp_alternative(state);
+ while (state.eat(0x7C /* | */)) {
+ this.regexp_alternative(state);
+ }
+
+ // Make the same message as V8.
+ if (this.regexp_eatQuantifier(state, true)) {
+ state.raise("Nothing to repeat");
+ }
+ if (state.eat(0x7B /* { */)) {
+ state.raise("Lone quantifier brackets");
+ }
+ };
+
+ // https://www.ecma-international.org/ecma-262/8.0/#prod-Alternative
+ pp$8.regexp_alternative = function(state) {
+ while (state.pos < state.source.length && this.regexp_eatTerm(state))
+ { }
+ };
+
+ // https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-Term
+ pp$8.regexp_eatTerm = function(state) {
+ if (this.regexp_eatAssertion(state)) {
+ // Handle `QuantifiableAssertion Quantifier` alternative.
+ // `state.lastAssertionIsQuantifiable` is true if the last eaten Assertion
+ // is a QuantifiableAssertion.
+ if (state.lastAssertionIsQuantifiable && this.regexp_eatQuantifier(state)) {
+ // Make the same message as V8.
+ if (state.switchU) {
+ state.raise("Invalid quantifier");
+ }
+ }
+ return true
+ }
+
+ if (state.switchU ? this.regexp_eatAtom(state) : this.regexp_eatExtendedAtom(state)) {
+ this.regexp_eatQuantifier(state);
+ return true
+ }
+
+ return false
+ };
+
+ // https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-Assertion
+ pp$8.regexp_eatAssertion = function(state) {
+ var start = state.pos;
+ state.lastAssertionIsQuantifiable = false;
+
+ // ^, $
+ if (state.eat(0x5E /* ^ */) || state.eat(0x24 /* $ */)) {
+ return true
+ }
+
+ // \b \B
+ if (state.eat(0x5C /* \ */)) {
+ if (state.eat(0x42 /* B */) || state.eat(0x62 /* b */)) {
+ return true
+ }
+ state.pos = start;
+ }
+
+ // Lookahead / Lookbehind
+ if (state.eat(0x28 /* ( */) && state.eat(0x3F /* ? */)) {
+ var lookbehind = false;
+ if (this.options.ecmaVersion >= 9) {
+ lookbehind = state.eat(0x3C /* < */);
+ }
+ if (state.eat(0x3D /* = */) || state.eat(0x21 /* ! */)) {
+ this.regexp_disjunction(state);
+ if (!state.eat(0x29 /* ) */)) {
+ state.raise("Unterminated group");
+ }
+ state.lastAssertionIsQuantifiable = !lookbehind;
+ return true
+ }
+ }
+
+ state.pos = start;
+ return false
+ };
+
+ // https://www.ecma-international.org/ecma-262/8.0/#prod-Quantifier
+ pp$8.regexp_eatQuantifier = function(state, noError) {
+ if ( noError === void 0 ) noError = false;
+
+ if (this.regexp_eatQuantifierPrefix(state, noError)) {
+ state.eat(0x3F /* ? */);
+ return true
+ }
+ return false
+ };
+
+ // https://www.ecma-international.org/ecma-262/8.0/#prod-QuantifierPrefix
+ pp$8.regexp_eatQuantifierPrefix = function(state, noError) {
+ return (
+ state.eat(0x2A /* * */) ||
+ state.eat(0x2B /* + */) ||
+ state.eat(0x3F /* ? */) ||
+ this.regexp_eatBracedQuantifier(state, noError)
+ )
+ };
+ pp$8.regexp_eatBracedQuantifier = function(state, noError) {
+ var start = state.pos;
+ if (state.eat(0x7B /* { */)) {
+ var min = 0, max = -1;
+ if (this.regexp_eatDecimalDigits(state)) {
+ min = state.lastIntValue;
+ if (state.eat(0x2C /* , */) && this.regexp_eatDecimalDigits(state)) {
+ max = state.lastIntValue;
+ }
+ if (state.eat(0x7D /* } */)) {
+ // SyntaxError in https://www.ecma-international.org/ecma-262/8.0/#sec-term
+ if (max !== -1 && max < min && !noError) {
+ state.raise("numbers out of order in {} quantifier");
+ }
+ return true
+ }
+ }
+ if (state.switchU && !noError) {
+ state.raise("Incomplete quantifier");
+ }
+ state.pos = start;
+ }
+ return false
+ };
+
+ // https://www.ecma-international.org/ecma-262/8.0/#prod-Atom
+ pp$8.regexp_eatAtom = function(state) {
+ return (
+ this.regexp_eatPatternCharacters(state) ||
+ state.eat(0x2E /* . */) ||
+ this.regexp_eatReverseSolidusAtomEscape(state) ||
+ this.regexp_eatCharacterClass(state) ||
+ this.regexp_eatUncapturingGroup(state) ||
+ this.regexp_eatCapturingGroup(state)
+ )
+ };
+ pp$8.regexp_eatReverseSolidusAtomEscape = function(state) {
+ var start = state.pos;
+ if (state.eat(0x5C /* \ */)) {
+ if (this.regexp_eatAtomEscape(state)) {
+ return true
+ }
+ state.pos = start;
+ }
+ return false
+ };
+ pp$8.regexp_eatUncapturingGroup = function(state) {
+ var start = state.pos;
+ if (state.eat(0x28 /* ( */)) {
+ if (state.eat(0x3F /* ? */) && state.eat(0x3A /* : */)) {
+ this.regexp_disjunction(state);
+ if (state.eat(0x29 /* ) */)) {
+ return true
+ }
+ state.raise("Unterminated group");
+ }
+ state.pos = start;
+ }
+ return false
+ };
+ pp$8.regexp_eatCapturingGroup = function(state) {
+ if (state.eat(0x28 /* ( */)) {
+ if (this.options.ecmaVersion >= 9) {
+ this.regexp_groupSpecifier(state);
+ } else if (state.current() === 0x3F /* ? */) {
+ state.raise("Invalid group");
+ }
+ this.regexp_disjunction(state);
+ if (state.eat(0x29 /* ) */)) {
+ state.numCapturingParens += 1;
+ return true
+ }
+ state.raise("Unterminated group");
+ }
+ return false
+ };
+
+ // https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-ExtendedAtom
+ pp$8.regexp_eatExtendedAtom = function(state) {
+ return (
+ state.eat(0x2E /* . */) ||
+ this.regexp_eatReverseSolidusAtomEscape(state) ||
+ this.regexp_eatCharacterClass(state) ||
+ this.regexp_eatUncapturingGroup(state) ||
+ this.regexp_eatCapturingGroup(state) ||
+ this.regexp_eatInvalidBracedQuantifier(state) ||
+ this.regexp_eatExtendedPatternCharacter(state)
+ )
+ };
+
+ // https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-InvalidBracedQuantifier
+ pp$8.regexp_eatInvalidBracedQuantifier = function(state) {
+ if (this.regexp_eatBracedQuantifier(state, true)) {
+ state.raise("Nothing to repeat");
+ }
+ return false
+ };
+
+ // https://www.ecma-international.org/ecma-262/8.0/#prod-SyntaxCharacter
+ pp$8.regexp_eatSyntaxCharacter = function(state) {
+ var ch = state.current();
+ if (isSyntaxCharacter(ch)) {
+ state.lastIntValue = ch;
+ state.advance();
+ return true
+ }
+ return false
+ };
+ function isSyntaxCharacter(ch) {
+ return (
+ ch === 0x24 /* $ */ ||
+ ch >= 0x28 /* ( */ && ch <= 0x2B /* + */ ||
+ ch === 0x2E /* . */ ||
+ ch === 0x3F /* ? */ ||
+ ch >= 0x5B /* [ */ && ch <= 0x5E /* ^ */ ||
+ ch >= 0x7B /* { */ && ch <= 0x7D /* } */
+ )
+ }
+
+ // https://www.ecma-international.org/ecma-262/8.0/#prod-PatternCharacter
+ // But eat eager.
+ pp$8.regexp_eatPatternCharacters = function(state) {
+ var start = state.pos;
+ var ch = 0;
+ while ((ch = state.current()) !== -1 && !isSyntaxCharacter(ch)) {
+ state.advance();
+ }
+ return state.pos !== start
+ };
+
+ // https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-ExtendedPatternCharacter
+ pp$8.regexp_eatExtendedPatternCharacter = function(state) {
+ var ch = state.current();
+ if (
+ ch !== -1 &&
+ ch !== 0x24 /* $ */ &&
+ !(ch >= 0x28 /* ( */ && ch <= 0x2B /* + */) &&
+ ch !== 0x2E /* . */ &&
+ ch !== 0x3F /* ? */ &&
+ ch !== 0x5B /* [ */ &&
+ ch !== 0x5E /* ^ */ &&
+ ch !== 0x7C /* | */
+ ) {
+ state.advance();
+ return true
+ }
+ return false
+ };
+
+ // GroupSpecifier[U] ::
+ // [empty]
+ // `?` GroupName[?U]
+ pp$8.regexp_groupSpecifier = function(state) {
+ if (state.eat(0x3F /* ? */)) {
+ if (this.regexp_eatGroupName(state)) {
+ if (state.groupNames.indexOf(state.lastStringValue) !== -1) {
+ state.raise("Duplicate capture group name");
+ }
+ state.groupNames.push(state.lastStringValue);
+ return
+ }
+ state.raise("Invalid group");
+ }
+ };
+
+ // GroupName[U] ::
+ // `<` RegExpIdentifierName[?U] `>`
+ // Note: this updates `state.lastStringValue` property with the eaten name.
+ pp$8.regexp_eatGroupName = function(state) {
+ state.lastStringValue = "";
+ if (state.eat(0x3C /* < */)) {
+ if (this.regexp_eatRegExpIdentifierName(state) && state.eat(0x3E /* > */)) {
+ return true
+ }
+ state.raise("Invalid capture group name");
+ }
+ return false
+ };
+
+ // RegExpIdentifierName[U] ::
+ // RegExpIdentifierStart[?U]
+ // RegExpIdentifierName[?U] RegExpIdentifierPart[?U]
+ // Note: this updates `state.lastStringValue` property with the eaten name.
+ pp$8.regexp_eatRegExpIdentifierName = function(state) {
+ state.lastStringValue = "";
+ if (this.regexp_eatRegExpIdentifierStart(state)) {
+ state.lastStringValue += codePointToString(state.lastIntValue);
+ while (this.regexp_eatRegExpIdentifierPart(state)) {
+ state.lastStringValue += codePointToString(state.lastIntValue);
+ }
+ return true
+ }
+ return false
+ };
+
+ // RegExpIdentifierStart[U] ::
+ // UnicodeIDStart
+ // `$`
+ // `_`
+ // `\` RegExpUnicodeEscapeSequence[?U]
+ pp$8.regexp_eatRegExpIdentifierStart = function(state) {
+ var start = state.pos;
+ var ch = state.current();
+ state.advance();
+
+ if (ch === 0x5C /* \ */ && this.regexp_eatRegExpUnicodeEscapeSequence(state)) {
+ ch = state.lastIntValue;
+ }
+ if (isRegExpIdentifierStart(ch)) {
+ state.lastIntValue = ch;
+ return true
+ }
+
+ state.pos = start;
+ return false
+ };
+ function isRegExpIdentifierStart(ch) {
+ return isIdentifierStart(ch, true) || ch === 0x24 /* $ */ || ch === 0x5F /* _ */
+ }
+
+ // RegExpIdentifierPart[U] ::
+ // UnicodeIDContinue
+ // `$`
+ // `_`
+ // `\` RegExpUnicodeEscapeSequence[?U]
+ //
+ //
+ pp$8.regexp_eatRegExpIdentifierPart = function(state) {
+ var start = state.pos;
+ var ch = state.current();
+ state.advance();
+
+ if (ch === 0x5C /* \ */ && this.regexp_eatRegExpUnicodeEscapeSequence(state)) {
+ ch = state.lastIntValue;
+ }
+ if (isRegExpIdentifierPart(ch)) {
+ state.lastIntValue = ch;
+ return true
+ }
+
+ state.pos = start;
+ return false
+ };
+ function isRegExpIdentifierPart(ch) {
+ return isIdentifierChar(ch, true) || ch === 0x24 /* $ */ || ch === 0x5F /* _ */ || ch === 0x200C /* */ || ch === 0x200D /* */
+ }
+
+ // https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-AtomEscape
+ pp$8.regexp_eatAtomEscape = function(state) {
+ if (
+ this.regexp_eatBackReference(state) ||
+ this.regexp_eatCharacterClassEscape(state) ||
+ this.regexp_eatCharacterEscape(state) ||
+ (state.switchN && this.regexp_eatKGroupName(state))
+ ) {
+ return true
+ }
+ if (state.switchU) {
+ // Make the same message as V8.
+ if (state.current() === 0x63 /* c */) {
+ state.raise("Invalid unicode escape");
+ }
+ state.raise("Invalid escape");
+ }
+ return false
+ };
+ pp$8.regexp_eatBackReference = function(state) {
+ var start = state.pos;
+ if (this.regexp_eatDecimalEscape(state)) {
+ var n = state.lastIntValue;
+ if (state.switchU) {
+ // For SyntaxError in https://www.ecma-international.org/ecma-262/8.0/#sec-atomescape
+ if (n > state.maxBackReference) {
+ state.maxBackReference = n;
+ }
+ return true
+ }
+ if (n <= state.numCapturingParens) {
+ return true
+ }
+ state.pos = start;
+ }
+ return false
+ };
+ pp$8.regexp_eatKGroupName = function(state) {
+ if (state.eat(0x6B /* k */)) {
+ if (this.regexp_eatGroupName(state)) {
+ state.backReferenceNames.push(state.lastStringValue);
+ return true
+ }
+ state.raise("Invalid named reference");
+ }
+ return false
+ };
+
+ // https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-CharacterEscape
+ pp$8.regexp_eatCharacterEscape = function(state) {
+ return (
+ this.regexp_eatControlEscape(state) ||
+ this.regexp_eatCControlLetter(state) ||
+ this.regexp_eatZero(state) ||
+ this.regexp_eatHexEscapeSequence(state) ||
+ this.regexp_eatRegExpUnicodeEscapeSequence(state) ||
+ (!state.switchU && this.regexp_eatLegacyOctalEscapeSequence(state)) ||
+ this.regexp_eatIdentityEscape(state)
+ )
+ };
+ pp$8.regexp_eatCControlLetter = function(state) {
+ var start = state.pos;
+ if (state.eat(0x63 /* c */)) {
+ if (this.regexp_eatControlLetter(state)) {
+ return true
+ }
+ state.pos = start;
+ }
+ return false
+ };
+ pp$8.regexp_eatZero = function(state) {
+ if (state.current() === 0x30 /* 0 */ && !isDecimalDigit(state.lookahead())) {
+ state.lastIntValue = 0;
+ state.advance();
+ return true
+ }
+ return false
+ };
+
+ // https://www.ecma-international.org/ecma-262/8.0/#prod-ControlEscape
+ pp$8.regexp_eatControlEscape = function(state) {
+ var ch = state.current();
+ if (ch === 0x74 /* t */) {
+ state.lastIntValue = 0x09; /* \t */
+ state.advance();
+ return true
+ }
+ if (ch === 0x6E /* n */) {
+ state.lastIntValue = 0x0A; /* \n */
+ state.advance();
+ return true
+ }
+ if (ch === 0x76 /* v */) {
+ state.lastIntValue = 0x0B; /* \v */
+ state.advance();
+ return true
+ }
+ if (ch === 0x66 /* f */) {
+ state.lastIntValue = 0x0C; /* \f */
+ state.advance();
+ return true
+ }
+ if (ch === 0x72 /* r */) {
+ state.lastIntValue = 0x0D; /* \r */
+ state.advance();
+ return true
+ }
+ return false
+ };
+
+ // https://www.ecma-international.org/ecma-262/8.0/#prod-ControlLetter
+ pp$8.regexp_eatControlLetter = function(state) {
+ var ch = state.current();
+ if (isControlLetter(ch)) {
+ state.lastIntValue = ch % 0x20;
+ state.advance();
+ return true
+ }
+ return false
+ };
+ function isControlLetter(ch) {
+ return (
+ (ch >= 0x41 /* A */ && ch <= 0x5A /* Z */) ||
+ (ch >= 0x61 /* a */ && ch <= 0x7A /* z */)
+ )
+ }
+
+ // https://www.ecma-international.org/ecma-262/8.0/#prod-RegExpUnicodeEscapeSequence
+ pp$8.regexp_eatRegExpUnicodeEscapeSequence = function(state) {
+ var start = state.pos;
+
+ if (state.eat(0x75 /* u */)) {
+ if (this.regexp_eatFixedHexDigits(state, 4)) {
+ var lead = state.lastIntValue;
+ if (state.switchU && lead >= 0xD800 && lead <= 0xDBFF) {
+ var leadSurrogateEnd = state.pos;
+ if (state.eat(0x5C /* \ */) && state.eat(0x75 /* u */) && this.regexp_eatFixedHexDigits(state, 4)) {
+ var trail = state.lastIntValue;
+ if (trail >= 0xDC00 && trail <= 0xDFFF) {
+ state.lastIntValue = (lead - 0xD800) * 0x400 + (trail - 0xDC00) + 0x10000;
+ return true
+ }
+ }
+ state.pos = leadSurrogateEnd;
+ state.lastIntValue = lead;
+ }
+ return true
+ }
+ if (
+ state.switchU &&
+ state.eat(0x7B /* { */) &&
+ this.regexp_eatHexDigits(state) &&
+ state.eat(0x7D /* } */) &&
+ isValidUnicode(state.lastIntValue)
+ ) {
+ return true
+ }
+ if (state.switchU) {
+ state.raise("Invalid unicode escape");
+ }
+ state.pos = start;
+ }
+
+ return false
+ };
+ function isValidUnicode(ch) {
+ return ch >= 0 && ch <= 0x10FFFF
+ }
+
+ // https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-IdentityEscape
+ pp$8.regexp_eatIdentityEscape = function(state) {
+ if (state.switchU) {
+ if (this.regexp_eatSyntaxCharacter(state)) {
+ return true
+ }
+ if (state.eat(0x2F /* / */)) {
+ state.lastIntValue = 0x2F; /* / */
+ return true
+ }
+ return false
+ }
+
+ var ch = state.current();
+ if (ch !== 0x63 /* c */ && (!state.switchN || ch !== 0x6B /* k */)) {
+ state.lastIntValue = ch;
+ state.advance();
+ return true
+ }
+
+ return false
+ };
+
+ // https://www.ecma-international.org/ecma-262/8.0/#prod-DecimalEscape
+ pp$8.regexp_eatDecimalEscape = function(state) {
+ state.lastIntValue = 0;
+ var ch = state.current();
+ if (ch >= 0x31 /* 1 */ && ch <= 0x39 /* 9 */) {
+ do {
+ state.lastIntValue = 10 * state.lastIntValue + (ch - 0x30 /* 0 */);
+ state.advance();
+ } while ((ch = state.current()) >= 0x30 /* 0 */ && ch <= 0x39 /* 9 */)
+ return true
+ }
+ return false
+ };
+
+ // https://www.ecma-international.org/ecma-262/8.0/#prod-CharacterClassEscape
+ pp$8.regexp_eatCharacterClassEscape = function(state) {
+ var ch = state.current();
+
+ if (isCharacterClassEscape(ch)) {
+ state.lastIntValue = -1;
+ state.advance();
+ return true
+ }
+
+ if (
+ state.switchU &&
+ this.options.ecmaVersion >= 9 &&
+ (ch === 0x50 /* P */ || ch === 0x70 /* p */)
+ ) {
+ state.lastIntValue = -1;
+ state.advance();
+ if (
+ state.eat(0x7B /* { */) &&
+ this.regexp_eatUnicodePropertyValueExpression(state) &&
+ state.eat(0x7D /* } */)
+ ) {
+ return true
+ }
+ state.raise("Invalid property name");
+ }
+
+ return false
+ };
+ function isCharacterClassEscape(ch) {
+ return (
+ ch === 0x64 /* d */ ||
+ ch === 0x44 /* D */ ||
+ ch === 0x73 /* s */ ||
+ ch === 0x53 /* S */ ||
+ ch === 0x77 /* w */ ||
+ ch === 0x57 /* W */
+ )
+ }
+
+ // UnicodePropertyValueExpression ::
+ // UnicodePropertyName `=` UnicodePropertyValue
+ // LoneUnicodePropertyNameOrValue
+ pp$8.regexp_eatUnicodePropertyValueExpression = function(state) {
+ var start = state.pos;
+
+ // UnicodePropertyName `=` UnicodePropertyValue
+ if (this.regexp_eatUnicodePropertyName(state) && state.eat(0x3D /* = */)) {
+ var name = state.lastStringValue;
+ if (this.regexp_eatUnicodePropertyValue(state)) {
+ var value = state.lastStringValue;
+ this.regexp_validateUnicodePropertyNameAndValue(state, name, value);
+ return true
+ }
+ }
+ state.pos = start;
+
+ // LoneUnicodePropertyNameOrValue
+ if (this.regexp_eatLoneUnicodePropertyNameOrValue(state)) {
+ var nameOrValue = state.lastStringValue;
+ this.regexp_validateUnicodePropertyNameOrValue(state, nameOrValue);
+ return true
+ }
+ return false
+ };
+ pp$8.regexp_validateUnicodePropertyNameAndValue = function(state, name, value) {
+ if (!has(state.unicodeProperties.nonBinary, name))
+ { state.raise("Invalid property name"); }
+ if (!state.unicodeProperties.nonBinary[name].test(value))
+ { state.raise("Invalid property value"); }
+ };
+ pp$8.regexp_validateUnicodePropertyNameOrValue = function(state, nameOrValue) {
+ if (!state.unicodeProperties.binary.test(nameOrValue))
+ { state.raise("Invalid property name"); }
+ };
+
+ // UnicodePropertyName ::
+ // UnicodePropertyNameCharacters
+ pp$8.regexp_eatUnicodePropertyName = function(state) {
+ var ch = 0;
+ state.lastStringValue = "";
+ while (isUnicodePropertyNameCharacter(ch = state.current())) {
+ state.lastStringValue += codePointToString(ch);
+ state.advance();
+ }
+ return state.lastStringValue !== ""
+ };
+ function isUnicodePropertyNameCharacter(ch) {
+ return isControlLetter(ch) || ch === 0x5F /* _ */
+ }
+
+ // UnicodePropertyValue ::
+ // UnicodePropertyValueCharacters
+ pp$8.regexp_eatUnicodePropertyValue = function(state) {
+ var ch = 0;
+ state.lastStringValue = "";
+ while (isUnicodePropertyValueCharacter(ch = state.current())) {
+ state.lastStringValue += codePointToString(ch);
+ state.advance();
+ }
+ return state.lastStringValue !== ""
+ };
+ function isUnicodePropertyValueCharacter(ch) {
+ return isUnicodePropertyNameCharacter(ch) || isDecimalDigit(ch)
+ }
+
+ // LoneUnicodePropertyNameOrValue ::
+ // UnicodePropertyValueCharacters
+ pp$8.regexp_eatLoneUnicodePropertyNameOrValue = function(state) {
+ return this.regexp_eatUnicodePropertyValue(state)
+ };
+
+ // https://www.ecma-international.org/ecma-262/8.0/#prod-CharacterClass
+ pp$8.regexp_eatCharacterClass = function(state) {
+ if (state.eat(0x5B /* [ */)) {
+ state.eat(0x5E /* ^ */);
+ this.regexp_classRanges(state);
+ if (state.eat(0x5D /* [ */)) {
+ return true
+ }
+ // Unreachable since it threw "unterminated regular expression" error before.
+ state.raise("Unterminated character class");
+ }
+ return false
+ };
+
+ // https://www.ecma-international.org/ecma-262/8.0/#prod-ClassRanges
+ // https://www.ecma-international.org/ecma-262/8.0/#prod-NonemptyClassRanges
+ // https://www.ecma-international.org/ecma-262/8.0/#prod-NonemptyClassRangesNoDash
+ pp$8.regexp_classRanges = function(state) {
+ while (this.regexp_eatClassAtom(state)) {
+ var left = state.lastIntValue;
+ if (state.eat(0x2D /* - */) && this.regexp_eatClassAtom(state)) {
+ var right = state.lastIntValue;
+ if (state.switchU && (left === -1 || right === -1)) {
+ state.raise("Invalid character class");
+ }
+ if (left !== -1 && right !== -1 && left > right) {
+ state.raise("Range out of order in character class");
+ }
+ }
+ }
+ };
+
+ // https://www.ecma-international.org/ecma-262/8.0/#prod-ClassAtom
+ // https://www.ecma-international.org/ecma-262/8.0/#prod-ClassAtomNoDash
+ pp$8.regexp_eatClassAtom = function(state) {
+ var start = state.pos;
+
+ if (state.eat(0x5C /* \ */)) {
+ if (this.regexp_eatClassEscape(state)) {
+ return true
+ }
+ if (state.switchU) {
+ // Make the same message as V8.
+ var ch$1 = state.current();
+ if (ch$1 === 0x63 /* c */ || isOctalDigit(ch$1)) {
+ state.raise("Invalid class escape");
+ }
+ state.raise("Invalid escape");
+ }
+ state.pos = start;
+ }
+
+ var ch = state.current();
+ if (ch !== 0x5D /* [ */) {
+ state.lastIntValue = ch;
+ state.advance();
+ return true
+ }
+
+ return false
+ };
+
+ // https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-ClassEscape
+ pp$8.regexp_eatClassEscape = function(state) {
+ var start = state.pos;
+
+ if (state.eat(0x62 /* b */)) {
+ state.lastIntValue = 0x08; /* */
+ return true
+ }
+
+ if (state.switchU && state.eat(0x2D /* - */)) {
+ state.lastIntValue = 0x2D; /* - */
+ return true
+ }
+
+ if (!state.switchU && state.eat(0x63 /* c */)) {
+ if (this.regexp_eatClassControlLetter(state)) {
+ return true
+ }
+ state.pos = start;
+ }
+
+ return (
+ this.regexp_eatCharacterClassEscape(state) ||
+ this.regexp_eatCharacterEscape(state)
+ )
+ };
+
+ // https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-ClassControlLetter
+ pp$8.regexp_eatClassControlLetter = function(state) {
+ var ch = state.current();
+ if (isDecimalDigit(ch) || ch === 0x5F /* _ */) {
+ state.lastIntValue = ch % 0x20;
+ state.advance();
+ return true
+ }
+ return false
+ };
+
+ // https://www.ecma-international.org/ecma-262/8.0/#prod-HexEscapeSequence
+ pp$8.regexp_eatHexEscapeSequence = function(state) {
+ var start = state.pos;
+ if (state.eat(0x78 /* x */)) {
+ if (this.regexp_eatFixedHexDigits(state, 2)) {
+ return true
+ }
+ if (state.switchU) {
+ state.raise("Invalid escape");
+ }
+ state.pos = start;
+ }
+ return false
+ };
+
+ // https://www.ecma-international.org/ecma-262/8.0/#prod-DecimalDigits
+ pp$8.regexp_eatDecimalDigits = function(state) {
+ var start = state.pos;
+ var ch = 0;
+ state.lastIntValue = 0;
+ while (isDecimalDigit(ch = state.current())) {
+ state.lastIntValue = 10 * state.lastIntValue + (ch - 0x30 /* 0 */);
+ state.advance();
+ }
+ return state.pos !== start
+ };
+ function isDecimalDigit(ch) {
+ return ch >= 0x30 /* 0 */ && ch <= 0x39 /* 9 */
+ }
+
+ // https://www.ecma-international.org/ecma-262/8.0/#prod-HexDigits
+ pp$8.regexp_eatHexDigits = function(state) {
+ var start = state.pos;
+ var ch = 0;
+ state.lastIntValue = 0;
+ while (isHexDigit(ch = state.current())) {
+ state.lastIntValue = 16 * state.lastIntValue + hexToInt(ch);
+ state.advance();
+ }
+ return state.pos !== start
+ };
+ function isHexDigit(ch) {
+ return (
+ (ch >= 0x30 /* 0 */ && ch <= 0x39 /* 9 */) ||
+ (ch >= 0x41 /* A */ && ch <= 0x46 /* F */) ||
+ (ch >= 0x61 /* a */ && ch <= 0x66 /* f */)
+ )
+ }
+ function hexToInt(ch) {
+ if (ch >= 0x41 /* A */ && ch <= 0x46 /* F */) {
+ return 10 + (ch - 0x41 /* A */)
+ }
+ if (ch >= 0x61 /* a */ && ch <= 0x66 /* f */) {
+ return 10 + (ch - 0x61 /* a */)
+ }
+ return ch - 0x30 /* 0 */
+ }
+
+ // https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-LegacyOctalEscapeSequence
+ // Allows only 0-377(octal) i.e. 0-255(decimal).
+ pp$8.regexp_eatLegacyOctalEscapeSequence = function(state) {
+ if (this.regexp_eatOctalDigit(state)) {
+ var n1 = state.lastIntValue;
+ if (this.regexp_eatOctalDigit(state)) {
+ var n2 = state.lastIntValue;
+ if (n1 <= 3 && this.regexp_eatOctalDigit(state)) {
+ state.lastIntValue = n1 * 64 + n2 * 8 + state.lastIntValue;
+ } else {
+ state.lastIntValue = n1 * 8 + n2;
+ }
+ } else {
+ state.lastIntValue = n1;
+ }
+ return true
+ }
+ return false
+ };
+
+ // https://www.ecma-international.org/ecma-262/8.0/#prod-OctalDigit
+ pp$8.regexp_eatOctalDigit = function(state) {
+ var ch = state.current();
+ if (isOctalDigit(ch)) {
+ state.lastIntValue = ch - 0x30; /* 0 */
+ state.advance();
+ return true
+ }
+ state.lastIntValue = 0;
+ return false
+ };
+ function isOctalDigit(ch) {
+ return ch >= 0x30 /* 0 */ && ch <= 0x37 /* 7 */
+ }
+
+ // https://www.ecma-international.org/ecma-262/8.0/#prod-Hex4Digits
+ // https://www.ecma-international.org/ecma-262/8.0/#prod-HexDigit
+ // And HexDigit HexDigit in https://www.ecma-international.org/ecma-262/8.0/#prod-HexEscapeSequence
+ pp$8.regexp_eatFixedHexDigits = function(state, length) {
+ var start = state.pos;
+ state.lastIntValue = 0;
+ for (var i = 0; i < length; ++i) {
+ var ch = state.current();
+ if (!isHexDigit(ch)) {
+ state.pos = start;
+ return false
+ }
+ state.lastIntValue = 16 * state.lastIntValue + hexToInt(ch);
+ state.advance();
+ }
+ return true
+ };
+
+ // Object type used to represent tokens. Note that normally, tokens
+ // simply exist as properties on the parser object. This is only
+ // used for the onToken callback and the external tokenizer.
+
+ var Token = function Token(p) {
+ this.type = p.type;
+ this.value = p.value;
+ this.start = p.start;
+ this.end = p.end;
+ if (p.options.locations)
+ { this.loc = new SourceLocation(p, p.startLoc, p.endLoc); }
+ if (p.options.ranges)
+ { this.range = [p.start, p.end]; }
+ };
+
+ // ## Tokenizer
+
+ var pp$9 = Parser.prototype;
+
+ // Move to the next token
+
+ pp$9.next = function() {
+ if (this.options.onToken)
+ { this.options.onToken(new Token(this)); }
+
+ this.lastTokEnd = this.end;
+ this.lastTokStart = this.start;
+ this.lastTokEndLoc = this.endLoc;
+ this.lastTokStartLoc = this.startLoc;
+ this.nextToken();
+ };
+
+ pp$9.getToken = function() {
+ this.next();
+ return new Token(this)
+ };
+
+ // If we're in an ES6 environment, make parsers iterable
+ if (typeof Symbol !== "undefined")
+ { pp$9[Symbol.iterator] = function() {
+ var this$1 = this;
+
+ return {
+ next: function () {
+ var token = this$1.getToken();
+ return {
+ done: token.type === types.eof,
+ value: token
+ }
+ }
+ }
+ }; }
+
+ // Toggle strict mode. Re-reads the next number or string to please
+ // pedantic tests (`"use strict"; 010;` should fail).
+
+ pp$9.curContext = function() {
+ return this.context[this.context.length - 1]
+ };
+
+ // Read a single token, updating the parser object's token-related
+ // properties.
+
+ pp$9.nextToken = function() {
+ var curContext = this.curContext();
+ if (!curContext || !curContext.preserveSpace) { this.skipSpace(); }
+
+ this.start = this.pos;
+ if (this.options.locations) { this.startLoc = this.curPosition(); }
+ if (this.pos >= this.input.length) { return this.finishToken(types.eof) }
+
+ if (curContext.override) { return curContext.override(this) }
+ else { this.readToken(this.fullCharCodeAtPos()); }
+ };
+
+ pp$9.readToken = function(code) {
+ // Identifier or keyword. '\uXXXX' sequences are allowed in
+ // identifiers, so '\' also dispatches to that.
+ if (isIdentifierStart(code, this.options.ecmaVersion >= 6) || code === 92 /* '\' */)
+ { return this.readWord() }
+
+ return this.getTokenFromCode(code)
+ };
+
+ pp$9.fullCharCodeAtPos = function() {
+ var code = this.input.charCodeAt(this.pos);
+ if (code <= 0xd7ff || code >= 0xe000) { return code }
+ var next = this.input.charCodeAt(this.pos + 1);
+ return (code << 10) + next - 0x35fdc00
+ };
+
+ pp$9.skipBlockComment = function() {
+ var startLoc = this.options.onComment && this.curPosition();
+ var start = this.pos, end = this.input.indexOf("*/", this.pos += 2);
+ if (end === -1) { this.raise(this.pos - 2, "Unterminated comment"); }
+ this.pos = end + 2;
+ if (this.options.locations) {
+ lineBreakG.lastIndex = start;
+ var match;
+ while ((match = lineBreakG.exec(this.input)) && match.index < this.pos) {
+ ++this.curLine;
+ this.lineStart = match.index + match[0].length;
+ }
+ }
+ if (this.options.onComment)
+ { this.options.onComment(true, this.input.slice(start + 2, end), start, this.pos,
+ startLoc, this.curPosition()); }
+ };
+
+ pp$9.skipLineComment = function(startSkip) {
+ var start = this.pos;
+ var startLoc = this.options.onComment && this.curPosition();
+ var ch = this.input.charCodeAt(this.pos += startSkip);
+ while (this.pos < this.input.length && !isNewLine(ch)) {
+ ch = this.input.charCodeAt(++this.pos);
+ }
+ if (this.options.onComment)
+ { this.options.onComment(false, this.input.slice(start + startSkip, this.pos), start, this.pos,
+ startLoc, this.curPosition()); }
+ };
+
+ // Called at the start of the parse and after every token. Skips
+ // whitespace and comments, and.
+
+ pp$9.skipSpace = function() {
+ loop: while (this.pos < this.input.length) {
+ var ch = this.input.charCodeAt(this.pos);
+ switch (ch) {
+ case 32: case 160: // ' '
+ ++this.pos;
+ break
+ case 13:
+ if (this.input.charCodeAt(this.pos + 1) === 10) {
+ ++this.pos;
+ }
+ case 10: case 8232: case 8233:
+ ++this.pos;
+ if (this.options.locations) {
+ ++this.curLine;
+ this.lineStart = this.pos;
+ }
+ break
+ case 47: // '/'
+ switch (this.input.charCodeAt(this.pos + 1)) {
+ case 42: // '*'
+ this.skipBlockComment();
+ break
+ case 47:
+ this.skipLineComment(2);
+ break
+ default:
+ break loop
+ }
+ break
+ default:
+ if (ch > 8 && ch < 14 || ch >= 5760 && nonASCIIwhitespace.test(String.fromCharCode(ch))) {
+ ++this.pos;
+ } else {
+ break loop
+ }
+ }
+ }
+ };
+
+ // Called at the end of every token. Sets `end`, `val`, and
+ // maintains `context` and `exprAllowed`, and skips the space after
+ // the token, so that the next one's `start` will point at the
+ // right position.
+
+ pp$9.finishToken = function(type, val) {
+ this.end = this.pos;
+ if (this.options.locations) { this.endLoc = this.curPosition(); }
+ var prevType = this.type;
+ this.type = type;
+ this.value = val;
+
+ this.updateContext(prevType);
+ };
+
+ // ### Token reading
+
+ // This is the function that is called to fetch the next token. It
+ // is somewhat obscure, because it works in character codes rather
+ // than characters, and because operator parsing has been inlined
+ // into it.
+ //
+ // All in the name of speed.
+ //
+ pp$9.readToken_dot = function() {
+ var next = this.input.charCodeAt(this.pos + 1);
+ if (next >= 48 && next <= 57) { return this.readNumber(true) }
+ var next2 = this.input.charCodeAt(this.pos + 2);
+ if (this.options.ecmaVersion >= 6 && next === 46 && next2 === 46) { // 46 = dot '.'
+ this.pos += 3;
+ return this.finishToken(types.ellipsis)
+ } else {
+ ++this.pos;
+ return this.finishToken(types.dot)
+ }
+ };
+
+ pp$9.readToken_slash = function() { // '/'
+ var next = this.input.charCodeAt(this.pos + 1);
+ if (this.exprAllowed) { ++this.pos; return this.readRegexp() }
+ if (next === 61) { return this.finishOp(types.assign, 2) }
+ return this.finishOp(types.slash, 1)
+ };
+
+ pp$9.readToken_mult_modulo_exp = function(code) { // '%*'
+ var next = this.input.charCodeAt(this.pos + 1);
+ var size = 1;
+ var tokentype = code === 42 ? types.star : types.modulo;
+
+ // exponentiation operator ** and **=
+ if (this.options.ecmaVersion >= 7 && code === 42 && next === 42) {
+ ++size;
+ tokentype = types.starstar;
+ next = this.input.charCodeAt(this.pos + 2);
+ }
+
+ if (next === 61) { return this.finishOp(types.assign, size + 1) }
+ return this.finishOp(tokentype, size)
+ };
+
+ pp$9.readToken_pipe_amp = function(code) { // '|&'
+ var next = this.input.charCodeAt(this.pos + 1);
+ if (next === code) { return this.finishOp(code === 124 ? types.logicalOR : types.logicalAND, 2) }
+ if (next === 61) { return this.finishOp(types.assign, 2) }
+ return this.finishOp(code === 124 ? types.bitwiseOR : types.bitwiseAND, 1)
+ };
+
+ pp$9.readToken_caret = function() { // '^'
+ var next = this.input.charCodeAt(this.pos + 1);
+ if (next === 61) { return this.finishOp(types.assign, 2) }
+ return this.finishOp(types.bitwiseXOR, 1)
+ };
+
+ pp$9.readToken_plus_min = function(code) { // '+-'
+ var next = this.input.charCodeAt(this.pos + 1);
+ if (next === code) {
+ if (next === 45 && !this.inModule && this.input.charCodeAt(this.pos + 2) === 62 &&
+ (this.lastTokEnd === 0 || lineBreak.test(this.input.slice(this.lastTokEnd, this.pos)))) {
+ // A `-->` line comment
+ this.skipLineComment(3);
+ this.skipSpace();
+ return this.nextToken()
+ }
+ return this.finishOp(types.incDec, 2)
+ }
+ if (next === 61) { return this.finishOp(types.assign, 2) }
+ return this.finishOp(types.plusMin, 1)
+ };
+
+ pp$9.readToken_lt_gt = function(code) { // '<>'
+ var next = this.input.charCodeAt(this.pos + 1);
+ var size = 1;
+ if (next === code) {
+ size = code === 62 && this.input.charCodeAt(this.pos + 2) === 62 ? 3 : 2;
+ if (this.input.charCodeAt(this.pos + size) === 61) { return this.finishOp(types.assign, size + 1) }
+ return this.finishOp(types.bitShift, size)
+ }
+ if (next === 33 && code === 60 && !this.inModule && this.input.charCodeAt(this.pos + 2) === 45 &&
+ this.input.charCodeAt(this.pos + 3) === 45) {
+ // `` line comment\n this.skipLineComment(3)\n this.skipSpace()\n return this.nextToken()\n }\n return this.finishOp(tt.incDec, 2)\n }\n if (next === 61) return this.finishOp(tt.assign, 2)\n return this.finishOp(tt.plusMin, 1)\n}\n\npp.readToken_lt_gt = function(code) { // '<>'\n let next = this.input.charCodeAt(this.pos + 1)\n let size = 1\n if (next === code) {\n size = code === 62 && this.input.charCodeAt(this.pos + 2) === 62 ? 3 : 2\n if (this.input.charCodeAt(this.pos + size) === 61) return this.finishOp(tt.assign, size + 1)\n return this.finishOp(tt.bitShift, size)\n }\n if (next === 33 && code === 60 && !this.inModule && this.input.charCodeAt(this.pos + 2) === 45 &&\n this.input.charCodeAt(this.pos + 3) === 45) {\n // `` line comment
+ this.skipLineComment(3);
+ this.skipSpace();
+ return this.nextToken()
+ }
+ return this.finishOp(types.incDec, 2)
+ }
+ if (next === 61) { return this.finishOp(types.assign, 2) }
+ return this.finishOp(types.plusMin, 1)
+};
+
+pp$9.readToken_lt_gt = function(code) { // '<>'
+ var next = this.input.charCodeAt(this.pos + 1);
+ var size = 1;
+ if (next === code) {
+ size = code === 62 && this.input.charCodeAt(this.pos + 2) === 62 ? 3 : 2;
+ if (this.input.charCodeAt(this.pos + size) === 61) { return this.finishOp(types.assign, size + 1) }
+ return this.finishOp(types.bitShift, size)
+ }
+ if (next === 33 && code === 60 && !this.inModule && this.input.charCodeAt(this.pos + 2) === 45 &&
+ this.input.charCodeAt(this.pos + 3) === 45) {
+ // `` line comment\n this.skipLineComment(3)\n this.skipSpace()\n return this.nextToken()\n }\n return this.finishOp(tt.incDec, 2)\n }\n if (next === 61) return this.finishOp(tt.assign, 2)\n return this.finishOp(tt.plusMin, 1)\n}\n\npp.readToken_lt_gt = function(code) { // '<>'\n let next = this.input.charCodeAt(this.pos + 1)\n let size = 1\n if (next === code) {\n size = code === 62 && this.input.charCodeAt(this.pos + 2) === 62 ? 3 : 2\n if (this.input.charCodeAt(this.pos + size) === 61) return this.finishOp(tt.assign, size + 1)\n return this.finishOp(tt.bitShift, size)\n }\n if (next === 33 && code === 60 && !this.inModule && this.input.charCodeAt(this.pos + 2) === 45 &&\n this.input.charCodeAt(this.pos + 3) === 45) {\n // `` line comment
+ this.skipLineComment(3);
+ this.skipSpace();
+ return this.nextToken()
+ }
+ return this.finishOp(types.incDec, 2)
+ }
+ if (next === 61) { return this.finishOp(types.assign, 2) }
+ return this.finishOp(types.plusMin, 1)
+};
+
+pp$8.readToken_lt_gt = function(code) { // '<>'
+ var next = this.input.charCodeAt(this.pos + 1);
+ var size = 1;
+ if (next === code) {
+ size = code === 62 && this.input.charCodeAt(this.pos + 2) === 62 ? 3 : 2;
+ if (this.input.charCodeAt(this.pos + size) === 61) { return this.finishOp(types.assign, size + 1) }
+ return this.finishOp(types.bitShift, size)
+ }
+ if (next === 33 && code === 60 && !this.inModule && this.input.charCodeAt(this.pos + 2) === 45 &&
+ this.input.charCodeAt(this.pos + 3) === 45) {
+ // `` line comment
+ this.skipLineComment(3);
+ this.skipSpace();
+ return this.nextToken()
+ }
+ return this.finishOp(types.incDec, 2)
+ }
+ if (next === 61) { return this.finishOp(types.assign, 2) }
+ return this.finishOp(types.plusMin, 1)
+};
+
+pp$8.readToken_lt_gt = function(code) { // '<>'
+ var next = this.input.charCodeAt(this.pos + 1);
+ var size = 1;
+ if (next === code) {
+ size = code === 62 && this.input.charCodeAt(this.pos + 2) === 62 ? 3 : 2;
+ if (this.input.charCodeAt(this.pos + size) === 61) { return this.finishOp(types.assign, size + 1) }
+ return this.finishOp(types.bitShift, size)
+ }
+ if (next === 33 && code === 60 && !this.inModule && this.input.charCodeAt(this.pos + 2) === 45 &&
+ this.input.charCodeAt(this.pos + 3) === 45) {
+ // `
+
+AsyncKit provides harness for `parallel` and `serial` iterators over list of items represented by arrays or objects.
+Optionally it accepts abort function (should be synchronously return by iterator for each item), and terminates left over jobs upon an error event. For specific iteration order built-in (`ascending` and `descending`) and custom sort helpers also supported, via `asynckit.serialOrdered` method.
+
+It ensures async operations to keep behavior more stable and prevent `Maximum call stack size exceeded` errors, from sync iterators.
+
+| compression | size |
+| :----------------- | -------: |
+| asynckit.js | 12.34 kB |
+| asynckit.min.js | 4.11 kB |
+| asynckit.min.js.gz | 1.47 kB |
+
+
+## Install
+
+```sh
+$ npm install --save asynckit
+```
+
+## Examples
+
+### Parallel Jobs
+
+Runs iterator over provided array in parallel. Stores output in the `result` array,
+on the matching positions. In unlikely event of an error from one of the jobs,
+will terminate rest of the active jobs (if abort function is provided)
+and return error along with salvaged data to the main callback function.
+
+#### Input Array
+
+```javascript
+var parallel = require('asynckit').parallel
+ , assert = require('assert')
+ ;
+
+var source = [ 1, 1, 4, 16, 64, 32, 8, 2 ]
+ , expectedResult = [ 2, 2, 8, 32, 128, 64, 16, 4 ]
+ , expectedTarget = [ 1, 1, 2, 4, 8, 16, 32, 64 ]
+ , target = []
+ ;
+
+parallel(source, asyncJob, function(err, result)
+{
+ assert.deepEqual(result, expectedResult);
+ assert.deepEqual(target, expectedTarget);
+});
+
+// async job accepts one element from the array
+// and a callback function
+function asyncJob(item, cb)
+{
+ // different delays (in ms) per item
+ var delay = item * 25;
+
+ // pretend different jobs take different time to finish
+ // and not in consequential order
+ var timeoutId = setTimeout(function() {
+ target.push(item);
+ cb(null, item * 2);
+ }, delay);
+
+ // allow to cancel "leftover" jobs upon error
+ // return function, invoking of which will abort this job
+ return clearTimeout.bind(null, timeoutId);
+}
+```
+
+More examples could be found in [test/test-parallel-array.js](test/test-parallel-array.js).
+
+#### Input Object
+
+Also it supports named jobs, listed via object.
+
+```javascript
+var parallel = require('asynckit/parallel')
+ , assert = require('assert')
+ ;
+
+var source = { first: 1, one: 1, four: 4, sixteen: 16, sixtyFour: 64, thirtyTwo: 32, eight: 8, two: 2 }
+ , expectedResult = { first: 2, one: 2, four: 8, sixteen: 32, sixtyFour: 128, thirtyTwo: 64, eight: 16, two: 4 }
+ , expectedTarget = [ 1, 1, 2, 4, 8, 16, 32, 64 ]
+ , expectedKeys = [ 'first', 'one', 'two', 'four', 'eight', 'sixteen', 'thirtyTwo', 'sixtyFour' ]
+ , target = []
+ , keys = []
+ ;
+
+parallel(source, asyncJob, function(err, result)
+{
+ assert.deepEqual(result, expectedResult);
+ assert.deepEqual(target, expectedTarget);
+ assert.deepEqual(keys, expectedKeys);
+});
+
+// supports full value, key, callback (shortcut) interface
+function asyncJob(item, key, cb)
+{
+ // different delays (in ms) per item
+ var delay = item * 25;
+
+ // pretend different jobs take different time to finish
+ // and not in consequential order
+ var timeoutId = setTimeout(function() {
+ keys.push(key);
+ target.push(item);
+ cb(null, item * 2);
+ }, delay);
+
+ // allow to cancel "leftover" jobs upon error
+ // return function, invoking of which will abort this job
+ return clearTimeout.bind(null, timeoutId);
+}
+```
+
+More examples could be found in [test/test-parallel-object.js](test/test-parallel-object.js).
+
+### Serial Jobs
+
+Runs iterator over provided array sequentially. Stores output in the `result` array,
+on the matching positions. In unlikely event of an error from one of the jobs,
+will not proceed to the rest of the items in the list
+and return error along with salvaged data to the main callback function.
+
+#### Input Array
+
+```javascript
+var serial = require('asynckit/serial')
+ , assert = require('assert')
+ ;
+
+var source = [ 1, 1, 4, 16, 64, 32, 8, 2 ]
+ , expectedResult = [ 2, 2, 8, 32, 128, 64, 16, 4 ]
+ , expectedTarget = [ 0, 1, 2, 3, 4, 5, 6, 7 ]
+ , target = []
+ ;
+
+serial(source, asyncJob, function(err, result)
+{
+ assert.deepEqual(result, expectedResult);
+ assert.deepEqual(target, expectedTarget);
+});
+
+// extended interface (item, key, callback)
+// also supported for arrays
+function asyncJob(item, key, cb)
+{
+ target.push(key);
+
+ // it will be automatically made async
+ // even it iterator "returns" in the same event loop
+ cb(null, item * 2);
+}
+```
+
+More examples could be found in [test/test-serial-array.js](test/test-serial-array.js).
+
+#### Input Object
+
+Also it supports named jobs, listed via object.
+
+```javascript
+var serial = require('asynckit').serial
+ , assert = require('assert')
+ ;
+
+var source = [ 1, 1, 4, 16, 64, 32, 8, 2 ]
+ , expectedResult = [ 2, 2, 8, 32, 128, 64, 16, 4 ]
+ , expectedTarget = [ 0, 1, 2, 3, 4, 5, 6, 7 ]
+ , target = []
+ ;
+
+var source = { first: 1, one: 1, four: 4, sixteen: 16, sixtyFour: 64, thirtyTwo: 32, eight: 8, two: 2 }
+ , expectedResult = { first: 2, one: 2, four: 8, sixteen: 32, sixtyFour: 128, thirtyTwo: 64, eight: 16, two: 4 }
+ , expectedTarget = [ 1, 1, 4, 16, 64, 32, 8, 2 ]
+ , target = []
+ ;
+
+
+serial(source, asyncJob, function(err, result)
+{
+ assert.deepEqual(result, expectedResult);
+ assert.deepEqual(target, expectedTarget);
+});
+
+// shortcut interface (item, callback)
+// works for object as well as for the arrays
+function asyncJob(item, cb)
+{
+ target.push(item);
+
+ // it will be automatically made async
+ // even it iterator "returns" in the same event loop
+ cb(null, item * 2);
+}
+```
+
+More examples could be found in [test/test-serial-object.js](test/test-serial-object.js).
+
+_Note: Since _object_ is an _unordered_ collection of properties,
+it may produce unexpected results with sequential iterations.
+Whenever order of the jobs' execution is important please use `serialOrdered` method._
+
+### Ordered Serial Iterations
+
+TBD
+
+For example [compare-property](compare-property) package.
+
+### Streaming interface
+
+TBD
+
+## Want to Know More?
+
+More examples can be found in [test folder](test/).
+
+Or open an [issue](https://github.com/alexindigo/asynckit/issues) with questions and/or suggestions.
+
+## License
+
+AsyncKit is licensed under the MIT license.
diff --git a/node_modules/asynckit/bench.js b/node_modules/asynckit/bench.js
new file mode 100644
index 0000000..c612f1a
--- /dev/null
+++ b/node_modules/asynckit/bench.js
@@ -0,0 +1,76 @@
+/* eslint no-console: "off" */
+
+var asynckit = require('./')
+ , async = require('async')
+ , assert = require('assert')
+ , expected = 0
+ ;
+
+var Benchmark = require('benchmark');
+var suite = new Benchmark.Suite;
+
+var source = [];
+for (var z = 1; z < 100; z++)
+{
+ source.push(z);
+ expected += z;
+}
+
+suite
+// add tests
+
+.add('async.map', function(deferred)
+{
+ var total = 0;
+
+ async.map(source,
+ function(i, cb)
+ {
+ setImmediate(function()
+ {
+ total += i;
+ cb(null, total);
+ });
+ },
+ function(err, result)
+ {
+ assert.ifError(err);
+ assert.equal(result[result.length - 1], expected);
+ deferred.resolve();
+ });
+}, {'defer': true})
+
+
+.add('asynckit.parallel', function(deferred)
+{
+ var total = 0;
+
+ asynckit.parallel(source,
+ function(i, cb)
+ {
+ setImmediate(function()
+ {
+ total += i;
+ cb(null, total);
+ });
+ },
+ function(err, result)
+ {
+ assert.ifError(err);
+ assert.equal(result[result.length - 1], expected);
+ deferred.resolve();
+ });
+}, {'defer': true})
+
+
+// add listeners
+.on('cycle', function(ev)
+{
+ console.log(String(ev.target));
+})
+.on('complete', function()
+{
+ console.log('Fastest is ' + this.filter('fastest').map('name'));
+})
+// run async
+.run({ 'async': true });
diff --git a/node_modules/asynckit/index.js b/node_modules/asynckit/index.js
new file mode 100644
index 0000000..455f945
--- /dev/null
+++ b/node_modules/asynckit/index.js
@@ -0,0 +1,6 @@
+module.exports =
+{
+ parallel : require('./parallel.js'),
+ serial : require('./serial.js'),
+ serialOrdered : require('./serialOrdered.js')
+};
diff --git a/node_modules/asynckit/lib/abort.js b/node_modules/asynckit/lib/abort.js
new file mode 100644
index 0000000..114367e
--- /dev/null
+++ b/node_modules/asynckit/lib/abort.js
@@ -0,0 +1,29 @@
+// API
+module.exports = abort;
+
+/**
+ * Aborts leftover active jobs
+ *
+ * @param {object} state - current state object
+ */
+function abort(state)
+{
+ Object.keys(state.jobs).forEach(clean.bind(state));
+
+ // reset leftover jobs
+ state.jobs = {};
+}
+
+/**
+ * Cleans up leftover job by invoking abort function for the provided job id
+ *
+ * @this state
+ * @param {string|number} key - job id to abort
+ */
+function clean(key)
+{
+ if (typeof this.jobs[key] == 'function')
+ {
+ this.jobs[key]();
+ }
+}
diff --git a/node_modules/asynckit/lib/async.js b/node_modules/asynckit/lib/async.js
new file mode 100644
index 0000000..7f1288a
--- /dev/null
+++ b/node_modules/asynckit/lib/async.js
@@ -0,0 +1,34 @@
+var defer = require('./defer.js');
+
+// API
+module.exports = async;
+
+/**
+ * Runs provided callback asynchronously
+ * even if callback itself is not
+ *
+ * @param {function} callback - callback to invoke
+ * @returns {function} - augmented callback
+ */
+function async(callback)
+{
+ var isAsync = false;
+
+ // check if async happened
+ defer(function() { isAsync = true; });
+
+ return function async_callback(err, result)
+ {
+ if (isAsync)
+ {
+ callback(err, result);
+ }
+ else
+ {
+ defer(function nextTick_callback()
+ {
+ callback(err, result);
+ });
+ }
+ };
+}
diff --git a/node_modules/asynckit/lib/defer.js b/node_modules/asynckit/lib/defer.js
new file mode 100644
index 0000000..b67110c
--- /dev/null
+++ b/node_modules/asynckit/lib/defer.js
@@ -0,0 +1,26 @@
+module.exports = defer;
+
+/**
+ * Runs provided function on next iteration of the event loop
+ *
+ * @param {function} fn - function to run
+ */
+function defer(fn)
+{
+ var nextTick = typeof setImmediate == 'function'
+ ? setImmediate
+ : (
+ typeof process == 'object' && typeof process.nextTick == 'function'
+ ? process.nextTick
+ : null
+ );
+
+ if (nextTick)
+ {
+ nextTick(fn);
+ }
+ else
+ {
+ setTimeout(fn, 0);
+ }
+}
diff --git a/node_modules/asynckit/lib/iterate.js b/node_modules/asynckit/lib/iterate.js
new file mode 100644
index 0000000..5d2839a
--- /dev/null
+++ b/node_modules/asynckit/lib/iterate.js
@@ -0,0 +1,75 @@
+var async = require('./async.js')
+ , abort = require('./abort.js')
+ ;
+
+// API
+module.exports = iterate;
+
+/**
+ * Iterates over each job object
+ *
+ * @param {array|object} list - array or object (named list) to iterate over
+ * @param {function} iterator - iterator to run
+ * @param {object} state - current job status
+ * @param {function} callback - invoked when all elements processed
+ */
+function iterate(list, iterator, state, callback)
+{
+ // store current index
+ var key = state['keyedList'] ? state['keyedList'][state.index] : state.index;
+
+ state.jobs[key] = runJob(iterator, key, list[key], function(error, output)
+ {
+ // don't repeat yourself
+ // skip secondary callbacks
+ if (!(key in state.jobs))
+ {
+ return;
+ }
+
+ // clean up jobs
+ delete state.jobs[key];
+
+ if (error)
+ {
+ // don't process rest of the results
+ // stop still active jobs
+ // and reset the list
+ abort(state);
+ }
+ else
+ {
+ state.results[key] = output;
+ }
+
+ // return salvaged results
+ callback(error, state.results);
+ });
+}
+
+/**
+ * Runs iterator over provided job element
+ *
+ * @param {function} iterator - iterator to invoke
+ * @param {string|number} key - key/index of the element in the list of jobs
+ * @param {mixed} item - job description
+ * @param {function} callback - invoked after iterator is done with the job
+ * @returns {function|mixed} - job abort function or something else
+ */
+function runJob(iterator, key, item, callback)
+{
+ var aborter;
+
+ // allow shortcut if iterator expects only two arguments
+ if (iterator.length == 2)
+ {
+ aborter = iterator(item, async(callback));
+ }
+ // otherwise go with full three arguments
+ else
+ {
+ aborter = iterator(item, key, async(callback));
+ }
+
+ return aborter;
+}
diff --git a/node_modules/asynckit/lib/readable_asynckit.js b/node_modules/asynckit/lib/readable_asynckit.js
new file mode 100644
index 0000000..78ad240
--- /dev/null
+++ b/node_modules/asynckit/lib/readable_asynckit.js
@@ -0,0 +1,91 @@
+var streamify = require('./streamify.js')
+ , defer = require('./defer.js')
+ ;
+
+// API
+module.exports = ReadableAsyncKit;
+
+/**
+ * Base constructor for all streams
+ * used to hold properties/methods
+ */
+function ReadableAsyncKit()
+{
+ ReadableAsyncKit.super_.apply(this, arguments);
+
+ // list of active jobs
+ this.jobs = {};
+
+ // add stream methods
+ this.destroy = destroy;
+ this._start = _start;
+ this._read = _read;
+}
+
+/**
+ * Destroys readable stream,
+ * by aborting outstanding jobs
+ *
+ * @returns {void}
+ */
+function destroy()
+{
+ if (this.destroyed)
+ {
+ return;
+ }
+
+ this.destroyed = true;
+
+ if (typeof this.terminator == 'function')
+ {
+ this.terminator();
+ }
+}
+
+/**
+ * Starts provided jobs in async manner
+ *
+ * @private
+ */
+function _start()
+{
+ // first argument – runner function
+ var runner = arguments[0]
+ // take away first argument
+ , args = Array.prototype.slice.call(arguments, 1)
+ // second argument - input data
+ , input = args[0]
+ // last argument - result callback
+ , endCb = streamify.callback.call(this, args[args.length - 1])
+ ;
+
+ args[args.length - 1] = endCb;
+ // third argument - iterator
+ args[1] = streamify.iterator.call(this, args[1]);
+
+ // allow time for proper setup
+ defer(function()
+ {
+ if (!this.destroyed)
+ {
+ this.terminator = runner.apply(null, args);
+ }
+ else
+ {
+ endCb(null, Array.isArray(input) ? [] : {});
+ }
+ }.bind(this));
+}
+
+
+/**
+ * Implement _read to comply with Readable streams
+ * Doesn't really make sense for flowing object mode
+ *
+ * @private
+ */
+function _read()
+{
+
+}
diff --git a/node_modules/asynckit/lib/readable_parallel.js b/node_modules/asynckit/lib/readable_parallel.js
new file mode 100644
index 0000000..5d2929f
--- /dev/null
+++ b/node_modules/asynckit/lib/readable_parallel.js
@@ -0,0 +1,25 @@
+var parallel = require('../parallel.js');
+
+// API
+module.exports = ReadableParallel;
+
+/**
+ * Streaming wrapper to `asynckit.parallel`
+ *
+ * @param {array|object} list - array or object (named list) to iterate over
+ * @param {function} iterator - iterator to run
+ * @param {function} callback - invoked when all elements processed
+ * @returns {stream.Readable#}
+ */
+function ReadableParallel(list, iterator, callback)
+{
+ if (!(this instanceof ReadableParallel))
+ {
+ return new ReadableParallel(list, iterator, callback);
+ }
+
+ // turn on object mode
+ ReadableParallel.super_.call(this, {objectMode: true});
+
+ this._start(parallel, list, iterator, callback);
+}
diff --git a/node_modules/asynckit/lib/readable_serial.js b/node_modules/asynckit/lib/readable_serial.js
new file mode 100644
index 0000000..7822698
--- /dev/null
+++ b/node_modules/asynckit/lib/readable_serial.js
@@ -0,0 +1,25 @@
+var serial = require('../serial.js');
+
+// API
+module.exports = ReadableSerial;
+
+/**
+ * Streaming wrapper to `asynckit.serial`
+ *
+ * @param {array|object} list - array or object (named list) to iterate over
+ * @param {function} iterator - iterator to run
+ * @param {function} callback - invoked when all elements processed
+ * @returns {stream.Readable#}
+ */
+function ReadableSerial(list, iterator, callback)
+{
+ if (!(this instanceof ReadableSerial))
+ {
+ return new ReadableSerial(list, iterator, callback);
+ }
+
+ // turn on object mode
+ ReadableSerial.super_.call(this, {objectMode: true});
+
+ this._start(serial, list, iterator, callback);
+}
diff --git a/node_modules/asynckit/lib/readable_serial_ordered.js b/node_modules/asynckit/lib/readable_serial_ordered.js
new file mode 100644
index 0000000..3de89c4
--- /dev/null
+++ b/node_modules/asynckit/lib/readable_serial_ordered.js
@@ -0,0 +1,29 @@
+var serialOrdered = require('../serialOrdered.js');
+
+// API
+module.exports = ReadableSerialOrdered;
+// expose sort helpers
+module.exports.ascending = serialOrdered.ascending;
+module.exports.descending = serialOrdered.descending;
+
+/**
+ * Streaming wrapper to `asynckit.serialOrdered`
+ *
+ * @param {array|object} list - array or object (named list) to iterate over
+ * @param {function} iterator - iterator to run
+ * @param {function} sortMethod - custom sort function
+ * @param {function} callback - invoked when all elements processed
+ * @returns {stream.Readable#}
+ */
+function ReadableSerialOrdered(list, iterator, sortMethod, callback)
+{
+ if (!(this instanceof ReadableSerialOrdered))
+ {
+ return new ReadableSerialOrdered(list, iterator, sortMethod, callback);
+ }
+
+ // turn on object mode
+ ReadableSerialOrdered.super_.call(this, {objectMode: true});
+
+ this._start(serialOrdered, list, iterator, sortMethod, callback);
+}
diff --git a/node_modules/asynckit/lib/state.js b/node_modules/asynckit/lib/state.js
new file mode 100644
index 0000000..cbea7ad
--- /dev/null
+++ b/node_modules/asynckit/lib/state.js
@@ -0,0 +1,37 @@
+// API
+module.exports = state;
+
+/**
+ * Creates initial state object
+ * for iteration over list
+ *
+ * @param {array|object} list - list to iterate over
+ * @param {function|null} sortMethod - function to use for keys sort,
+ * or `null` to keep them as is
+ * @returns {object} - initial state object
+ */
+function state(list, sortMethod)
+{
+ var isNamedList = !Array.isArray(list)
+ , initState =
+ {
+ index : 0,
+ keyedList: isNamedList || sortMethod ? Object.keys(list) : null,
+ jobs : {},
+ results : isNamedList ? {} : [],
+ size : isNamedList ? Object.keys(list).length : list.length
+ }
+ ;
+
+ if (sortMethod)
+ {
+ // sort array keys based on it's values
+ // sort object's keys just on own merit
+ initState.keyedList.sort(isNamedList ? sortMethod : function(a, b)
+ {
+ return sortMethod(list[a], list[b]);
+ });
+ }
+
+ return initState;
+}
diff --git a/node_modules/asynckit/lib/streamify.js b/node_modules/asynckit/lib/streamify.js
new file mode 100644
index 0000000..f56a1c9
--- /dev/null
+++ b/node_modules/asynckit/lib/streamify.js
@@ -0,0 +1,141 @@
+var async = require('./async.js');
+
+// API
+module.exports = {
+ iterator: wrapIterator,
+ callback: wrapCallback
+};
+
+/**
+ * Wraps iterators with long signature
+ *
+ * @this ReadableAsyncKit#
+ * @param {function} iterator - function to wrap
+ * @returns {function} - wrapped function
+ */
+function wrapIterator(iterator)
+{
+ var stream = this;
+
+ return function(item, key, cb)
+ {
+ var aborter
+ , wrappedCb = async(wrapIteratorCallback.call(stream, cb, key))
+ ;
+
+ stream.jobs[key] = wrappedCb;
+
+ // it's either shortcut (item, cb)
+ if (iterator.length == 2)
+ {
+ aborter = iterator(item, wrappedCb);
+ }
+ // or long format (item, key, cb)
+ else
+ {
+ aborter = iterator(item, key, wrappedCb);
+ }
+
+ return aborter;
+ };
+}
+
+/**
+ * Wraps provided callback function
+ * allowing to execute snitch function before
+ * real callback
+ *
+ * @this ReadableAsyncKit#
+ * @param {function} callback - function to wrap
+ * @returns {function} - wrapped function
+ */
+function wrapCallback(callback)
+{
+ var stream = this;
+
+ var wrapped = function(error, result)
+ {
+ return finisher.call(stream, error, result, callback);
+ };
+
+ return wrapped;
+}
+
+/**
+ * Wraps provided iterator callback function
+ * makes sure snitch only called once,
+ * but passes secondary calls to the original callback
+ *
+ * @this ReadableAsyncKit#
+ * @param {function} callback - callback to wrap
+ * @param {number|string} key - iteration key
+ * @returns {function} wrapped callback
+ */
+function wrapIteratorCallback(callback, key)
+{
+ var stream = this;
+
+ return function(error, output)
+ {
+ // don't repeat yourself
+ if (!(key in stream.jobs))
+ {
+ callback(error, output);
+ return;
+ }
+
+ // clean up jobs
+ delete stream.jobs[key];
+
+ return streamer.call(stream, error, {key: key, value: output}, callback);
+ };
+}
+
+/**
+ * Stream wrapper for iterator callback
+ *
+ * @this ReadableAsyncKit#
+ * @param {mixed} error - error response
+ * @param {mixed} output - iterator output
+ * @param {function} callback - callback that expects iterator results
+ */
+function streamer(error, output, callback)
+{
+ if (error && !this.error)
+ {
+ this.error = error;
+ this.pause();
+ this.emit('error', error);
+ // send back value only, as expected
+ callback(error, output && output.value);
+ return;
+ }
+
+ // stream stuff
+ this.push(output);
+
+ // back to original track
+ // send back value only, as expected
+ callback(error, output && output.value);
+}
+
+/**
+ * Stream wrapper for finishing callback
+ *
+ * @this ReadableAsyncKit#
+ * @param {mixed} error - error response
+ * @param {mixed} output - iterator output
+ * @param {function} callback - callback that expects final results
+ */
+function finisher(error, output, callback)
+{
+ // signal end of the stream
+ // only for successfully finished streams
+ if (!error)
+ {
+ this.push(null);
+ }
+
+ // back to original track
+ callback(error, output);
+}
diff --git a/node_modules/asynckit/lib/terminator.js b/node_modules/asynckit/lib/terminator.js
new file mode 100644
index 0000000..d6eb992
--- /dev/null
+++ b/node_modules/asynckit/lib/terminator.js
@@ -0,0 +1,29 @@
+var abort = require('./abort.js')
+ , async = require('./async.js')
+ ;
+
+// API
+module.exports = terminator;
+
+/**
+ * Terminates jobs in the attached state context
+ *
+ * @this AsyncKitState#
+ * @param {function} callback - final callback to invoke after termination
+ */
+function terminator(callback)
+{
+ if (!Object.keys(this.jobs).length)
+ {
+ return;
+ }
+
+ // fast forward iteration index
+ this.index = this.size;
+
+ // abort jobs
+ abort(this);
+
+ // send back results we have so far
+ async(callback)(null, this.results);
+}
diff --git a/node_modules/asynckit/package.json b/node_modules/asynckit/package.json
new file mode 100644
index 0000000..c8b11c1
--- /dev/null
+++ b/node_modules/asynckit/package.json
@@ -0,0 +1,91 @@
+{
+ "_from": "asynckit@^0.4.0",
+ "_id": "asynckit@0.4.0",
+ "_inBundle": false,
+ "_integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
+ "_location": "/asynckit",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "range",
+ "registry": true,
+ "raw": "asynckit@^0.4.0",
+ "name": "asynckit",
+ "escapedName": "asynckit",
+ "rawSpec": "^0.4.0",
+ "saveSpec": null,
+ "fetchSpec": "^0.4.0"
+ },
+ "_requiredBy": [
+ "/form-data"
+ ],
+ "_resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+ "_shasum": "c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79",
+ "_spec": "asynckit@^0.4.0",
+ "_where": "C:\\Users\\Futil\\AppData\\Local\\FoundryVTT\\Data\\systems\\mothership\\node_modules\\form-data",
+ "author": {
+ "name": "Alex Indigo",
+ "email": "iam@alexindigo.com"
+ },
+ "bugs": {
+ "url": "https://github.com/alexindigo/asynckit/issues"
+ },
+ "bundleDependencies": false,
+ "dependencies": {},
+ "deprecated": false,
+ "description": "Minimal async jobs utility library, with streams support",
+ "devDependencies": {
+ "browserify": "^13.0.0",
+ "browserify-istanbul": "^2.0.0",
+ "coveralls": "^2.11.9",
+ "eslint": "^2.9.0",
+ "istanbul": "^0.4.3",
+ "obake": "^0.1.2",
+ "phantomjs-prebuilt": "^2.1.7",
+ "pre-commit": "^1.1.3",
+ "reamde": "^1.1.0",
+ "rimraf": "^2.5.2",
+ "size-table": "^0.2.0",
+ "tap-spec": "^4.1.1",
+ "tape": "^4.5.1"
+ },
+ "homepage": "https://github.com/alexindigo/asynckit#readme",
+ "keywords": [
+ "async",
+ "jobs",
+ "parallel",
+ "serial",
+ "iterator",
+ "array",
+ "object",
+ "stream",
+ "destroy",
+ "terminate",
+ "abort"
+ ],
+ "license": "MIT",
+ "main": "index.js",
+ "name": "asynckit",
+ "pre-commit": [
+ "clean",
+ "lint",
+ "test",
+ "browser",
+ "report",
+ "size"
+ ],
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/alexindigo/asynckit.git"
+ },
+ "scripts": {
+ "browser": "browserify -t browserify-istanbul test/lib/browserify_adjustment.js test/test-*.js | obake --coverage | tap-spec",
+ "clean": "rimraf coverage",
+ "debug": "tape test/test-*.js",
+ "lint": "eslint *.js lib/*.js test/*.js",
+ "report": "istanbul report",
+ "size": "browserify index.js | size-table asynckit",
+ "test": "istanbul cover --reporter=json tape -- 'test/test-*.js' | tap-spec",
+ "win-test": "tape test/test-*.js"
+ },
+ "version": "0.4.0"
+}
diff --git a/node_modules/asynckit/parallel.js b/node_modules/asynckit/parallel.js
new file mode 100644
index 0000000..3c50344
--- /dev/null
+++ b/node_modules/asynckit/parallel.js
@@ -0,0 +1,43 @@
+var iterate = require('./lib/iterate.js')
+ , initState = require('./lib/state.js')
+ , terminator = require('./lib/terminator.js')
+ ;
+
+// Public API
+module.exports = parallel;
+
+/**
+ * Runs iterator over provided array elements in parallel
+ *
+ * @param {array|object} list - array or object (named list) to iterate over
+ * @param {function} iterator - iterator to run
+ * @param {function} callback - invoked when all elements processed
+ * @returns {function} - jobs terminator
+ */
+function parallel(list, iterator, callback)
+{
+ var state = initState(list);
+
+ while (state.index < (state['keyedList'] || list).length)
+ {
+ iterate(list, iterator, state, function(error, result)
+ {
+ if (error)
+ {
+ callback(error, result);
+ return;
+ }
+
+ // looks like it's the last one
+ if (Object.keys(state.jobs).length === 0)
+ {
+ callback(null, state.results);
+ return;
+ }
+ });
+
+ state.index++;
+ }
+
+ return terminator.bind(state, callback);
+}
diff --git a/node_modules/asynckit/serial.js b/node_modules/asynckit/serial.js
new file mode 100644
index 0000000..6cd949a
--- /dev/null
+++ b/node_modules/asynckit/serial.js
@@ -0,0 +1,17 @@
+var serialOrdered = require('./serialOrdered.js');
+
+// Public API
+module.exports = serial;
+
+/**
+ * Runs iterator over provided array elements in series
+ *
+ * @param {array|object} list - array or object (named list) to iterate over
+ * @param {function} iterator - iterator to run
+ * @param {function} callback - invoked when all elements processed
+ * @returns {function} - jobs terminator
+ */
+function serial(list, iterator, callback)
+{
+ return serialOrdered(list, iterator, null, callback);
+}
diff --git a/node_modules/asynckit/serialOrdered.js b/node_modules/asynckit/serialOrdered.js
new file mode 100644
index 0000000..607eafe
--- /dev/null
+++ b/node_modules/asynckit/serialOrdered.js
@@ -0,0 +1,75 @@
+var iterate = require('./lib/iterate.js')
+ , initState = require('./lib/state.js')
+ , terminator = require('./lib/terminator.js')
+ ;
+
+// Public API
+module.exports = serialOrdered;
+// sorting helpers
+module.exports.ascending = ascending;
+module.exports.descending = descending;
+
+/**
+ * Runs iterator over provided sorted array elements in series
+ *
+ * @param {array|object} list - array or object (named list) to iterate over
+ * @param {function} iterator - iterator to run
+ * @param {function} sortMethod - custom sort function
+ * @param {function} callback - invoked when all elements processed
+ * @returns {function} - jobs terminator
+ */
+function serialOrdered(list, iterator, sortMethod, callback)
+{
+ var state = initState(list, sortMethod);
+
+ iterate(list, iterator, state, function iteratorHandler(error, result)
+ {
+ if (error)
+ {
+ callback(error, result);
+ return;
+ }
+
+ state.index++;
+
+ // are we there yet?
+ if (state.index < (state['keyedList'] || list).length)
+ {
+ iterate(list, iterator, state, iteratorHandler);
+ return;
+ }
+
+ // done here
+ callback(null, state.results);
+ });
+
+ return terminator.bind(state, callback);
+}
+
+/*
+ * -- Sort methods
+ */
+
+/**
+ * sort helper to sort array elements in ascending order
+ *
+ * @param {mixed} a - an item to compare
+ * @param {mixed} b - an item to compare
+ * @returns {number} - comparison result
+ */
+function ascending(a, b)
+{
+ return a < b ? -1 : a > b ? 1 : 0;
+}
+
+/**
+ * sort helper to sort array elements in descending order
+ *
+ * @param {mixed} a - an item to compare
+ * @param {mixed} b - an item to compare
+ * @returns {number} - comparison result
+ */
+function descending(a, b)
+{
+ return -1 * ascending(a, b);
+}
diff --git a/node_modules/asynckit/stream.js b/node_modules/asynckit/stream.js
new file mode 100644
index 0000000..d43465f
--- /dev/null
+++ b/node_modules/asynckit/stream.js
@@ -0,0 +1,21 @@
+var inherits = require('util').inherits
+ , Readable = require('stream').Readable
+ , ReadableAsyncKit = require('./lib/readable_asynckit.js')
+ , ReadableParallel = require('./lib/readable_parallel.js')
+ , ReadableSerial = require('./lib/readable_serial.js')
+ , ReadableSerialOrdered = require('./lib/readable_serial_ordered.js')
+ ;
+
+// API
+module.exports =
+{
+ parallel : ReadableParallel,
+ serial : ReadableSerial,
+ serialOrdered : ReadableSerialOrdered,
+};
+
+inherits(ReadableAsyncKit, Readable);
+
+inherits(ReadableParallel, ReadableAsyncKit);
+inherits(ReadableSerial, ReadableAsyncKit);
+inherits(ReadableSerialOrdered, ReadableAsyncKit);
diff --git a/node_modules/atob/LICENSE b/node_modules/atob/LICENSE
new file mode 100644
index 0000000..2d9338b
--- /dev/null
+++ b/node_modules/atob/LICENSE
@@ -0,0 +1,230 @@
+At your option you may choose either of the following licenses:
+
+ * The MIT License (MIT)
+ * The Apache License 2.0 (Apache-2.0)
+
+
+The MIT License (MIT)
+
+Copyright (c) 2015 AJ ONeal
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2015 AJ ONeal
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/node_modules/atob/LICENSE.DOCS b/node_modules/atob/LICENSE.DOCS
new file mode 100644
index 0000000..1d658d6
--- /dev/null
+++ b/node_modules/atob/LICENSE.DOCS
@@ -0,0 +1,319 @@
+Creative Commons Legal Code
+
+Attribution 3.0 Unported
+
+ CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
+ LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN
+ ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
+ INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
+ REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR
+ DAMAGES RESULTING FROM ITS USE.
+
+License
+
+THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE
+COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY
+COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS
+AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
+
+BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE
+TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY
+BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS
+CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND
+CONDITIONS.
+
+1. Definitions
+
+ a. "Adaptation" means a work based upon the Work, or upon the Work and
+ other pre-existing works, such as a translation, adaptation,
+ derivative work, arrangement of music or other alterations of a
+ literary or artistic work, or phonogram or performance and includes
+ cinematographic adaptations or any other form in which the Work may be
+ recast, transformed, or adapted including in any form recognizably
+ derived from the original, except that a work that constitutes a
+ Collection will not be considered an Adaptation for the purpose of
+ this License. For the avoidance of doubt, where the Work is a musical
+ work, performance or phonogram, the synchronization of the Work in
+ timed-relation with a moving image ("synching") will be considered an
+ Adaptation for the purpose of this License.
+ b. "Collection" means a collection of literary or artistic works, such as
+ encyclopedias and anthologies, or performances, phonograms or
+ broadcasts, or other works or subject matter other than works listed
+ in Section 1(f) below, which, by reason of the selection and
+ arrangement of their contents, constitute intellectual creations, in
+ which the Work is included in its entirety in unmodified form along
+ with one or more other contributions, each constituting separate and
+ independent works in themselves, which together are assembled into a
+ collective whole. A work that constitutes a Collection will not be
+ considered an Adaptation (as defined above) for the purposes of this
+ License.
+ c. "Distribute" means to make available to the public the original and
+ copies of the Work or Adaptation, as appropriate, through sale or
+ other transfer of ownership.
+ d. "Licensor" means the individual, individuals, entity or entities that
+ offer(s) the Work under the terms of this License.
+ e. "Original Author" means, in the case of a literary or artistic work,
+ the individual, individuals, entity or entities who created the Work
+ or if no individual or entity can be identified, the publisher; and in
+ addition (i) in the case of a performance the actors, singers,
+ musicians, dancers, and other persons who act, sing, deliver, declaim,
+ play in, interpret or otherwise perform literary or artistic works or
+ expressions of folklore; (ii) in the case of a phonogram the producer
+ being the person or legal entity who first fixes the sounds of a
+ performance or other sounds; and, (iii) in the case of broadcasts, the
+ organization that transmits the broadcast.
+ f. "Work" means the literary and/or artistic work offered under the terms
+ of this License including without limitation any production in the
+ literary, scientific and artistic domain, whatever may be the mode or
+ form of its expression including digital form, such as a book,
+ pamphlet and other writing; a lecture, address, sermon or other work
+ of the same nature; a dramatic or dramatico-musical work; a
+ choreographic work or entertainment in dumb show; a musical
+ composition with or without words; a cinematographic work to which are
+ assimilated works expressed by a process analogous to cinematography;
+ a work of drawing, painting, architecture, sculpture, engraving or
+ lithography; a photographic work to which are assimilated works
+ expressed by a process analogous to photography; a work of applied
+ art; an illustration, map, plan, sketch or three-dimensional work
+ relative to geography, topography, architecture or science; a
+ performance; a broadcast; a phonogram; a compilation of data to the
+ extent it is protected as a copyrightable work; or a work performed by
+ a variety or circus performer to the extent it is not otherwise
+ considered a literary or artistic work.
+ g. "You" means an individual or entity exercising rights under this
+ License who has not previously violated the terms of this License with
+ respect to the Work, or who has received express permission from the
+ Licensor to exercise rights under this License despite a previous
+ violation.
+ h. "Publicly Perform" means to perform public recitations of the Work and
+ to communicate to the public those public recitations, by any means or
+ process, including by wire or wireless means or public digital
+ performances; to make available to the public Works in such a way that
+ members of the public may access these Works from a place and at a
+ place individually chosen by them; to perform the Work to the public
+ by any means or process and the communication to the public of the
+ performances of the Work, including by public digital performance; to
+ broadcast and rebroadcast the Work by any means including signs,
+ sounds or images.
+ i. "Reproduce" means to make copies of the Work by any means including
+ without limitation by sound or visual recordings and the right of
+ fixation and reproducing fixations of the Work, including storage of a
+ protected performance or phonogram in digital form or other electronic
+ medium.
+
+2. Fair Dealing Rights. Nothing in this License is intended to reduce,
+limit, or restrict any uses free from copyright or rights arising from
+limitations or exceptions that are provided for in connection with the
+copyright protection under copyright law or other applicable laws.
+
+3. License Grant. Subject to the terms and conditions of this License,
+Licensor hereby grants You a worldwide, royalty-free, non-exclusive,
+perpetual (for the duration of the applicable copyright) license to
+exercise the rights in the Work as stated below:
+
+ a. to Reproduce the Work, to incorporate the Work into one or more
+ Collections, and to Reproduce the Work as incorporated in the
+ Collections;
+ b. to create and Reproduce Adaptations provided that any such Adaptation,
+ including any translation in any medium, takes reasonable steps to
+ clearly label, demarcate or otherwise identify that changes were made
+ to the original Work. For example, a translation could be marked "The
+ original work was translated from English to Spanish," or a
+ modification could indicate "The original work has been modified.";
+ c. to Distribute and Publicly Perform the Work including as incorporated
+ in Collections; and,
+ d. to Distribute and Publicly Perform Adaptations.
+ e. For the avoidance of doubt:
+
+ i. Non-waivable Compulsory License Schemes. In those jurisdictions in
+ which the right to collect royalties through any statutory or
+ compulsory licensing scheme cannot be waived, the Licensor
+ reserves the exclusive right to collect such royalties for any
+ exercise by You of the rights granted under this License;
+ ii. Waivable Compulsory License Schemes. In those jurisdictions in
+ which the right to collect royalties through any statutory or
+ compulsory licensing scheme can be waived, the Licensor waives the
+ exclusive right to collect such royalties for any exercise by You
+ of the rights granted under this License; and,
+ iii. Voluntary License Schemes. The Licensor waives the right to
+ collect royalties, whether individually or, in the event that the
+ Licensor is a member of a collecting society that administers
+ voluntary licensing schemes, via that society, from any exercise
+ by You of the rights granted under this License.
+
+The above rights may be exercised in all media and formats whether now
+known or hereafter devised. The above rights include the right to make
+such modifications as are technically necessary to exercise the rights in
+other media and formats. Subject to Section 8(f), all rights not expressly
+granted by Licensor are hereby reserved.
+
+4. Restrictions. The license granted in Section 3 above is expressly made
+subject to and limited by the following restrictions:
+
+ a. You may Distribute or Publicly Perform the Work only under the terms
+ of this License. You must include a copy of, or the Uniform Resource
+ Identifier (URI) for, this License with every copy of the Work You
+ Distribute or Publicly Perform. You may not offer or impose any terms
+ on the Work that restrict the terms of this License or the ability of
+ the recipient of the Work to exercise the rights granted to that
+ recipient under the terms of the License. You may not sublicense the
+ Work. You must keep intact all notices that refer to this License and
+ to the disclaimer of warranties with every copy of the Work You
+ Distribute or Publicly Perform. When You Distribute or Publicly
+ Perform the Work, You may not impose any effective technological
+ measures on the Work that restrict the ability of a recipient of the
+ Work from You to exercise the rights granted to that recipient under
+ the terms of the License. This Section 4(a) applies to the Work as
+ incorporated in a Collection, but this does not require the Collection
+ apart from the Work itself to be made subject to the terms of this
+ License. If You create a Collection, upon notice from any Licensor You
+ must, to the extent practicable, remove from the Collection any credit
+ as required by Section 4(b), as requested. If You create an
+ Adaptation, upon notice from any Licensor You must, to the extent
+ practicable, remove from the Adaptation any credit as required by
+ Section 4(b), as requested.
+ b. If You Distribute, or Publicly Perform the Work or any Adaptations or
+ Collections, You must, unless a request has been made pursuant to
+ Section 4(a), keep intact all copyright notices for the Work and
+ provide, reasonable to the medium or means You are utilizing: (i) the
+ name of the Original Author (or pseudonym, if applicable) if supplied,
+ and/or if the Original Author and/or Licensor designate another party
+ or parties (e.g., a sponsor institute, publishing entity, journal) for
+ attribution ("Attribution Parties") in Licensor's copyright notice,
+ terms of service or by other reasonable means, the name of such party
+ or parties; (ii) the title of the Work if supplied; (iii) to the
+ extent reasonably practicable, the URI, if any, that Licensor
+ specifies to be associated with the Work, unless such URI does not
+ refer to the copyright notice or licensing information for the Work;
+ and (iv) , consistent with Section 3(b), in the case of an Adaptation,
+ a credit identifying the use of the Work in the Adaptation (e.g.,
+ "French translation of the Work by Original Author," or "Screenplay
+ based on original Work by Original Author"). The credit required by
+ this Section 4 (b) may be implemented in any reasonable manner;
+ provided, however, that in the case of a Adaptation or Collection, at
+ a minimum such credit will appear, if a credit for all contributing
+ authors of the Adaptation or Collection appears, then as part of these
+ credits and in a manner at least as prominent as the credits for the
+ other contributing authors. For the avoidance of doubt, You may only
+ use the credit required by this Section for the purpose of attribution
+ in the manner set out above and, by exercising Your rights under this
+ License, You may not implicitly or explicitly assert or imply any
+ connection with, sponsorship or endorsement by the Original Author,
+ Licensor and/or Attribution Parties, as appropriate, of You or Your
+ use of the Work, without the separate, express prior written
+ permission of the Original Author, Licensor and/or Attribution
+ Parties.
+ c. Except as otherwise agreed in writing by the Licensor or as may be
+ otherwise permitted by applicable law, if You Reproduce, Distribute or
+ Publicly Perform the Work either by itself or as part of any
+ Adaptations or Collections, You must not distort, mutilate, modify or
+ take other derogatory action in relation to the Work which would be
+ prejudicial to the Original Author's honor or reputation. Licensor
+ agrees that in those jurisdictions (e.g. Japan), in which any exercise
+ of the right granted in Section 3(b) of this License (the right to
+ make Adaptations) would be deemed to be a distortion, mutilation,
+ modification or other derogatory action prejudicial to the Original
+ Author's honor and reputation, the Licensor will waive or not assert,
+ as appropriate, this Section, to the fullest extent permitted by the
+ applicable national law, to enable You to reasonably exercise Your
+ right under Section 3(b) of this License (right to make Adaptations)
+ but not otherwise.
+
+5. Representations, Warranties and Disclaimer
+
+UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR
+OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY
+KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE,
+INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY,
+FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF
+LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS,
+WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION
+OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU.
+
+6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE
+LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR
+ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES
+ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS
+BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+7. Termination
+
+ a. This License and the rights granted hereunder will terminate
+ automatically upon any breach by You of the terms of this License.
+ Individuals or entities who have received Adaptations or Collections
+ from You under this License, however, will not have their licenses
+ terminated provided such individuals or entities remain in full
+ compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will
+ survive any termination of this License.
+ b. Subject to the above terms and conditions, the license granted here is
+ perpetual (for the duration of the applicable copyright in the Work).
+ Notwithstanding the above, Licensor reserves the right to release the
+ Work under different license terms or to stop distributing the Work at
+ any time; provided, however that any such election will not serve to
+ withdraw this License (or any other license that has been, or is
+ required to be, granted under the terms of this License), and this
+ License will continue in full force and effect unless terminated as
+ stated above.
+
+8. Miscellaneous
+
+ a. Each time You Distribute or Publicly Perform the Work or a Collection,
+ the Licensor offers to the recipient a license to the Work on the same
+ terms and conditions as the license granted to You under this License.
+ b. Each time You Distribute or Publicly Perform an Adaptation, Licensor
+ offers to the recipient a license to the original Work on the same
+ terms and conditions as the license granted to You under this License.
+ c. If any provision of this License is invalid or unenforceable under
+ applicable law, it shall not affect the validity or enforceability of
+ the remainder of the terms of this License, and without further action
+ by the parties to this agreement, such provision shall be reformed to
+ the minimum extent necessary to make such provision valid and
+ enforceable.
+ d. No term or provision of this License shall be deemed waived and no
+ breach consented to unless such waiver or consent shall be in writing
+ and signed by the party to be charged with such waiver or consent.
+ e. This License constitutes the entire agreement between the parties with
+ respect to the Work licensed here. There are no understandings,
+ agreements or representations with respect to the Work not specified
+ here. Licensor shall not be bound by any additional provisions that
+ may appear in any communication from You. This License may not be
+ modified without the mutual written agreement of the Licensor and You.
+ f. The rights granted under, and the subject matter referenced, in this
+ License were drafted utilizing the terminology of the Berne Convention
+ for the Protection of Literary and Artistic Works (as amended on
+ September 28, 1979), the Rome Convention of 1961, the WIPO Copyright
+ Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996
+ and the Universal Copyright Convention (as revised on July 24, 1971).
+ These rights and subject matter take effect in the relevant
+ jurisdiction in which the License terms are sought to be enforced
+ according to the corresponding provisions of the implementation of
+ those treaty provisions in the applicable national law. If the
+ standard suite of rights granted under applicable copyright law
+ includes additional rights not granted under this License, such
+ additional rights are deemed to be included in the License; this
+ License is not intended to restrict the license of any rights under
+ applicable law.
+
+
+Creative Commons Notice
+
+ Creative Commons is not a party to this License, and makes no warranty
+ whatsoever in connection with the Work. Creative Commons will not be
+ liable to You or any party on any legal theory for any damages
+ whatsoever, including without limitation any general, special,
+ incidental or consequential damages arising in connection to this
+ license. Notwithstanding the foregoing two (2) sentences, if Creative
+ Commons has expressly identified itself as the Licensor hereunder, it
+ shall have all rights and obligations of Licensor.
+
+ Except for the limited purpose of indicating to the public that the
+ Work is licensed under the CCPL, Creative Commons does not authorize
+ the use by either party of the trademark "Creative Commons" or any
+ related trademark or logo of Creative Commons without the prior
+ written consent of Creative Commons. Any permitted use will be in
+ compliance with Creative Commons' then-current trademark usage
+ guidelines, as may be published on its website or otherwise made
+ available upon request from time to time. For the avoidance of doubt,
+ this trademark restriction does not form part of this License.
+
+ Creative Commons may be contacted at http://creativecommons.org/.
diff --git a/node_modules/atob/README.md b/node_modules/atob/README.md
new file mode 100644
index 0000000..e15ef86
--- /dev/null
+++ b/node_modules/atob/README.md
@@ -0,0 +1,49 @@
+atob
+===
+
+| **atob**
+| [btoa](https://git.coolaj86.com/coolaj86/btoa.js)
+| [unibabel.js](https://git.coolaj86.com/coolaj86/unibabel.js)
+| Sponsored by [ppl](https://ppl.family)
+
+Uses `Buffer` to emulate the exact functionality of the browser's atob.
+
+Note: Unicode may be handled incorrectly (like the browser).
+
+It turns base64-encoded a scii data back **to** b inary.
+
+```javascript
+(function () {
+ "use strict";
+
+ var atob = require('atob');
+ var b64 = "SGVsbG8sIFdvcmxkIQ==";
+ var bin = atob(b64);
+
+ console.log(bin); // "Hello, World!"
+}());
+```
+
+### Need Unicode and Binary Support in the Browser?
+
+Check out [unibabel.js](https://git.coolaj86.com/coolaj86/unibabel.js)
+
+Changelog
+=======
+
+ * v2.1.0 address a few issues and PRs, update URLs
+ * v2.0.0 provide browser version for ios web workers
+ * v1.2.0 provide (empty) browser version
+ * v1.1.3 add MIT license
+ * v1.1.2 node only
+
+LICENSE
+=======
+
+Code copyright 2012-2018 AJ ONeal
+
+Dual-licensed MIT and Apache-2.0
+
+Docs copyright 2012-2018 AJ ONeal
+
+Docs released under [Creative Commons](https://git.coolaj86.com/coolaj86/atob.js/blob/master/LICENSE.DOCS).
diff --git a/node_modules/atob/bin/atob.js b/node_modules/atob/bin/atob.js
new file mode 100644
index 0000000..a56ac2e
--- /dev/null
+++ b/node_modules/atob/bin/atob.js
@@ -0,0 +1,6 @@
+#!/usr/bin/env node
+'use strict';
+
+var atob = require('../node-atob');
+var str = process.argv[2];
+console.log(atob(str));
diff --git a/node_modules/atob/bower.json b/node_modules/atob/bower.json
new file mode 100644
index 0000000..e3ef66e
--- /dev/null
+++ b/node_modules/atob/bower.json
@@ -0,0 +1,24 @@
+{
+ "name": "atob",
+ "description": "atob for isomorphic environments",
+ "main": "browser-atob.js",
+ "authors": [
+ "AJ ONeal (https://coolaj86.com)"
+ ],
+ "license": "(MIT OR Apache-2.0)",
+ "keywords": [
+ "atob",
+ "browser"
+ ],
+ "homepage": "https://github.com/node-browser-compat/atob",
+ "moduleType": [
+ "globals"
+ ],
+ "ignore": [
+ "**/.*",
+ "node_modules",
+ "bower_components",
+ "test",
+ "tests"
+ ]
+}
diff --git a/node_modules/atob/browser-atob.js b/node_modules/atob/browser-atob.js
new file mode 100644
index 0000000..af4f357
--- /dev/null
+++ b/node_modules/atob/browser-atob.js
@@ -0,0 +1,44 @@
+(function (w) {
+ "use strict";
+
+ function findBest(atobNative) {
+ // normal window
+ if ('function' === typeof atobNative) { return atobNative; }
+
+
+ // browserify (web worker)
+ if ('function' === typeof Buffer) {
+ return function atobBrowserify(a) {
+ //!! Deliberately using an API that's deprecated in node.js because
+ //!! this file is for browsers and we expect them to cope with it.
+ //!! Discussion: github.com/node-browser-compat/atob/pull/9
+ return new Buffer(a, 'base64').toString('binary');
+ };
+ }
+
+ // ios web worker with base64js
+ if ('object' === typeof w.base64js) {
+ // bufferToBinaryString
+ // https://git.coolaj86.com/coolaj86/unibabel.js/blob/master/index.js#L50
+ return function atobWebWorker_iOS(a) {
+ var buf = w.base64js.b64ToByteArray(a);
+ return Array.prototype.map.call(buf, function (ch) {
+ return String.fromCharCode(ch);
+ }).join('');
+ };
+ }
+
+ return function () {
+ // ios web worker without base64js
+ throw new Error("You're probably in an old browser or an iOS webworker." +
+ " It might help to include beatgammit's base64-js.");
+ };
+ }
+
+ var atobBest = findBest(w.atob);
+ w.atob = atobBest;
+
+ if ((typeof module === 'object') && module && module.exports) {
+ module.exports = atobBest;
+ }
+}(window));
diff --git a/node_modules/atob/node-atob.js b/node_modules/atob/node-atob.js
new file mode 100644
index 0000000..d7305a3
--- /dev/null
+++ b/node_modules/atob/node-atob.js
@@ -0,0 +1,7 @@
+"use strict";
+
+function atob(str) {
+ return Buffer.from(str, 'base64').toString('binary');
+}
+
+module.exports = atob.atob = atob;
diff --git a/node_modules/atob/package.json b/node_modules/atob/package.json
new file mode 100644
index 0000000..e2780bc
--- /dev/null
+++ b/node_modules/atob/package.json
@@ -0,0 +1,53 @@
+{
+ "_from": "atob@^2.1.2",
+ "_id": "atob@2.1.2",
+ "_inBundle": false,
+ "_integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==",
+ "_location": "/atob",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "range",
+ "registry": true,
+ "raw": "atob@^2.1.2",
+ "name": "atob",
+ "escapedName": "atob",
+ "rawSpec": "^2.1.2",
+ "saveSpec": null,
+ "fetchSpec": "^2.1.2"
+ },
+ "_requiredBy": [
+ "/source-map-resolve"
+ ],
+ "_resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
+ "_shasum": "6d9517eb9e030d2436666651e86bd9f6f13533c9",
+ "_spec": "atob@^2.1.2",
+ "_where": "C:\\Users\\Futil\\AppData\\Local\\FoundryVTT\\Data\\systems\\mothership\\node_modules\\source-map-resolve",
+ "author": {
+ "name": "AJ ONeal",
+ "email": "coolaj86@gmail.com",
+ "url": "https://coolaj86.com"
+ },
+ "bin": {
+ "atob": "bin/atob.js"
+ },
+ "browser": "browser-atob.js",
+ "bundleDependencies": false,
+ "deprecated": false,
+ "description": "atob for Node.JS and Linux / Mac / Windows CLI (it's a one-liner)",
+ "engines": {
+ "node": ">= 4.5.0"
+ },
+ "homepage": "https://git.coolaj86.com/coolaj86/atob.js.git",
+ "keywords": [
+ "atob",
+ "browser"
+ ],
+ "license": "(MIT OR Apache-2.0)",
+ "main": "node-atob.js",
+ "name": "atob",
+ "repository": {
+ "type": "git",
+ "url": "git://git.coolaj86.com/coolaj86/atob.js.git"
+ },
+ "version": "2.1.2"
+}
diff --git a/node_modules/atob/test.js b/node_modules/atob/test.js
new file mode 100644
index 0000000..bd80a4e
--- /dev/null
+++ b/node_modules/atob/test.js
@@ -0,0 +1,18 @@
+(function () {
+ "use strict";
+
+ var atob = require('.');
+ var encoded = "SGVsbG8sIFdvcmxkIQ=="
+ var unencoded = "Hello, World!";
+ /*
+ , encoded = "SGVsbG8sIBZM"
+ , unencoded = "Hello, 世界"
+ */
+
+ if (unencoded !== atob(encoded)) {
+ console.log('[FAIL]', unencoded, atob(encoded));
+ return;
+ }
+
+ console.log('[PASS] all tests pass');
+}());
diff --git a/node_modules/autoprefixer/CHANGELOG.md b/node_modules/autoprefixer/CHANGELOG.md
new file mode 100644
index 0000000..5815ac2
--- /dev/null
+++ b/node_modules/autoprefixer/CHANGELOG.md
@@ -0,0 +1,985 @@
+# Change Log
+This project adheres to [Semantic Versioning](http://semver.org/).
+
+## 9.8.6
+* Fixed `env` option.
+
+## 9.8.5
+* Improved Grid Layout warnings (by Daniel Tonon).
+* Fixed `align-self` and `justify-self` with `display: flex` (by Daniel Tonon).
+
+## 9.8.4
+* Replace color output library.
+
+## 9.8.3
+* Return old non-LTS Node.js versions to avoid breaking changes.
+
+## 9.8.2
+* Remove Node.js 13.0-13.7 from supported engines, because of buggy ESM support.
+
+## 9.8.1
+* Replace `chalk` to `kleur` (by Luke Edwards).
+* Update docs (by @mbomb007).
+
+## 9.8 “Vigilo Confido”
+* Add `:placeholder-shown` support (by Tanguy Krotoff).
+
+## 9.7.6
+* Revert `-webkit-stretch` fix.
+
+## 9.7.5
+* Fix `-webkit-stretch` support.
+
+## 9.7.4
+* Fix warning text (by Dmitry Ishkov).
+
+## 9.7.3
+* Fix compatibility with PostCSS Modules.
+
+## 9.7.2
+* Add `-ms-user-select: element` support.
+* Add funding link for `npm fund`.
+
+## 9.7.1
+* Avoid unnecessary transitions in prefixed selectors (by Andrey Alexandrov).
+* Fix `fit-content` for Firefox.
+
+## 9.7 “Ad Victoriam”
+* Add `AUTOPREFIXER_GRID` env variable to enable Grid Layout polyfill for IE.
+* Fix `Cannot read property 'grid' of undefined` error.
+
+## 9.6.5
+* Fix selector prefixing (by Andrey Alexandrov).
+
+## 9.6.4
+* Now the real fix for `'startsWith' of undefined` error.
+
+## 9.6.3
+* Fix `Cannot read property 'startsWith' of undefined` error.
+
+## 9.6.2
+* Fix false `Replace fill to stretch` warning.
+
+## 9.6.1
+* Fix `-webkit-line-clamp` truncating multi-line text support.
+
+## 9.6 “Nunc id vides, nunc ne vides”
+* Show warning about Browserslist config on `browser` option.
+* Add warning-less `overrideBrowserslist` option.
+* Add `text-orientation` support.
+* Add `min-resolution: 2x` alias support.
+* Add `.github/CONTRIBUTING.md` (by Juan Martin Marco).
+
+## 9.5.1
+* Fix `backdrop-filter` for Edge (by Oleh Aloshkin).
+* Fix `min-resolution` media query support in Firefox < 16.
+
+## 9.5 “Draco dormiens nunquam titillandus”
+* Add `mask-composite` support (by Semen Levenson).
+
+## 9.4.10
+* Add warning for named Grid rows.
+
+## 9.4.9
+* Fix `grid-template` and `@media` case (by Bogdan Dolin).
+
+## 9.4.8
+* Fix `calc()` support in Grid gap.
+
+## 9.4.7
+* Fix infinite loop on mismatched parens.
+
+## 9.4.6
+* Fix warning text (by Albert Juhé Lluveras).
+
+## 9.4.5
+* Fix `text-decoration-skip-ink` support.
+
+## 9.4.4
+* Use `direction` value for `-ms-writing-mode` (by Denys Kniazevych).
+* Fix warning text (by @zzzzBov).
+
+## 9.4.3
+* Add warning to force `flex-start` instead of `start` (by Antoine du Hamel).
+* Fix docs (by Christian Oliff).
+
+## 9.4.2
+* Fix Grid autoplacement warning.
+
+## 9.4.1
+* Fix unnecessary Flexbox prefixes in Grid elements.
+
+## 9.4 “Advance Australia”
+* Add Grid autoplacement for `-ms-` (by Bogdan Dolin).
+* Improve docs and warnings (by Daniel Tonon).
+* Remove some unnecessary warnings for Grid (by Andrey Alexandrov).
+
+## 9.3.1
+* Fix Grid prefixes with `repeat()` value (by Bogdan Dolin).
+
+## 9.3 “Labor omnia vincit”
+* Add `place-self` support (by Bogdan Dolin).
+* Fix Grid row/column span inheritance bug (by Bogdan Dolin).
+
+## 9.2.1
+* Fix broken AST.
+
+## 9.2 “Onyi est glavnaya krepost”
+* Add `/* autoprefixer grid: on */` control comment (by Andrey Alexandrov).
+* Add duplicate `grid-area` support (by Bogdan Dolin).
+* Fix `grid-gap` support for rules with different specifity (by Bogdan Dolin).
+* Disable Grid in `@supports` at-rule with non-supported Grid features.
+* Improve Grid warnings (by Daniel Tonon).
+* Improve docs (by Joshua Hall, Mat Gadd, Roy Revelt, and Ivan).
+
+## 9.1.5
+* Remove `@babel/register` from dependencies.
+
+## 9.1.4
+* Use Babel 7.
+
+## 9.1.3
+* Sort properties in `autoprefixer --info` alphabetically.
+* Fix old Firefox gradient prefix.
+
+## 9.1.2
+* Fix `autoprefixer --info` in new Node.js.
+
+## 9.1.1
+* Retain `grid-gap` through `@media` (by Bogdan Dolin).
+* Fix `grid-template` and `@media` (by Bogdan Dolin).
+* Fix Grid areas searching error (by Bogdan Dolin).
+* Fix `span X` Grid prefix (by Bogdan Dolin).
+* Fix docs (by Eduard Kyvenko).
+
+## 9.1 “Equality before the law”
+* Add `background-clip: text` support.
+* Fix adding Grid span for IE (by Bogdan Dolin).
+
+## 9.0.2
+* Show warning on Grid area names conflict (by Bogdan Dolin).
+* Fix documentation (by Sven Wagner).
+
+## 9.0.1
+* Fix nested at-rules in Grid prefixes (by Ivan Malov).
+
+## 9.0 “A Mari Usque Ad Mare”
+* Remove Node.js 9 and Node.js 4 support.
+* Remove IE and “dead” browsers from Babel.
+* Use PostCSS 7.0.
+* Use Browserslist 4.0.
+
+## 8.6.5
+* Do not show Grid warnings if IE was not selected.
+
+## 8.6.4
+* Fix `stretch` prefix in Chrome >= 46.
+
+## 8.6.3
+* Add warnings for unsupported Grid features.
+* Add warnings about wrong Grid properties.
+* Add note about `grid` option for grid properties in `autoprefixer --info`.
+
+## 8.6.2
+* Fix error during adding Grid prefixes in `@media` (by Evgeny Petukhov).
+
+## 8.6.1
+* Fix `grid-template` with media queries (by Evgeny Petukhov).
+
+## 8.6 “Follow Reason”
+* Add `gap` support (by Evgeny Petukhov).
+* Add two values support for `grid-gap` and `gap` (by Evgeny Petukhov).
+* Add `ignoreUnknownVersions` option for Browserslist.
+
+## 8.5.2
+* Fix `grid-template` support wit auto row sizes (by Yury Timofeev).
+
+## 8.5.1
+* Remove unnecessary warning on `-webkit-fill-available`.
+
+## 8.5 “Muito Nobre e Sempre Leal”
+* Add `grid-gap` support (by Evgeny Petukhov).
+* Fix radial gradients direction fix.
+* Fix docs (by Phani Kandula and Huáng Jùnliàng).
+
+## 8.4.1
+* Fix working in old PostCSS versions (by Diablohu).
+
+## 8.4 “Non in aves, sed in angues”
+* Add `/* autoprefixer: ignore next */` control comment (by Pavel Vostrikov).
+
+## 8.3 “Benigno Numine”
+* Add `@media` support to `grid-template` (by Evgeny Petukhov).
+* Fix `radial-gradient` direction warning (by Gustavo Real).
+
+## 8.2 “Ad Astra per Aspera”
+* Add `color-adjust` (by Sergey Lysenko, Stanislav Botev, and Yuriy Alekseyev).
+
+## 8.1 “Rex, Familia et Ultio”
+* Add `overscroll-behavior` support.
+* Add `grid-template` shortcut support (by Evgeny Petukhov).
+* Add better `grid-column-end` and `grid-row-end` support (by Evgeny Petukhov).
+* Fix Grid properties support in `@supports`.
+
+## 8.0 “Excelsior”
+* Use Browserslist 3.0.
+* Rename `autoprefixer-info` CLI tool to `autoprefixer --info`.
+* Remove `break-*` to `page-break-*` conversion for Firefox.
+
+## 7.2.6
+* Fix `-ms-` prefix for grid cells with same `grid-area` (by Evgeny Petukhov).
+
+## 7.2.5
+* Fix multiple prefixes in declaration value.
+
+## 7.2.4
+* Fix IE 10 support.
+
+## 7.2.3
+* Fix `grid-template-areas` in `@media` (by Evgeny Petukhov).
+
+## 7.2.2
+* Fix `_autoprefixerDisabled is undefined` issue.
+
+## 7.2.1
+* Fix IE and other old JS runtimes support.
+
+## 7.2 “Ordem e Progresso”
+* Add `grid-template-areas` support (by Evgeny Petukhov).
+* Add `grid-template` support (by Evgeny Petukhov).
+* Add `grid-area` support (by Alexey Komarov).
+* Add `autoprefixer-info` CLI tool.
+* Add wrong `radial-gradient` properties warning.
+* Use current working dir on missed `from` in `info()` (by Phil Dokas).
+* Fix `grid-row` and `grid-column` support (by Alexey Komarov).
+* Do not prefix `reverse` animation direction.
+* Improve test coverage (by Dmitry Semigradsky).
+
+## 7.1.6
+* Add warning for using `browserslist` option instead of `browsers`.
+* Add warning for multiple control comments in the same scope.
+* Fix `Invalid array length` error during indent changes.
+
+## 7.1.5
+* Fix `::placeholder` prefix for Edge.
+* Fix `inherit`/`initial`/`unset` values for `flex-direction`.
+* Fix RegExp usage in gradients (by Yet Another Minion).
+
+## 7.1.4
+* Fix `radial-gradient` direction conversion.
+* Fix `image-set` in `cursor`.
+
+## 7.1.3
+* Add warning for old `radial-gradient` direction syntax.
+
+## 7.1.2
+* Fix `text-decoration` shortcut support.
+
+## 7.1.1
+* Remove non-`-webkit-` intrinsic prefixes in Grid Layout (by 一丝).
+
+## 7.1 “Universitas litterarum”
+* Add `unicode-bidi` support.
+* Add `-webkit-appearance` support for Edge.
+* Add `from` option to `info()`.
+* Fix intrinsic widths prefixes in Grid Layout.
+
+## 7.0.1
+* Fix Autoprefixer for old JS runtimes.
+
+## 7.0 “Coelestem adspicit lucem”
+* Remove node.js 0.12 support.
+* Use PostCSS 6.0.
+* Use Browserslist 2.
+* Use `caniuse-lite` instead of `caniuse-db` (by Ben Briggs).
+* Use `^` for Browserslist dependencies, instead of `~`.
+* Rewrite project from CoffeeScript to Babel (by Dmitry Semigradsky).
+* Disable Grid Layout prefixes for IE by default.
+* Fix `-ms-grid-column-align`.
+* Move tests to Jest.
+
+## 6.7.7
+* Fix `order` for non-digit values.
+
+## 6.7.6
+* Fix `font-kerning` (by Chi Vinh Le).
+
+## 6.7.5
+* Fix `text-decoration-skip` in iOS (by Chi Vinh Le).
+* Fix `clip-path` (by Chi Vinh Le).
+
+## 6.7.4
+* Improve `browsers` option perfomance.
+* Update CoffeeScript compiler.
+
+## 6.7.3
+* Fix compatibility with “Intrinsic & Extrinsic Sizing” spec update.
+
+## 6.7.2
+* Do not prefix grid/flexbox in `@supports` on `grid: false`/`flexbox: false`.
+
+## 6.7.1
+* Update Browserslist with `last n version` fix.
+
+## 6.7 “Krungthep doot thep saang”
+* Add Electron support in browsers list (by Kilian Valkhof).
+* Add `flex-flow` partial support for Flexbox 2009 specification.
+* Fix browsers `0` version issue in some Can I Use data.
+
+## 6.6.1
+* Add metadata to use Autoprefixer in JSS tests (by Chi Vinh Le).
+
+## 6.6 “Kaiyuan”
+* Add `browserslist` key in `package.json` support.
+* Add support for separated environments in browserslist config.
+* Add `browserslist-stats.json` file support to load custom usage statistics.
+
+## 6.5.4
+* Fix unitless 0 basis in IE10/IE11 shorthand flex (by Google).
+
+## 6.5.3
+* Add error for popular mistake with `browser` option instead of `browsers`.
+
+## 6.5.2
+* Clean prefixes data (by Reinaldo Schiehll).
+
+## 6.5.1
+* Fix selectors with `:--` prefix support.
+
+## 6.5 “Einigkeit und Recht und Freiheit”
+* Add `defaults` keyword to browsers requirements.
+* Fix CSS Grid Layout support.
+* Fix `align-self` cleaning.
+
+## 6.4.1
+* Fix node cloning after some PostCSS plugins.
+
+## 6.4 “Hic et ubique terrarum”
+* Add `:any-link` selector support.
+* Add `text-decoration-skip` support.
+* Add `transition: duration property` support.
+* Fix `-webkit-` prefix for `backface-visibility`.
+* Fix `rad` unit support in gradients (by 刘祺).
+* Fix `transition` support in Opera 12.
+* Removed Safari TP Grid prefixes support.
+
+## 6.3.7
+* Fix rare `Cannot read property 'constructor' of null` issue.
+
+## 6.3.6
+* Add Safari TP prefix support for Grid Layout.
+
+## 6.3.5
+* Fix duplicate prefixes for `-ms-interpolation-mode`.
+
+## 6.3.4
+* Show users coverage for selected browsers in `info()`.
+
+## 6.3.3
+* Fix transition warning.
+
+## 6.3.2
+* Fix jspm support (by Sean Anderson).
+
+## 6.3.1
+* Fix compatibility with Flexibility polyfill.
+
+## 6.3 “Pro rege et lege”
+* Add Grid Layout support.
+* Add `text-spacing` support.
+* Add `> 10% in my stats` browsers query with custom usage statistics.
+* Add options to disable `@supports`, Flexbox or Grid support.
+* Fix compatibility with other PostCSS plugins.
+
+## 6.2.3
+* Fix error on broken transition with double comma.
+
+## 6.2.2
+* Fix issues in broken transitions.
+
+## 6.2.1
+* Fix AST error in transition warning (by @jvdanilo).
+
+## 6.2 “Fluctuat nec mergitur”
+* Use `fill` instead of `fill-available` according spec changes (by 一丝).
+* Add `fill` support for logical dimension properties (by 一丝).
+* Add `text-emphasis` support (by 一丝).
+* Add prefixes to `@supports` only for compatible browsers.
+* Add `rad`, `grad` and `turn` units support to linear gradients.
+* Add some `deg` directions support for old WebKit linear gradients.
+* Fix `@supports` parenthesis (by @heady).
+* Add warning when prefixes could not be generated
+ for complicated `transition-property` values.
+* Add warning for outdated `fill-available` value.
+* Add warning for wrong `text-emphasis-position` value.
+* Add “time capsule” warning for prefix-less future.
+* Normalizes all warning messages.
+
+## 6.1.2
+* Fix gradient hack on some parameters (by Alexey Efremov).
+
+## 6.1.1
+* Fix `cursor: grab` and `cursor: grabbing` support.
+
+## 6.1 “Bil-shaʿb wa lil-shaʿb”
+* Change `transition` support to output more robust CSS.
+* Add `:read-only` support.
+* Add support for `appearance` with any values.
+* Add CSS-in-JS support via `postcss-js`.
+* Add loud `/*! autoprefixer: off */` control comments support.
+* Convert `rotateZ` to `rotate` for `-ms-transform`.
+* Use `postcss-value-parser` to carefully work with gradients.
+* Remove `-ms-transform-style` and `-o-transform-style` that never existed.
+
+## 6.0.3
+* Fix old gradient direction warning.
+
+## 6.0.2
+* Remove unnecessary `-khtml-` prefix too.
+
+## 6.0.1
+* Fix `cross-fade()` support (by 一丝).
+
+## 6.0 “Eureka”
+* CLI was removed from `autoprefixer` package to `autoprefixer-cli`.
+* `autoprefixer-core` and `autoprefixer` packages was merged back.
+* Remove `autoprefixer(opt).process(css)`, use `autoprefixer.process(css, opt)`.
+* Remove `safe` option. Use separated Safe parser from PostCSS.
+* Remove Opera 12.1 from default query.
+* Use PostCSS 5.0 API.
+* Add custom syntaxes support.
+* Add `image-set` support (by 一丝).
+* Add `mask-border` support (by 一丝).
+* Add `filter()` function support (by Vincent De Oliveira).
+* Add `backdrop-filter` support (by Vincent De Oliveira).
+* Add `element()` support (by Vincent De Oliveira).
+* Add CSS Regions support.
+* Add Scroll Snap Points support.
+* Add `writing-mode` support.
+* Add `::backdrop` support.
+* Add `cross-fade()` support.
+* Add other `break-` properties support.
+* Add Microsoft Edge support (by Andrey Polischuk).
+* Add `not` keyword and exclude browsers by query.
+* Add version ranges `IE 6-9` (by Ben Briggs).
+* Fix `filter` in `transition` support on Safari.
+* Fix `url()` parsing.
+* Fix `pixelated` cleaning.
+* Always show old gradient direction warning.
+
+## 5.2.1
+* Fix parent-less node issue on some cases (by Josh Gillies).
+
+## 5.2 “Dont tread on me”
+* Add `appearance` support.
+* Warn users on old gradient direction or flexbox syntax.
+* Add `add: false` option to disable new prefixes adding.
+* Make Autoprefixer 30% faster.
+* Use PostCSS 4.1 plugin API.
+* Add prefixes for `pixelated` instead of `crisp-edges` in `image-rendering`.
+* Do not add `::placeholder` prefixes for `:placeholder-shown`.
+* Fix `text-decoration` prefixes.
+* `autoprefixer.process()` was deprecated. Use PostCSS API.
+
+## 5.1.11
+* Update `num2fraction` to fix resolution media query (by 一丝).
+
+## 5.1.10
+* Do not generate `-webkit-image-rendering`.
+
+## 5.1.9
+* Fix DynJS compatibility (by Nick Howes).
+
+## 5.1.8
+* Fix gradients in `mask` and `mask-image` properties.
+* Fix old webkit prefix on some unsupported gradients.
+
+## 5.1.7
+* Fix placeholder selector (by Vincent De Oliveira).
+
+## 5.1.6
+* Use official `::placeholder-shown` selector (by Vincent De Oliveira).
+
+## 5.1.5
+* Add transition support for CSS Masks properties.
+
+## 5.1.4
+* Use `-webkit-` prefix for Opera Mobile 24.
+
+## 5.1.3
+* Add IE support for `image-rendering: crisp-edges`.
+
+## 5.1.2
+* Add never existed `@-ms-keyframes` to common mistake.
+
+## 5.1.1
+* Safer value split in `flex` hack.
+
+## 5.1 “Jianyuan”
+* Add support for resolution media query (by 一丝).
+* Higher accuracy while removing prefixes in values.
+* Add support for logical properties (by 一丝).
+* Add `@viewport` support.
+* Add `text-overflow` support (by 一丝).
+* Add `text-emphasis` support (by 一丝).
+* Add `image-rendering: crisp-edges` support.
+* Add `text-align-last` support.
+* Return `autoprefixer.defaults` as alias to current `browserslist.defaults`.
+* Save code style while adding prefixes to `@keyframes` and `@viewport`.
+* Do not remove `-webkit-background-clip` with non-spec `text` value.
+* Fix `-webkit-filter` in `transition`.
+* Better support for browser versions joined on Can I Use
+ like `ios_saf 7.0-7.1` (by Vincent De Oliveira).
+* Fix compatibility with `postcss-import` (by Jason Kuhrt).
+* Fix Flexbox prefixes for BlackBerry and UC Browser.
+* Fix gradient prefixes for old Chrome.
+
+## 5.0 “Pravda vítězí”
+* Use PostCSS 4.0.
+* Use Browserslist to parse browsers queries.
+* Use global `browserslist` config.
+* Add `> 5% in US` query to select browsers by usage in some country.
+* Add `object-fit` and `object-position` properties support.
+* Add CSS Shape properties support.
+* Fix UC Browser name in debug info.
+* Remove `autoprefixer.defaults` and use defaults from Browserslist.
+
+## 4.0.2
+* Remove `o-border-radius`, which is common mistake in legacy CSS.
+
+## 4.0.1
+* Fix `@supports` support with brackets in values (by Vincent De Oliveira).
+
+## 4.0 “Indivisibiliter ac Inseparabiliter”
+* Become 2.5 times fatser by new PostCSS 3.0 parser.
+* Do not remove outdated prefixes by `remove: false` option.
+* `map.inline` and `map.sourcesContent` options are now `true` by default.
+* Add `box-decoration-break` support.
+* Do not add old `-webkit-` prefix for gradients with `px` units.
+* Use previous source map to show origin source of CSS syntax error.
+* Use `from` option from previous source map `file` field.
+* Set `to` value to `from` if `to` option is missing.
+* Trim Unicode BOM on source maps parsing.
+* Parse at-rules without spaces like `@import"file"`.
+* Better previous `sourceMappingURL` annotation comment cleaning.
+* Do not remove previous `sourceMappingURL` comment on `map.annotation: false`.
+
+## 3.1.2
+* Update Firefox ESR version from 24 to 31.
+
+## 3.1.1
+* Use Flexbox 2009 spec for Android stock browser < 4.4.
+
+## 3.1 “Satyameva Jayate”
+* Do not remove comments from prefixed values (by Eitan Rousso).
+* Allow Safari 6.1 to use final Flexbox spec (by John Kreitlow).
+* Fix `filter` value in `transition` in Webkits.
+* Show greetings if your browsers don’t require any prefixes.
+* Add `<=` and `<` browsers requirement (by Andreas Lind).
+
+## 3.0.1
+* Fix `autoprefixer.postcss` in callbacks.
+
+## 3.0 “Liberté, Égalité, Fraternité”
+* Project was split to autoprefixer (with CLI) and autoprefixer-core.
+* `autoprefixer()` now receives only `options` object with `browsers` key.
+* GNU format for syntax error messages from PostCSS 2.2.
+
+## 2.2 “Mobilis in mobili”
+* Allow to disable Autoprefixer for some rule by control comment.
+* Use PostCSS 2.1 with Safe Mode option and broken source line
+ in CSS syntax error messages.
+
+## 2.1.1
+* Fix `-webkit-background-size` hack for `contain` and `cover` values.
+* Don’t add `-webkit-` prefix to `filter` with SVG (by Vincent De Oliveira).
+
+## 2.1 “Eleftheria i thanatos”
+* Add support for `clip-path` and `mask` properties.
+* Return `-webkit-` prefix to `filter` with SVG URI.
+
+## 2.0.2
+* Add readable names for new browsers from 2.0 release.
+* Don’t add `-webkit-` prefix to `filter` with SVG URI.
+* Don’t add `-o-` prefix 3D transforms.
+
+## 2.0.1
+* Save declaration style, when clone declaration to prefix.
+
+## 2.0 “Hongik Ingan”
+* Based on PostCSS 1.0.
+ See [options changes](https://github.com/postcss/postcss/releases/tag/1.0.0).
+* Restore visual cascade after declaration removing.
+* Enable visual cascade by default.
+* Prefix declareation in `@supports` at-rule conditions.
+* Add all browsers from Can I Use: `ie_mob`, `and_chr`, `and_ff`,
+ `op_mob` and `op_mini`.
+* Allow to use latest Autoprefixer from GitHub by npm.
+* Add `--no-cascade`, `--annotation` and `--sources-content` options to binary.
+
+## 1.3.1
+* Fix gradient hack, when `background` property contains color.
+
+## 1.3 “Tenka Fubu”
+* Add `text-size-adjust` support.
+* Add `background-size` to support Android 2.
+
+## 1.2 “Meiji”
+* Use Can I Use data from official `caniuse-db` npm package.
+* Remove package data update from binary.
+* Use increment value instead of current date in minor versions.
+
+## 1.1 “Nutrisco et extingo”
+* Add source map annotation comment support.
+* Add inline source map support.
+* Autodetect previous source map.
+* Fix source maps support on Windows.
+* Fix source maps support in subdirectory.
+* Prefix selector even if it is already prefixed by developer.
+* Add option `cascade` to create nice visual cascade of prefixes.
+* Fix flexbox support for IE 10 (by Roland Warmerdam).
+* Better `break-inside` support.
+* Fix prefixing, when two same properties are near.
+
+### 20140222
+* Add `touch-action` support.
+
+### 20140226
+* Chrome 33 is moved to released versions.
+* Add Chrome 36 data.
+
+### 20140302
+* Add `text-decoration-*` properties support.
+* Update browsers usage statistics.
+* Use new PostCSS version.
+
+### 20140319
+* Check already prefixed properties after current declaration.
+* Normalize spaces before already prefixed check.
+* Firefox 28 is moved to released versions.
+* Add Firefox 31 data.
+* Add some Blackberry data.
+
+### 20140327
+* Don’t use `-ms-transform` in `@keyframes`, because IE 9 doesn’t support
+ animations.
+* Update BlackBerry 10 data.
+
+### 20140403
+* Update browsers usage statistics.
+* Opera 20 is moved to released versions.
+* Add Opera 22 data.
+
+### 20140410
+* Chrome 34 is moved to released versions.
+* Add Chrome 37 data.
+* Fix Chrome 36 data.
+
+### 20140429
+* Fix `display: inline-flex` support by 2009 spec.
+* Fix old WebKit gradient converter (by Sergey Belov).
+* Fix CSS 3 cursors data (by Nick Schonning).
+
+### 20140430
+* Separate 2D and 3D transform prefixes to clean unnecessary `-ms-` prefixes.
+* Firefox 29 is moved to released versions.
+* Add Firefox 32 data.
+
+### 20140510
+* Do not add `-ms-` prefix for `transform` with 3D functions.
+* Update browsers global usage statistics.
+
+### 20140512
+* Remove unnecessary `-moz-` prefix for `wavy` in `text-decoration`.
+* Update Safari data for font properties.
+
+### 20140521
+* Chrome 36 is moved to released versions.
+* Add Chrome 38 data.
+
+### 20140523
+* Opera 21 is moved to released versions.
+* Add Opera 23 data.
+
+### 20140605
+* Allow to parse gradients without space between color and position.
+* Add iOS 8, Safari 8 and Android 4.4.3 data.
+* Update browsers usage statistics.
+
+## 1.0 “Plus ultra”
+* Source map support.
+* Save origin indents and code formatting.
+* Change CSS parser to PostCSS.
+* Preserve vendor-prefixed properties put right after unprefixed ones.
+* Rename `compile()` to `process()` and return result object,
+ instead of CSS string.
+* Rename `inspect()` to `info()`.
+* Add in binary `-d` option to specify output directory.
+* Binary now will not concat output files.
+* Allow to select last versions for specified browser.
+* Add full browser names aliases: `firefox`, `explorer` and `blackberry`.
+* Ignore case in browser names.
+* Change license to MIT.
+* Add prefixes inside custom at-rules.
+* Add only necessary prefixes to selector inside prefixed at-rule.
+* Safer backgrounds list parser in gradient hack.
+* Prefix `@keyframes` inside `@media`.
+* Don’t prefix values for CSS3 PIE properties.
+* Binary now shows file name in syntax error.
+* Use browserify to build standalone version.
+
+### 20131225
+* Fix deprecated API convertor.
+* Add `::placeholder` support for Firefix >= 18.
+* Fix vendor prefixes order.
+
+### 20140103
+* Add `-webkit-` prefix for `sticky` position.
+* Update browsers popularity statistics.
+
+### 20140109
+* Add selectors and at-rules sections to debug info.
+* Fix outdated prefixes cleaning.
+
+### 20140110
+* Add `Firefox ESR` browser requirement.
+* Opera 18 is moved to released versions.
+* Add Opera 20 data.
+
+### 20140117
+* Chrome 32 is moved to released versions.
+* Add Opera 34 data.
+
+### 20140130
+* Fix flexbox properties names in transitions.
+* Add Chrome 35 and Firefox 29 data.
+
+### 20140203
+* Android 4.4 stock browser and Opera 19 are moved to released versions.
+* Add Opera 21 data.
+* Update browsers usage statistics.
+
+### 20140213
+* Add case insensitive to IE’s filter hack (by Dominik Schilling).
+* Improve selector prefixing in some rare cases (by Simon Lydell).
+* Firefox 27 is moved to released versions.
+* Add Firefox 30 data.
+
+## 0.8 “Unbowed, Unbent, Unbroken”
+* Add more browsers to defaults ("> 1%, last 2 versions, ff 17, opera 12.1"
+ instead of just "last 2 browsers").
+* Keep vendor prefixes without unprefixed version (like vendor-specific hacks).
+* Convert gradients to old WebKit syntax (actual for Android 2.3).
+* Better support for several syntaxes with one prefix (like Flexbox and
+ gradients in WebKit).
+* Add intrinsic and extrinsic sizing values support.
+* Remove never existed prefixes from common mistakes (like -ms-transition).
+* Add Opera 17 data.
+* Fix selector prefixes order.
+* Fix browser versions order in inspect.
+
+### 20130903
+* Fix old WebKit gradients convertor on rgba() colors.
+* Allow to write old direction syntax in gradients.
+
+### 20130906
+* Fix direction syntax in radial gradients.
+* Don’t prefix IE filter with modern syntax.
+
+### 20130911
+* Fix parsing property name with spaces.
+
+### 20130919
+* Fix processing custom framework prefixes (by Johannes J. Schmidt).
+* Concat outputs if several files compiled to one output.
+* Decrease standalone build size by removing unnecessary Binary class.
+* iOS 7 is moved to released versions.
+* Clean up binary code (by Simon Lydell).
+
+### 20130923
+* Firefox 24 is moved to released versions.
+
+### 20131001
+* Add support for grab, grabbing, zoom-in and zoom-out cursor values.
+
+### 20131006
+* Chrome 30 is moved to released versions.
+
+### 20131007
+* Don’t add another prefixes in rule with prefixed selector.
+
+### 20131009
+* Opera 17 is moved to released versions.
+
+### 20131015
+* Fix converting multiple gradients to old webkit syntax (by Aleksei Androsov).
+
+### 20131017
+* Fix @host at-rule parsing.
+
+### 20131020
+* IE 11 and Andrid 4.3 is moved to released versions.
+* Add Opera 18 data.
+* Add @namespace support.
+* Sort browser versions in data file.
+
+### 20131029
+* Add Safari 6.1 data.
+* Add fx alias for Firefox.
+
+### 20131104
+* Update Android future version to 4.4.
+* Google Chrome 32 added to future versions list.
+* Firefox 25 now is actual version, 27 and 28 added to future versions.
+* Browsers statistics are updated.
+
+### 20131205
+* Google Chrome 33 added to future releases list.
+* Google Chrome 31 moved to current releases list.
+
+### 20131209
+* Use old webkit gradients for old iOS and Safari (by Chad von Nau).
+* Fix direction conversion for old webkit gradients (by Chad von Nau).
+* Update browsers popularity statistics.
+
+### 20131213
+* Firefox ESR in default browsers was changed to 24 version.
+* Firefox 26 was moved to current releases list.
+* Firefox 28 was added to future releases list.
+
+## 0.7 “We Do Not Sow”
+* Add vendor prefixes to selectors.
+* Add ::selection and ::placeholder selectors support.
+* Allow to load support data from Can I Use pull requests.
+* Remove deprecated API.
+
+### 20130806
+* Add hyphens support.
+
+### 20130807
+* Add tab-size support.
+* Add :fullscreen support.
+
+### 20130808
+* Allow to select browser versions by > and >= operator.
+* Fix flex properties in transition.
+
+### 20130810
+* Add Firefox 25 data.
+
+### 20130824
+* Add Chrome 31 and 30 data.
+* Fix CSS comments parsing (by vladkens).
+
+## 0.6 “As High As Honor”
+* New faster API, which cache preprocessed data. Old API is deprecated.
+* A lot of perfomance improvements.
+* Add Opera 15 -webkit- prefix support.
+* Update Chrome 29 and Safari 7 prefixes data.
+* Add minor browsers in popularity select.
+* Better syntax error messages.
+
+### 20130721
+* Add Chrome 30 data.
+
+### 20130728
+* Don’t remove non-standard -webkit-background-clip: text.
+* Don’t remove IE hack on CSS parse.
+
+### 20130729
+* Add Opera 16 data.
+* Fix “Invalid range in character class” error on Firefox.
+
+### 20130730
+* Fix correct clone comments inside keyframes (by Alexey Plutalov).
+* Fix angle recalculation in gradients (by Roman Komarov).
+
+### 20130731
+* Add border-image support.
+
+## 0.5 “Ours is the Fury”
+* Rewrite Autoprefixer to be more flexible.
+* Use css, instead of Rework, to fix CSS parsing errors faster.
+* Fix a lot of CSS parsing errors.
+
+### 20130616
+* More useful message for CSS parsing errors.
+* Remove old WebKit gradient syntax.
+* Fix parsing error on comment with braces.
+
+### 20130617
+* Remove old Mozilla border-radius.
+* Don’t prefix old IE filter.
+* Remove old background-clip, background-size and background-origin prefixes.
+* Speed up regexps in values.
+* Allow to hack property declarations.
+
+### 20130625
+* Convert flexbox properties to 2009 and 2012 specifications.
+* Improve messages on syntax errors.
+
+### 20130626
+* Add Firefox 24 data.
+* Add prefixes for font-feature-settings.
+
+### 20130629
+* Fix convert flex properties to old box-flex.
+
+## 0.4 “Winter Is Coming”
+* Remove outdated prefixes.
+* Add border-radius and box-shadow properties to database.
+* Change degrees in webkit gradients.
+
+### 20130515
+* Add old syntax in gradient direction.
+* Add old syntax for display: flex.
+* Update browser global usage statistics.
+
+### 20130521
+* Add Firefox 23 data.
+
+### 20130524
+* Add Chrome 29 data.
+
+### 20130528
+* Fix compatibilty with Rework from git master.
+* Add minor browsers to data, which can be selected only directly.
+
+### 20130530
+* Add Opera 15 and iOS 6.1 data.
+* Fix iOS versions in properties and values data.
+
+### 20130603
+* Use latest Rework 0.15 with a lot of CSS parsing fixes.
+* Update browsers usage statistics.
+
+## 0.3 “Growing Strong”
+* Rename `autoprefixer.filter()` to `autoprefixer.rework()`.
+* Use own filters instead of Rework’s `prefix` and `prefixValue`.
+* Smarter value prefixer without false match “order” in “border”.
+* 40% faster.
+* Don’t add unnecessary properties instead of Rework’s `prefixValue`.
+* Don’t change properties order.
+* Sort properties and values in inspect output.
+* Add main to component config (by Jonathan Ong).
+* Fix documentation (by Sergey Leschina and Mark Vasilkov).
+
+### 20130424
+* Fix value override in prefixer.
+
+### 20130427
+* Prefix several same values in one property.
+* Fix Windows support in binary.
+* Improve print errors in binary.
+
+### 20130502
+* Don’t add -webkit- prefix to IE filter.
+* Don’t duplicate prefixes on second run.
+
+## 0.2 “Hear Me Roar!”
+* Update parse libraries.
+* Use component package manager to build standalone script.
+* Add inspect to standalone script.
+
+## 0.1 “Fire and Blood”
+* Initial release.
diff --git a/node_modules/autoprefixer/LICENSE b/node_modules/autoprefixer/LICENSE
new file mode 100644
index 0000000..da057b4
--- /dev/null
+++ b/node_modules/autoprefixer/LICENSE
@@ -0,0 +1,20 @@
+The MIT License (MIT)
+
+Copyright 2013 Andrey Sitnik
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
+the Software, and to permit persons to whom the Software is furnished to do so,
+subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
+COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/node_modules/autoprefixer/README.md b/node_modules/autoprefixer/README.md
new file mode 100644
index 0000000..4377676
--- /dev/null
+++ b/node_modules/autoprefixer/README.md
@@ -0,0 +1,1119 @@
+# Autoprefixer [![Cult Of Martians][cult-img]][cult]
+
+
+
+[PostCSS] plugin to parse CSS and add vendor prefixes to CSS rules using values
+from [Can I Use]. It is [recommended] by Google and used in Twitter and Alibaba.
+
+Write your CSS rules without vendor prefixes (in fact, forget about them
+entirely):
+
+```css
+::placeholder {
+ color: gray;
+}
+
+.image {
+ background-image: url(image@1x.png);
+}
+@media (min-resolution: 2dppx) {
+ .image {
+ background-image: url(image@2x.png);
+ }
+}
+```
+
+Autoprefixer will use the data based on current browser popularity and property
+support to apply prefixes for you. You can try the [interactive demo]
+of Autoprefixer.
+
+```css
+::-moz-placeholder {
+ color: gray;
+}
+:-ms-input-placeholder {
+ color: gray;
+}
+::-ms-input-placeholder {
+ color: gray;
+}
+::placeholder {
+ color: gray;
+}
+
+.image {
+ background-image: url(image@1x.png);
+}
+@media (-webkit-min-device-pixel-ratio: 2),
+ (min-resolution: 2dppx) {
+ .image {
+ background-image: url(image@2x.png);
+ }
+}
+```
+
+Twitter account for news and releases: [@autoprefixer].
+
+
+
+
+
+[interactive demo]: https://autoprefixer.github.io/
+[@autoprefixer]: https://twitter.com/autoprefixer
+[recommended]: https://developers.google.com/web/tools/setup/setup-buildtools#dont_trip_up_with_vendor_prefixes
+[Can I Use]: https://caniuse.com/
+[cult-img]: http://cultofmartians.com/assets/badges/badge.svg
+[PostCSS]: https://github.com/postcss/postcss
+[cult]: http://cultofmartians.com/tasks/autoprefixer-grid.html
+
+
+## Contents
+
+* [Contents](#contents)
+* [Browsers](#browsers)
+* [FAQ](#faq)
+ * [Does Autoprefixer polyfill Grid Layout for IE?](#does-autoprefixer-polyfill-grid-layout-for-ie)
+ * [Does it add polyfills?](#does-it-add-polyfills)
+ * [Why doesn’t Autoprefixer add prefixes to `border-radius`?](#why-doesnt-autoprefixer-add-prefixes-to-border-radius)
+ * [Why does Autoprefixer use unprefixed properties in `@-webkit-keyframes`?](#why-does-autoprefixer-use-unprefixed-properties-in--webkit-keyframes)
+ * [How to work with legacy `-webkit-` only code?](#how-to-work-with-legacy--webkit--only-code)
+ * [Does Autoprefixer add `-epub-` prefix?](#does-autoprefixer-add--epub--prefix)
+ * [Why doesn’t Autoprefixer transform generic font-family `system-ui`?](#why-doesnt-autoprefixer-transform-generic-font-family-system-ui)
+* [Usage](#usage)
+ * [Gulp](#gulp)
+ * [Webpack](#webpack)
+ * [CSS-in-JS](#css-in-js)
+ * [CLI](#cli)
+ * [Other Build Tools](#other-build-tools)
+ * [Preprocessors](#preprocessors)
+ * [GUI Tools](#gui-tools)
+ * [JavaScript](#javascript)
+ * [Text Editors and IDE](#text-editors-and-ide)
+* [Warnings](#warnings)
+* [Disabling](#disabling)
+ * [Prefixes](#prefixes)
+ * [Features](#features)
+ * [Control Comments](#control-comments)
+* [Options](#options)
+* [Environment Variables](#environment-variables)
+ * [Using environment variables to support CSS Grid prefixes in Create React App](#using-environment-variables-to-support-css-grid-prefixes-in-create-react-app)
+* [Grid Autoplacement support in IE](#grid-autoplacement-support-in-ie)
+ * [Beware of enabling autoplacement in old projects](#beware-of-enabling-autoplacement-in-old-projects)
+ * [Autoplacement limitations](#autoplacement-limitations)
+ * [Both columns and rows must be defined](#both-columns-and-rows-must-be-defined)
+ * [Repeat auto-fit and auto-fill are not supported](#repeat-auto-fit-and-auto-fill-are-not-supported)
+ * [No manual cell placement or column/row spans allowed inside an autoplacement grid](#no-manual-cell-placement-or-columnrow-spans-allowed-inside-an-autoplacement-grid)
+ * [Do not create `::before` and `::after` pseudo elements](#do-not-create-before-and-after-pseudo-elements)
+ * [When changing the `grid gap` value, columns and rows must be re-declared](#when-changing-the-grid-gap-value-columns-and-rows-must-be-re-declared)
+* [Debug](#debug)
+* [Security Contact](#security-contact)
+* [For Enterprise](#for-enterprise)
+
+## Browsers
+
+Autoprefixer uses [Browserslist], so you can specify the browsers
+you want to target in your project with queries like `> 5%`
+(see [Best Practices]).
+
+The best way to provide browsers is a `.browserslistrc` file in your project
+root, or by adding a `browserslist` key to your `package.json`.
+
+We recommend the use of these options over passing options to Autoprefixer so
+that the config can be shared with other tools such as [babel-preset-env] and
+[Stylelint].
+
+See [Browserslist docs] for queries, browser names, config format, and defaults.
+
+[Browserslist docs]: https://github.com/browserslist/browserslist#queries
+[babel-preset-env]: https://github.com/babel/babel/tree/master/packages/babel-preset-env
+[Best Practices]: https://github.com/browserslist/browserslist#best-practices
+[Browserslist]: https://github.com/browserslist/browserslist
+[Stylelint]: https://stylelint.io/
+
+
+## FAQ
+
+### Does Autoprefixer polyfill Grid Layout for IE?
+
+Autoprefixer can be used to translate modern CSS Grid syntax into IE 10
+and IE 11 syntax, but this polyfill will not work in 100% of cases.
+This is why it is disabled by default.
+
+First, you need to enable Grid prefixes by using either the `grid: "autoplace"`
+option or the `/* autoprefixer grid: autoplace */` control comment.
+Also you can use environment variable to enable Grid:
+`AUTOPREFIXER_GRID=autoplace npm build`.
+
+Second, you need to test every fix with Grid in IE. It is not an enable and
+forget feature, but it is still very useful.
+Financial Times and Yandex use it in production.
+
+Third, there is only very limited auto placement support. Read the
+[Grid Autoplacement support in IE](#grid-autoplacement-support-in-ie) section
+for more details.
+
+Fourth, if you are not using the autoplacement feature, the best way
+to use Autoprefixer is by using `grid-template` or `grid-template-areas`.
+
+```css
+.page {
+ display: grid;
+ grid-gap: 33px;
+ grid-template:
+ "head head head" 1fr
+ "nav main main" minmax(100px, 1fr)
+ "nav foot foot" 2fr /
+ 1fr 100px 1fr;
+}
+.page__head {
+ grid-area: head;
+}
+.page__nav {
+ grid-area: nav;
+}
+.page__main {
+ grid-area: main;
+}
+.page__footer {
+ grid-area: foot;
+}
+```
+
+See also:
+
+* [The guide about Grids in IE and Autoprefixer].
+* [`postcss-gap-properties`] to use new `gap` property
+ instead of old `grid-gap`.
+* [`postcss-grid-kiss`] has alternate “everything in one property” syntax,
+ which makes using Autoprefixer’s Grid translations safer.
+
+[The guide about Grids in IE and Autoprefixer]: https://css-tricks.com/css-grid-in-ie-css-grid-and-the-new-autoprefixer/
+[`postcss-gap-properties`]: https://github.com/jonathantneal/postcss-gap-properties
+[`postcss-grid-kiss`]: https://github.com/sylvainpolletvillard/postcss-grid-kiss
+
+
+### Does it add polyfills?
+
+No. Autoprefixer only adds prefixes.
+
+Most new CSS features will require client side JavaScript to handle a new
+behavior correctly.
+
+Depending on what you consider to be a “polyfill”, you can take a look at some
+other tools and libraries. If you are just looking for syntax sugar,
+you might take a look at:
+
+- [postcss-preset-env] is a plugins preset with polyfills and Autoprefixer
+ to write future CSS today.
+- [Oldie], a PostCSS plugin that handles some IE hacks (opacity, rgba, etc).
+- [postcss-flexbugs-fixes], a PostCSS plugin to fix flexbox issues.
+
+[postcss-flexbugs-fixes]: https://github.com/luisrudge/postcss-flexbugs-fixes
+[postcss-preset-env]: https://github.com/jonathantneal/postcss-preset-env
+[Oldie]: https://github.com/jonathantneal/oldie
+
+
+### Why doesn’t Autoprefixer add prefixes to `border-radius`?
+
+Developers are often surprised by how few prefixes are required today.
+If Autoprefixer doesn’t add prefixes to your CSS, check if they’re still
+required on [Can I Use].
+
+[Can I Use]: https://caniuse.com/
+
+
+### Why does Autoprefixer use unprefixed properties in `@-webkit-keyframes`?
+
+Browser teams can remove some prefixes before others, so we try to use all
+combinations of prefixed/unprefixed values.
+
+
+### How to work with legacy `-webkit-` only code?
+
+Autoprefixer needs unprefixed property to add prefixes. So if you only
+wrote `-webkit-gradient` without W3C’s `gradient`,
+Autoprefixer will not add other prefixes.
+
+But [PostCSS] has plugins to convert CSS to unprefixed state.
+Use [postcss-unprefix] before Autoprefixer.
+
+[postcss-unprefix]: https://github.com/gucong3000/postcss-unprefix
+
+
+### Does Autoprefixer add `-epub-` prefix?
+
+No, Autoprefixer works only with browsers prefixes from Can I Use.
+But you can use [postcss-epub] for prefixing ePub3 properties.
+
+[postcss-epub]: https://github.com/Rycochet/postcss-epub
+
+
+### Why doesn’t Autoprefixer transform generic font-family `system-ui`?
+
+`system-ui` is technically not a prefix and the transformation is not
+future-proof. You can use [postcss-font-family-system-ui] to transform
+`system-ui` to a practical font-family list.
+
+[postcss-font-family-system-ui]: https://github.com/JLHwung/postcss-font-family-system-ui
+
+
+## Usage
+
+### Gulp
+
+In Gulp you can use [gulp-postcss] with `autoprefixer` npm package.
+
+```js
+gulp.task('autoprefixer', () => {
+ const autoprefixer = require('autoprefixer')
+ const sourcemaps = require('gulp-sourcemaps')
+ const postcss = require('gulp-postcss')
+
+ return gulp.src('./src/*.css')
+ .pipe(sourcemaps.init())
+ .pipe(postcss([ autoprefixer() ]))
+ .pipe(sourcemaps.write('.'))
+ .pipe(gulp.dest('./dest'))
+})
+```
+
+With `gulp-postcss` you also can combine Autoprefixer
+with [other PostCSS plugins].
+
+[gulp-postcss]: https://github.com/postcss/gulp-postcss
+[other PostCSS plugins]: https://github.com/postcss/postcss#plugins
+
+
+### Webpack
+
+In [webpack] you can use [postcss-loader] with `autoprefixer`
+and [other PostCSS plugins].
+
+```js
+module.exports = {
+ module: {
+ rules: [
+ {
+ test: /\.css$/,
+ use: ["style-loader", "css-loader", "postcss-loader"]
+ }
+ ]
+ }
+}
+```
+
+And create a `postcss.config.js` with:
+
+```js
+module.exports = {
+ plugins: [
+ require('autoprefixer')
+ ]
+}
+```
+
+[other PostCSS plugins]: https://github.com/postcss/postcss#plugins
+[postcss-loader]: https://github.com/postcss/postcss-loader
+[webpack]: https://webpack.js.org/
+
+
+### CSS-in-JS
+
+The best way to use PostCSS with CSS-in-JS is [`astroturf`].
+Add its loader to your `webpack.config.js`:
+
+```js
+module.exports = {
+ module: {
+ rules: [
+ {
+ test: /\.css$/,
+ use: ['style-loader', 'postcss-loader'],
+ },
+ {
+ test: /\.jsx?$/,
+ use: ['babel-loader', 'astroturf/loader'],
+ }
+ ]
+ }
+}
+```
+
+Then create `postcss.config.js`:
+
+```js
+module.exports = {
+ plugins: [
+ require('autoprefixer')
+ ]
+}
+```
+
+[`astroturf`]: https://github.com/4Catalyzer/astroturf
+
+
+### CLI
+
+You can use the [postcss-cli] to run Autoprefixer from CLI:
+
+```sh
+npm install postcss-cli autoprefixer
+npx postcss *.css --use autoprefixer -d build/
+```
+
+See `postcss -h` for help.
+
+[postcss-cli]: https://github.com/postcss/postcss-cli
+
+
+### Other Build Tools
+
+* **Grunt:** [grunt-postcss]
+* **Ruby on Rails**: [autoprefixer-rails]
+* **Neutrino**: [neutrino-middleware-postcss]
+* **Jekyll**: add `autoprefixer-rails` and `jekyll-assets` to `Gemfile`
+* **Brunch**: [postcss-brunch]
+* **Broccoli**: [broccoli-postcss]
+* **Middleman**: [middleman-autoprefixer]
+* **Mincer**: add `autoprefixer` npm package and enable it:
+ `environment.enable('autoprefixer')`
+
+[neutrino-middleware-postcss]: https://www.npmjs.com/package/neutrino-middleware-postcss
+[middleman-autoprefixer]: https://github.com/middleman/middleman-autoprefixer
+[autoprefixer-rails]: https://github.com/ai/autoprefixer-rails
+[broccoli-postcss]: https://github.com/jeffjewiss/broccoli-postcss
+[postcss-brunch]: https://github.com/iamvdo/postcss-brunch
+[grunt-postcss]: https://github.com/C-Lodder/grunt-postcss
+
+
+#### Preprocessors
+
+* **Less**: [less-plugin-autoprefix]
+* **Stylus**: [autoprefixer-stylus]
+* **Compass**: [autoprefixer-rails#compass]
+
+[less-plugin-autoprefix]: https://github.com/less/less-plugin-autoprefix
+[autoprefixer-stylus]: https://github.com/jenius/autoprefixer-stylus
+[autoprefixer-rails#compass]: https://github.com/ai/autoprefixer-rails#compass
+
+
+#### GUI Tools
+
+* [CodeKit](https://codekitapp.com/help/autoprefixer/)
+* [Prepros](https://prepros.io)
+
+
+### JavaScript
+
+You can use Autoprefixer with [PostCSS] in your Node.js application
+or if you want to develop an Autoprefixer plugin for a new environment.
+
+```js
+const autoprefixer = require('autoprefixer')
+const postcss = require('postcss')
+
+postcss([ autoprefixer ]).process(css).then(result => {
+ result.warnings().forEach(warn => {
+ console.warn(warn.toString())
+ })
+ console.log(result.css)
+})
+```
+
+There is also a [standalone build] for the browser or for a non-Node.js runtime.
+
+You can use [html-autoprefixer] to process HTML with inlined CSS.
+
+[html-autoprefixer]: https://github.com/RebelMail/html-autoprefixer
+[standalone build]: https://raw.github.com/ai/autoprefixer-rails/master/vendor/autoprefixer.js
+[PostCSS]: https://github.com/postcss/postcss
+
+
+### Text Editors and IDE
+
+Autoprefixer should be used in assets build tools. Text editor plugins are not
+a good solution, because prefixes decrease code readability and you will need
+to change values in all prefixed properties.
+
+I recommend you to learn how to use build tools like [Parcel].
+They work much better and will open you a whole new world of useful plugins
+and automation.
+
+If you can’t move to a build tool, you can use text editor plugins:
+
+* [Visual Studio Code](https://github.com/mrmlnc/vscode-autoprefixer)
+* [Atom Editor](https://github.com/sindresorhus/atom-autoprefixer)
+* [Sublime Text](https://github.com/sindresorhus/sublime-autoprefixer)
+* [Brackets](https://github.com/mikaeljorhult/brackets-autoprefixer)
+
+[Parcel]: https://parceljs.org/
+
+
+## Warnings
+
+Autoprefixer uses the [PostCSS warning API] to warn about really important
+problems in your CSS:
+
+* Old direction syntax in gradients.
+* Old unprefixed `display: box` instead of `display: flex`
+ by latest specification version.
+
+You can get warnings from `result.warnings()`:
+
+```js
+result.warnings().forEach(warn => {
+ console.warn(warn.toString())
+})
+```
+
+Every Autoprefixer runner should display these warnings.
+
+[PostCSS warning API]: http://api.postcss.org/Warning.html
+
+
+## Disabling
+
+### Prefixes
+
+Autoprefixer was designed to have no interface – it just works.
+If you need some browser specific hack just write a prefixed property
+after the unprefixed one.
+
+```css
+a {
+ transform: scale(0.5);
+ -moz-transform: scale(0.6);
+}
+```
+
+If some prefixes were generated incorrectly, please create an [issue on GitHub].
+
+[issue on GitHub]: https://github.com/postcss/autoprefixer/issues
+
+
+### Features
+
+You can use these plugin options to control some of Autoprefixer’s features.
+
+* `grid: "autoplace"` will enable `-ms-` prefixes for Grid Layout including some
+ [limited autoplacement support](#grid-autoplacement-support-in-ie).
+* `supports: false` will disable `@supports` parameters prefixing.
+* `flexbox: false` will disable flexbox properties prefixing.
+ Or `flexbox: "no-2009"` will add prefixes only for final and IE
+ versions of specification.
+* `remove: false` will disable cleaning outdated prefixes.
+
+You should set them inside the plugin like so:
+
+```js
+autoprefixer({ grid: 'autoplace' })
+```
+
+
+### Control Comments
+
+If you do not need Autoprefixer in some part of your CSS,
+you can use control comments to disable Autoprefixer.
+
+```css
+.a {
+ transition: 1s; /* will be prefixed */
+}
+
+.b {
+ /* autoprefixer: off */
+ transition: 1s; /* will not be prefixed */
+}
+
+.c {
+ /* autoprefixer: ignore next */
+ transition: 1s; /* will not be prefixed */
+ mask: url(image.png); /* will be prefixed */
+}
+```
+
+There are three types of control comments:
+
+* `/* autoprefixer: (on|off) */`: enable/disable all Autoprefixer translations for the
+ whole block both *before* and *after* the comment.
+* `/* autoprefixer: ignore next */`: disable Autoprefixer only for the next property
+ or next rule selector or at-rule parameters (but not rule/at‑rule body).
+* `/* autoprefixer grid: (autoplace|no-autoplace|off) */`: control how Autoprefixer handles
+ grid translations for the whole block:
+ * `autoplace`: enable grid translations with autoplacement support.
+ * `no-autoplace`: enable grid translations with autoplacement
+ support *disabled* (alias for deprecated value `on`).
+ * `off`: disable all grid translations.
+
+You can also use comments recursively:
+
+```css
+/* autoprefixer: off */
+@supports (transition: all) {
+ /* autoprefixer: on */
+ a {
+ /* autoprefixer: off */
+ }
+}
+```
+
+Note that comments that disable the whole block should not be featured in the same
+block twice:
+
+```css
+/* How not to use block level control comments */
+
+.do-not-do-this {
+ /* autoprefixer: off */
+ transition: 1s;
+ /* autoprefixer: on */
+ transform: rotate(20deg);
+}
+```
+
+
+## Options
+
+Function `autoprefixer(options)` returns a new PostCSS plugin.
+See [PostCSS API] for plugin usage documentation.
+
+```js
+autoprefixer({ cascade: false })
+```
+
+Available options are:
+
+* `env` (string): environment for Browserslist.
+* `cascade` (boolean): should Autoprefixer use Visual Cascade,
+ if CSS is uncompressed. Default: `true`
+* `add` (boolean): should Autoprefixer add prefixes. Default is `true`.
+* `remove` (boolean): should Autoprefixer [remove outdated] prefixes.
+ Default is `true`.
+* `supports` (boolean): should Autoprefixer add prefixes for `@supports`
+ parameters. Default is `true`.
+* `flexbox` (boolean|string): should Autoprefixer add prefixes for flexbox
+ properties. With `"no-2009"` value Autoprefixer will add prefixes only
+ for final and IE 10 versions of specification. Default is `true`.
+* `grid` (false|`"autoplace"`|`"no-autoplace"`): should Autoprefixer
+ add IE 10-11 prefixes for Grid Layout properties?
+ * `false` (default): prevent Autoprefixer from outputting
+ CSS Grid translations.
+ * `"autoplace"`: enable Autoprefixer grid translations
+ and *include* autoplacement support. You can also use
+ `/* autoprefixer grid: autoplace */` in your CSS.
+ * `"no-autoplace"`: enable Autoprefixer grid translations
+ but *exclude* autoplacement support. You can also use
+ `/* autoprefixer grid: no-autoplace */` in your CSS.
+ (alias for the deprecated `true` value)
+* `stats` (object): custom [usage statistics] for `> 10% in my stats`
+ browsers query.
+* `overrideBrowserslist` (array): list of queries for target browsers.
+ Try to not use it. The best practice is to use `.browserslistrc` config
+ or `browserslist` key in `package.json` to share target browsers
+ with Babel, ESLint and Stylelint. See [Browserslist docs]
+ for available queries and default value.
+* `ignoreUnknownVersions` (boolean): do not raise error on unknown browser
+ version in Browserslist config. Default is `false`.
+
+Plugin object has `info()` method for debugging purpose.
+
+You can use PostCSS processor to process several CSS files
+to increase performance.
+
+[usage statistics]: https://github.com/browserslist/browserslist#custom-usage-data
+[PostCSS API]: http://api.postcss.org
+
+## Environment Variables
+
+* `AUTOPREFIXER_GRID`: (`autoplace`|`no-autoplace`) should Autoprefixer
+ add IE 10-11 prefixes for Grid Layout properties?
+ * `autoplace`: enable Autoprefixer grid translations
+ and *include* autoplacement support.
+ * `no-autoplace`: enable Autoprefixer grid translations
+ but *exclude* autoplacement support.
+
+Environment variables are useful, when you want to change Autoprefixer options but don't have access to config files.
+[Create React App] is a good example of this.
+
+[Create React App]: (https://reactjs.org/docs/create-a-new-react-app.html#create-react-app)
+
+### Using environment variables to support CSS Grid prefixes in Create React App
+
+1. Install the latest version of Autoprefixer and [cross-env](https://www.npmjs.com/package/cross-env):
+
+```
+npm install autoprefixer@latest cross-env --save-dev
+```
+
+2. Under `"browserslist"` > `"development"` in the package.json file, add `"last 1 ie version"`
+
+```
+"browserslist": {
+ "production": [
+ ">0.2%",
+ "not dead",
+ "not op_mini all"
+ ],
+ "development": [
+ "last 1 chrome version",
+ "last 1 firefox version",
+ "last 1 safari version",
+ "last 1 ie version"
+ ]
+}
+```
+
+3. Update `"scripts"` in the package.json file to the following:
+
+```
+"scripts": {
+ "start": "cross-env AUTOPREFIXER_GRID=autoplace react-scripts start",
+ "build": "cross-env AUTOPREFIXER_GRID=autoplace react-scripts build",
+ "test": "cross-env AUTOPREFIXER_GRID=autoplace react-scripts test",
+ "eject": "react-scripts eject"
+},
+```
+
+Replace `autoplace` with `no-autoplace` in the above example if you prefer to disable Autoprefixer Grid autoplacement support.
+
+Now when you run `npm start` you will see CSS Grid prefixes automatically being applied to your output CSS.
+
+See also [Browserslist environment variables] for more examples on how to use environment variables in your project.
+
+[Browserslist environment variables]: https://github.com/browserslist/browserslist#environment-variables
+
+## Grid Autoplacement support in IE
+
+If the `grid` option is set to `"autoplace"`, limited autoplacement support is added to Autoprefixers grid translations. You can also use
+the `/* autoprefixer grid: autoplace */` control comment or
+`AUTOPREFIXER_GRID=autoplace npm build` environment variable.
+
+Autoprefixer will only autoplace grid cells if both `grid-template-rows`
+and `grid-template-columns` has been set. If `grid-template`
+or `grid-template-areas` has been set, Autoprefixer will use area based
+cell placement instead.
+
+Autoprefixer supports autoplacement by using `nth-child` CSS selectors.
+It creates [number of columns] x [number of rows] `nth-child` selectors.
+For this reason Autoplacement is only supported within the explicit grid.
+
+```css
+/* Input CSS */
+
+/* autoprefixer grid: autoplace */
+
+.autoplacement-example {
+ display: grid;
+ grid-template-columns: 1fr 1fr;
+ grid-template-rows: auto auto;
+ grid-gap: 20px;
+}
+```
+
+```css
+/* Output CSS */
+
+/* autoprefixer grid: autoplace */
+
+.autoplacement-example {
+ display: -ms-grid;
+ display: grid;
+ -ms-grid-columns: 1fr 20px 1fr;
+ grid-template-columns: 1fr 1fr;
+ -ms-grid-rows: auto 20px auto;
+ grid-template-rows: auto auto;
+ grid-gap: 20px;
+}
+
+.autoplacement-example > *:nth-child(1) {
+ -ms-grid-row: 1;
+ -ms-grid-column: 1;
+}
+
+.autoplacement-example > *:nth-child(2) {
+ -ms-grid-row: 1;
+ -ms-grid-column: 3;
+}
+
+.autoplacement-example > *:nth-child(3) {
+ -ms-grid-row: 3;
+ -ms-grid-column: 1;
+}
+
+.autoplacement-example > *:nth-child(4) {
+ -ms-grid-row: 3;
+ -ms-grid-column: 3;
+}
+```
+
+### Beware of enabling autoplacement in old projects
+
+Be careful about enabling autoplacement in any already established projects that have
+previously not used Autoprefixer's grid autoplacement feature before.
+
+If this was your html:
+
+```html
+
+```
+
+The following CSS will not work as expected with the autoplacement feature enabled:
+
+```css
+/* Unsafe CSS when Autoplacement is enabled */
+
+.grid-cell {
+ grid-column: 2;
+ grid-row: 2;
+}
+
+.grid {
+ display: grid;
+ grid-template-columns: repeat(3, 1fr);
+ grid-template-rows: repeat(3, 1fr);
+}
+```
+
+Swapping the rules around will not fix the issue either:
+
+```css
+/* Also unsafe to use this CSS */
+
+.grid {
+ display: grid;
+ grid-template-columns: repeat(3, 1fr);
+ grid-template-rows: repeat(3, 1fr);
+}
+
+.grid-cell {
+ grid-column: 2;
+ grid-row: 2;
+}
+```
+
+One way to deal with this issue is to disable autoplacement in the
+grid-declaration rule:
+
+```css
+/* Disable autoplacement to fix the issue */
+
+.grid {
+ /* autoprefixer grid: no-autoplace */
+ display: grid;
+ grid-template-columns: repeat(3, 1fr);
+ grid-template-rows: repeat(3, 1fr);
+}
+
+.grid-cell {
+ grid-column: 2;
+ grid-row: 2;
+}
+```
+
+The absolute best way to integrate autoplacement into already existing projects
+though is to leave autoplacement turned off by default and then use a control
+comment to enable it when needed. This method is far less likely to cause
+something on the site to break.
+
+```css
+/* Disable autoplacement by default in old projects */
+/* autoprefixer grid: no-autoplace */
+
+/* Old code will function the same way it always has */
+.old-grid {
+ display: grid;
+ grid-template-columns: repeat(3, 1fr);
+ grid-template-rows: repeat(3, 1fr);
+}
+.old-grid-cell {
+ grid-column: 2;
+ grid-row: 2;
+}
+
+/* Enable autoplacement when you want to use it in new code */
+.new-autoplace-friendly-grid {
+ /* autoprefixer grid: autoplace */
+ display: grid;
+ grid-template-columns: repeat(3, 1fr);
+ grid-template-rows: repeat(3, auto);
+}
+```
+
+Note that the `grid: "no-autoplace"` setting and the
+`/* autoprefixer grid: no-autoplace */` control comment share identical
+functionality to the `grid: true` setting and the `/* autoprefixer grid: on */`
+control comment. There is no need to refactor old code to use `no-autoplace`
+in place of the old `true` and `on` statements.
+
+### Autoplacement limitations
+
+#### Both columns and rows must be defined
+
+Autoplacement only works inside the explicit grid. The columns and rows need to be defined
+so that Autoprefixer knows how many `nth-child` selectors to generate.
+
+```css
+.not-allowed {
+ display: grid;
+ grid-template-columns: repeat(3, 1fr);
+}
+
+.is-allowed {
+ display: grid;
+ grid-template-columns: repeat(3, 1fr);
+ grid-template-rows: repeat(10, auto);
+}
+```
+
+#### Repeat auto-fit and auto-fill are not supported
+
+The `repeat(auto-fit, ...)` and `repeat(auto-fill, ...)` grid functionality relies on
+knowledge from the browser about screen dimensions and the number of available grid
+items for it to work properly. Autoprefixer does not have access to this information
+so unfortunately this little snippet will _never_ be IE friendly.
+
+```css
+.grid {
+ /* This will never be IE friendly */
+ grid-template-columns: repeat(auto-fit, min-max(200px, 1fr))
+}
+```
+
+#### No manual cell placement or column/row spans allowed inside an autoplacement grid
+
+Elements must not be manually placed or given column/row spans inside
+an autoplacement grid. Only the most basic of autoplacement grids are supported.
+Grid cells can still be placed manually outside the the explicit grid though.
+Support for manually placing individual grid cells inside an explicit
+autoplacement grid is planned for a future release.
+
+```css
+.autoplacement-grid {
+ display: grid;
+ grid-template-columns: repeat(3, 1fr);
+ grid-template-rows: repeat(3, auto);
+}
+
+/* Grid cells placed inside the explicit grid
+ will break the layout in IE */
+.not-permitted-grid-cell {
+ grid-column: 1;
+ grid-row: 1;
+}
+
+/* Grid cells placed outside the
+ explicit grid will work in IE */
+.permitted-grid-cell {
+ grid-column: 1 / span 2;
+ grid-row: 4;
+}
+```
+
+If manual cell placement is required, we recommend using `grid-template` or
+`grid-template-areas` instead:
+
+```css
+.page {
+ display: grid;
+ grid-gap: 30px;
+ grid-template:
+ "head head"
+ "nav main" minmax(100px, 1fr)
+ "foot foot" /
+ 200px 1fr;
+}
+.page__head {
+ grid-area: head;
+}
+.page__nav {
+ grid-area: nav;
+}
+.page__main {
+ grid-area: main;
+}
+.page__footer {
+ grid-area: foot;
+}
+```
+
+#### Do not create `::before` and `::after` pseudo elements
+
+Let's say you have this HTML:
+
+```html
+
+```
+
+And you write this CSS:
+
+```css
+.grid {
+ display: grid;
+ grid-template-columns: 1fr 1fr;
+ grid-template-rows: auto;
+}
+
+.grid::before {
+ content: 'before';
+}
+
+.grid::after {
+ content: 'after';
+}
+```
+
+This will be the output:
+
+```css
+.grid {
+ display: -ms-grid;
+ display: grid;
+ -ms-grid-columns: 1fr 1fr;
+ grid-template-columns: 1fr 1fr;
+ -ms-grid-rows: auto;
+ grid-template-rows: auto;
+}
+
+.grid > *:nth-child(1) {
+ -ms-grid-row: 1;
+ -ms-grid-column: 1;
+}
+
+
+.grid > *:nth-child(2) {
+ -ms-grid-row: 1;
+ -ms-grid-column: 2;
+}
+
+.grid::before {
+ content: 'before';
+}
+
+.grid::after {
+ content: 'after';
+}
+```
+
+IE will place `.grid-cell`, `::before` and `::after` in row 1 column 1.
+Modern browsers on the other hand will place `::before` in row 1 column 1,
+`.grid-cell` in row 1 column 2, and `::after` in row 2 column 1.
+
+See this [Code Pen](https://codepen.io/daniel-tonon/pen/gBymVw) to see a visualization
+of the issue. View the Code Pen in both a modern browser and IE to see the difference.
+
+Note that you can still create `::before` and `::after` elements as long as you manually
+place them outside the explicit grid.
+
+#### When changing the `grid gap` value, columns and rows must be re-declared
+
+If you wish to change the size of a `grid-gap`, you will need to redeclare the grid columns and rows.
+
+```css
+.grid {
+ display: grid;
+ grid-template-columns: 1fr 1fr;
+ grid-template-rows: auto;
+ grid-gap: 50px;
+}
+
+/* This will *NOT* work in IE */
+@media (max-width: 600px) {
+ .grid {
+ grid-gap: 20px;
+ }
+}
+
+/* This will *NOT* work in IE */
+.grid.small-gap {
+ grid-gap: 20px;
+}
+```
+
+```css
+.grid {
+ display: grid;
+ grid-template-columns: 1fr 1fr;
+ grid-template-rows: auto;
+ grid-gap: 50px;
+}
+
+/* This *WILL* work in IE */
+@media (max-width: 600px) {
+ .grid {
+ grid-template-columns: 1fr 1fr;
+ grid-template-rows: auto;
+ grid-gap: 20px;
+ }
+}
+
+/* This *WILL* work in IE */
+.grid.small-gap {
+ grid-template-columns: 1fr 1fr;
+ grid-template-rows: auto;
+ grid-gap: 20px;
+}
+```
+
+## Debug
+
+Run `npx autoprefixer --info` in your project directory to check
+which browsers are selected and which properties will be prefixed:
+
+```
+$ npx autoprefixer --info
+Browsers:
+ Edge: 16
+
+These browsers account for 0.26% of all users globally
+
+At-Rules:
+ @viewport: ms
+
+Selectors:
+ ::placeholder: ms
+
+Properties:
+ appearance: webkit
+ flow-from: ms
+ flow-into: ms
+ hyphens: ms
+ overscroll-behavior: ms
+ region-fragment: ms
+ scroll-snap-coordinate: ms
+ scroll-snap-destination: ms
+ scroll-snap-points-x: ms
+ scroll-snap-points-y: ms
+ scroll-snap-type: ms
+ text-size-adjust: ms
+ text-spacing: ms
+ user-select: ms
+```
+
+JS API is also available:
+
+```js
+console.log(autoprefixer().info())
+```
+
+## Security Contact
+
+To report a security vulnerability, please use the [Tidelift security contact].
+Tidelift will coordinate the fix and disclosure.
+
+[Tidelift security contact]: https://tidelift.com/security
+
+## For Enterprise
+
+Available as part of the Tidelift Subscription.
+
+The maintainers of `autoprefixer` and thousands of other packages are working
+with Tidelift to deliver commercial support and maintenance for the open source
+dependencies you use to build your applications. Save time, reduce risk,
+and improve code health, while paying the maintainers of the exact dependencies
+you use. [Learn more.](https://tidelift.com/subscription/pkg/npm-autoprefixer?utm_source=npm-autoprefixer&utm_medium=referral&utm_campaign=enterprise&utm_term=repo)
diff --git a/node_modules/autoprefixer/bin/autoprefixer b/node_modules/autoprefixer/bin/autoprefixer
new file mode 100644
index 0000000..33e5864
--- /dev/null
+++ b/node_modules/autoprefixer/bin/autoprefixer
@@ -0,0 +1,22 @@
+#!/usr/bin/env node
+
+let mode = process.argv[2]
+if (mode === '--info') {
+ process.stdout.write(
+ require('../')().info() + '\n')
+} else if (mode === '--version') {
+ process.stdout.write(
+ 'autoprefixer ' + require('../package.json').version + '\n')
+} else {
+ process.stdout.write(
+ 'autoprefix\n' +
+ '\n' +
+ 'Options:\n' +
+ ' --info Show target browsers and used prefixes\n' +
+ ' --version Show version number\n' +
+ ' --help Show help\n' +
+ '\n' +
+ 'Usage:\n' +
+ ' autoprefixer --info\n'
+ )
+}
diff --git a/node_modules/autoprefixer/data/prefixes.js b/node_modules/autoprefixer/data/prefixes.js
new file mode 100644
index 0000000..be80720
--- /dev/null
+++ b/node_modules/autoprefixer/data/prefixes.js
@@ -0,0 +1,714 @@
+"use strict";
+
+function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } it = o[Symbol.iterator](); return it.next.bind(it); }
+
+function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
+
+function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
+
+var unpack = require('caniuse-lite').feature;
+
+function browsersSort(a, b) {
+ a = a.split(' ');
+ b = b.split(' ');
+
+ if (a[0] > b[0]) {
+ return 1;
+ } else if (a[0] < b[0]) {
+ return -1;
+ } else {
+ return Math.sign(parseFloat(a[1]) - parseFloat(b[1]));
+ }
+} // Convert Can I Use data
+
+
+function f(data, opts, callback) {
+ data = unpack(data);
+
+ if (!callback) {
+ var _ref = [opts, {}];
+ callback = _ref[0];
+ opts = _ref[1];
+ }
+
+ var match = opts.match || /\sx($|\s)/;
+ var need = [];
+
+ for (var browser in data.stats) {
+ var versions = data.stats[browser];
+
+ for (var version in versions) {
+ var support = versions[version];
+
+ if (support.match(match)) {
+ need.push(browser + ' ' + version);
+ }
+ }
+ }
+
+ callback(need.sort(browsersSort));
+} // Add data for all properties
+
+
+var result = {};
+
+function prefix(names, data) {
+ for (var _iterator = _createForOfIteratorHelperLoose(names), _step; !(_step = _iterator()).done;) {
+ var name = _step.value;
+ result[name] = Object.assign({}, data);
+ }
+}
+
+function add(names, data) {
+ for (var _iterator2 = _createForOfIteratorHelperLoose(names), _step2; !(_step2 = _iterator2()).done;) {
+ var name = _step2.value;
+ result[name].browsers = result[name].browsers.concat(data.browsers).sort(browsersSort);
+ }
+}
+
+module.exports = result; // Border Radius
+
+f(require('caniuse-lite/data/features/border-radius'), function (browsers) {
+ return prefix(['border-radius', 'border-top-left-radius', 'border-top-right-radius', 'border-bottom-right-radius', 'border-bottom-left-radius'], {
+ mistakes: ['-khtml-', '-ms-', '-o-'],
+ feature: 'border-radius',
+ browsers: browsers
+ });
+}); // Box Shadow
+
+f(require('caniuse-lite/data/features/css-boxshadow'), function (browsers) {
+ return prefix(['box-shadow'], {
+ mistakes: ['-khtml-'],
+ feature: 'css-boxshadow',
+ browsers: browsers
+ });
+}); // Animation
+
+f(require('caniuse-lite/data/features/css-animation'), function (browsers) {
+ return prefix(['animation', 'animation-name', 'animation-duration', 'animation-delay', 'animation-direction', 'animation-fill-mode', 'animation-iteration-count', 'animation-play-state', 'animation-timing-function', '@keyframes'], {
+ mistakes: ['-khtml-', '-ms-'],
+ feature: 'css-animation',
+ browsers: browsers
+ });
+}); // Transition
+
+f(require('caniuse-lite/data/features/css-transitions'), function (browsers) {
+ return prefix(['transition', 'transition-property', 'transition-duration', 'transition-delay', 'transition-timing-function'], {
+ mistakes: ['-khtml-', '-ms-'],
+ browsers: browsers,
+ feature: 'css-transitions'
+ });
+}); // Transform 2D
+
+f(require('caniuse-lite/data/features/transforms2d'), function (browsers) {
+ return prefix(['transform', 'transform-origin'], {
+ feature: 'transforms2d',
+ browsers: browsers
+ });
+}); // Transform 3D
+
+var transforms3d = require('caniuse-lite/data/features/transforms3d');
+
+f(transforms3d, function (browsers) {
+ prefix(['perspective', 'perspective-origin'], {
+ feature: 'transforms3d',
+ browsers: browsers
+ });
+ return prefix(['transform-style'], {
+ mistakes: ['-ms-', '-o-'],
+ browsers: browsers,
+ feature: 'transforms3d'
+ });
+});
+f(transforms3d, {
+ match: /y\sx|y\s#2/
+}, function (browsers) {
+ return prefix(['backface-visibility'], {
+ mistakes: ['-ms-', '-o-'],
+ feature: 'transforms3d',
+ browsers: browsers
+ });
+}); // Gradients
+
+var gradients = require('caniuse-lite/data/features/css-gradients');
+
+f(gradients, {
+ match: /y\sx/
+}, function (browsers) {
+ return prefix(['linear-gradient', 'repeating-linear-gradient', 'radial-gradient', 'repeating-radial-gradient'], {
+ props: ['background', 'background-image', 'border-image', 'mask', 'list-style', 'list-style-image', 'content', 'mask-image'],
+ mistakes: ['-ms-'],
+ feature: 'css-gradients',
+ browsers: browsers
+ });
+});
+f(gradients, {
+ match: /a\sx/
+}, function (browsers) {
+ browsers = browsers.map(function (i) {
+ if (/firefox|op/.test(i)) {
+ return i;
+ } else {
+ return i + " old";
+ }
+ });
+ return add(['linear-gradient', 'repeating-linear-gradient', 'radial-gradient', 'repeating-radial-gradient'], {
+ feature: 'css-gradients',
+ browsers: browsers
+ });
+}); // Box sizing
+
+f(require('caniuse-lite/data/features/css3-boxsizing'), function (browsers) {
+ return prefix(['box-sizing'], {
+ feature: 'css3-boxsizing',
+ browsers: browsers
+ });
+}); // Filter Effects
+
+f(require('caniuse-lite/data/features/css-filters'), function (browsers) {
+ return prefix(['filter'], {
+ feature: 'css-filters',
+ browsers: browsers
+ });
+}); // filter() function
+
+f(require('caniuse-lite/data/features/css-filter-function'), function (browsers) {
+ return prefix(['filter-function'], {
+ props: ['background', 'background-image', 'border-image', 'mask', 'list-style', 'list-style-image', 'content', 'mask-image'],
+ feature: 'css-filter-function',
+ browsers: browsers
+ });
+}); // Backdrop-filter
+
+var backdrop = require('caniuse-lite/data/features/css-backdrop-filter');
+
+f(backdrop, {
+ match: /y\sx|y\s#2/
+}, function (browsers) {
+ return prefix(['backdrop-filter'], {
+ feature: 'css-backdrop-filter',
+ browsers: browsers
+ });
+}); // element() function
+
+f(require('caniuse-lite/data/features/css-element-function'), function (browsers) {
+ return prefix(['element'], {
+ props: ['background', 'background-image', 'border-image', 'mask', 'list-style', 'list-style-image', 'content', 'mask-image'],
+ feature: 'css-element-function',
+ browsers: browsers
+ });
+}); // Multicolumns
+
+f(require('caniuse-lite/data/features/multicolumn'), function (browsers) {
+ prefix(['columns', 'column-width', 'column-gap', 'column-rule', 'column-rule-color', 'column-rule-width', 'column-count', 'column-rule-style', 'column-span', 'column-fill'], {
+ feature: 'multicolumn',
+ browsers: browsers
+ });
+ var noff = browsers.filter(function (i) {
+ return !/firefox/.test(i);
+ });
+ prefix(['break-before', 'break-after', 'break-inside'], {
+ feature: 'multicolumn',
+ browsers: noff
+ });
+}); // User select
+
+f(require('caniuse-lite/data/features/user-select-none'), function (browsers) {
+ return prefix(['user-select'], {
+ mistakes: ['-khtml-'],
+ feature: 'user-select-none',
+ browsers: browsers
+ });
+}); // Flexible Box Layout
+
+var flexbox = require('caniuse-lite/data/features/flexbox');
+
+f(flexbox, {
+ match: /a\sx/
+}, function (browsers) {
+ browsers = browsers.map(function (i) {
+ if (/ie|firefox/.test(i)) {
+ return i;
+ } else {
+ return i + " 2009";
+ }
+ });
+ prefix(['display-flex', 'inline-flex'], {
+ props: ['display'],
+ feature: 'flexbox',
+ browsers: browsers
+ });
+ prefix(['flex', 'flex-grow', 'flex-shrink', 'flex-basis'], {
+ feature: 'flexbox',
+ browsers: browsers
+ });
+ prefix(['flex-direction', 'flex-wrap', 'flex-flow', 'justify-content', 'order', 'align-items', 'align-self', 'align-content'], {
+ feature: 'flexbox',
+ browsers: browsers
+ });
+});
+f(flexbox, {
+ match: /y\sx/
+}, function (browsers) {
+ add(['display-flex', 'inline-flex'], {
+ feature: 'flexbox',
+ browsers: browsers
+ });
+ add(['flex', 'flex-grow', 'flex-shrink', 'flex-basis'], {
+ feature: 'flexbox',
+ browsers: browsers
+ });
+ add(['flex-direction', 'flex-wrap', 'flex-flow', 'justify-content', 'order', 'align-items', 'align-self', 'align-content'], {
+ feature: 'flexbox',
+ browsers: browsers
+ });
+}); // calc() unit
+
+f(require('caniuse-lite/data/features/calc'), function (browsers) {
+ return prefix(['calc'], {
+ props: ['*'],
+ feature: 'calc',
+ browsers: browsers
+ });
+}); // Background options
+
+f(require('caniuse-lite/data/features/background-img-opts'), function (browsers) {
+ return prefix(['background-origin', 'background-size'], {
+ feature: 'background-img-opts',
+ browsers: browsers
+ });
+}); // background-clip: text
+
+f(require('caniuse-lite/data/features/background-clip-text'), function (browsers) {
+ return prefix(['background-clip'], {
+ feature: 'background-clip-text',
+ browsers: browsers
+ });
+}); // Font feature settings
+
+f(require('caniuse-lite/data/features/font-feature'), function (browsers) {
+ return prefix(['font-feature-settings', 'font-variant-ligatures', 'font-language-override'], {
+ feature: 'font-feature',
+ browsers: browsers
+ });
+}); // CSS font-kerning property
+
+f(require('caniuse-lite/data/features/font-kerning'), function (browsers) {
+ return prefix(['font-kerning'], {
+ feature: 'font-kerning',
+ browsers: browsers
+ });
+}); // Border image
+
+f(require('caniuse-lite/data/features/border-image'), function (browsers) {
+ return prefix(['border-image'], {
+ feature: 'border-image',
+ browsers: browsers
+ });
+}); // Selection selector
+
+f(require('caniuse-lite/data/features/css-selection'), function (browsers) {
+ return prefix(['::selection'], {
+ selector: true,
+ feature: 'css-selection',
+ browsers: browsers
+ });
+}); // Placeholder selector
+
+f(require('caniuse-lite/data/features/css-placeholder'), function (browsers) {
+ prefix(['::placeholder'], {
+ selector: true,
+ feature: 'css-placeholder',
+ browsers: browsers.concat(['ie 10 old', 'ie 11 old', 'firefox 18 old'])
+ });
+}); // Placeholder-shown selector
+
+f(require('caniuse-lite/data/features/css-placeholder-shown'), function (browsers) {
+ prefix([':placeholder-shown'], {
+ selector: true,
+ feature: 'css-placeholder-shown',
+ browsers: browsers
+ });
+}); // Hyphenation
+
+f(require('caniuse-lite/data/features/css-hyphens'), function (browsers) {
+ return prefix(['hyphens'], {
+ feature: 'css-hyphens',
+ browsers: browsers
+ });
+}); // Fullscreen selector
+
+var fullscreen = require('caniuse-lite/data/features/fullscreen');
+
+f(fullscreen, function (browsers) {
+ return prefix([':fullscreen'], {
+ selector: true,
+ feature: 'fullscreen',
+ browsers: browsers
+ });
+});
+f(fullscreen, {
+ match: /x(\s#2|$)/
+}, function (browsers) {
+ return prefix(['::backdrop'], {
+ selector: true,
+ feature: 'fullscreen',
+ browsers: browsers
+ });
+}); // Tab size
+
+f(require('caniuse-lite/data/features/css3-tabsize'), function (browsers) {
+ return prefix(['tab-size'], {
+ feature: 'css3-tabsize',
+ browsers: browsers
+ });
+}); // Intrinsic & extrinsic sizing
+
+var intrinsic = require('caniuse-lite/data/features/intrinsic-width');
+
+var sizeProps = ['width', 'min-width', 'max-width', 'height', 'min-height', 'max-height', 'inline-size', 'min-inline-size', 'max-inline-size', 'block-size', 'min-block-size', 'max-block-size', 'grid', 'grid-template', 'grid-template-rows', 'grid-template-columns', 'grid-auto-columns', 'grid-auto-rows'];
+f(intrinsic, function (browsers) {
+ return prefix(['max-content', 'min-content'], {
+ props: sizeProps,
+ feature: 'intrinsic-width',
+ browsers: browsers
+ });
+});
+f(intrinsic, {
+ match: /x|\s#4/
+}, function (browsers) {
+ return prefix(['fill', 'fill-available', 'stretch'], {
+ props: sizeProps,
+ feature: 'intrinsic-width',
+ browsers: browsers
+ });
+});
+f(intrinsic, {
+ match: /x|\s#5/
+}, function (browsers) {
+ return prefix(['fit-content'], {
+ props: sizeProps,
+ feature: 'intrinsic-width',
+ browsers: browsers
+ });
+}); // Zoom cursors
+
+f(require('caniuse-lite/data/features/css3-cursors-newer'), function (browsers) {
+ return prefix(['zoom-in', 'zoom-out'], {
+ props: ['cursor'],
+ feature: 'css3-cursors-newer',
+ browsers: browsers
+ });
+}); // Grab cursors
+
+f(require('caniuse-lite/data/features/css3-cursors-grab'), function (browsers) {
+ return prefix(['grab', 'grabbing'], {
+ props: ['cursor'],
+ feature: 'css3-cursors-grab',
+ browsers: browsers
+ });
+}); // Sticky position
+
+f(require('caniuse-lite/data/features/css-sticky'), function (browsers) {
+ return prefix(['sticky'], {
+ props: ['position'],
+ feature: 'css-sticky',
+ browsers: browsers
+ });
+}); // Pointer Events
+
+f(require('caniuse-lite/data/features/pointer'), function (browsers) {
+ return prefix(['touch-action'], {
+ feature: 'pointer',
+ browsers: browsers
+ });
+}); // Text decoration
+
+var decoration = require('caniuse-lite/data/features/text-decoration');
+
+f(decoration, function (browsers) {
+ return prefix(['text-decoration-style', 'text-decoration-color', 'text-decoration-line', 'text-decoration'], {
+ feature: 'text-decoration',
+ browsers: browsers
+ });
+});
+f(decoration, {
+ match: /x.*#[235]/
+}, function (browsers) {
+ return prefix(['text-decoration-skip', 'text-decoration-skip-ink'], {
+ feature: 'text-decoration',
+ browsers: browsers
+ });
+}); // Text Size Adjust
+
+f(require('caniuse-lite/data/features/text-size-adjust'), function (browsers) {
+ return prefix(['text-size-adjust'], {
+ feature: 'text-size-adjust',
+ browsers: browsers
+ });
+}); // CSS Masks
+
+f(require('caniuse-lite/data/features/css-masks'), function (browsers) {
+ prefix(['mask-clip', 'mask-composite', 'mask-image', 'mask-origin', 'mask-repeat', 'mask-border-repeat', 'mask-border-source'], {
+ feature: 'css-masks',
+ browsers: browsers
+ });
+ prefix(['mask', 'mask-position', 'mask-size', 'mask-border', 'mask-border-outset', 'mask-border-width', 'mask-border-slice'], {
+ feature: 'css-masks',
+ browsers: browsers
+ });
+}); // CSS clip-path property
+
+f(require('caniuse-lite/data/features/css-clip-path'), function (browsers) {
+ return prefix(['clip-path'], {
+ feature: 'css-clip-path',
+ browsers: browsers
+ });
+}); // Fragmented Borders and Backgrounds
+
+f(require('caniuse-lite/data/features/css-boxdecorationbreak'), function (browsers) {
+ return prefix(['box-decoration-break'], {
+ feature: 'css-boxdecorationbreak',
+ browsers: browsers
+ });
+}); // CSS3 object-fit/object-position
+
+f(require('caniuse-lite/data/features/object-fit'), function (browsers) {
+ return prefix(['object-fit', 'object-position'], {
+ feature: 'object-fit',
+ browsers: browsers
+ });
+}); // CSS Shapes
+
+f(require('caniuse-lite/data/features/css-shapes'), function (browsers) {
+ return prefix(['shape-margin', 'shape-outside', 'shape-image-threshold'], {
+ feature: 'css-shapes',
+ browsers: browsers
+ });
+}); // CSS3 text-overflow
+
+f(require('caniuse-lite/data/features/text-overflow'), function (browsers) {
+ return prefix(['text-overflow'], {
+ feature: 'text-overflow',
+ browsers: browsers
+ });
+}); // Viewport at-rule
+
+f(require('caniuse-lite/data/features/css-deviceadaptation'), function (browsers) {
+ return prefix(['@viewport'], {
+ feature: 'css-deviceadaptation',
+ browsers: browsers
+ });
+}); // Resolution Media Queries
+
+var resolut = require('caniuse-lite/data/features/css-media-resolution');
+
+f(resolut, {
+ match: /( x($| )|a #2)/
+}, function (browsers) {
+ return prefix(['@resolution'], {
+ feature: 'css-media-resolution',
+ browsers: browsers
+ });
+}); // CSS text-align-last
+
+f(require('caniuse-lite/data/features/css-text-align-last'), function (browsers) {
+ return prefix(['text-align-last'], {
+ feature: 'css-text-align-last',
+ browsers: browsers
+ });
+}); // Crisp Edges Image Rendering Algorithm
+
+var crispedges = require('caniuse-lite/data/features/css-crisp-edges');
+
+f(crispedges, {
+ match: /y x|a x #1/
+}, function (browsers) {
+ return prefix(['pixelated'], {
+ props: ['image-rendering'],
+ feature: 'css-crisp-edges',
+ browsers: browsers
+ });
+});
+f(crispedges, {
+ match: /a x #2/
+}, function (browsers) {
+ return prefix(['image-rendering'], {
+ feature: 'css-crisp-edges',
+ browsers: browsers
+ });
+}); // Logical Properties
+
+var logicalProps = require('caniuse-lite/data/features/css-logical-props');
+
+f(logicalProps, function (browsers) {
+ return prefix(['border-inline-start', 'border-inline-end', 'margin-inline-start', 'margin-inline-end', 'padding-inline-start', 'padding-inline-end'], {
+ feature: 'css-logical-props',
+ browsers: browsers
+ });
+});
+f(logicalProps, {
+ match: /x\s#2/
+}, function (browsers) {
+ return prefix(['border-block-start', 'border-block-end', 'margin-block-start', 'margin-block-end', 'padding-block-start', 'padding-block-end'], {
+ feature: 'css-logical-props',
+ browsers: browsers
+ });
+}); // CSS appearance
+
+var appearance = require('caniuse-lite/data/features/css-appearance');
+
+f(appearance, {
+ match: /#2|x/
+}, function (browsers) {
+ return prefix(['appearance'], {
+ feature: 'css-appearance',
+ browsers: browsers
+ });
+}); // CSS Scroll snap points
+
+f(require('caniuse-lite/data/features/css-snappoints'), function (browsers) {
+ return prefix(['scroll-snap-type', 'scroll-snap-coordinate', 'scroll-snap-destination', 'scroll-snap-points-x', 'scroll-snap-points-y'], {
+ feature: 'css-snappoints',
+ browsers: browsers
+ });
+}); // CSS Regions
+
+f(require('caniuse-lite/data/features/css-regions'), function (browsers) {
+ return prefix(['flow-into', 'flow-from', 'region-fragment'], {
+ feature: 'css-regions',
+ browsers: browsers
+ });
+}); // CSS image-set
+
+f(require('caniuse-lite/data/features/css-image-set'), function (browsers) {
+ return prefix(['image-set'], {
+ props: ['background', 'background-image', 'border-image', 'cursor', 'mask', 'mask-image', 'list-style', 'list-style-image', 'content'],
+ feature: 'css-image-set',
+ browsers: browsers
+ });
+}); // Writing Mode
+
+var writingMode = require('caniuse-lite/data/features/css-writing-mode');
+
+f(writingMode, {
+ match: /a|x/
+}, function (browsers) {
+ return prefix(['writing-mode'], {
+ feature: 'css-writing-mode',
+ browsers: browsers
+ });
+}); // Cross-Fade Function
+
+f(require('caniuse-lite/data/features/css-cross-fade'), function (browsers) {
+ return prefix(['cross-fade'], {
+ props: ['background', 'background-image', 'border-image', 'mask', 'list-style', 'list-style-image', 'content', 'mask-image'],
+ feature: 'css-cross-fade',
+ browsers: browsers
+ });
+}); // Read Only selector
+
+f(require('caniuse-lite/data/features/css-read-only-write'), function (browsers) {
+ return prefix([':read-only', ':read-write'], {
+ selector: true,
+ feature: 'css-read-only-write',
+ browsers: browsers
+ });
+}); // Text Emphasize
+
+f(require('caniuse-lite/data/features/text-emphasis'), function (browsers) {
+ return prefix(['text-emphasis', 'text-emphasis-position', 'text-emphasis-style', 'text-emphasis-color'], {
+ feature: 'text-emphasis',
+ browsers: browsers
+ });
+}); // CSS Grid Layout
+
+var grid = require('caniuse-lite/data/features/css-grid');
+
+f(grid, function (browsers) {
+ prefix(['display-grid', 'inline-grid'], {
+ props: ['display'],
+ feature: 'css-grid',
+ browsers: browsers
+ });
+ prefix(['grid-template-columns', 'grid-template-rows', 'grid-row-start', 'grid-column-start', 'grid-row-end', 'grid-column-end', 'grid-row', 'grid-column', 'grid-area', 'grid-template', 'grid-template-areas', 'place-self'], {
+ feature: 'css-grid',
+ browsers: browsers
+ });
+});
+f(grid, {
+ match: /a x/
+}, function (browsers) {
+ return prefix(['grid-column-align', 'grid-row-align'], {
+ feature: 'css-grid',
+ browsers: browsers
+ });
+}); // CSS text-spacing
+
+f(require('caniuse-lite/data/features/css-text-spacing'), function (browsers) {
+ return prefix(['text-spacing'], {
+ feature: 'css-text-spacing',
+ browsers: browsers
+ });
+}); // :any-link selector
+
+f(require('caniuse-lite/data/features/css-any-link'), function (browsers) {
+ return prefix([':any-link'], {
+ selector: true,
+ feature: 'css-any-link',
+ browsers: browsers
+ });
+}); // unicode-bidi
+
+var bidi = require('caniuse-lite/data/features/css-unicode-bidi');
+
+f(bidi, function (browsers) {
+ return prefix(['isolate'], {
+ props: ['unicode-bidi'],
+ feature: 'css-unicode-bidi',
+ browsers: browsers
+ });
+});
+f(bidi, {
+ match: /y x|a x #2/
+}, function (browsers) {
+ return prefix(['plaintext'], {
+ props: ['unicode-bidi'],
+ feature: 'css-unicode-bidi',
+ browsers: browsers
+ });
+});
+f(bidi, {
+ match: /y x/
+}, function (browsers) {
+ return prefix(['isolate-override'], {
+ props: ['unicode-bidi'],
+ feature: 'css-unicode-bidi',
+ browsers: browsers
+ });
+}); // overscroll-behavior selector
+
+var over = require('caniuse-lite/data/features/css-overscroll-behavior');
+
+f(over, {
+ match: /a #1/
+}, function (browsers) {
+ return prefix(['overscroll-behavior'], {
+ feature: 'css-overscroll-behavior',
+ browsers: browsers
+ });
+}); // color-adjust
+
+f(require('caniuse-lite/data/features/css-color-adjust'), function (browsers) {
+ return prefix(['color-adjust'], {
+ feature: 'css-color-adjust',
+ browsers: browsers
+ });
+}); // text-orientation
+
+f(require('caniuse-lite/data/features/css-text-orientation'), function (browsers) {
+ return prefix(['text-orientation'], {
+ feature: 'css-text-orientation',
+ browsers: browsers
+ });
+});
\ No newline at end of file
diff --git a/node_modules/autoprefixer/lib/at-rule.js b/node_modules/autoprefixer/lib/at-rule.js
new file mode 100644
index 0000000..18d05f8
--- /dev/null
+++ b/node_modules/autoprefixer/lib/at-rule.js
@@ -0,0 +1,62 @@
+"use strict";
+
+function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } it = o[Symbol.iterator](); return it.next.bind(it); }
+
+function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
+
+function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
+
+function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _defaults(subClass, superClass); }
+
+var Prefixer = require('./prefixer');
+
+var AtRule = /*#__PURE__*/function (_Prefixer) {
+ _inheritsLoose(AtRule, _Prefixer);
+
+ function AtRule() {
+ return _Prefixer.apply(this, arguments) || this;
+ }
+
+ var _proto = AtRule.prototype;
+
+ /**
+ * Clone and add prefixes for at-rule
+ */
+ _proto.add = function add(rule, prefix) {
+ var prefixed = prefix + rule.name;
+ var already = rule.parent.some(function (i) {
+ return i.name === prefixed && i.params === rule.params;
+ });
+
+ if (already) {
+ return undefined;
+ }
+
+ var cloned = this.clone(rule, {
+ name: prefixed
+ });
+ return rule.parent.insertBefore(rule, cloned);
+ }
+ /**
+ * Clone node with prefixes
+ */
+ ;
+
+ _proto.process = function process(node) {
+ var parent = this.parentPrefix(node);
+
+ for (var _iterator = _createForOfIteratorHelperLoose(this.prefixes), _step; !(_step = _iterator()).done;) {
+ var prefix = _step.value;
+
+ if (!parent || parent === prefix) {
+ this.add(node, prefix);
+ }
+ }
+ };
+
+ return AtRule;
+}(Prefixer);
+
+module.exports = AtRule;
\ No newline at end of file
diff --git a/node_modules/autoprefixer/lib/autoprefixer.js b/node_modules/autoprefixer/lib/autoprefixer.js
new file mode 100644
index 0000000..b739e9f
--- /dev/null
+++ b/node_modules/autoprefixer/lib/autoprefixer.js
@@ -0,0 +1,154 @@
+"use strict";
+
+var browserslist = require('browserslist');
+
+var colorette = require('colorette');
+
+var postcss = require('postcss');
+
+var agents = require('caniuse-lite').agents;
+
+var Browsers = require('./browsers');
+
+var Prefixes = require('./prefixes');
+
+var data = require('../data/prefixes');
+
+var info = require('./info');
+
+var WARNING = '\n' + ' Replace Autoprefixer `browsers` option to Browserslist config.\n' + ' Use `browserslist` key in `package.json` or `.browserslistrc` file.\n' + '\n' + ' Using `browsers` option can cause errors. Browserslist config \n' + ' can be used for Babel, Autoprefixer, postcss-normalize and other tools.\n' + '\n' + ' If you really need to use option, rename it to `overrideBrowserslist`.\n' + '\n' + ' Learn more at:\n' + ' https://github.com/browserslist/browserslist#readme\n' + ' https://twitter.com/browserslist\n' + '\n';
+
+function isPlainObject(obj) {
+ return Object.prototype.toString.apply(obj) === '[object Object]';
+}
+
+var cache = {};
+
+function timeCapsule(result, prefixes) {
+ if (prefixes.browsers.selected.length === 0) {
+ return;
+ }
+
+ if (prefixes.add.selectors.length > 0) {
+ return;
+ }
+
+ if (Object.keys(prefixes.add).length > 2) {
+ return;
+ }
+ /* istanbul ignore next */
+
+
+ result.warn('Greetings, time traveller. ' + 'We are in the golden age of prefix-less CSS, ' + 'where Autoprefixer is no longer needed for your stylesheet.');
+}
+
+module.exports = postcss.plugin('autoprefixer', function () {
+ for (var _len = arguments.length, reqs = new Array(_len), _key = 0; _key < _len; _key++) {
+ reqs[_key] = arguments[_key];
+ }
+
+ var options;
+
+ if (reqs.length === 1 && isPlainObject(reqs[0])) {
+ options = reqs[0];
+ reqs = undefined;
+ } else if (reqs.length === 0 || reqs.length === 1 && !reqs[0]) {
+ reqs = undefined;
+ } else if (reqs.length <= 2 && (Array.isArray(reqs[0]) || !reqs[0])) {
+ options = reqs[1];
+ reqs = reqs[0];
+ } else if (typeof reqs[reqs.length - 1] === 'object') {
+ options = reqs.pop();
+ }
+
+ if (!options) {
+ options = {};
+ }
+
+ if (options.browser) {
+ throw new Error('Change `browser` option to `overrideBrowserslist` in Autoprefixer');
+ } else if (options.browserslist) {
+ throw new Error('Change `browserslist` option to `overrideBrowserslist` in Autoprefixer');
+ }
+
+ if (options.overrideBrowserslist) {
+ reqs = options.overrideBrowserslist;
+ } else if (options.browsers) {
+ if (typeof console !== 'undefined' && console.warn) {
+ if (colorette.red) {
+ console.warn(colorette.red(WARNING.replace(/`[^`]+`/g, function (i) {
+ return colorette.yellow(i.slice(1, -1));
+ })));
+ } else {
+ console.warn(WARNING);
+ }
+ }
+
+ reqs = options.browsers;
+ }
+
+ var brwlstOpts = {
+ ignoreUnknownVersions: options.ignoreUnknownVersions,
+ stats: options.stats,
+ env: options.env
+ };
+
+ function loadPrefixes(opts) {
+ var d = module.exports.data;
+ var browsers = new Browsers(d.browsers, reqs, opts, brwlstOpts);
+ var key = browsers.selected.join(', ') + JSON.stringify(options);
+
+ if (!cache[key]) {
+ cache[key] = new Prefixes(d.prefixes, browsers, options);
+ }
+
+ return cache[key];
+ }
+
+ function plugin(css, result) {
+ var prefixes = loadPrefixes({
+ from: css.source && css.source.input.file,
+ env: options.env
+ });
+ timeCapsule(result, prefixes);
+
+ if (options.remove !== false) {
+ prefixes.processor.remove(css, result);
+ }
+
+ if (options.add !== false) {
+ prefixes.processor.add(css, result);
+ }
+ }
+
+ plugin.options = options;
+ plugin.browsers = reqs;
+
+ plugin.info = function (opts) {
+ opts = opts || {};
+ opts.from = opts.from || process.cwd();
+ return info(loadPrefixes(opts));
+ };
+
+ return plugin;
+});
+/**
+ * Autoprefixer data
+ */
+
+module.exports.data = {
+ browsers: agents,
+ prefixes: data
+};
+/**
+ * Autoprefixer default browsers
+ */
+
+module.exports.defaults = browserslist.defaults;
+/**
+ * Inspect with default Autoprefixer
+ */
+
+module.exports.info = function () {
+ return module.exports().info();
+};
\ No newline at end of file
diff --git a/node_modules/autoprefixer/lib/brackets.js b/node_modules/autoprefixer/lib/brackets.js
new file mode 100644
index 0000000..5598d95
--- /dev/null
+++ b/node_modules/autoprefixer/lib/brackets.js
@@ -0,0 +1,64 @@
+"use strict";
+
+function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } it = o[Symbol.iterator](); return it.next.bind(it); }
+
+function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
+
+function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
+
+function last(array) {
+ return array[array.length - 1];
+}
+
+var brackets = {
+ /**
+ * Parse string to nodes tree
+ */
+ parse: function parse(str) {
+ var current = [''];
+ var stack = [current];
+
+ for (var _iterator = _createForOfIteratorHelperLoose(str), _step; !(_step = _iterator()).done;) {
+ var sym = _step.value;
+
+ if (sym === '(') {
+ current = [''];
+ last(stack).push(current);
+ stack.push(current);
+ continue;
+ }
+
+ if (sym === ')') {
+ stack.pop();
+ current = last(stack);
+ current.push('');
+ continue;
+ }
+
+ current[current.length - 1] += sym;
+ }
+
+ return stack[0];
+ },
+
+ /**
+ * Generate output string by nodes tree
+ */
+ stringify: function stringify(ast) {
+ var result = '';
+
+ for (var _iterator2 = _createForOfIteratorHelperLoose(ast), _step2; !(_step2 = _iterator2()).done;) {
+ var i = _step2.value;
+
+ if (typeof i === 'object') {
+ result += "(" + brackets.stringify(i) + ")";
+ continue;
+ }
+
+ result += i;
+ }
+
+ return result;
+ }
+};
+module.exports = brackets;
\ No newline at end of file
diff --git a/node_modules/autoprefixer/lib/browsers.js b/node_modules/autoprefixer/lib/browsers.js
new file mode 100644
index 0000000..90a9fc7
--- /dev/null
+++ b/node_modules/autoprefixer/lib/browsers.js
@@ -0,0 +1,96 @@
+"use strict";
+
+var browserslist = require('browserslist');
+
+var agents = require('caniuse-lite').agents;
+
+var utils = require('./utils');
+
+var Browsers = /*#__PURE__*/function () {
+ /**
+ * Return all prefixes for default browser data
+ */
+ Browsers.prefixes = function prefixes() {
+ if (this.prefixesCache) {
+ return this.prefixesCache;
+ }
+
+ this.prefixesCache = [];
+
+ for (var name in agents) {
+ this.prefixesCache.push("-" + agents[name].prefix + "-");
+ }
+
+ this.prefixesCache = utils.uniq(this.prefixesCache).sort(function (a, b) {
+ return b.length - a.length;
+ });
+ return this.prefixesCache;
+ }
+ /**
+ * Check is value contain any possible prefix
+ */
+ ;
+
+ Browsers.withPrefix = function withPrefix(value) {
+ if (!this.prefixesRegexp) {
+ this.prefixesRegexp = new RegExp(this.prefixes().join('|'));
+ }
+
+ return this.prefixesRegexp.test(value);
+ };
+
+ function Browsers(data, requirements, options, browserslistOpts) {
+ this.data = data;
+ this.options = options || {};
+ this.browserslistOpts = browserslistOpts || {};
+ this.selected = this.parse(requirements);
+ }
+ /**
+ * Return browsers selected by requirements
+ */
+
+
+ var _proto = Browsers.prototype;
+
+ _proto.parse = function parse(requirements) {
+ var opts = {};
+
+ for (var i in this.browserslistOpts) {
+ opts[i] = this.browserslistOpts[i];
+ }
+
+ opts.path = this.options.from;
+ return browserslist(requirements, opts);
+ }
+ /**
+ * Return prefix for selected browser
+ */
+ ;
+
+ _proto.prefix = function prefix(browser) {
+ var _browser$split = browser.split(' '),
+ name = _browser$split[0],
+ version = _browser$split[1];
+
+ var data = this.data[name];
+ var prefix = data.prefix_exceptions && data.prefix_exceptions[version];
+
+ if (!prefix) {
+ prefix = data.prefix;
+ }
+
+ return "-" + prefix + "-";
+ }
+ /**
+ * Is browser is selected by requirements
+ */
+ ;
+
+ _proto.isSelected = function isSelected(browser) {
+ return this.selected.includes(browser);
+ };
+
+ return Browsers;
+}();
+
+module.exports = Browsers;
\ No newline at end of file
diff --git a/node_modules/autoprefixer/lib/declaration.js b/node_modules/autoprefixer/lib/declaration.js
new file mode 100644
index 0000000..190559f
--- /dev/null
+++ b/node_modules/autoprefixer/lib/declaration.js
@@ -0,0 +1,243 @@
+"use strict";
+
+function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } it = o[Symbol.iterator](); return it.next.bind(it); }
+
+function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
+
+function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
+
+function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _defaults(subClass, superClass); }
+
+var Prefixer = require('./prefixer');
+
+var Browsers = require('./browsers');
+
+var utils = require('./utils');
+
+var Declaration = /*#__PURE__*/function (_Prefixer) {
+ _inheritsLoose(Declaration, _Prefixer);
+
+ function Declaration() {
+ return _Prefixer.apply(this, arguments) || this;
+ }
+
+ var _proto = Declaration.prototype;
+
+ /**
+ * Always true, because we already get prefixer by property name
+ */
+ _proto.check = function check()
+ /* decl */
+ {
+ return true;
+ }
+ /**
+ * Return prefixed version of property
+ */
+ ;
+
+ _proto.prefixed = function prefixed(prop, prefix) {
+ return prefix + prop;
+ }
+ /**
+ * Return unprefixed version of property
+ */
+ ;
+
+ _proto.normalize = function normalize(prop) {
+ return prop;
+ }
+ /**
+ * Check `value`, that it contain other prefixes, rather than `prefix`
+ */
+ ;
+
+ _proto.otherPrefixes = function otherPrefixes(value, prefix) {
+ for (var _iterator = _createForOfIteratorHelperLoose(Browsers.prefixes()), _step; !(_step = _iterator()).done;) {
+ var other = _step.value;
+
+ if (other === prefix) {
+ continue;
+ }
+
+ if (value.includes(other)) {
+ return true;
+ }
+ }
+
+ return false;
+ }
+ /**
+ * Set prefix to declaration
+ */
+ ;
+
+ _proto.set = function set(decl, prefix) {
+ decl.prop = this.prefixed(decl.prop, prefix);
+ return decl;
+ }
+ /**
+ * Should we use visual cascade for prefixes
+ */
+ ;
+
+ _proto.needCascade = function needCascade(decl) {
+ if (!decl._autoprefixerCascade) {
+ decl._autoprefixerCascade = this.all.options.cascade !== false && decl.raw('before').includes('\n');
+ }
+
+ return decl._autoprefixerCascade;
+ }
+ /**
+ * Return maximum length of possible prefixed property
+ */
+ ;
+
+ _proto.maxPrefixed = function maxPrefixed(prefixes, decl) {
+ if (decl._autoprefixerMax) {
+ return decl._autoprefixerMax;
+ }
+
+ var max = 0;
+
+ for (var _iterator2 = _createForOfIteratorHelperLoose(prefixes), _step2; !(_step2 = _iterator2()).done;) {
+ var prefix = _step2.value;
+ prefix = utils.removeNote(prefix);
+
+ if (prefix.length > max) {
+ max = prefix.length;
+ }
+ }
+
+ decl._autoprefixerMax = max;
+ return decl._autoprefixerMax;
+ }
+ /**
+ * Calculate indentation to create visual cascade
+ */
+ ;
+
+ _proto.calcBefore = function calcBefore(prefixes, decl, prefix) {
+ if (prefix === void 0) {
+ prefix = '';
+ }
+
+ var max = this.maxPrefixed(prefixes, decl);
+ var diff = max - utils.removeNote(prefix).length;
+ var before = decl.raw('before');
+
+ if (diff > 0) {
+ before += Array(diff).fill(' ').join('');
+ }
+
+ return before;
+ }
+ /**
+ * Remove visual cascade
+ */
+ ;
+
+ _proto.restoreBefore = function restoreBefore(decl) {
+ var lines = decl.raw('before').split('\n');
+ var min = lines[lines.length - 1];
+ this.all.group(decl).up(function (prefixed) {
+ var array = prefixed.raw('before').split('\n');
+ var last = array[array.length - 1];
+
+ if (last.length < min.length) {
+ min = last;
+ }
+ });
+ lines[lines.length - 1] = min;
+ decl.raws.before = lines.join('\n');
+ }
+ /**
+ * Clone and insert new declaration
+ */
+ ;
+
+ _proto.insert = function insert(decl, prefix, prefixes) {
+ var cloned = this.set(this.clone(decl), prefix);
+ if (!cloned) return undefined;
+ var already = decl.parent.some(function (i) {
+ return i.prop === cloned.prop && i.value === cloned.value;
+ });
+
+ if (already) {
+ return undefined;
+ }
+
+ if (this.needCascade(decl)) {
+ cloned.raws.before = this.calcBefore(prefixes, decl, prefix);
+ }
+
+ return decl.parent.insertBefore(decl, cloned);
+ }
+ /**
+ * Did this declaration has this prefix above
+ */
+ ;
+
+ _proto.isAlready = function isAlready(decl, prefixed) {
+ var already = this.all.group(decl).up(function (i) {
+ return i.prop === prefixed;
+ });
+
+ if (!already) {
+ already = this.all.group(decl).down(function (i) {
+ return i.prop === prefixed;
+ });
+ }
+
+ return already;
+ }
+ /**
+ * Clone and add prefixes for declaration
+ */
+ ;
+
+ _proto.add = function add(decl, prefix, prefixes, result) {
+ var prefixed = this.prefixed(decl.prop, prefix);
+
+ if (this.isAlready(decl, prefixed) || this.otherPrefixes(decl.value, prefix)) {
+ return undefined;
+ }
+
+ return this.insert(decl, prefix, prefixes, result);
+ }
+ /**
+ * Add spaces for visual cascade
+ */
+ ;
+
+ _proto.process = function process(decl, result) {
+ if (!this.needCascade(decl)) {
+ _Prefixer.prototype.process.call(this, decl, result);
+
+ return;
+ }
+
+ var prefixes = _Prefixer.prototype.process.call(this, decl, result);
+
+ if (!prefixes || !prefixes.length) {
+ return;
+ }
+
+ this.restoreBefore(decl);
+ decl.raws.before = this.calcBefore(prefixes, decl);
+ }
+ /**
+ * Return list of prefixed properties to clean old prefixes
+ */
+ ;
+
+ _proto.old = function old(prop, prefix) {
+ return [this.prefixed(prop, prefix)];
+ };
+
+ return Declaration;
+}(Prefixer);
+
+module.exports = Declaration;
\ No newline at end of file
diff --git a/node_modules/autoprefixer/lib/hacks/align-content.js b/node_modules/autoprefixer/lib/hacks/align-content.js
new file mode 100644
index 0000000..b7f7ed7
--- /dev/null
+++ b/node_modules/autoprefixer/lib/hacks/align-content.js
@@ -0,0 +1,79 @@
+"use strict";
+
+function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _defaults(subClass, superClass); }
+
+function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+var flexSpec = require('./flex-spec');
+
+var Declaration = require('../declaration');
+
+var AlignContent = /*#__PURE__*/function (_Declaration) {
+ _inheritsLoose(AlignContent, _Declaration);
+
+ function AlignContent() {
+ return _Declaration.apply(this, arguments) || this;
+ }
+
+ var _proto = AlignContent.prototype;
+
+ /**
+ * Change property name for 2012 spec
+ */
+ _proto.prefixed = function prefixed(prop, prefix) {
+ var spec;
+
+ var _flexSpec = flexSpec(prefix);
+
+ spec = _flexSpec[0];
+ prefix = _flexSpec[1];
+
+ if (spec === 2012) {
+ return prefix + 'flex-line-pack';
+ }
+
+ return _Declaration.prototype.prefixed.call(this, prop, prefix);
+ }
+ /**
+ * Return property name by final spec
+ */
+ ;
+
+ _proto.normalize = function normalize() {
+ return 'align-content';
+ }
+ /**
+ * Change value for 2012 spec and ignore prefix for 2009
+ */
+ ;
+
+ _proto.set = function set(decl, prefix) {
+ var spec = flexSpec(prefix)[0];
+
+ if (spec === 2012) {
+ decl.value = AlignContent.oldValues[decl.value] || decl.value;
+ return _Declaration.prototype.set.call(this, decl, prefix);
+ }
+
+ if (spec === 'final') {
+ return _Declaration.prototype.set.call(this, decl, prefix);
+ }
+
+ return undefined;
+ };
+
+ return AlignContent;
+}(Declaration);
+
+_defineProperty(AlignContent, "names", ['align-content', 'flex-line-pack']);
+
+_defineProperty(AlignContent, "oldValues", {
+ 'flex-end': 'end',
+ 'flex-start': 'start',
+ 'space-between': 'justify',
+ 'space-around': 'distribute'
+});
+
+module.exports = AlignContent;
\ No newline at end of file
diff --git a/node_modules/autoprefixer/lib/hacks/align-items.js b/node_modules/autoprefixer/lib/hacks/align-items.js
new file mode 100644
index 0000000..e886466
--- /dev/null
+++ b/node_modules/autoprefixer/lib/hacks/align-items.js
@@ -0,0 +1,76 @@
+"use strict";
+
+function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _defaults(subClass, superClass); }
+
+function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+var flexSpec = require('./flex-spec');
+
+var Declaration = require('../declaration');
+
+var AlignItems = /*#__PURE__*/function (_Declaration) {
+ _inheritsLoose(AlignItems, _Declaration);
+
+ function AlignItems() {
+ return _Declaration.apply(this, arguments) || this;
+ }
+
+ var _proto = AlignItems.prototype;
+
+ /**
+ * Change property name for 2009 and 2012 specs
+ */
+ _proto.prefixed = function prefixed(prop, prefix) {
+ var spec;
+
+ var _flexSpec = flexSpec(prefix);
+
+ spec = _flexSpec[0];
+ prefix = _flexSpec[1];
+
+ if (spec === 2009) {
+ return prefix + 'box-align';
+ }
+
+ if (spec === 2012) {
+ return prefix + 'flex-align';
+ }
+
+ return _Declaration.prototype.prefixed.call(this, prop, prefix);
+ }
+ /**
+ * Return property name by final spec
+ */
+ ;
+
+ _proto.normalize = function normalize() {
+ return 'align-items';
+ }
+ /**
+ * Change value for 2009 and 2012 specs
+ */
+ ;
+
+ _proto.set = function set(decl, prefix) {
+ var spec = flexSpec(prefix)[0];
+
+ if (spec === 2009 || spec === 2012) {
+ decl.value = AlignItems.oldValues[decl.value] || decl.value;
+ }
+
+ return _Declaration.prototype.set.call(this, decl, prefix);
+ };
+
+ return AlignItems;
+}(Declaration);
+
+_defineProperty(AlignItems, "names", ['align-items', 'flex-align', 'box-align']);
+
+_defineProperty(AlignItems, "oldValues", {
+ 'flex-end': 'end',
+ 'flex-start': 'start'
+});
+
+module.exports = AlignItems;
\ No newline at end of file
diff --git a/node_modules/autoprefixer/lib/hacks/align-self.js b/node_modules/autoprefixer/lib/hacks/align-self.js
new file mode 100644
index 0000000..52f4b44
--- /dev/null
+++ b/node_modules/autoprefixer/lib/hacks/align-self.js
@@ -0,0 +1,84 @@
+"use strict";
+
+function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _defaults(subClass, superClass); }
+
+function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+var flexSpec = require('./flex-spec');
+
+var Declaration = require('../declaration');
+
+var AlignSelf = /*#__PURE__*/function (_Declaration) {
+ _inheritsLoose(AlignSelf, _Declaration);
+
+ function AlignSelf() {
+ return _Declaration.apply(this, arguments) || this;
+ }
+
+ var _proto = AlignSelf.prototype;
+
+ _proto.check = function check(decl) {
+ return decl.parent && !decl.parent.some(function (i) {
+ return i.prop && i.prop.startsWith('grid-');
+ });
+ }
+ /**
+ * Change property name for 2012 specs
+ */
+ ;
+
+ _proto.prefixed = function prefixed(prop, prefix) {
+ var spec;
+
+ var _flexSpec = flexSpec(prefix);
+
+ spec = _flexSpec[0];
+ prefix = _flexSpec[1];
+
+ if (spec === 2012) {
+ return prefix + 'flex-item-align';
+ }
+
+ return _Declaration.prototype.prefixed.call(this, prop, prefix);
+ }
+ /**
+ * Return property name by final spec
+ */
+ ;
+
+ _proto.normalize = function normalize() {
+ return 'align-self';
+ }
+ /**
+ * Change value for 2012 spec and ignore prefix for 2009
+ */
+ ;
+
+ _proto.set = function set(decl, prefix) {
+ var spec = flexSpec(prefix)[0];
+
+ if (spec === 2012) {
+ decl.value = AlignSelf.oldValues[decl.value] || decl.value;
+ return _Declaration.prototype.set.call(this, decl, prefix);
+ }
+
+ if (spec === 'final') {
+ return _Declaration.prototype.set.call(this, decl, prefix);
+ }
+
+ return undefined;
+ };
+
+ return AlignSelf;
+}(Declaration);
+
+_defineProperty(AlignSelf, "names", ['align-self', 'flex-item-align']);
+
+_defineProperty(AlignSelf, "oldValues", {
+ 'flex-end': 'end',
+ 'flex-start': 'start'
+});
+
+module.exports = AlignSelf;
\ No newline at end of file
diff --git a/node_modules/autoprefixer/lib/hacks/animation.js b/node_modules/autoprefixer/lib/hacks/animation.js
new file mode 100644
index 0000000..ff1847b
--- /dev/null
+++ b/node_modules/autoprefixer/lib/hacks/animation.js
@@ -0,0 +1,35 @@
+"use strict";
+
+function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _defaults(subClass, superClass); }
+
+function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+var Declaration = require('../declaration');
+
+var Animation = /*#__PURE__*/function (_Declaration) {
+ _inheritsLoose(Animation, _Declaration);
+
+ function Animation() {
+ return _Declaration.apply(this, arguments) || this;
+ }
+
+ var _proto = Animation.prototype;
+
+ /**
+ * Don’t add prefixes for modern values.
+ */
+ _proto.check = function check(decl) {
+ return !decl.value.split(/\s+/).some(function (i) {
+ var lower = i.toLowerCase();
+ return lower === 'reverse' || lower === 'alternate-reverse';
+ });
+ };
+
+ return Animation;
+}(Declaration);
+
+_defineProperty(Animation, "names", ['animation', 'animation-direction']);
+
+module.exports = Animation;
\ No newline at end of file
diff --git a/node_modules/autoprefixer/lib/hacks/appearance.js b/node_modules/autoprefixer/lib/hacks/appearance.js
new file mode 100644
index 0000000..c582ca1
--- /dev/null
+++ b/node_modules/autoprefixer/lib/hacks/appearance.js
@@ -0,0 +1,39 @@
+"use strict";
+
+function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _defaults(subClass, superClass); }
+
+function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+var Declaration = require('../declaration');
+
+var utils = require('../utils');
+
+var Appearance = /*#__PURE__*/function (_Declaration) {
+ _inheritsLoose(Appearance, _Declaration);
+
+ function Appearance(name, prefixes, all) {
+ var _this;
+
+ _this = _Declaration.call(this, name, prefixes, all) || this;
+
+ if (_this.prefixes) {
+ _this.prefixes = utils.uniq(_this.prefixes.map(function (i) {
+ if (i === '-ms-') {
+ return '-webkit-';
+ }
+
+ return i;
+ }));
+ }
+
+ return _this;
+ }
+
+ return Appearance;
+}(Declaration);
+
+_defineProperty(Appearance, "names", ['appearance']);
+
+module.exports = Appearance;
\ No newline at end of file
diff --git a/node_modules/autoprefixer/lib/hacks/backdrop-filter.js b/node_modules/autoprefixer/lib/hacks/backdrop-filter.js
new file mode 100644
index 0000000..58a507e
--- /dev/null
+++ b/node_modules/autoprefixer/lib/hacks/backdrop-filter.js
@@ -0,0 +1,35 @@
+"use strict";
+
+function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _defaults(subClass, superClass); }
+
+function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+var Declaration = require('../declaration');
+
+var utils = require('../utils');
+
+var BackdropFilter = /*#__PURE__*/function (_Declaration) {
+ _inheritsLoose(BackdropFilter, _Declaration);
+
+ function BackdropFilter(name, prefixes, all) {
+ var _this;
+
+ _this = _Declaration.call(this, name, prefixes, all) || this;
+
+ if (_this.prefixes) {
+ _this.prefixes = utils.uniq(_this.prefixes.map(function (i) {
+ return i === '-ms-' ? '-webkit-' : i;
+ }));
+ }
+
+ return _this;
+ }
+
+ return BackdropFilter;
+}(Declaration);
+
+_defineProperty(BackdropFilter, "names", ['backdrop-filter']);
+
+module.exports = BackdropFilter;
\ No newline at end of file
diff --git a/node_modules/autoprefixer/lib/hacks/background-clip.js b/node_modules/autoprefixer/lib/hacks/background-clip.js
new file mode 100644
index 0000000..9d0e8ba
--- /dev/null
+++ b/node_modules/autoprefixer/lib/hacks/background-clip.js
@@ -0,0 +1,41 @@
+"use strict";
+
+function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _defaults(subClass, superClass); }
+
+function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+var Declaration = require('../declaration');
+
+var utils = require('../utils');
+
+var BackgroundClip = /*#__PURE__*/function (_Declaration) {
+ _inheritsLoose(BackgroundClip, _Declaration);
+
+ function BackgroundClip(name, prefixes, all) {
+ var _this;
+
+ _this = _Declaration.call(this, name, prefixes, all) || this;
+
+ if (_this.prefixes) {
+ _this.prefixes = utils.uniq(_this.prefixes.map(function (i) {
+ return i === '-ms-' ? '-webkit-' : i;
+ }));
+ }
+
+ return _this;
+ }
+
+ var _proto = BackgroundClip.prototype;
+
+ _proto.check = function check(decl) {
+ return decl.value.toLowerCase() === 'text';
+ };
+
+ return BackgroundClip;
+}(Declaration);
+
+_defineProperty(BackgroundClip, "names", ['background-clip']);
+
+module.exports = BackgroundClip;
\ No newline at end of file
diff --git a/node_modules/autoprefixer/lib/hacks/background-size.js b/node_modules/autoprefixer/lib/hacks/background-size.js
new file mode 100644
index 0000000..eff8b28
--- /dev/null
+++ b/node_modules/autoprefixer/lib/hacks/background-size.js
@@ -0,0 +1,38 @@
+"use strict";
+
+function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _defaults(subClass, superClass); }
+
+function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+var Declaration = require('../declaration');
+
+var BackgroundSize = /*#__PURE__*/function (_Declaration) {
+ _inheritsLoose(BackgroundSize, _Declaration);
+
+ function BackgroundSize() {
+ return _Declaration.apply(this, arguments) || this;
+ }
+
+ var _proto = BackgroundSize.prototype;
+
+ /**
+ * Duplication parameter for -webkit- browsers
+ */
+ _proto.set = function set(decl, prefix) {
+ var value = decl.value.toLowerCase();
+
+ if (prefix === '-webkit-' && !value.includes(' ') && value !== 'contain' && value !== 'cover') {
+ decl.value = decl.value + ' ' + decl.value;
+ }
+
+ return _Declaration.prototype.set.call(this, decl, prefix);
+ };
+
+ return BackgroundSize;
+}(Declaration);
+
+_defineProperty(BackgroundSize, "names", ['background-size']);
+
+module.exports = BackgroundSize;
\ No newline at end of file
diff --git a/node_modules/autoprefixer/lib/hacks/block-logical.js b/node_modules/autoprefixer/lib/hacks/block-logical.js
new file mode 100644
index 0000000..c6618fd
--- /dev/null
+++ b/node_modules/autoprefixer/lib/hacks/block-logical.js
@@ -0,0 +1,48 @@
+"use strict";
+
+function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _defaults(subClass, superClass); }
+
+function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+var Declaration = require('../declaration');
+
+var BlockLogical = /*#__PURE__*/function (_Declaration) {
+ _inheritsLoose(BlockLogical, _Declaration);
+
+ function BlockLogical() {
+ return _Declaration.apply(this, arguments) || this;
+ }
+
+ var _proto = BlockLogical.prototype;
+
+ /**
+ * Use old syntax for -moz- and -webkit-
+ */
+ _proto.prefixed = function prefixed(prop, prefix) {
+ if (prop.includes('-start')) {
+ return prefix + prop.replace('-block-start', '-before');
+ }
+
+ return prefix + prop.replace('-block-end', '-after');
+ }
+ /**
+ * Return property name by spec
+ */
+ ;
+
+ _proto.normalize = function normalize(prop) {
+ if (prop.includes('-before')) {
+ return prop.replace('-before', '-block-start');
+ }
+
+ return prop.replace('-after', '-block-end');
+ };
+
+ return BlockLogical;
+}(Declaration);
+
+_defineProperty(BlockLogical, "names", ['border-block-start', 'border-block-end', 'margin-block-start', 'margin-block-end', 'padding-block-start', 'padding-block-end', 'border-before', 'border-after', 'margin-before', 'margin-after', 'padding-before', 'padding-after']);
+
+module.exports = BlockLogical;
\ No newline at end of file
diff --git a/node_modules/autoprefixer/lib/hacks/border-image.js b/node_modules/autoprefixer/lib/hacks/border-image.js
new file mode 100644
index 0000000..0eab803
--- /dev/null
+++ b/node_modules/autoprefixer/lib/hacks/border-image.js
@@ -0,0 +1,33 @@
+"use strict";
+
+function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _defaults(subClass, superClass); }
+
+function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+var Declaration = require('../declaration');
+
+var BorderImage = /*#__PURE__*/function (_Declaration) {
+ _inheritsLoose(BorderImage, _Declaration);
+
+ function BorderImage() {
+ return _Declaration.apply(this, arguments) || this;
+ }
+
+ var _proto = BorderImage.prototype;
+
+ /**
+ * Remove fill parameter for prefixed declarations
+ */
+ _proto.set = function set(decl, prefix) {
+ decl.value = decl.value.replace(/\s+fill(\s)/, '$1');
+ return _Declaration.prototype.set.call(this, decl, prefix);
+ };
+
+ return BorderImage;
+}(Declaration);
+
+_defineProperty(BorderImage, "names", ['border-image']);
+
+module.exports = BorderImage;
\ No newline at end of file
diff --git a/node_modules/autoprefixer/lib/hacks/border-radius.js b/node_modules/autoprefixer/lib/hacks/border-radius.js
new file mode 100644
index 0000000..d9bda38
--- /dev/null
+++ b/node_modules/autoprefixer/lib/hacks/border-radius.js
@@ -0,0 +1,62 @@
+"use strict";
+
+function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _defaults(subClass, superClass); }
+
+function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+var Declaration = require('../declaration');
+
+var BorderRadius = /*#__PURE__*/function (_Declaration) {
+ _inheritsLoose(BorderRadius, _Declaration);
+
+ function BorderRadius() {
+ return _Declaration.apply(this, arguments) || this;
+ }
+
+ var _proto = BorderRadius.prototype;
+
+ /**
+ * Change syntax, when add Mozilla prefix
+ */
+ _proto.prefixed = function prefixed(prop, prefix) {
+ if (prefix === '-moz-') {
+ return prefix + (BorderRadius.toMozilla[prop] || prop);
+ }
+
+ return _Declaration.prototype.prefixed.call(this, prop, prefix);
+ }
+ /**
+ * Return unprefixed version of property
+ */
+ ;
+
+ _proto.normalize = function normalize(prop) {
+ return BorderRadius.toNormal[prop] || prop;
+ };
+
+ return BorderRadius;
+}(Declaration);
+
+_defineProperty(BorderRadius, "names", ['border-radius']);
+
+_defineProperty(BorderRadius, "toMozilla", {});
+
+_defineProperty(BorderRadius, "toNormal", {});
+
+for (var _i = 0, _arr = ['top', 'bottom']; _i < _arr.length; _i++) {
+ var ver = _arr[_i];
+
+ for (var _i2 = 0, _arr2 = ['left', 'right']; _i2 < _arr2.length; _i2++) {
+ var hor = _arr2[_i2];
+ var normal = "border-" + ver + "-" + hor + "-radius";
+ var mozilla = "border-radius-" + ver + hor;
+ BorderRadius.names.push(normal);
+ BorderRadius.names.push(mozilla);
+ BorderRadius.toMozilla[normal] = mozilla;
+ BorderRadius.toNormal[mozilla] = normal;
+ }
+}
+
+module.exports = BorderRadius;
\ No newline at end of file
diff --git a/node_modules/autoprefixer/lib/hacks/break-props.js b/node_modules/autoprefixer/lib/hacks/break-props.js
new file mode 100644
index 0000000..1008647
--- /dev/null
+++ b/node_modules/autoprefixer/lib/hacks/break-props.js
@@ -0,0 +1,76 @@
+"use strict";
+
+function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _defaults(subClass, superClass); }
+
+function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+var Declaration = require('../declaration');
+
+var BreakProps = /*#__PURE__*/function (_Declaration) {
+ _inheritsLoose(BreakProps, _Declaration);
+
+ function BreakProps() {
+ return _Declaration.apply(this, arguments) || this;
+ }
+
+ var _proto = BreakProps.prototype;
+
+ /**
+ * Change name for -webkit- and -moz- prefix
+ */
+ _proto.prefixed = function prefixed(prop, prefix) {
+ return prefix + "column-" + prop;
+ }
+ /**
+ * Return property name by final spec
+ */
+ ;
+
+ _proto.normalize = function normalize(prop) {
+ if (prop.includes('inside')) {
+ return 'break-inside';
+ }
+
+ if (prop.includes('before')) {
+ return 'break-before';
+ }
+
+ return 'break-after';
+ }
+ /**
+ * Change prefixed value for avoid-column and avoid-page
+ */
+ ;
+
+ _proto.set = function set(decl, prefix) {
+ if (decl.prop === 'break-inside' && decl.value === 'avoid-column' || decl.value === 'avoid-page') {
+ decl.value = 'avoid';
+ }
+
+ return _Declaration.prototype.set.call(this, decl, prefix);
+ }
+ /**
+ * Don’t prefix some values
+ */
+ ;
+
+ _proto.insert = function insert(decl, prefix, prefixes) {
+ if (decl.prop !== 'break-inside') {
+ return _Declaration.prototype.insert.call(this, decl, prefix, prefixes);
+ }
+
+ if (/region/i.test(decl.value) || /page/i.test(decl.value)) {
+ return undefined;
+ }
+
+ return _Declaration.prototype.insert.call(this, decl, prefix, prefixes);
+ };
+
+ return BreakProps;
+}(Declaration);
+
+_defineProperty(BreakProps, "names", ['break-inside', 'page-break-inside', 'column-break-inside', 'break-before', 'page-break-before', 'column-break-before', 'break-after', 'page-break-after', 'column-break-after']);
+
+module.exports = BreakProps;
\ No newline at end of file
diff --git a/node_modules/autoprefixer/lib/hacks/color-adjust.js b/node_modules/autoprefixer/lib/hacks/color-adjust.js
new file mode 100644
index 0000000..730d2f1
--- /dev/null
+++ b/node_modules/autoprefixer/lib/hacks/color-adjust.js
@@ -0,0 +1,40 @@
+"use strict";
+
+function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _defaults(subClass, superClass); }
+
+function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+var Declaration = require('../declaration');
+
+var ColorAdjust = /*#__PURE__*/function (_Declaration) {
+ _inheritsLoose(ColorAdjust, _Declaration);
+
+ function ColorAdjust() {
+ return _Declaration.apply(this, arguments) || this;
+ }
+
+ var _proto = ColorAdjust.prototype;
+
+ /**
+ * Change property name for WebKit-based browsers
+ */
+ _proto.prefixed = function prefixed(prop, prefix) {
+ return prefix + 'print-color-adjust';
+ }
+ /**
+ * Return property name by spec
+ */
+ ;
+
+ _proto.normalize = function normalize() {
+ return 'color-adjust';
+ };
+
+ return ColorAdjust;
+}(Declaration);
+
+_defineProperty(ColorAdjust, "names", ['color-adjust', 'print-color-adjust']);
+
+module.exports = ColorAdjust;
\ No newline at end of file
diff --git a/node_modules/autoprefixer/lib/hacks/cross-fade.js b/node_modules/autoprefixer/lib/hacks/cross-fade.js
new file mode 100644
index 0000000..13fae86
--- /dev/null
+++ b/node_modules/autoprefixer/lib/hacks/cross-fade.js
@@ -0,0 +1,54 @@
+"use strict";
+
+function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _defaults(subClass, superClass); }
+
+function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+var list = require('postcss').list;
+
+var Value = require('../value');
+
+var CrossFade = /*#__PURE__*/function (_Value) {
+ _inheritsLoose(CrossFade, _Value);
+
+ function CrossFade() {
+ return _Value.apply(this, arguments) || this;
+ }
+
+ var _proto = CrossFade.prototype;
+
+ _proto.replace = function replace(string, prefix) {
+ var _this = this;
+
+ return list.space(string).map(function (value) {
+ if (value.slice(0, +_this.name.length + 1) !== _this.name + '(') {
+ return value;
+ }
+
+ var close = value.lastIndexOf(')');
+ var after = value.slice(close + 1);
+ var args = value.slice(_this.name.length + 1, close);
+
+ if (prefix === '-webkit-') {
+ var match = args.match(/\d*.?\d+%?/);
+
+ if (match) {
+ args = args.slice(match[0].length).trim();
+ args += ", " + match[0];
+ } else {
+ args += ', 0.5';
+ }
+ }
+
+ return prefix + _this.name + '(' + args + ')' + after;
+ }).join(' ');
+ };
+
+ return CrossFade;
+}(Value);
+
+_defineProperty(CrossFade, "names", ['cross-fade']);
+
+module.exports = CrossFade;
\ No newline at end of file
diff --git a/node_modules/autoprefixer/lib/hacks/display-flex.js b/node_modules/autoprefixer/lib/hacks/display-flex.js
new file mode 100644
index 0000000..4748484
--- /dev/null
+++ b/node_modules/autoprefixer/lib/hacks/display-flex.js
@@ -0,0 +1,94 @@
+"use strict";
+
+function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _defaults(subClass, superClass); }
+
+function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+var flexSpec = require('./flex-spec');
+
+var OldValue = require('../old-value');
+
+var Value = require('../value');
+
+var DisplayFlex = /*#__PURE__*/function (_Value) {
+ _inheritsLoose(DisplayFlex, _Value);
+
+ function DisplayFlex(name, prefixes) {
+ var _this;
+
+ _this = _Value.call(this, name, prefixes) || this;
+
+ if (name === 'display-flex') {
+ _this.name = 'flex';
+ }
+
+ return _this;
+ }
+ /**
+ * Faster check for flex value
+ */
+
+
+ var _proto = DisplayFlex.prototype;
+
+ _proto.check = function check(decl) {
+ return decl.prop === 'display' && decl.value === this.name;
+ }
+ /**
+ * Return value by spec
+ */
+ ;
+
+ _proto.prefixed = function prefixed(prefix) {
+ var spec, value;
+
+ var _flexSpec = flexSpec(prefix);
+
+ spec = _flexSpec[0];
+ prefix = _flexSpec[1];
+
+ if (spec === 2009) {
+ if (this.name === 'flex') {
+ value = 'box';
+ } else {
+ value = 'inline-box';
+ }
+ } else if (spec === 2012) {
+ if (this.name === 'flex') {
+ value = 'flexbox';
+ } else {
+ value = 'inline-flexbox';
+ }
+ } else if (spec === 'final') {
+ value = this.name;
+ }
+
+ return prefix + value;
+ }
+ /**
+ * Add prefix to value depend on flebox spec version
+ */
+ ;
+
+ _proto.replace = function replace(string, prefix) {
+ return this.prefixed(prefix);
+ }
+ /**
+ * Change value for old specs
+ */
+ ;
+
+ _proto.old = function old(prefix) {
+ var prefixed = this.prefixed(prefix);
+ if (!prefixed) return undefined;
+ return new OldValue(this.name, prefixed);
+ };
+
+ return DisplayFlex;
+}(Value);
+
+_defineProperty(DisplayFlex, "names", ['display-flex', 'inline-flex']);
+
+module.exports = DisplayFlex;
\ No newline at end of file
diff --git a/node_modules/autoprefixer/lib/hacks/display-grid.js b/node_modules/autoprefixer/lib/hacks/display-grid.js
new file mode 100644
index 0000000..4e6e500
--- /dev/null
+++ b/node_modules/autoprefixer/lib/hacks/display-grid.js
@@ -0,0 +1,41 @@
+"use strict";
+
+function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _defaults(subClass, superClass); }
+
+function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+var Value = require('../value');
+
+var DisplayGrid = /*#__PURE__*/function (_Value) {
+ _inheritsLoose(DisplayGrid, _Value);
+
+ function DisplayGrid(name, prefixes) {
+ var _this;
+
+ _this = _Value.call(this, name, prefixes) || this;
+
+ if (name === 'display-grid') {
+ _this.name = 'grid';
+ }
+
+ return _this;
+ }
+ /**
+ * Faster check for flex value
+ */
+
+
+ var _proto = DisplayGrid.prototype;
+
+ _proto.check = function check(decl) {
+ return decl.prop === 'display' && decl.value === this.name;
+ };
+
+ return DisplayGrid;
+}(Value);
+
+_defineProperty(DisplayGrid, "names", ['display-grid', 'inline-grid']);
+
+module.exports = DisplayGrid;
\ No newline at end of file
diff --git a/node_modules/autoprefixer/lib/hacks/filter-value.js b/node_modules/autoprefixer/lib/hacks/filter-value.js
new file mode 100644
index 0000000..2fd4239
--- /dev/null
+++ b/node_modules/autoprefixer/lib/hacks/filter-value.js
@@ -0,0 +1,31 @@
+"use strict";
+
+function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _defaults(subClass, superClass); }
+
+function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+var Value = require('../value');
+
+var FilterValue = /*#__PURE__*/function (_Value) {
+ _inheritsLoose(FilterValue, _Value);
+
+ function FilterValue(name, prefixes) {
+ var _this;
+
+ _this = _Value.call(this, name, prefixes) || this;
+
+ if (name === 'filter-function') {
+ _this.name = 'filter';
+ }
+
+ return _this;
+ }
+
+ return FilterValue;
+}(Value);
+
+_defineProperty(FilterValue, "names", ['filter', 'filter-function']);
+
+module.exports = FilterValue;
\ No newline at end of file
diff --git a/node_modules/autoprefixer/lib/hacks/filter.js b/node_modules/autoprefixer/lib/hacks/filter.js
new file mode 100644
index 0000000..3b8d345
--- /dev/null
+++ b/node_modules/autoprefixer/lib/hacks/filter.js
@@ -0,0 +1,33 @@
+"use strict";
+
+function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _defaults(subClass, superClass); }
+
+function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+var Declaration = require('../declaration');
+
+var Filter = /*#__PURE__*/function (_Declaration) {
+ _inheritsLoose(Filter, _Declaration);
+
+ function Filter() {
+ return _Declaration.apply(this, arguments) || this;
+ }
+
+ var _proto = Filter.prototype;
+
+ /**
+ * Check is it Internet Explorer filter
+ */
+ _proto.check = function check(decl) {
+ var v = decl.value;
+ return !v.toLowerCase().includes('alpha(') && !v.includes('DXImageTransform.Microsoft') && !v.includes('data:image/svg+xml');
+ };
+
+ return Filter;
+}(Declaration);
+
+_defineProperty(Filter, "names", ['filter']);
+
+module.exports = Filter;
\ No newline at end of file
diff --git a/node_modules/autoprefixer/lib/hacks/flex-basis.js b/node_modules/autoprefixer/lib/hacks/flex-basis.js
new file mode 100644
index 0000000..5bdef61
--- /dev/null
+++ b/node_modules/autoprefixer/lib/hacks/flex-basis.js
@@ -0,0 +1,72 @@
+"use strict";
+
+function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _defaults(subClass, superClass); }
+
+function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+var flexSpec = require('./flex-spec');
+
+var Declaration = require('../declaration');
+
+var FlexBasis = /*#__PURE__*/function (_Declaration) {
+ _inheritsLoose(FlexBasis, _Declaration);
+
+ function FlexBasis() {
+ return _Declaration.apply(this, arguments) || this;
+ }
+
+ var _proto = FlexBasis.prototype;
+
+ /**
+ * Return property name by final spec
+ */
+ _proto.normalize = function normalize() {
+ return 'flex-basis';
+ }
+ /**
+ * Return flex property for 2012 spec
+ */
+ ;
+
+ _proto.prefixed = function prefixed(prop, prefix) {
+ var spec;
+
+ var _flexSpec = flexSpec(prefix);
+
+ spec = _flexSpec[0];
+ prefix = _flexSpec[1];
+
+ if (spec === 2012) {
+ return prefix + 'flex-preferred-size';
+ }
+
+ return _Declaration.prototype.prefixed.call(this, prop, prefix);
+ }
+ /**
+ * Ignore 2009 spec and use flex property for 2012
+ */
+ ;
+
+ _proto.set = function set(decl, prefix) {
+ var spec;
+
+ var _flexSpec2 = flexSpec(prefix);
+
+ spec = _flexSpec2[0];
+ prefix = _flexSpec2[1];
+
+ if (spec === 2012 || spec === 'final') {
+ return _Declaration.prototype.set.call(this, decl, prefix);
+ }
+
+ return undefined;
+ };
+
+ return FlexBasis;
+}(Declaration);
+
+_defineProperty(FlexBasis, "names", ['flex-basis', 'flex-preferred-size']);
+
+module.exports = FlexBasis;
\ No newline at end of file
diff --git a/node_modules/autoprefixer/lib/hacks/flex-direction.js b/node_modules/autoprefixer/lib/hacks/flex-direction.js
new file mode 100644
index 0000000..e455770
--- /dev/null
+++ b/node_modules/autoprefixer/lib/hacks/flex-direction.js
@@ -0,0 +1,108 @@
+"use strict";
+
+function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _defaults(subClass, superClass); }
+
+function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+var flexSpec = require('./flex-spec');
+
+var Declaration = require('../declaration');
+
+var FlexDirection = /*#__PURE__*/function (_Declaration) {
+ _inheritsLoose(FlexDirection, _Declaration);
+
+ function FlexDirection() {
+ return _Declaration.apply(this, arguments) || this;
+ }
+
+ var _proto = FlexDirection.prototype;
+
+ /**
+ * Return property name by final spec
+ */
+ _proto.normalize = function normalize() {
+ return 'flex-direction';
+ }
+ /**
+ * Use two properties for 2009 spec
+ */
+ ;
+
+ _proto.insert = function insert(decl, prefix, prefixes) {
+ var spec;
+
+ var _flexSpec = flexSpec(prefix);
+
+ spec = _flexSpec[0];
+ prefix = _flexSpec[1];
+
+ if (spec !== 2009) {
+ return _Declaration.prototype.insert.call(this, decl, prefix, prefixes);
+ }
+
+ var already = decl.parent.some(function (i) {
+ return i.prop === prefix + 'box-orient' || i.prop === prefix + 'box-direction';
+ });
+
+ if (already) {
+ return undefined;
+ }
+
+ var v = decl.value;
+ var orient, dir;
+
+ if (v === 'inherit' || v === 'initial' || v === 'unset') {
+ orient = v;
+ dir = v;
+ } else {
+ orient = v.includes('row') ? 'horizontal' : 'vertical';
+ dir = v.includes('reverse') ? 'reverse' : 'normal';
+ }
+
+ var cloned = this.clone(decl);
+ cloned.prop = prefix + 'box-orient';
+ cloned.value = orient;
+
+ if (this.needCascade(decl)) {
+ cloned.raws.before = this.calcBefore(prefixes, decl, prefix);
+ }
+
+ decl.parent.insertBefore(decl, cloned);
+ cloned = this.clone(decl);
+ cloned.prop = prefix + 'box-direction';
+ cloned.value = dir;
+
+ if (this.needCascade(decl)) {
+ cloned.raws.before = this.calcBefore(prefixes, decl, prefix);
+ }
+
+ return decl.parent.insertBefore(decl, cloned);
+ }
+ /**
+ * Clean two properties for 2009 spec
+ */
+ ;
+
+ _proto.old = function old(prop, prefix) {
+ var spec;
+
+ var _flexSpec2 = flexSpec(prefix);
+
+ spec = _flexSpec2[0];
+ prefix = _flexSpec2[1];
+
+ if (spec === 2009) {
+ return [prefix + 'box-orient', prefix + 'box-direction'];
+ } else {
+ return _Declaration.prototype.old.call(this, prop, prefix);
+ }
+ };
+
+ return FlexDirection;
+}(Declaration);
+
+_defineProperty(FlexDirection, "names", ['flex-direction', 'box-direction', 'box-orient']);
+
+module.exports = FlexDirection;
\ No newline at end of file
diff --git a/node_modules/autoprefixer/lib/hacks/flex-flow.js b/node_modules/autoprefixer/lib/hacks/flex-flow.js
new file mode 100644
index 0000000..cf58487
--- /dev/null
+++ b/node_modules/autoprefixer/lib/hacks/flex-flow.js
@@ -0,0 +1,81 @@
+"use strict";
+
+function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _defaults(subClass, superClass); }
+
+function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+var flexSpec = require('./flex-spec');
+
+var Declaration = require('../declaration');
+
+var FlexFlow = /*#__PURE__*/function (_Declaration) {
+ _inheritsLoose(FlexFlow, _Declaration);
+
+ function FlexFlow() {
+ return _Declaration.apply(this, arguments) || this;
+ }
+
+ var _proto = FlexFlow.prototype;
+
+ /**
+ * Use two properties for 2009 spec
+ */
+ _proto.insert = function insert(decl, prefix, prefixes) {
+ var spec;
+
+ var _flexSpec = flexSpec(prefix);
+
+ spec = _flexSpec[0];
+ prefix = _flexSpec[1];
+
+ if (spec !== 2009) {
+ return _Declaration.prototype.insert.call(this, decl, prefix, prefixes);
+ }
+
+ var values = decl.value.split(/\s+/).filter(function (i) {
+ return i !== 'wrap' && i !== 'nowrap' && 'wrap-reverse';
+ });
+
+ if (values.length === 0) {
+ return undefined;
+ }
+
+ var already = decl.parent.some(function (i) {
+ return i.prop === prefix + 'box-orient' || i.prop === prefix + 'box-direction';
+ });
+
+ if (already) {
+ return undefined;
+ }
+
+ var value = values[0];
+ var orient = value.includes('row') ? 'horizontal' : 'vertical';
+ var dir = value.includes('reverse') ? 'reverse' : 'normal';
+ var cloned = this.clone(decl);
+ cloned.prop = prefix + 'box-orient';
+ cloned.value = orient;
+
+ if (this.needCascade(decl)) {
+ cloned.raws.before = this.calcBefore(prefixes, decl, prefix);
+ }
+
+ decl.parent.insertBefore(decl, cloned);
+ cloned = this.clone(decl);
+ cloned.prop = prefix + 'box-direction';
+ cloned.value = dir;
+
+ if (this.needCascade(decl)) {
+ cloned.raws.before = this.calcBefore(prefixes, decl, prefix);
+ }
+
+ return decl.parent.insertBefore(decl, cloned);
+ };
+
+ return FlexFlow;
+}(Declaration);
+
+_defineProperty(FlexFlow, "names", ['flex-flow', 'box-direction', 'box-orient']);
+
+module.exports = FlexFlow;
\ No newline at end of file
diff --git a/node_modules/autoprefixer/lib/hacks/flex-grow.js b/node_modules/autoprefixer/lib/hacks/flex-grow.js
new file mode 100644
index 0000000..068c763
--- /dev/null
+++ b/node_modules/autoprefixer/lib/hacks/flex-grow.js
@@ -0,0 +1,57 @@
+"use strict";
+
+function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _defaults(subClass, superClass); }
+
+function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+var flexSpec = require('./flex-spec');
+
+var Declaration = require('../declaration');
+
+var Flex = /*#__PURE__*/function (_Declaration) {
+ _inheritsLoose(Flex, _Declaration);
+
+ function Flex() {
+ return _Declaration.apply(this, arguments) || this;
+ }
+
+ var _proto = Flex.prototype;
+
+ /**
+ * Return property name by final spec
+ */
+ _proto.normalize = function normalize() {
+ return 'flex';
+ }
+ /**
+ * Return flex property for 2009 and 2012 specs
+ */
+ ;
+
+ _proto.prefixed = function prefixed(prop, prefix) {
+ var spec;
+
+ var _flexSpec = flexSpec(prefix);
+
+ spec = _flexSpec[0];
+ prefix = _flexSpec[1];
+
+ if (spec === 2009) {
+ return prefix + 'box-flex';
+ }
+
+ if (spec === 2012) {
+ return prefix + 'flex-positive';
+ }
+
+ return _Declaration.prototype.prefixed.call(this, prop, prefix);
+ };
+
+ return Flex;
+}(Declaration);
+
+_defineProperty(Flex, "names", ['flex-grow', 'flex-positive']);
+
+module.exports = Flex;
\ No newline at end of file
diff --git a/node_modules/autoprefixer/lib/hacks/flex-shrink.js b/node_modules/autoprefixer/lib/hacks/flex-shrink.js
new file mode 100644
index 0000000..c8a12af
--- /dev/null
+++ b/node_modules/autoprefixer/lib/hacks/flex-shrink.js
@@ -0,0 +1,72 @@
+"use strict";
+
+function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _defaults(subClass, superClass); }
+
+function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+var flexSpec = require('./flex-spec');
+
+var Declaration = require('../declaration');
+
+var FlexShrink = /*#__PURE__*/function (_Declaration) {
+ _inheritsLoose(FlexShrink, _Declaration);
+
+ function FlexShrink() {
+ return _Declaration.apply(this, arguments) || this;
+ }
+
+ var _proto = FlexShrink.prototype;
+
+ /**
+ * Return property name by final spec
+ */
+ _proto.normalize = function normalize() {
+ return 'flex-shrink';
+ }
+ /**
+ * Return flex property for 2012 spec
+ */
+ ;
+
+ _proto.prefixed = function prefixed(prop, prefix) {
+ var spec;
+
+ var _flexSpec = flexSpec(prefix);
+
+ spec = _flexSpec[0];
+ prefix = _flexSpec[1];
+
+ if (spec === 2012) {
+ return prefix + 'flex-negative';
+ }
+
+ return _Declaration.prototype.prefixed.call(this, prop, prefix);
+ }
+ /**
+ * Ignore 2009 spec and use flex property for 2012
+ */
+ ;
+
+ _proto.set = function set(decl, prefix) {
+ var spec;
+
+ var _flexSpec2 = flexSpec(prefix);
+
+ spec = _flexSpec2[0];
+ prefix = _flexSpec2[1];
+
+ if (spec === 2012 || spec === 'final') {
+ return _Declaration.prototype.set.call(this, decl, prefix);
+ }
+
+ return undefined;
+ };
+
+ return FlexShrink;
+}(Declaration);
+
+_defineProperty(FlexShrink, "names", ['flex-shrink', 'flex-negative']);
+
+module.exports = FlexShrink;
\ No newline at end of file
diff --git a/node_modules/autoprefixer/lib/hacks/flex-spec.js b/node_modules/autoprefixer/lib/hacks/flex-spec.js
new file mode 100644
index 0000000..d73027a
--- /dev/null
+++ b/node_modules/autoprefixer/lib/hacks/flex-spec.js
@@ -0,0 +1,22 @@
+"use strict";
+
+/**
+ * Return flexbox spec versions by prefix
+ */
+module.exports = function (prefix) {
+ var spec;
+
+ if (prefix === '-webkit- 2009' || prefix === '-moz-') {
+ spec = 2009;
+ } else if (prefix === '-ms-') {
+ spec = 2012;
+ } else if (prefix === '-webkit-') {
+ spec = 'final';
+ }
+
+ if (prefix === '-webkit- 2009') {
+ prefix = '-webkit-';
+ }
+
+ return [spec, prefix];
+};
\ No newline at end of file
diff --git a/node_modules/autoprefixer/lib/hacks/flex-wrap.js b/node_modules/autoprefixer/lib/hacks/flex-wrap.js
new file mode 100644
index 0000000..216431b
--- /dev/null
+++ b/node_modules/autoprefixer/lib/hacks/flex-wrap.js
@@ -0,0 +1,40 @@
+"use strict";
+
+function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _defaults(subClass, superClass); }
+
+function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+var flexSpec = require('./flex-spec');
+
+var Declaration = require('../declaration');
+
+var FlexWrap = /*#__PURE__*/function (_Declaration) {
+ _inheritsLoose(FlexWrap, _Declaration);
+
+ function FlexWrap() {
+ return _Declaration.apply(this, arguments) || this;
+ }
+
+ var _proto = FlexWrap.prototype;
+
+ /**
+ * Don't add prefix for 2009 spec
+ */
+ _proto.set = function set(decl, prefix) {
+ var spec = flexSpec(prefix)[0];
+
+ if (spec !== 2009) {
+ return _Declaration.prototype.set.call(this, decl, prefix);
+ }
+
+ return undefined;
+ };
+
+ return FlexWrap;
+}(Declaration);
+
+_defineProperty(FlexWrap, "names", ['flex-wrap']);
+
+module.exports = FlexWrap;
\ No newline at end of file
diff --git a/node_modules/autoprefixer/lib/hacks/flex.js b/node_modules/autoprefixer/lib/hacks/flex.js
new file mode 100644
index 0000000..76eee2c
--- /dev/null
+++ b/node_modules/autoprefixer/lib/hacks/flex.js
@@ -0,0 +1,85 @@
+"use strict";
+
+function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _defaults(subClass, superClass); }
+
+function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+var list = require('postcss').list;
+
+var flexSpec = require('./flex-spec');
+
+var Declaration = require('../declaration');
+
+var Flex = /*#__PURE__*/function (_Declaration) {
+ _inheritsLoose(Flex, _Declaration);
+
+ function Flex() {
+ return _Declaration.apply(this, arguments) || this;
+ }
+
+ var _proto = Flex.prototype;
+
+ /**
+ * Change property name for 2009 spec
+ */
+ _proto.prefixed = function prefixed(prop, prefix) {
+ var spec;
+
+ var _flexSpec = flexSpec(prefix);
+
+ spec = _flexSpec[0];
+ prefix = _flexSpec[1];
+
+ if (spec === 2009) {
+ return prefix + 'box-flex';
+ }
+
+ return _Declaration.prototype.prefixed.call(this, prop, prefix);
+ }
+ /**
+ * Return property name by final spec
+ */
+ ;
+
+ _proto.normalize = function normalize() {
+ return 'flex';
+ }
+ /**
+ * Spec 2009 supports only first argument
+ * Spec 2012 disallows unitless basis
+ */
+ ;
+
+ _proto.set = function set(decl, prefix) {
+ var spec = flexSpec(prefix)[0];
+
+ if (spec === 2009) {
+ decl.value = list.space(decl.value)[0];
+ decl.value = Flex.oldValues[decl.value] || decl.value;
+ return _Declaration.prototype.set.call(this, decl, prefix);
+ }
+
+ if (spec === 2012) {
+ var components = list.space(decl.value);
+
+ if (components.length === 3 && components[2] === '0') {
+ decl.value = components.slice(0, 2).concat('0px').join(' ');
+ }
+ }
+
+ return _Declaration.prototype.set.call(this, decl, prefix);
+ };
+
+ return Flex;
+}(Declaration);
+
+_defineProperty(Flex, "names", ['flex', 'box-flex']);
+
+_defineProperty(Flex, "oldValues", {
+ auto: '1',
+ none: '0'
+});
+
+module.exports = Flex;
\ No newline at end of file
diff --git a/node_modules/autoprefixer/lib/hacks/fullscreen.js b/node_modules/autoprefixer/lib/hacks/fullscreen.js
new file mode 100644
index 0000000..120ee04
--- /dev/null
+++ b/node_modules/autoprefixer/lib/hacks/fullscreen.js
@@ -0,0 +1,40 @@
+"use strict";
+
+function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _defaults(subClass, superClass); }
+
+function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+var Selector = require('../selector');
+
+var Fullscreen = /*#__PURE__*/function (_Selector) {
+ _inheritsLoose(Fullscreen, _Selector);
+
+ function Fullscreen() {
+ return _Selector.apply(this, arguments) || this;
+ }
+
+ var _proto = Fullscreen.prototype;
+
+ /**
+ * Return different selectors depend on prefix
+ */
+ _proto.prefixed = function prefixed(prefix) {
+ if (prefix === '-webkit-') {
+ return ':-webkit-full-screen';
+ }
+
+ if (prefix === '-moz-') {
+ return ':-moz-full-screen';
+ }
+
+ return ":" + prefix + "fullscreen";
+ };
+
+ return Fullscreen;
+}(Selector);
+
+_defineProperty(Fullscreen, "names", [':fullscreen']);
+
+module.exports = Fullscreen;
\ No newline at end of file
diff --git a/node_modules/autoprefixer/lib/hacks/gradient.js b/node_modules/autoprefixer/lib/hacks/gradient.js
new file mode 100644
index 0000000..ce18b54
--- /dev/null
+++ b/node_modules/autoprefixer/lib/hacks/gradient.js
@@ -0,0 +1,519 @@
+"use strict";
+
+function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } it = o[Symbol.iterator](); return it.next.bind(it); }
+
+function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
+
+function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
+
+function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
+
+function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _defaults(subClass, superClass); }
+
+function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+var parser = require('postcss-value-parser');
+
+var range = require('normalize-range');
+
+var OldValue = require('../old-value');
+
+var Value = require('../value');
+
+var utils = require('../utils');
+
+var IS_DIRECTION = /top|left|right|bottom/gi;
+
+var Gradient = /*#__PURE__*/function (_Value) {
+ _inheritsLoose(Gradient, _Value);
+
+ function Gradient() {
+ var _this;
+
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
+ args[_key] = arguments[_key];
+ }
+
+ _this = _Value.call.apply(_Value, [this].concat(args)) || this;
+
+ _defineProperty(_assertThisInitialized(_this), "directions", {
+ top: 'bottom',
+ left: 'right',
+ bottom: 'top',
+ right: 'left'
+ });
+
+ _defineProperty(_assertThisInitialized(_this), "oldDirections", {
+ 'top': 'left bottom, left top',
+ 'left': 'right top, left top',
+ 'bottom': 'left top, left bottom',
+ 'right': 'left top, right top',
+ 'top right': 'left bottom, right top',
+ 'top left': 'right bottom, left top',
+ 'right top': 'left bottom, right top',
+ 'right bottom': 'left top, right bottom',
+ 'bottom right': 'left top, right bottom',
+ 'bottom left': 'right top, left bottom',
+ 'left top': 'right bottom, left top',
+ 'left bottom': 'right top, left bottom'
+ });
+
+ return _this;
+ }
+
+ var _proto = Gradient.prototype;
+
+ /**
+ * Change degrees for webkit prefix
+ */
+ _proto.replace = function replace(string, prefix) {
+ var ast = parser(string);
+
+ for (var _iterator = _createForOfIteratorHelperLoose(ast.nodes), _step; !(_step = _iterator()).done;) {
+ var node = _step.value;
+
+ if (node.type === 'function' && node.value === this.name) {
+ node.nodes = this.newDirection(node.nodes);
+ node.nodes = this.normalize(node.nodes);
+
+ if (prefix === '-webkit- old') {
+ var changes = this.oldWebkit(node);
+
+ if (!changes) {
+ return false;
+ }
+ } else {
+ node.nodes = this.convertDirection(node.nodes);
+ node.value = prefix + node.value;
+ }
+ }
+ }
+
+ return ast.toString();
+ }
+ /**
+ * Replace first token
+ */
+ ;
+
+ _proto.replaceFirst = function replaceFirst(params) {
+ for (var _len2 = arguments.length, words = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
+ words[_key2 - 1] = arguments[_key2];
+ }
+
+ var prefix = words.map(function (i) {
+ if (i === ' ') {
+ return {
+ type: 'space',
+ value: i
+ };
+ }
+
+ return {
+ type: 'word',
+ value: i
+ };
+ });
+ return prefix.concat(params.slice(1));
+ }
+ /**
+ * Convert angle unit to deg
+ */
+ ;
+
+ _proto.normalizeUnit = function normalizeUnit(str, full) {
+ var num = parseFloat(str);
+ var deg = num / full * 360;
+ return deg + "deg";
+ }
+ /**
+ * Normalize angle
+ */
+ ;
+
+ _proto.normalize = function normalize(nodes) {
+ if (!nodes[0]) return nodes;
+
+ if (/-?\d+(.\d+)?grad/.test(nodes[0].value)) {
+ nodes[0].value = this.normalizeUnit(nodes[0].value, 400);
+ } else if (/-?\d+(.\d+)?rad/.test(nodes[0].value)) {
+ nodes[0].value = this.normalizeUnit(nodes[0].value, 2 * Math.PI);
+ } else if (/-?\d+(.\d+)?turn/.test(nodes[0].value)) {
+ nodes[0].value = this.normalizeUnit(nodes[0].value, 1);
+ } else if (nodes[0].value.includes('deg')) {
+ var num = parseFloat(nodes[0].value);
+ num = range.wrap(0, 360, num);
+ nodes[0].value = num + "deg";
+ }
+
+ if (nodes[0].value === '0deg') {
+ nodes = this.replaceFirst(nodes, 'to', ' ', 'top');
+ } else if (nodes[0].value === '90deg') {
+ nodes = this.replaceFirst(nodes, 'to', ' ', 'right');
+ } else if (nodes[0].value === '180deg') {
+ nodes = this.replaceFirst(nodes, 'to', ' ', 'bottom');
+ } else if (nodes[0].value === '270deg') {
+ nodes = this.replaceFirst(nodes, 'to', ' ', 'left');
+ }
+
+ return nodes;
+ }
+ /**
+ * Replace old direction to new
+ */
+ ;
+
+ _proto.newDirection = function newDirection(params) {
+ if (params[0].value === 'to') {
+ return params;
+ }
+
+ IS_DIRECTION.lastIndex = 0; // reset search index of global regexp
+
+ if (!IS_DIRECTION.test(params[0].value)) {
+ return params;
+ }
+
+ params.unshift({
+ type: 'word',
+ value: 'to'
+ }, {
+ type: 'space',
+ value: ' '
+ });
+
+ for (var i = 2; i < params.length; i++) {
+ if (params[i].type === 'div') {
+ break;
+ }
+
+ if (params[i].type === 'word') {
+ params[i].value = this.revertDirection(params[i].value);
+ }
+ }
+
+ return params;
+ }
+ /**
+ * Look for at word
+ */
+ ;
+
+ _proto.isRadial = function isRadial(params) {
+ var state = 'before';
+
+ for (var _iterator2 = _createForOfIteratorHelperLoose(params), _step2; !(_step2 = _iterator2()).done;) {
+ var param = _step2.value;
+
+ if (state === 'before' && param.type === 'space') {
+ state = 'at';
+ } else if (state === 'at' && param.value === 'at') {
+ state = 'after';
+ } else if (state === 'after' && param.type === 'space') {
+ return true;
+ } else if (param.type === 'div') {
+ break;
+ } else {
+ state = 'before';
+ }
+ }
+
+ return false;
+ }
+ /**
+ * Change new direction to old
+ */
+ ;
+
+ _proto.convertDirection = function convertDirection(params) {
+ if (params.length > 0) {
+ if (params[0].value === 'to') {
+ this.fixDirection(params);
+ } else if (params[0].value.includes('deg')) {
+ this.fixAngle(params);
+ } else if (this.isRadial(params)) {
+ this.fixRadial(params);
+ }
+ }
+
+ return params;
+ }
+ /**
+ * Replace `to top left` to `bottom right`
+ */
+ ;
+
+ _proto.fixDirection = function fixDirection(params) {
+ params.splice(0, 2);
+
+ for (var _iterator3 = _createForOfIteratorHelperLoose(params), _step3; !(_step3 = _iterator3()).done;) {
+ var param = _step3.value;
+
+ if (param.type === 'div') {
+ break;
+ }
+
+ if (param.type === 'word') {
+ param.value = this.revertDirection(param.value);
+ }
+ }
+ }
+ /**
+ * Add 90 degrees
+ */
+ ;
+
+ _proto.fixAngle = function fixAngle(params) {
+ var first = params[0].value;
+ first = parseFloat(first);
+ first = Math.abs(450 - first) % 360;
+ first = this.roundFloat(first, 3);
+ params[0].value = first + "deg";
+ }
+ /**
+ * Fix radial direction syntax
+ */
+ ;
+
+ _proto.fixRadial = function fixRadial(params) {
+ var first = [];
+ var second = [];
+ var a, b, c, i, next;
+
+ for (i = 0; i < params.length - 2; i++) {
+ a = params[i];
+ b = params[i + 1];
+ c = params[i + 2];
+
+ if (a.type === 'space' && b.value === 'at' && c.type === 'space') {
+ next = i + 3;
+ break;
+ } else {
+ first.push(a);
+ }
+ }
+
+ var div;
+
+ for (i = next; i < params.length; i++) {
+ if (params[i].type === 'div') {
+ div = params[i];
+ break;
+ } else {
+ second.push(params[i]);
+ }
+ }
+
+ params.splice.apply(params, [0, i].concat(second, [div], first));
+ };
+
+ _proto.revertDirection = function revertDirection(word) {
+ return this.directions[word.toLowerCase()] || word;
+ }
+ /**
+ * Round float and save digits under dot
+ */
+ ;
+
+ _proto.roundFloat = function roundFloat(_float, digits) {
+ return parseFloat(_float.toFixed(digits));
+ }
+ /**
+ * Convert to old webkit syntax
+ */
+ ;
+
+ _proto.oldWebkit = function oldWebkit(node) {
+ var nodes = node.nodes;
+ var string = parser.stringify(node.nodes);
+
+ if (this.name !== 'linear-gradient') {
+ return false;
+ }
+
+ if (nodes[0] && nodes[0].value.includes('deg')) {
+ return false;
+ }
+
+ if (string.includes('px') || string.includes('-corner') || string.includes('-side')) {
+ return false;
+ }
+
+ var params = [[]];
+
+ for (var _iterator4 = _createForOfIteratorHelperLoose(nodes), _step4; !(_step4 = _iterator4()).done;) {
+ var i = _step4.value;
+ params[params.length - 1].push(i);
+
+ if (i.type === 'div' && i.value === ',') {
+ params.push([]);
+ }
+ }
+
+ this.oldDirection(params);
+ this.colorStops(params);
+ node.nodes = [];
+
+ for (var _i = 0, _params = params; _i < _params.length; _i++) {
+ var param = _params[_i];
+ node.nodes = node.nodes.concat(param);
+ }
+
+ node.nodes.unshift({
+ type: 'word',
+ value: 'linear'
+ }, this.cloneDiv(node.nodes));
+ node.value = '-webkit-gradient';
+ return true;
+ }
+ /**
+ * Change direction syntax to old webkit
+ */
+ ;
+
+ _proto.oldDirection = function oldDirection(params) {
+ var div = this.cloneDiv(params[0]);
+
+ if (params[0][0].value !== 'to') {
+ return params.unshift([{
+ type: 'word',
+ value: this.oldDirections.bottom
+ }, div]);
+ } else {
+ var words = [];
+
+ for (var _iterator5 = _createForOfIteratorHelperLoose(params[0].slice(2)), _step5; !(_step5 = _iterator5()).done;) {
+ var node = _step5.value;
+
+ if (node.type === 'word') {
+ words.push(node.value.toLowerCase());
+ }
+ }
+
+ words = words.join(' ');
+ var old = this.oldDirections[words] || words;
+ params[0] = [{
+ type: 'word',
+ value: old
+ }, div];
+ return params[0];
+ }
+ }
+ /**
+ * Get div token from exists parameters
+ */
+ ;
+
+ _proto.cloneDiv = function cloneDiv(params) {
+ for (var _iterator6 = _createForOfIteratorHelperLoose(params), _step6; !(_step6 = _iterator6()).done;) {
+ var i = _step6.value;
+
+ if (i.type === 'div' && i.value === ',') {
+ return i;
+ }
+ }
+
+ return {
+ type: 'div',
+ value: ',',
+ after: ' '
+ };
+ }
+ /**
+ * Change colors syntax to old webkit
+ */
+ ;
+
+ _proto.colorStops = function colorStops(params) {
+ var result = [];
+
+ for (var i = 0; i < params.length; i++) {
+ var pos = void 0;
+ var param = params[i];
+ var item = void 0;
+
+ if (i === 0) {
+ continue;
+ }
+
+ var color = parser.stringify(param[0]);
+
+ if (param[1] && param[1].type === 'word') {
+ pos = param[1].value;
+ } else if (param[2] && param[2].type === 'word') {
+ pos = param[2].value;
+ }
+
+ var stop = void 0;
+
+ if (i === 1 && (!pos || pos === '0%')) {
+ stop = "from(" + color + ")";
+ } else if (i === params.length - 1 && (!pos || pos === '100%')) {
+ stop = "to(" + color + ")";
+ } else if (pos) {
+ stop = "color-stop(" + pos + ", " + color + ")";
+ } else {
+ stop = "color-stop(" + color + ")";
+ }
+
+ var div = param[param.length - 1];
+ params[i] = [{
+ type: 'word',
+ value: stop
+ }];
+
+ if (div.type === 'div' && div.value === ',') {
+ item = params[i].push(div);
+ }
+
+ result.push(item);
+ }
+
+ return result;
+ }
+ /**
+ * Remove old WebKit gradient too
+ */
+ ;
+
+ _proto.old = function old(prefix) {
+ if (prefix === '-webkit-') {
+ var type = this.name === 'linear-gradient' ? 'linear' : 'radial';
+ var string = '-gradient';
+ var regexp = utils.regexp("-webkit-(" + type + "-gradient|gradient\\(\\s*" + type + ")", false);
+ return new OldValue(this.name, prefix + this.name, string, regexp);
+ } else {
+ return _Value.prototype.old.call(this, prefix);
+ }
+ }
+ /**
+ * Do not add non-webkit prefixes for list-style and object
+ */
+ ;
+
+ _proto.add = function add(decl, prefix) {
+ var p = decl.prop;
+
+ if (p.includes('mask')) {
+ if (prefix === '-webkit-' || prefix === '-webkit- old') {
+ return _Value.prototype.add.call(this, decl, prefix);
+ }
+ } else if (p === 'list-style' || p === 'list-style-image' || p === 'content') {
+ if (prefix === '-webkit-' || prefix === '-webkit- old') {
+ return _Value.prototype.add.call(this, decl, prefix);
+ }
+ } else {
+ return _Value.prototype.add.call(this, decl, prefix);
+ }
+
+ return undefined;
+ };
+
+ return Gradient;
+}(Value);
+
+_defineProperty(Gradient, "names", ['linear-gradient', 'repeating-linear-gradient', 'radial-gradient', 'repeating-radial-gradient']);
+
+module.exports = Gradient;
\ No newline at end of file
diff --git a/node_modules/autoprefixer/lib/hacks/grid-area.js b/node_modules/autoprefixer/lib/hacks/grid-area.js
new file mode 100644
index 0000000..cdedf2c
--- /dev/null
+++ b/node_modules/autoprefixer/lib/hacks/grid-area.js
@@ -0,0 +1,52 @@
+"use strict";
+
+function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _defaults(subClass, superClass); }
+
+function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+var Declaration = require('../declaration');
+
+var utils = require('./grid-utils');
+
+var GridArea = /*#__PURE__*/function (_Declaration) {
+ _inheritsLoose(GridArea, _Declaration);
+
+ function GridArea() {
+ return _Declaration.apply(this, arguments) || this;
+ }
+
+ var _proto = GridArea.prototype;
+
+ /**
+ * Translate grid-area to separate -ms- prefixed properties
+ */
+ _proto.insert = function insert(decl, prefix, prefixes, result) {
+ if (prefix !== '-ms-') return _Declaration.prototype.insert.call(this, decl, prefix, prefixes);
+ var values = utils.parse(decl);
+
+ var _utils$translate = utils.translate(values, 0, 2),
+ rowStart = _utils$translate[0],
+ rowSpan = _utils$translate[1];
+
+ var _utils$translate2 = utils.translate(values, 1, 3),
+ columnStart = _utils$translate2[0],
+ columnSpan = _utils$translate2[1];
+
+ [['grid-row', rowStart], ['grid-row-span', rowSpan], ['grid-column', columnStart], ['grid-column-span', columnSpan]].forEach(function (_ref) {
+ var prop = _ref[0],
+ value = _ref[1];
+ utils.insertDecl(decl, prop, value);
+ });
+ utils.warnTemplateSelectorNotFound(decl, result);
+ utils.warnIfGridRowColumnExists(decl, result);
+ return undefined;
+ };
+
+ return GridArea;
+}(Declaration);
+
+_defineProperty(GridArea, "names", ['grid-area']);
+
+module.exports = GridArea;
\ No newline at end of file
diff --git a/node_modules/autoprefixer/lib/hacks/grid-column-align.js b/node_modules/autoprefixer/lib/hacks/grid-column-align.js
new file mode 100644
index 0000000..c34a735
--- /dev/null
+++ b/node_modules/autoprefixer/lib/hacks/grid-column-align.js
@@ -0,0 +1,48 @@
+"use strict";
+
+function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _defaults(subClass, superClass); }
+
+function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+var Declaration = require('../declaration');
+
+var GridColumnAlign = /*#__PURE__*/function (_Declaration) {
+ _inheritsLoose(GridColumnAlign, _Declaration);
+
+ function GridColumnAlign() {
+ return _Declaration.apply(this, arguments) || this;
+ }
+
+ var _proto = GridColumnAlign.prototype;
+
+ /**
+ * Do not prefix flexbox values
+ */
+ _proto.check = function check(decl) {
+ return !decl.value.includes('flex-') && decl.value !== 'baseline';
+ }
+ /**
+ * Change property name for IE
+ */
+ ;
+
+ _proto.prefixed = function prefixed(prop, prefix) {
+ return prefix + 'grid-column-align';
+ }
+ /**
+ * Change IE property back
+ */
+ ;
+
+ _proto.normalize = function normalize() {
+ return 'justify-self';
+ };
+
+ return GridColumnAlign;
+}(Declaration);
+
+_defineProperty(GridColumnAlign, "names", ['grid-column-align']);
+
+module.exports = GridColumnAlign;
\ No newline at end of file
diff --git a/node_modules/autoprefixer/lib/hacks/grid-end.js b/node_modules/autoprefixer/lib/hacks/grid-end.js
new file mode 100644
index 0000000..7c7b710
--- /dev/null
+++ b/node_modules/autoprefixer/lib/hacks/grid-end.js
@@ -0,0 +1,62 @@
+"use strict";
+
+function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _defaults(subClass, superClass); }
+
+function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+var Declaration = require('../declaration');
+
+var GridEnd = /*#__PURE__*/function (_Declaration) {
+ _inheritsLoose(GridEnd, _Declaration);
+
+ function GridEnd() {
+ return _Declaration.apply(this, arguments) || this;
+ }
+
+ var _proto = GridEnd.prototype;
+
+ /**
+ * Change repeating syntax for IE
+ */
+ _proto.insert = function insert(decl, prefix, prefixes, result) {
+ if (prefix !== '-ms-') return _Declaration.prototype.insert.call(this, decl, prefix, prefixes);
+ var clonedDecl = this.clone(decl);
+ var startProp = decl.prop.replace(/end$/, 'start');
+ var spanProp = prefix + decl.prop.replace(/end$/, 'span');
+
+ if (decl.parent.some(function (i) {
+ return i.prop === spanProp;
+ })) {
+ return undefined;
+ }
+
+ clonedDecl.prop = spanProp;
+
+ if (decl.value.includes('span')) {
+ clonedDecl.value = decl.value.replace(/span\s/i, '');
+ } else {
+ var startDecl;
+ decl.parent.walkDecls(startProp, function (d) {
+ startDecl = d;
+ });
+
+ if (startDecl) {
+ var value = Number(decl.value) - Number(startDecl.value) + '';
+ clonedDecl.value = value;
+ } else {
+ decl.warn(result, "Can not prefix " + decl.prop + " (" + startProp + " is not found)");
+ }
+ }
+
+ decl.cloneBefore(clonedDecl);
+ return undefined;
+ };
+
+ return GridEnd;
+}(Declaration);
+
+_defineProperty(GridEnd, "names", ['grid-row-end', 'grid-column-end']);
+
+module.exports = GridEnd;
\ No newline at end of file
diff --git a/node_modules/autoprefixer/lib/hacks/grid-row-align.js b/node_modules/autoprefixer/lib/hacks/grid-row-align.js
new file mode 100644
index 0000000..735c9ed
--- /dev/null
+++ b/node_modules/autoprefixer/lib/hacks/grid-row-align.js
@@ -0,0 +1,48 @@
+"use strict";
+
+function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _defaults(subClass, superClass); }
+
+function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+var Declaration = require('../declaration');
+
+var GridRowAlign = /*#__PURE__*/function (_Declaration) {
+ _inheritsLoose(GridRowAlign, _Declaration);
+
+ function GridRowAlign() {
+ return _Declaration.apply(this, arguments) || this;
+ }
+
+ var _proto = GridRowAlign.prototype;
+
+ /**
+ * Do not prefix flexbox values
+ */
+ _proto.check = function check(decl) {
+ return !decl.value.includes('flex-') && decl.value !== 'baseline';
+ }
+ /**
+ * Change property name for IE
+ */
+ ;
+
+ _proto.prefixed = function prefixed(prop, prefix) {
+ return prefix + 'grid-row-align';
+ }
+ /**
+ * Change IE property back
+ */
+ ;
+
+ _proto.normalize = function normalize() {
+ return 'align-self';
+ };
+
+ return GridRowAlign;
+}(Declaration);
+
+_defineProperty(GridRowAlign, "names", ['grid-row-align']);
+
+module.exports = GridRowAlign;
\ No newline at end of file
diff --git a/node_modules/autoprefixer/lib/hacks/grid-row-column.js b/node_modules/autoprefixer/lib/hacks/grid-row-column.js
new file mode 100644
index 0000000..5736cd2
--- /dev/null
+++ b/node_modules/autoprefixer/lib/hacks/grid-row-column.js
@@ -0,0 +1,52 @@
+"use strict";
+
+function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _defaults(subClass, superClass); }
+
+function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+var Declaration = require('../declaration');
+
+var utils = require('./grid-utils');
+
+var GridRowColumn = /*#__PURE__*/function (_Declaration) {
+ _inheritsLoose(GridRowColumn, _Declaration);
+
+ function GridRowColumn() {
+ return _Declaration.apply(this, arguments) || this;
+ }
+
+ var _proto = GridRowColumn.prototype;
+
+ /**
+ * Translate grid-row / grid-column to separate -ms- prefixed properties
+ */
+ _proto.insert = function insert(decl, prefix, prefixes) {
+ if (prefix !== '-ms-') return _Declaration.prototype.insert.call(this, decl, prefix, prefixes);
+ var values = utils.parse(decl);
+
+ var _utils$translate = utils.translate(values, 0, 1),
+ start = _utils$translate[0],
+ span = _utils$translate[1];
+
+ var hasStartValueSpan = values[0] && values[0].includes('span');
+
+ if (hasStartValueSpan) {
+ span = values[0].join('').replace(/\D/g, '');
+ }
+
+ [[decl.prop, start], [decl.prop + "-span", span]].forEach(function (_ref) {
+ var prop = _ref[0],
+ value = _ref[1];
+ utils.insertDecl(decl, prop, value);
+ });
+ return undefined;
+ };
+
+ return GridRowColumn;
+}(Declaration);
+
+_defineProperty(GridRowColumn, "names", ['grid-row', 'grid-column']);
+
+module.exports = GridRowColumn;
\ No newline at end of file
diff --git a/node_modules/autoprefixer/lib/hacks/grid-rows-columns.js b/node_modules/autoprefixer/lib/hacks/grid-rows-columns.js
new file mode 100644
index 0000000..2781133
--- /dev/null
+++ b/node_modules/autoprefixer/lib/hacks/grid-rows-columns.js
@@ -0,0 +1,149 @@
+"use strict";
+
+function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _defaults(subClass, superClass); }
+
+function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+var Declaration = require('../declaration');
+
+var _require = require('./grid-utils'),
+ prefixTrackProp = _require.prefixTrackProp,
+ prefixTrackValue = _require.prefixTrackValue,
+ autoplaceGridItems = _require.autoplaceGridItems,
+ getGridGap = _require.getGridGap,
+ inheritGridGap = _require.inheritGridGap;
+
+var Processor = require('../processor');
+
+var GridRowsColumns = /*#__PURE__*/function (_Declaration) {
+ _inheritsLoose(GridRowsColumns, _Declaration);
+
+ function GridRowsColumns() {
+ return _Declaration.apply(this, arguments) || this;
+ }
+
+ var _proto = GridRowsColumns.prototype;
+
+ /**
+ * Change property name for IE
+ */
+ _proto.prefixed = function prefixed(prop, prefix) {
+ if (prefix === '-ms-') {
+ return prefixTrackProp({
+ prop: prop,
+ prefix: prefix
+ });
+ }
+
+ return _Declaration.prototype.prefixed.call(this, prop, prefix);
+ }
+ /**
+ * Change IE property back
+ */
+ ;
+
+ _proto.normalize = function normalize(prop) {
+ return prop.replace(/^grid-(rows|columns)/, 'grid-template-$1');
+ };
+
+ _proto.insert = function insert(decl, prefix, prefixes, result) {
+ if (prefix !== '-ms-') return _Declaration.prototype.insert.call(this, decl, prefix, prefixes);
+ var parent = decl.parent,
+ prop = decl.prop,
+ value = decl.value;
+ var isRowProp = prop.includes('rows');
+ var isColumnProp = prop.includes('columns');
+ var hasGridTemplate = parent.some(function (i) {
+ return i.prop === 'grid-template' || i.prop === 'grid-template-areas';
+ });
+ /**
+ * Not to prefix rows declaration if grid-template(-areas) is present
+ */
+
+ if (hasGridTemplate && isRowProp) {
+ return false;
+ }
+
+ var processor = new Processor({
+ options: {}
+ });
+ var status = processor.gridStatus(parent, result);
+ var gap = getGridGap(decl);
+ gap = inheritGridGap(decl, gap) || gap;
+ var gapValue = isRowProp ? gap.row : gap.column;
+
+ if ((status === 'no-autoplace' || status === true) && !hasGridTemplate) {
+ gapValue = null;
+ }
+
+ var prefixValue = prefixTrackValue({
+ value: value,
+ gap: gapValue
+ });
+ /**
+ * Insert prefixes
+ */
+
+ decl.cloneBefore({
+ prop: prefixTrackProp({
+ prop: prop,
+ prefix: prefix
+ }),
+ value: prefixValue
+ });
+ var autoflow = parent.nodes.find(function (i) {
+ return i.prop === 'grid-auto-flow';
+ });
+ var autoflowValue = 'row';
+
+ if (autoflow && !processor.disabled(autoflow, result)) {
+ autoflowValue = autoflow.value.trim();
+ }
+
+ if (status === 'autoplace') {
+ /**
+ * Show warning if grid-template-rows decl is not found
+ */
+ var rowDecl = parent.nodes.find(function (i) {
+ return i.prop === 'grid-template-rows';
+ });
+
+ if (!rowDecl && hasGridTemplate) {
+ return undefined;
+ } else if (!rowDecl && !hasGridTemplate) {
+ decl.warn(result, 'Autoplacement does not work without grid-template-rows property');
+ return undefined;
+ }
+ /**
+ * Show warning if grid-template-columns decl is not found
+ */
+
+
+ var columnDecl = parent.nodes.find(function (i) {
+ return i.prop === 'grid-template-columns';
+ });
+
+ if (!columnDecl && !hasGridTemplate) {
+ decl.warn(result, 'Autoplacement does not work without grid-template-columns property');
+ }
+ /**
+ * Autoplace grid items
+ */
+
+
+ if (isColumnProp && !hasGridTemplate) {
+ autoplaceGridItems(decl, result, gap, autoflowValue);
+ }
+ }
+
+ return undefined;
+ };
+
+ return GridRowsColumns;
+}(Declaration);
+
+_defineProperty(GridRowsColumns, "names", ['grid-template-rows', 'grid-template-columns', 'grid-rows', 'grid-columns']);
+
+module.exports = GridRowsColumns;
\ No newline at end of file
diff --git a/node_modules/autoprefixer/lib/hacks/grid-start.js b/node_modules/autoprefixer/lib/hacks/grid-start.js
new file mode 100644
index 0000000..bdc318d
--- /dev/null
+++ b/node_modules/autoprefixer/lib/hacks/grid-start.js
@@ -0,0 +1,55 @@
+"use strict";
+
+function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _defaults(subClass, superClass); }
+
+function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+var Declaration = require('../declaration');
+
+var GridStart = /*#__PURE__*/function (_Declaration) {
+ _inheritsLoose(GridStart, _Declaration);
+
+ function GridStart() {
+ return _Declaration.apply(this, arguments) || this;
+ }
+
+ var _proto = GridStart.prototype;
+
+ /**
+ * Do not add prefix for unsupported value in IE
+ */
+ _proto.check = function check(decl) {
+ var value = decl.value;
+ return !value.includes('/') || value.includes('span');
+ }
+ /**
+ * Return a final spec property
+ */
+ ;
+
+ _proto.normalize = function normalize(prop) {
+ return prop.replace('-start', '');
+ }
+ /**
+ * Change property name for IE
+ */
+ ;
+
+ _proto.prefixed = function prefixed(prop, prefix) {
+ var result = _Declaration.prototype.prefixed.call(this, prop, prefix);
+
+ if (prefix === '-ms-') {
+ result = result.replace('-start', '');
+ }
+
+ return result;
+ };
+
+ return GridStart;
+}(Declaration);
+
+_defineProperty(GridStart, "names", ['grid-row-start', 'grid-column-start']);
+
+module.exports = GridStart;
\ No newline at end of file
diff --git a/node_modules/autoprefixer/lib/hacks/grid-template-areas.js b/node_modules/autoprefixer/lib/hacks/grid-template-areas.js
new file mode 100644
index 0000000..53ad7d3
--- /dev/null
+++ b/node_modules/autoprefixer/lib/hacks/grid-template-areas.js
@@ -0,0 +1,101 @@
+"use strict";
+
+function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _defaults(subClass, superClass); }
+
+function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+var Declaration = require('../declaration');
+
+var _require = require('./grid-utils'),
+ parseGridAreas = _require.parseGridAreas,
+ warnMissedAreas = _require.warnMissedAreas,
+ prefixTrackProp = _require.prefixTrackProp,
+ prefixTrackValue = _require.prefixTrackValue,
+ getGridGap = _require.getGridGap,
+ warnGridGap = _require.warnGridGap,
+ inheritGridGap = _require.inheritGridGap;
+
+function getGridRows(tpl) {
+ return tpl.trim().slice(1, -1).split(/["']\s*["']?/g);
+}
+
+var GridTemplateAreas = /*#__PURE__*/function (_Declaration) {
+ _inheritsLoose(GridTemplateAreas, _Declaration);
+
+ function GridTemplateAreas() {
+ return _Declaration.apply(this, arguments) || this;
+ }
+
+ var _proto = GridTemplateAreas.prototype;
+
+ /**
+ * Translate grid-template-areas to separate -ms- prefixed properties
+ */
+ _proto.insert = function insert(decl, prefix, prefixes, result) {
+ if (prefix !== '-ms-') return _Declaration.prototype.insert.call(this, decl, prefix, prefixes);
+ var hasColumns = false;
+ var hasRows = false;
+ var parent = decl.parent;
+ var gap = getGridGap(decl);
+ gap = inheritGridGap(decl, gap) || gap; // remove already prefixed rows
+ // to prevent doubling prefixes
+
+ parent.walkDecls(/-ms-grid-rows/, function (i) {
+ return i.remove();
+ }); // add empty tracks to rows
+
+ parent.walkDecls(/grid-template-(rows|columns)/, function (trackDecl) {
+ if (trackDecl.prop === 'grid-template-rows') {
+ hasRows = true;
+ var prop = trackDecl.prop,
+ value = trackDecl.value;
+ trackDecl.cloneBefore({
+ prop: prefixTrackProp({
+ prop: prop,
+ prefix: prefix
+ }),
+ value: prefixTrackValue({
+ value: value,
+ gap: gap.row
+ })
+ });
+ } else {
+ hasColumns = true;
+ }
+ });
+ var gridRows = getGridRows(decl.value);
+
+ if (hasColumns && !hasRows && gap.row && gridRows.length > 1) {
+ decl.cloneBefore({
+ prop: '-ms-grid-rows',
+ value: prefixTrackValue({
+ value: "repeat(" + gridRows.length + ", auto)",
+ gap: gap.row
+ }),
+ raws: {}
+ });
+ } // warnings
+
+
+ warnGridGap({
+ gap: gap,
+ hasColumns: hasColumns,
+ decl: decl,
+ result: result
+ });
+ var areas = parseGridAreas({
+ rows: gridRows,
+ gap: gap
+ });
+ warnMissedAreas(areas, decl, result);
+ return decl;
+ };
+
+ return GridTemplateAreas;
+}(Declaration);
+
+_defineProperty(GridTemplateAreas, "names", ['grid-template-areas']);
+
+module.exports = GridTemplateAreas;
\ No newline at end of file
diff --git a/node_modules/autoprefixer/lib/hacks/grid-template.js b/node_modules/autoprefixer/lib/hacks/grid-template.js
new file mode 100644
index 0000000..0509f49
--- /dev/null
+++ b/node_modules/autoprefixer/lib/hacks/grid-template.js
@@ -0,0 +1,90 @@
+"use strict";
+
+function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _defaults(subClass, superClass); }
+
+function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+var Declaration = require('../declaration');
+
+var _require = require('./grid-utils'),
+ parseTemplate = _require.parseTemplate,
+ warnMissedAreas = _require.warnMissedAreas,
+ getGridGap = _require.getGridGap,
+ warnGridGap = _require.warnGridGap,
+ inheritGridGap = _require.inheritGridGap;
+
+var GridTemplate = /*#__PURE__*/function (_Declaration) {
+ _inheritsLoose(GridTemplate, _Declaration);
+
+ function GridTemplate() {
+ return _Declaration.apply(this, arguments) || this;
+ }
+
+ var _proto = GridTemplate.prototype;
+
+ /**
+ * Translate grid-template to separate -ms- prefixed properties
+ */
+ _proto.insert = function insert(decl, prefix, prefixes, result) {
+ if (prefix !== '-ms-') return _Declaration.prototype.insert.call(this, decl, prefix, prefixes);
+
+ if (decl.parent.some(function (i) {
+ return i.prop === '-ms-grid-rows';
+ })) {
+ return undefined;
+ }
+
+ var gap = getGridGap(decl);
+ /**
+ * we must insert inherited gap values in some cases:
+ * if we are inside media query && if we have no grid-gap value
+ */
+
+ var inheritedGap = inheritGridGap(decl, gap);
+
+ var _parseTemplate = parseTemplate({
+ decl: decl,
+ gap: inheritedGap || gap
+ }),
+ rows = _parseTemplate.rows,
+ columns = _parseTemplate.columns,
+ areas = _parseTemplate.areas;
+
+ var hasAreas = Object.keys(areas).length > 0;
+ var hasRows = Boolean(rows);
+ var hasColumns = Boolean(columns);
+ warnGridGap({
+ gap: gap,
+ hasColumns: hasColumns,
+ decl: decl,
+ result: result
+ });
+ warnMissedAreas(areas, decl, result);
+
+ if (hasRows && hasColumns || hasAreas) {
+ decl.cloneBefore({
+ prop: '-ms-grid-rows',
+ value: rows,
+ raws: {}
+ });
+ }
+
+ if (hasColumns) {
+ decl.cloneBefore({
+ prop: '-ms-grid-columns',
+ value: columns,
+ raws: {}
+ });
+ }
+
+ return decl;
+ };
+
+ return GridTemplate;
+}(Declaration);
+
+_defineProperty(GridTemplate, "names", ['grid-template']);
+
+module.exports = GridTemplate;
\ No newline at end of file
diff --git a/node_modules/autoprefixer/lib/hacks/grid-utils.js b/node_modules/autoprefixer/lib/hacks/grid-utils.js
new file mode 100644
index 0000000..b8e3161
--- /dev/null
+++ b/node_modules/autoprefixer/lib/hacks/grid-utils.js
@@ -0,0 +1,1123 @@
+"use strict";
+
+function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } it = o[Symbol.iterator](); return it.next.bind(it); }
+
+function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
+
+function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
+
+var parser = require('postcss-value-parser');
+
+var list = require('postcss').list;
+
+var uniq = require('../utils').uniq;
+
+var escapeRegexp = require('../utils').escapeRegexp;
+
+var splitSelector = require('../utils').splitSelector;
+
+function convert(value) {
+ if (value && value.length === 2 && value[0] === 'span' && parseInt(value[1], 10) > 0) {
+ return [false, parseInt(value[1], 10)];
+ }
+
+ if (value && value.length === 1 && parseInt(value[0], 10) > 0) {
+ return [parseInt(value[0], 10), false];
+ }
+
+ return [false, false];
+}
+
+function translate(values, startIndex, endIndex) {
+ var startValue = values[startIndex];
+ var endValue = values[endIndex];
+
+ if (!startValue) {
+ return [false, false];
+ }
+
+ var _convert = convert(startValue),
+ start = _convert[0],
+ spanStart = _convert[1];
+
+ var _convert2 = convert(endValue),
+ end = _convert2[0],
+ spanEnd = _convert2[1];
+
+ if (start && !endValue) {
+ return [start, false];
+ }
+
+ if (spanStart && end) {
+ return [end - spanStart, spanStart];
+ }
+
+ if (start && spanEnd) {
+ return [start, spanEnd];
+ }
+
+ if (start && end) {
+ return [start, end - start];
+ }
+
+ return [false, false];
+}
+
+function parse(decl) {
+ var node = parser(decl.value);
+ var values = [];
+ var current = 0;
+ values[current] = [];
+
+ for (var _iterator = _createForOfIteratorHelperLoose(node.nodes), _step; !(_step = _iterator()).done;) {
+ var i = _step.value;
+
+ if (i.type === 'div') {
+ current += 1;
+ values[current] = [];
+ } else if (i.type === 'word') {
+ values[current].push(i.value);
+ }
+ }
+
+ return values;
+}
+
+function insertDecl(decl, prop, value) {
+ if (value && !decl.parent.some(function (i) {
+ return i.prop === "-ms-" + prop;
+ })) {
+ decl.cloneBefore({
+ prop: "-ms-" + prop,
+ value: value.toString()
+ });
+ }
+} // Track transforms
+
+
+function prefixTrackProp(_ref) {
+ var prop = _ref.prop,
+ prefix = _ref.prefix;
+ return prefix + prop.replace('template-', '');
+}
+
+function transformRepeat(_ref2, _ref3) {
+ var nodes = _ref2.nodes;
+ var gap = _ref3.gap;
+
+ var _nodes$reduce = nodes.reduce(function (result, node) {
+ if (node.type === 'div' && node.value === ',') {
+ result.key = 'size';
+ } else {
+ result[result.key].push(parser.stringify(node));
+ }
+
+ return result;
+ }, {
+ key: 'count',
+ size: [],
+ count: []
+ }),
+ count = _nodes$reduce.count,
+ size = _nodes$reduce.size; // insert gap values
+
+
+ if (gap) {
+ var _ret = function () {
+ size = size.filter(function (i) {
+ return i.trim();
+ });
+ var val = [];
+
+ var _loop = function _loop(i) {
+ size.forEach(function (item, index) {
+ if (index > 0 || i > 1) {
+ val.push(gap);
+ }
+
+ val.push(item);
+ });
+ };
+
+ for (var i = 1; i <= count; i++) {
+ _loop(i);
+ }
+
+ return {
+ v: val.join(' ')
+ };
+ }();
+
+ if (typeof _ret === "object") return _ret.v;
+ }
+
+ return "(" + size.join('') + ")[" + count.join('') + "]";
+}
+
+function prefixTrackValue(_ref4) {
+ var value = _ref4.value,
+ gap = _ref4.gap;
+ var result = parser(value).nodes.reduce(function (nodes, node) {
+ if (node.type === 'function' && node.value === 'repeat') {
+ return nodes.concat({
+ type: 'word',
+ value: transformRepeat(node, {
+ gap: gap
+ })
+ });
+ }
+
+ if (gap && node.type === 'space') {
+ return nodes.concat({
+ type: 'space',
+ value: ' '
+ }, {
+ type: 'word',
+ value: gap
+ }, node);
+ }
+
+ return nodes.concat(node);
+ }, []);
+ return parser.stringify(result);
+} // Parse grid-template-areas
+
+
+var DOTS = /^\.+$/;
+
+function track(start, end) {
+ return {
+ start: start,
+ end: end,
+ span: end - start
+ };
+}
+
+function getColumns(line) {
+ return line.trim().split(/\s+/g);
+}
+
+function parseGridAreas(_ref5) {
+ var rows = _ref5.rows,
+ gap = _ref5.gap;
+ return rows.reduce(function (areas, line, rowIndex) {
+ if (gap.row) rowIndex *= 2;
+ if (line.trim() === '') return areas;
+ getColumns(line).forEach(function (area, columnIndex) {
+ if (DOTS.test(area)) return;
+ if (gap.column) columnIndex *= 2;
+
+ if (typeof areas[area] === 'undefined') {
+ areas[area] = {
+ column: track(columnIndex + 1, columnIndex + 2),
+ row: track(rowIndex + 1, rowIndex + 2)
+ };
+ } else {
+ var _areas$area = areas[area],
+ column = _areas$area.column,
+ row = _areas$area.row;
+ column.start = Math.min(column.start, columnIndex + 1);
+ column.end = Math.max(column.end, columnIndex + 2);
+ column.span = column.end - column.start;
+ row.start = Math.min(row.start, rowIndex + 1);
+ row.end = Math.max(row.end, rowIndex + 2);
+ row.span = row.end - row.start;
+ }
+ });
+ return areas;
+ }, {});
+} // Parse grid-template
+
+
+function testTrack(node) {
+ return node.type === 'word' && /^\[.+]$/.test(node.value);
+}
+
+function verifyRowSize(result) {
+ if (result.areas.length > result.rows.length) {
+ result.rows.push('auto');
+ }
+
+ return result;
+}
+
+function parseTemplate(_ref6) {
+ var decl = _ref6.decl,
+ gap = _ref6.gap;
+ var gridTemplate = parser(decl.value).nodes.reduce(function (result, node) {
+ var type = node.type,
+ value = node.value;
+ if (testTrack(node) || type === 'space') return result; // area
+
+ if (type === 'string') {
+ result = verifyRowSize(result);
+ result.areas.push(value);
+ } // values and function
+
+
+ if (type === 'word' || type === 'function') {
+ result[result.key].push(parser.stringify(node));
+ } // divider(/)
+
+
+ if (type === 'div' && value === '/') {
+ result.key = 'columns';
+ result = verifyRowSize(result);
+ }
+
+ return result;
+ }, {
+ key: 'rows',
+ columns: [],
+ rows: [],
+ areas: []
+ });
+ return {
+ areas: parseGridAreas({
+ rows: gridTemplate.areas,
+ gap: gap
+ }),
+ columns: prefixTrackValue({
+ value: gridTemplate.columns.join(' '),
+ gap: gap.column
+ }),
+ rows: prefixTrackValue({
+ value: gridTemplate.rows.join(' '),
+ gap: gap.row
+ })
+ };
+} // Insert parsed grid areas
+
+/**
+ * Get an array of -ms- prefixed props and values
+ * @param {Object} [area] area object with column and row data
+ * @param {Boolean} [addRowSpan] should we add grid-column-row value?
+ * @param {Boolean} [addColumnSpan] should we add grid-column-span value?
+ * @return {Array}
+ */
+
+
+function getMSDecls(area, addRowSpan, addColumnSpan) {
+ if (addRowSpan === void 0) {
+ addRowSpan = false;
+ }
+
+ if (addColumnSpan === void 0) {
+ addColumnSpan = false;
+ }
+
+ return [].concat({
+ prop: '-ms-grid-row',
+ value: String(area.row.start)
+ }, area.row.span > 1 || addRowSpan ? {
+ prop: '-ms-grid-row-span',
+ value: String(area.row.span)
+ } : [], {
+ prop: '-ms-grid-column',
+ value: String(area.column.start)
+ }, area.column.span > 1 || addColumnSpan ? {
+ prop: '-ms-grid-column-span',
+ value: String(area.column.span)
+ } : []);
+}
+
+function getParentMedia(parent) {
+ if (parent.type === 'atrule' && parent.name === 'media') {
+ return parent;
+ }
+
+ if (!parent.parent) {
+ return false;
+ }
+
+ return getParentMedia(parent.parent);
+}
+/**
+ * change selectors for rules with duplicate grid-areas.
+ * @param {Array} rules
+ * @param {Array} templateSelectors
+ * @return {Array} rules with changed selectors
+ */
+
+
+function changeDuplicateAreaSelectors(ruleSelectors, templateSelectors) {
+ ruleSelectors = ruleSelectors.map(function (selector) {
+ var selectorBySpace = list.space(selector);
+ var selectorByComma = list.comma(selector);
+
+ if (selectorBySpace.length > selectorByComma.length) {
+ selector = selectorBySpace.slice(-1).join('');
+ }
+
+ return selector;
+ });
+ return ruleSelectors.map(function (ruleSelector) {
+ var newSelector = templateSelectors.map(function (tplSelector, index) {
+ var space = index === 0 ? '' : ' ';
+ return "" + space + tplSelector + " > " + ruleSelector;
+ });
+ return newSelector;
+ });
+}
+/**
+ * check if selector of rules are equal
+ * @param {Rule} ruleA
+ * @param {Rule} ruleB
+ * @return {Boolean}
+ */
+
+
+function selectorsEqual(ruleA, ruleB) {
+ return ruleA.selectors.some(function (sel) {
+ return ruleB.selectors.some(function (s) {
+ return s === sel;
+ });
+ });
+}
+/**
+ * Parse data from all grid-template(-areas) declarations
+ * @param {Root} css css root
+ * @return {Object} parsed data
+ */
+
+
+function parseGridTemplatesData(css) {
+ var parsed = []; // we walk through every grid-template(-areas) declaration and store
+ // data with the same area names inside the item
+
+ css.walkDecls(/grid-template(-areas)?$/, function (d) {
+ var rule = d.parent;
+ var media = getParentMedia(rule);
+ var gap = getGridGap(d);
+ var inheritedGap = inheritGridGap(d, gap);
+
+ var _parseTemplate = parseTemplate({
+ decl: d,
+ gap: inheritedGap || gap
+ }),
+ areas = _parseTemplate.areas;
+
+ var areaNames = Object.keys(areas); // skip node if it doesn't have areas
+
+ if (areaNames.length === 0) {
+ return true;
+ } // check parsed array for item that include the same area names
+ // return index of that item
+
+
+ var index = parsed.reduce(function (acc, _ref7, idx) {
+ var allAreas = _ref7.allAreas;
+ var hasAreas = allAreas && areaNames.some(function (area) {
+ return allAreas.includes(area);
+ });
+ return hasAreas ? idx : acc;
+ }, null);
+
+ if (index !== null) {
+ // index is found, add the grid-template data to that item
+ var _parsed$index = parsed[index],
+ allAreas = _parsed$index.allAreas,
+ rules = _parsed$index.rules; // check if rule has no duplicate area names
+
+ var hasNoDuplicates = rules.some(function (r) {
+ return r.hasDuplicates === false && selectorsEqual(r, rule);
+ });
+ var duplicatesFound = false; // check need to gather all duplicate area names
+
+ var duplicateAreaNames = rules.reduce(function (acc, r) {
+ if (!r.params && selectorsEqual(r, rule)) {
+ duplicatesFound = true;
+ return r.duplicateAreaNames;
+ }
+
+ if (!duplicatesFound) {
+ areaNames.forEach(function (name) {
+ if (r.areas[name]) {
+ acc.push(name);
+ }
+ });
+ }
+
+ return uniq(acc);
+ }, []); // update grid-row/column-span values for areas with duplicate
+ // area names. @see #1084 and #1146
+
+ rules.forEach(function (r) {
+ areaNames.forEach(function (name) {
+ var area = r.areas[name];
+
+ if (area && area.row.span !== areas[name].row.span) {
+ areas[name].row.updateSpan = true;
+ }
+
+ if (area && area.column.span !== areas[name].column.span) {
+ areas[name].column.updateSpan = true;
+ }
+ });
+ });
+ parsed[index].allAreas = uniq([].concat(allAreas, areaNames));
+ parsed[index].rules.push({
+ hasDuplicates: !hasNoDuplicates,
+ params: media.params,
+ selectors: rule.selectors,
+ node: rule,
+ duplicateAreaNames: duplicateAreaNames,
+ areas: areas
+ });
+ } else {
+ // index is NOT found, push the new item to the parsed array
+ parsed.push({
+ allAreas: areaNames,
+ areasCount: 0,
+ rules: [{
+ hasDuplicates: false,
+ duplicateRules: [],
+ params: media.params,
+ selectors: rule.selectors,
+ node: rule,
+ duplicateAreaNames: [],
+ areas: areas
+ }]
+ });
+ }
+
+ return undefined;
+ });
+ return parsed;
+}
+/**
+ * insert prefixed grid-area declarations
+ * @param {Root} css css root
+ * @param {Function} isDisabled check if the rule is disabled
+ * @return {void}
+ */
+
+
+function insertAreas(css, isDisabled) {
+ // parse grid-template declarations
+ var gridTemplatesData = parseGridTemplatesData(css); // return undefined if no declarations found
+
+ if (gridTemplatesData.length === 0) {
+ return undefined;
+ } // we need to store the rules that we will insert later
+
+
+ var rulesToInsert = {};
+ css.walkDecls('grid-area', function (gridArea) {
+ var gridAreaRule = gridArea.parent;
+ var hasPrefixedRow = gridAreaRule.first.prop === '-ms-grid-row';
+ var gridAreaMedia = getParentMedia(gridAreaRule);
+
+ if (isDisabled(gridArea)) {
+ return undefined;
+ }
+
+ var gridAreaRuleIndex = gridAreaMedia ? css.index(gridAreaMedia) : css.index(gridAreaRule);
+ var value = gridArea.value; // found the data that matches grid-area identifier
+
+ var data = gridTemplatesData.filter(function (d) {
+ return d.allAreas.includes(value);
+ })[0];
+
+ if (!data) {
+ return true;
+ }
+
+ var lastArea = data.allAreas[data.allAreas.length - 1];
+ var selectorBySpace = list.space(gridAreaRule.selector);
+ var selectorByComma = list.comma(gridAreaRule.selector);
+ var selectorIsComplex = selectorBySpace.length > 1 && selectorBySpace.length > selectorByComma.length; // prevent doubling of prefixes
+
+ if (hasPrefixedRow) {
+ return false;
+ } // create the empty object with the key as the last area name
+ // e.g if we have templates with "a b c" values, "c" will be the last area
+
+
+ if (!rulesToInsert[lastArea]) {
+ rulesToInsert[lastArea] = {};
+ }
+
+ var lastRuleIsSet = false; // walk through every grid-template rule data
+
+ for (var _iterator2 = _createForOfIteratorHelperLoose(data.rules), _step2; !(_step2 = _iterator2()).done;) {
+ var rule = _step2.value;
+ var area = rule.areas[value];
+ var hasDuplicateName = rule.duplicateAreaNames.includes(value); // if we can't find the area name, update lastRule and continue
+
+ if (!area) {
+ var lastRuleIndex = css.index(rulesToInsert[lastArea].lastRule);
+
+ if (gridAreaRuleIndex > lastRuleIndex) {
+ rulesToInsert[lastArea].lastRule = gridAreaMedia || gridAreaRule;
+ }
+
+ continue;
+ } // for grid-templates inside media rule we need to create empty
+ // array to push prefixed grid-area rules later
+
+
+ if (rule.params && !rulesToInsert[lastArea][rule.params]) {
+ rulesToInsert[lastArea][rule.params] = [];
+ }
+
+ if ((!rule.hasDuplicates || !hasDuplicateName) && !rule.params) {
+ // grid-template has no duplicates and not inside media rule
+ getMSDecls(area, false, false).reverse().forEach(function (i) {
+ return gridAreaRule.prepend(Object.assign(i, {
+ raws: {
+ between: gridArea.raws.between
+ }
+ }));
+ });
+ rulesToInsert[lastArea].lastRule = gridAreaRule;
+ lastRuleIsSet = true;
+ } else if (rule.hasDuplicates && !rule.params && !selectorIsComplex) {
+ (function () {
+ // grid-template has duplicates and not inside media rule
+ var cloned = gridAreaRule.clone();
+ cloned.removeAll();
+ getMSDecls(area, area.row.updateSpan, area.column.updateSpan).reverse().forEach(function (i) {
+ return cloned.prepend(Object.assign(i, {
+ raws: {
+ between: gridArea.raws.between
+ }
+ }));
+ });
+ cloned.selectors = changeDuplicateAreaSelectors(cloned.selectors, rule.selectors);
+
+ if (rulesToInsert[lastArea].lastRule) {
+ rulesToInsert[lastArea].lastRule.after(cloned);
+ }
+
+ rulesToInsert[lastArea].lastRule = cloned;
+ lastRuleIsSet = true;
+ })();
+ } else if (rule.hasDuplicates && !rule.params && selectorIsComplex && gridAreaRule.selector.includes(rule.selectors[0])) {
+ // grid-template has duplicates and not inside media rule
+ // and the selector is complex
+ gridAreaRule.walkDecls(/-ms-grid-(row|column)/, function (d) {
+ return d.remove();
+ });
+ getMSDecls(area, area.row.updateSpan, area.column.updateSpan).reverse().forEach(function (i) {
+ return gridAreaRule.prepend(Object.assign(i, {
+ raws: {
+ between: gridArea.raws.between
+ }
+ }));
+ });
+ } else if (rule.params) {
+ (function () {
+ // grid-template is inside media rule
+ // if we're inside media rule, we need to store prefixed rules
+ // inside rulesToInsert object to be able to preserve the order of media
+ // rules and merge them easily
+ var cloned = gridAreaRule.clone();
+ cloned.removeAll();
+ getMSDecls(area, area.row.updateSpan, area.column.updateSpan).reverse().forEach(function (i) {
+ return cloned.prepend(Object.assign(i, {
+ raws: {
+ between: gridArea.raws.between
+ }
+ }));
+ });
+
+ if (rule.hasDuplicates && hasDuplicateName) {
+ cloned.selectors = changeDuplicateAreaSelectors(cloned.selectors, rule.selectors);
+ }
+
+ cloned.raws = rule.node.raws;
+
+ if (css.index(rule.node.parent) > gridAreaRuleIndex) {
+ // append the prefixed rules right inside media rule
+ // with grid-template
+ rule.node.parent.append(cloned);
+ } else {
+ // store the rule to insert later
+ rulesToInsert[lastArea][rule.params].push(cloned);
+ } // set new rule as last rule ONLY if we didn't set lastRule for
+ // this grid-area before
+
+
+ if (!lastRuleIsSet) {
+ rulesToInsert[lastArea].lastRule = gridAreaMedia || gridAreaRule;
+ }
+ })();
+ }
+ }
+
+ return undefined;
+ }); // append stored rules inside the media rules
+
+ Object.keys(rulesToInsert).forEach(function (area) {
+ var data = rulesToInsert[area];
+ var lastRule = data.lastRule;
+ Object.keys(data).reverse().filter(function (p) {
+ return p !== 'lastRule';
+ }).forEach(function (params) {
+ if (data[params].length > 0 && lastRule) {
+ lastRule.after({
+ name: 'media',
+ params: params
+ });
+ lastRule.next().append(data[params]);
+ }
+ });
+ });
+ return undefined;
+}
+/**
+ * Warn user if grid area identifiers are not found
+ * @param {Object} areas
+ * @param {Declaration} decl
+ * @param {Result} result
+ * @return {void}
+ */
+
+
+function warnMissedAreas(areas, decl, result) {
+ var missed = Object.keys(areas);
+ decl.root().walkDecls('grid-area', function (gridArea) {
+ missed = missed.filter(function (e) {
+ return e !== gridArea.value;
+ });
+ });
+
+ if (missed.length > 0) {
+ decl.warn(result, 'Can not find grid areas: ' + missed.join(', '));
+ }
+
+ return undefined;
+}
+/**
+ * compare selectors with grid-area rule and grid-template rule
+ * show warning if grid-template selector is not found
+ * (this function used for grid-area rule)
+ * @param {Declaration} decl
+ * @param {Result} result
+ * @return {void}
+ */
+
+
+function warnTemplateSelectorNotFound(decl, result) {
+ var rule = decl.parent;
+ var root = decl.root();
+ var duplicatesFound = false; // slice selector array. Remove the last part (for comparison)
+
+ var slicedSelectorArr = list.space(rule.selector).filter(function (str) {
+ return str !== '>';
+ }).slice(0, -1); // we need to compare only if selector is complex.
+ // e.g '.grid-cell' is simple, but '.parent > .grid-cell' is complex
+
+ if (slicedSelectorArr.length > 0) {
+ var gridTemplateFound = false;
+ var foundAreaSelector = null;
+ root.walkDecls(/grid-template(-areas)?$/, function (d) {
+ var parent = d.parent;
+ var templateSelectors = parent.selectors;
+
+ var _parseTemplate2 = parseTemplate({
+ decl: d,
+ gap: getGridGap(d)
+ }),
+ areas = _parseTemplate2.areas;
+
+ var hasArea = areas[decl.value]; // find the the matching selectors
+
+ for (var _iterator3 = _createForOfIteratorHelperLoose(templateSelectors), _step3; !(_step3 = _iterator3()).done;) {
+ var tplSelector = _step3.value;
+
+ if (gridTemplateFound) {
+ break;
+ }
+
+ var tplSelectorArr = list.space(tplSelector).filter(function (str) {
+ return str !== '>';
+ });
+ gridTemplateFound = tplSelectorArr.every(function (item, idx) {
+ return item === slicedSelectorArr[idx];
+ });
+ }
+
+ if (gridTemplateFound || !hasArea) {
+ return true;
+ }
+
+ if (!foundAreaSelector) {
+ foundAreaSelector = parent.selector;
+ } // if we found the duplicate area with different selector
+
+
+ if (foundAreaSelector && foundAreaSelector !== parent.selector) {
+ duplicatesFound = true;
+ }
+
+ return undefined;
+ }); // warn user if we didn't find template
+
+ if (!gridTemplateFound && duplicatesFound) {
+ decl.warn(result, 'Autoprefixer cannot find a grid-template ' + ("containing the duplicate grid-area \"" + decl.value + "\" ") + ("with full selector matching: " + slicedSelectorArr.join(' ')));
+ }
+ }
+}
+/**
+ * warn user if both grid-area and grid-(row|column)
+ * declarations are present in the same rule
+ * @param {Declaration} decl
+ * @param {Result} result
+ * @return {void}
+ */
+
+
+function warnIfGridRowColumnExists(decl, result) {
+ var rule = decl.parent;
+ var decls = [];
+ rule.walkDecls(/^grid-(row|column)/, function (d) {
+ if (!d.prop.endsWith('-end') && !d.value.startsWith('span')) {
+ decls.push(d);
+ }
+ });
+
+ if (decls.length > 0) {
+ decls.forEach(function (d) {
+ d.warn(result, 'You already have a grid-area declaration present in the rule. ' + ("You should use either grid-area or " + d.prop + ", not both"));
+ });
+ }
+
+ return undefined;
+} // Gap utils
+
+
+function getGridGap(decl) {
+ var gap = {}; // try to find gap
+
+ var testGap = /^(grid-)?((row|column)-)?gap$/;
+ decl.parent.walkDecls(testGap, function (_ref8) {
+ var prop = _ref8.prop,
+ value = _ref8.value;
+
+ if (/^(grid-)?gap$/.test(prop)) {
+ var _parser$nodes = parser(value).nodes,
+ row = _parser$nodes[0],
+ column = _parser$nodes[2];
+ gap.row = row && parser.stringify(row);
+ gap.column = column ? parser.stringify(column) : gap.row;
+ }
+
+ if (/^(grid-)?row-gap$/.test(prop)) gap.row = value;
+ if (/^(grid-)?column-gap$/.test(prop)) gap.column = value;
+ });
+ return gap;
+}
+/**
+ * parse media parameters (for example 'min-width: 500px')
+ * @param {String} params parameter to parse
+ * @return {}
+ */
+
+
+function parseMediaParams(params) {
+ if (!params) {
+ return false;
+ }
+
+ var parsed = parser(params);
+ var prop;
+ var value;
+ parsed.walk(function (node) {
+ if (node.type === 'word' && /min|max/g.test(node.value)) {
+ prop = node.value;
+ } else if (node.value.includes('px')) {
+ value = parseInt(node.value.replace(/\D/g, ''));
+ }
+ });
+ return [prop, value];
+}
+/**
+ * Compare the selectors and decide if we
+ * need to inherit gap from compared selector or not.
+ * @type {String} selA
+ * @type {String} selB
+ * @return {Boolean}
+ */
+
+
+function shouldInheritGap(selA, selB) {
+ var result; // get arrays of selector split in 3-deep array
+
+ var splitSelectorArrA = splitSelector(selA);
+ var splitSelectorArrB = splitSelector(selB);
+
+ if (splitSelectorArrA[0].length < splitSelectorArrB[0].length) {
+ // abort if selectorA has lower descendant specificity then selectorB
+ // (e.g '.grid' and '.hello .world .grid')
+ return false;
+ } else if (splitSelectorArrA[0].length > splitSelectorArrB[0].length) {
+ // if selectorA has higher descendant specificity then selectorB
+ // (e.g '.foo .bar .grid' and '.grid')
+ var idx = splitSelectorArrA[0].reduce(function (res, _ref9, index) {
+ var item = _ref9[0];
+ var firstSelectorPart = splitSelectorArrB[0][0][0];
+
+ if (item === firstSelectorPart) {
+ return index;
+ }
+
+ return false;
+ }, false);
+
+ if (idx) {
+ result = splitSelectorArrB[0].every(function (arr, index) {
+ return arr.every(function (part, innerIndex) {
+ return (// because selectorA has more space elements, we need to slice
+ // selectorA array by 'idx' number to compare them
+ splitSelectorArrA[0].slice(idx)[index][innerIndex] === part
+ );
+ });
+ });
+ }
+ } else {
+ // if selectorA has the same descendant specificity as selectorB
+ // this condition covers cases such as: '.grid.foo.bar' and '.grid'
+ result = splitSelectorArrB.some(function (byCommaArr) {
+ return byCommaArr.every(function (bySpaceArr, index) {
+ return bySpaceArr.every(function (part, innerIndex) {
+ return splitSelectorArrA[0][index][innerIndex] === part;
+ });
+ });
+ });
+ }
+
+ return result;
+}
+/**
+ * inherit grid gap values from the closest rule above
+ * with the same selector
+ * @param {Declaration} decl
+ * @param {Object} gap gap values
+ * @return {Object | Boolean} return gap values or false (if not found)
+ */
+
+
+function inheritGridGap(decl, gap) {
+ var rule = decl.parent;
+ var mediaRule = getParentMedia(rule);
+ var root = rule.root(); // get an array of selector split in 3-deep array
+
+ var splitSelectorArr = splitSelector(rule.selector); // abort if the rule already has gaps
+
+ if (Object.keys(gap).length > 0) {
+ return false;
+ } // e.g ['min-width']
+
+
+ var _parseMediaParams = parseMediaParams(mediaRule.params),
+ prop = _parseMediaParams[0];
+
+ var lastBySpace = splitSelectorArr[0]; // get escaped value from the selector
+ // if we have '.grid-2.foo.bar' selector, will be '\.grid\-2'
+
+ var escaped = escapeRegexp(lastBySpace[lastBySpace.length - 1][0]);
+ var regexp = new RegExp("(" + escaped + "$)|(" + escaped + "[,.])"); // find the closest rule with the same selector
+
+ var closestRuleGap;
+ root.walkRules(regexp, function (r) {
+ var gridGap; // abort if are checking the same rule
+
+ if (rule.toString() === r.toString()) {
+ return false;
+ } // find grid-gap values
+
+
+ r.walkDecls('grid-gap', function (d) {
+ return gridGap = getGridGap(d);
+ }); // skip rule without gaps
+
+ if (!gridGap || Object.keys(gridGap).length === 0) {
+ return true;
+ } // skip rules that should not be inherited from
+
+
+ if (!shouldInheritGap(rule.selector, r.selector)) {
+ return true;
+ }
+
+ var media = getParentMedia(r);
+
+ if (media) {
+ // if we are inside media, we need to check that media props match
+ // e.g ('min-width' === 'min-width')
+ var propToCompare = parseMediaParams(media.params)[0];
+
+ if (propToCompare === prop) {
+ closestRuleGap = gridGap;
+ return true;
+ }
+ } else {
+ closestRuleGap = gridGap;
+ return true;
+ }
+
+ return undefined;
+ }); // if we find the closest gap object
+
+ if (closestRuleGap && Object.keys(closestRuleGap).length > 0) {
+ return closestRuleGap;
+ }
+
+ return false;
+}
+
+function warnGridGap(_ref10) {
+ var gap = _ref10.gap,
+ hasColumns = _ref10.hasColumns,
+ decl = _ref10.decl,
+ result = _ref10.result;
+ var hasBothGaps = gap.row && gap.column;
+
+ if (!hasColumns && (hasBothGaps || gap.column && !gap.row)) {
+ delete gap.column;
+ decl.warn(result, 'Can not implement grid-gap without grid-template-columns');
+ }
+}
+/**
+ * normalize the grid-template-rows/columns values
+ * @param {String} str grid-template-rows/columns value
+ * @return {Array} normalized array with values
+ * @example
+ * let normalized = normalizeRowColumn('1fr repeat(2, 20px 50px) 1fr')
+ * normalized // <= ['1fr', '20px', '50px', '20px', '50px', '1fr']
+ */
+
+
+function normalizeRowColumn(str) {
+ var normalized = parser(str).nodes.reduce(function (result, node) {
+ if (node.type === 'function' && node.value === 'repeat') {
+ var key = 'count';
+
+ var _node$nodes$reduce = node.nodes.reduce(function (acc, n) {
+ if (n.type === 'word' && key === 'count') {
+ acc[0] = Math.abs(parseInt(n.value));
+ return acc;
+ }
+
+ if (n.type === 'div' && n.value === ',') {
+ key = 'value';
+ return acc;
+ }
+
+ if (key === 'value') {
+ acc[1] += parser.stringify(n);
+ }
+
+ return acc;
+ }, [0, '']),
+ count = _node$nodes$reduce[0],
+ value = _node$nodes$reduce[1];
+
+ if (count) {
+ for (var i = 0; i < count; i++) {
+ result.push(value);
+ }
+ }
+
+ return result;
+ }
+
+ if (node.type === 'space') {
+ return result;
+ }
+
+ return result.concat(parser.stringify(node));
+ }, []);
+ return normalized;
+}
+/**
+ * Autoplace grid items
+ * @param {Declaration} decl
+ * @param {Result} result
+ * @param {Object} gap gap values
+ * @param {String} autoflowValue grid-auto-flow value
+ * @return {void}
+ * @see https://github.com/postcss/autoprefixer/issues/1148
+ */
+
+
+function autoplaceGridItems(decl, result, gap, autoflowValue) {
+ if (autoflowValue === void 0) {
+ autoflowValue = 'row';
+ }
+
+ var parent = decl.parent;
+ var rowDecl = parent.nodes.find(function (i) {
+ return i.prop === 'grid-template-rows';
+ });
+ var rows = normalizeRowColumn(rowDecl.value);
+ var columns = normalizeRowColumn(decl.value); // Build array of area names with dummy values. If we have 3 columns and
+ // 2 rows, filledRows will be equal to ['1 2 3', '4 5 6']
+
+ var filledRows = rows.map(function (_, rowIndex) {
+ return Array.from({
+ length: columns.length
+ }, function (v, k) {
+ return k + rowIndex * columns.length + 1;
+ }).join(' ');
+ });
+ var areas = parseGridAreas({
+ rows: filledRows,
+ gap: gap
+ });
+ var keys = Object.keys(areas);
+ var items = keys.map(function (i) {
+ return areas[i];
+ }); // Change the order of cells if grid-auto-flow value is 'column'
+
+ if (autoflowValue.includes('column')) {
+ items = items.sort(function (a, b) {
+ return a.column.start - b.column.start;
+ });
+ } // Insert new rules
+
+
+ items.reverse().forEach(function (item, index) {
+ var column = item.column,
+ row = item.row;
+ var nodeSelector = parent.selectors.map(function (sel) {
+ return sel + (" > *:nth-child(" + (keys.length - index) + ")");
+ }).join(', '); // create new rule
+
+ var node = parent.clone().removeAll(); // change rule selector
+
+ node.selector = nodeSelector; // insert prefixed row/column values
+
+ node.append({
+ prop: '-ms-grid-row',
+ value: row.start
+ });
+ node.append({
+ prop: '-ms-grid-column',
+ value: column.start
+ }); // insert rule
+
+ parent.after(node);
+ });
+ return undefined;
+}
+
+module.exports = {
+ parse: parse,
+ translate: translate,
+ parseTemplate: parseTemplate,
+ parseGridAreas: parseGridAreas,
+ warnMissedAreas: warnMissedAreas,
+ insertAreas: insertAreas,
+ insertDecl: insertDecl,
+ prefixTrackProp: prefixTrackProp,
+ prefixTrackValue: prefixTrackValue,
+ getGridGap: getGridGap,
+ warnGridGap: warnGridGap,
+ warnTemplateSelectorNotFound: warnTemplateSelectorNotFound,
+ warnIfGridRowColumnExists: warnIfGridRowColumnExists,
+ inheritGridGap: inheritGridGap,
+ autoplaceGridItems: autoplaceGridItems
+};
\ No newline at end of file
diff --git a/node_modules/autoprefixer/lib/hacks/image-rendering.js b/node_modules/autoprefixer/lib/hacks/image-rendering.js
new file mode 100644
index 0000000..304c056
--- /dev/null
+++ b/node_modules/autoprefixer/lib/hacks/image-rendering.js
@@ -0,0 +1,71 @@
+"use strict";
+
+function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _defaults(subClass, superClass); }
+
+function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+var Declaration = require('../declaration');
+
+var ImageRendering = /*#__PURE__*/function (_Declaration) {
+ _inheritsLoose(ImageRendering, _Declaration);
+
+ function ImageRendering() {
+ return _Declaration.apply(this, arguments) || this;
+ }
+
+ var _proto = ImageRendering.prototype;
+
+ /**
+ * Add hack only for crisp-edges
+ */
+ _proto.check = function check(decl) {
+ return decl.value === 'pixelated';
+ }
+ /**
+ * Change property name for IE
+ */
+ ;
+
+ _proto.prefixed = function prefixed(prop, prefix) {
+ if (prefix === '-ms-') {
+ return '-ms-interpolation-mode';
+ }
+
+ return _Declaration.prototype.prefixed.call(this, prop, prefix);
+ }
+ /**
+ * Change property and value for IE
+ */
+ ;
+
+ _proto.set = function set(decl, prefix) {
+ if (prefix !== '-ms-') return _Declaration.prototype.set.call(this, decl, prefix);
+ decl.prop = '-ms-interpolation-mode';
+ decl.value = 'nearest-neighbor';
+ return decl;
+ }
+ /**
+ * Return property name by spec
+ */
+ ;
+
+ _proto.normalize = function normalize() {
+ return 'image-rendering';
+ }
+ /**
+ * Warn on old value
+ */
+ ;
+
+ _proto.process = function process(node, result) {
+ return _Declaration.prototype.process.call(this, node, result);
+ };
+
+ return ImageRendering;
+}(Declaration);
+
+_defineProperty(ImageRendering, "names", ['image-rendering', 'interpolation-mode']);
+
+module.exports = ImageRendering;
\ No newline at end of file
diff --git a/node_modules/autoprefixer/lib/hacks/image-set.js b/node_modules/autoprefixer/lib/hacks/image-set.js
new file mode 100644
index 0000000..7093ef6
--- /dev/null
+++ b/node_modules/autoprefixer/lib/hacks/image-set.js
@@ -0,0 +1,38 @@
+"use strict";
+
+function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _defaults(subClass, superClass); }
+
+function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+var Value = require('../value');
+
+var ImageSet = /*#__PURE__*/function (_Value) {
+ _inheritsLoose(ImageSet, _Value);
+
+ function ImageSet() {
+ return _Value.apply(this, arguments) || this;
+ }
+
+ var _proto = ImageSet.prototype;
+
+ /**
+ * Use non-standard name for WebKit and Firefox
+ */
+ _proto.replace = function replace(string, prefix) {
+ var fixed = _Value.prototype.replace.call(this, string, prefix);
+
+ if (prefix === '-webkit-') {
+ fixed = fixed.replace(/("[^"]+"|'[^']+')(\s+\d+\w)/gi, 'url($1)$2');
+ }
+
+ return fixed;
+ };
+
+ return ImageSet;
+}(Value);
+
+_defineProperty(ImageSet, "names", ['image-set']);
+
+module.exports = ImageSet;
\ No newline at end of file
diff --git a/node_modules/autoprefixer/lib/hacks/inline-logical.js b/node_modules/autoprefixer/lib/hacks/inline-logical.js
new file mode 100644
index 0000000..06a3d6b
--- /dev/null
+++ b/node_modules/autoprefixer/lib/hacks/inline-logical.js
@@ -0,0 +1,40 @@
+"use strict";
+
+function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _defaults(subClass, superClass); }
+
+function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+var Declaration = require('../declaration');
+
+var InlineLogical = /*#__PURE__*/function (_Declaration) {
+ _inheritsLoose(InlineLogical, _Declaration);
+
+ function InlineLogical() {
+ return _Declaration.apply(this, arguments) || this;
+ }
+
+ var _proto = InlineLogical.prototype;
+
+ /**
+ * Use old syntax for -moz- and -webkit-
+ */
+ _proto.prefixed = function prefixed(prop, prefix) {
+ return prefix + prop.replace('-inline', '');
+ }
+ /**
+ * Return property name by spec
+ */
+ ;
+
+ _proto.normalize = function normalize(prop) {
+ return prop.replace(/(margin|padding|border)-(start|end)/, '$1-inline-$2');
+ };
+
+ return InlineLogical;
+}(Declaration);
+
+_defineProperty(InlineLogical, "names", ['border-inline-start', 'border-inline-end', 'margin-inline-start', 'margin-inline-end', 'padding-inline-start', 'padding-inline-end', 'border-start', 'border-end', 'margin-start', 'margin-end', 'padding-start', 'padding-end']);
+
+module.exports = InlineLogical;
\ No newline at end of file
diff --git a/node_modules/autoprefixer/lib/hacks/intrinsic.js b/node_modules/autoprefixer/lib/hacks/intrinsic.js
new file mode 100644
index 0000000..3f91fa6
--- /dev/null
+++ b/node_modules/autoprefixer/lib/hacks/intrinsic.js
@@ -0,0 +1,74 @@
+"use strict";
+
+function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _defaults(subClass, superClass); }
+
+function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+var OldValue = require('../old-value');
+
+var Value = require('../value');
+
+function _regexp(name) {
+ return new RegExp("(^|[\\s,(])(" + name + "($|[\\s),]))", 'gi');
+}
+
+var Intrinsic = /*#__PURE__*/function (_Value) {
+ _inheritsLoose(Intrinsic, _Value);
+
+ function Intrinsic() {
+ return _Value.apply(this, arguments) || this;
+ }
+
+ var _proto = Intrinsic.prototype;
+
+ _proto.regexp = function regexp() {
+ if (!this.regexpCache) this.regexpCache = _regexp(this.name);
+ return this.regexpCache;
+ };
+
+ _proto.isStretch = function isStretch() {
+ return this.name === 'stretch' || this.name === 'fill' || this.name === 'fill-available';
+ };
+
+ _proto.replace = function replace(string, prefix) {
+ if (prefix === '-moz-' && this.isStretch()) {
+ return string.replace(this.regexp(), '$1-moz-available$3');
+ }
+
+ if (prefix === '-webkit-' && this.isStretch()) {
+ return string.replace(this.regexp(), '$1-webkit-fill-available$3');
+ }
+
+ return _Value.prototype.replace.call(this, string, prefix);
+ };
+
+ _proto.old = function old(prefix) {
+ var prefixed = prefix + this.name;
+
+ if (this.isStretch()) {
+ if (prefix === '-moz-') {
+ prefixed = '-moz-available';
+ } else if (prefix === '-webkit-') {
+ prefixed = '-webkit-fill-available';
+ }
+ }
+
+ return new OldValue(this.name, prefixed, prefixed, _regexp(prefixed));
+ };
+
+ _proto.add = function add(decl, prefix) {
+ if (decl.prop.includes('grid') && prefix !== '-webkit-') {
+ return undefined;
+ }
+
+ return _Value.prototype.add.call(this, decl, prefix);
+ };
+
+ return Intrinsic;
+}(Value);
+
+_defineProperty(Intrinsic, "names", ['max-content', 'min-content', 'fit-content', 'fill', 'fill-available', 'stretch']);
+
+module.exports = Intrinsic;
\ No newline at end of file
diff --git a/node_modules/autoprefixer/lib/hacks/justify-content.js b/node_modules/autoprefixer/lib/hacks/justify-content.js
new file mode 100644
index 0000000..5a9e5d8
--- /dev/null
+++ b/node_modules/autoprefixer/lib/hacks/justify-content.js
@@ -0,0 +1,85 @@
+"use strict";
+
+function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _defaults(subClass, superClass); }
+
+function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+var flexSpec = require('./flex-spec');
+
+var Declaration = require('../declaration');
+
+var JustifyContent = /*#__PURE__*/function (_Declaration) {
+ _inheritsLoose(JustifyContent, _Declaration);
+
+ function JustifyContent() {
+ return _Declaration.apply(this, arguments) || this;
+ }
+
+ var _proto = JustifyContent.prototype;
+
+ /**
+ * Change property name for 2009 and 2012 specs
+ */
+ _proto.prefixed = function prefixed(prop, prefix) {
+ var spec;
+
+ var _flexSpec = flexSpec(prefix);
+
+ spec = _flexSpec[0];
+ prefix = _flexSpec[1];
+
+ if (spec === 2009) {
+ return prefix + 'box-pack';
+ }
+
+ if (spec === 2012) {
+ return prefix + 'flex-pack';
+ }
+
+ return _Declaration.prototype.prefixed.call(this, prop, prefix);
+ }
+ /**
+ * Return property name by final spec
+ */
+ ;
+
+ _proto.normalize = function normalize() {
+ return 'justify-content';
+ }
+ /**
+ * Change value for 2009 and 2012 specs
+ */
+ ;
+
+ _proto.set = function set(decl, prefix) {
+ var spec = flexSpec(prefix)[0];
+
+ if (spec === 2009 || spec === 2012) {
+ var value = JustifyContent.oldValues[decl.value] || decl.value;
+ decl.value = value;
+
+ if (spec !== 2009 || value !== 'distribute') {
+ return _Declaration.prototype.set.call(this, decl, prefix);
+ }
+ } else if (spec === 'final') {
+ return _Declaration.prototype.set.call(this, decl, prefix);
+ }
+
+ return undefined;
+ };
+
+ return JustifyContent;
+}(Declaration);
+
+_defineProperty(JustifyContent, "names", ['justify-content', 'flex-pack', 'box-pack']);
+
+_defineProperty(JustifyContent, "oldValues", {
+ 'flex-end': 'end',
+ 'flex-start': 'start',
+ 'space-between': 'justify',
+ 'space-around': 'distribute'
+});
+
+module.exports = JustifyContent;
\ No newline at end of file
diff --git a/node_modules/autoprefixer/lib/hacks/mask-border.js b/node_modules/autoprefixer/lib/hacks/mask-border.js
new file mode 100644
index 0000000..e065826
--- /dev/null
+++ b/node_modules/autoprefixer/lib/hacks/mask-border.js
@@ -0,0 +1,46 @@
+"use strict";
+
+function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _defaults(subClass, superClass); }
+
+function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+var Declaration = require('../declaration');
+
+var MaskBorder = /*#__PURE__*/function (_Declaration) {
+ _inheritsLoose(MaskBorder, _Declaration);
+
+ function MaskBorder() {
+ return _Declaration.apply(this, arguments) || this;
+ }
+
+ var _proto = MaskBorder.prototype;
+
+ /**
+ * Return property name by final spec
+ */
+ _proto.normalize = function normalize() {
+ return this.name.replace('box-image', 'border');
+ }
+ /**
+ * Return flex property for 2012 spec
+ */
+ ;
+
+ _proto.prefixed = function prefixed(prop, prefix) {
+ var result = _Declaration.prototype.prefixed.call(this, prop, prefix);
+
+ if (prefix === '-webkit-') {
+ result = result.replace('border', 'box-image');
+ }
+
+ return result;
+ };
+
+ return MaskBorder;
+}(Declaration);
+
+_defineProperty(MaskBorder, "names", ['mask-border', 'mask-border-source', 'mask-border-slice', 'mask-border-width', 'mask-border-outset', 'mask-border-repeat', 'mask-box-image', 'mask-box-image-source', 'mask-box-image-slice', 'mask-box-image-width', 'mask-box-image-outset', 'mask-box-image-repeat']);
+
+module.exports = MaskBorder;
\ No newline at end of file
diff --git a/node_modules/autoprefixer/lib/hacks/mask-composite.js b/node_modules/autoprefixer/lib/hacks/mask-composite.js
new file mode 100644
index 0000000..16c96c4
--- /dev/null
+++ b/node_modules/autoprefixer/lib/hacks/mask-composite.js
@@ -0,0 +1,104 @@
+"use strict";
+
+function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _defaults(subClass, superClass); }
+
+function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+var Declaration = require('../declaration');
+
+var MaskComposite = /*#__PURE__*/function (_Declaration) {
+ _inheritsLoose(MaskComposite, _Declaration);
+
+ function MaskComposite() {
+ return _Declaration.apply(this, arguments) || this;
+ }
+
+ var _proto = MaskComposite.prototype;
+
+ /**
+ * Prefix mask-composite for webkit
+ */
+ _proto.insert = function insert(decl, prefix, prefixes) {
+ var isCompositeProp = decl.prop === 'mask-composite';
+ var compositeValues;
+
+ if (isCompositeProp) {
+ compositeValues = decl.value.split(',');
+ } else {
+ compositeValues = decl.value.match(MaskComposite.regexp) || [];
+ }
+
+ compositeValues = compositeValues.map(function (el) {
+ return el.trim();
+ }).filter(function (el) {
+ return el;
+ });
+ var hasCompositeValues = compositeValues.length;
+ var compositeDecl;
+
+ if (hasCompositeValues) {
+ compositeDecl = this.clone(decl);
+ compositeDecl.value = compositeValues.map(function (value) {
+ return MaskComposite.oldValues[value] || value;
+ }).join(', ');
+
+ if (compositeValues.includes('intersect')) {
+ compositeDecl.value += ', xor';
+ }
+
+ compositeDecl.prop = prefix + 'mask-composite';
+ }
+
+ if (isCompositeProp) {
+ if (!hasCompositeValues) {
+ return undefined;
+ }
+
+ if (this.needCascade(decl)) {
+ compositeDecl.raws.before = this.calcBefore(prefixes, decl, prefix);
+ }
+
+ return decl.parent.insertBefore(decl, compositeDecl);
+ }
+
+ var cloned = this.clone(decl);
+ cloned.prop = prefix + cloned.prop;
+
+ if (hasCompositeValues) {
+ cloned.value = cloned.value.replace(MaskComposite.regexp, '');
+ }
+
+ if (this.needCascade(decl)) {
+ cloned.raws.before = this.calcBefore(prefixes, decl, prefix);
+ }
+
+ decl.parent.insertBefore(decl, cloned);
+
+ if (!hasCompositeValues) {
+ return decl;
+ }
+
+ if (this.needCascade(decl)) {
+ compositeDecl.raws.before = this.calcBefore(prefixes, decl, prefix);
+ }
+
+ return decl.parent.insertBefore(decl, compositeDecl);
+ };
+
+ return MaskComposite;
+}(Declaration);
+
+_defineProperty(MaskComposite, "names", ['mask', 'mask-composite']);
+
+_defineProperty(MaskComposite, "oldValues", {
+ add: 'source-over',
+ substract: 'source-out',
+ intersect: 'source-in',
+ exclude: 'xor'
+});
+
+_defineProperty(MaskComposite, "regexp", new RegExp("\\s+(" + Object.keys(MaskComposite.oldValues).join('|') + ")\\b(?!\\))\\s*(?=[,])", 'ig'));
+
+module.exports = MaskComposite;
\ No newline at end of file
diff --git a/node_modules/autoprefixer/lib/hacks/order.js b/node_modules/autoprefixer/lib/hacks/order.js
new file mode 100644
index 0000000..69e098a
--- /dev/null
+++ b/node_modules/autoprefixer/lib/hacks/order.js
@@ -0,0 +1,72 @@
+"use strict";
+
+function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _defaults(subClass, superClass); }
+
+function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+var flexSpec = require('./flex-spec');
+
+var Declaration = require('../declaration');
+
+var Order = /*#__PURE__*/function (_Declaration) {
+ _inheritsLoose(Order, _Declaration);
+
+ function Order() {
+ return _Declaration.apply(this, arguments) || this;
+ }
+
+ var _proto = Order.prototype;
+
+ /**
+ * Change property name for 2009 and 2012 specs
+ */
+ _proto.prefixed = function prefixed(prop, prefix) {
+ var spec;
+
+ var _flexSpec = flexSpec(prefix);
+
+ spec = _flexSpec[0];
+ prefix = _flexSpec[1];
+
+ if (spec === 2009) {
+ return prefix + 'box-ordinal-group';
+ }
+
+ if (spec === 2012) {
+ return prefix + 'flex-order';
+ }
+
+ return _Declaration.prototype.prefixed.call(this, prop, prefix);
+ }
+ /**
+ * Return property name by final spec
+ */
+ ;
+
+ _proto.normalize = function normalize() {
+ return 'order';
+ }
+ /**
+ * Fix value for 2009 spec
+ */
+ ;
+
+ _proto.set = function set(decl, prefix) {
+ var spec = flexSpec(prefix)[0];
+
+ if (spec === 2009 && /\d/.test(decl.value)) {
+ decl.value = (parseInt(decl.value) + 1).toString();
+ return _Declaration.prototype.set.call(this, decl, prefix);
+ }
+
+ return _Declaration.prototype.set.call(this, decl, prefix);
+ };
+
+ return Order;
+}(Declaration);
+
+_defineProperty(Order, "names", ['order', 'flex-order', 'box-ordinal-group']);
+
+module.exports = Order;
\ No newline at end of file
diff --git a/node_modules/autoprefixer/lib/hacks/overscroll-behavior.js b/node_modules/autoprefixer/lib/hacks/overscroll-behavior.js
new file mode 100644
index 0000000..e78a4de
--- /dev/null
+++ b/node_modules/autoprefixer/lib/hacks/overscroll-behavior.js
@@ -0,0 +1,54 @@
+"use strict";
+
+function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _defaults(subClass, superClass); }
+
+function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+var Declaration = require('../declaration');
+
+var OverscrollBehavior = /*#__PURE__*/function (_Declaration) {
+ _inheritsLoose(OverscrollBehavior, _Declaration);
+
+ function OverscrollBehavior() {
+ return _Declaration.apply(this, arguments) || this;
+ }
+
+ var _proto = OverscrollBehavior.prototype;
+
+ /**
+ * Change property name for IE
+ */
+ _proto.prefixed = function prefixed(prop, prefix) {
+ return prefix + 'scroll-chaining';
+ }
+ /**
+ * Return property name by spec
+ */
+ ;
+
+ _proto.normalize = function normalize() {
+ return 'overscroll-behavior';
+ }
+ /**
+ * Change value for IE
+ */
+ ;
+
+ _proto.set = function set(decl, prefix) {
+ if (decl.value === 'auto') {
+ decl.value = 'chained';
+ } else if (decl.value === 'none' || decl.value === 'contain') {
+ decl.value = 'none';
+ }
+
+ return _Declaration.prototype.set.call(this, decl, prefix);
+ };
+
+ return OverscrollBehavior;
+}(Declaration);
+
+_defineProperty(OverscrollBehavior, "names", ['overscroll-behavior', 'scroll-chaining']);
+
+module.exports = OverscrollBehavior;
\ No newline at end of file
diff --git a/node_modules/autoprefixer/lib/hacks/pixelated.js b/node_modules/autoprefixer/lib/hacks/pixelated.js
new file mode 100644
index 0000000..653daae
--- /dev/null
+++ b/node_modules/autoprefixer/lib/hacks/pixelated.js
@@ -0,0 +1,58 @@
+"use strict";
+
+function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _defaults(subClass, superClass); }
+
+function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+var OldValue = require('../old-value');
+
+var Value = require('../value');
+
+var Pixelated = /*#__PURE__*/function (_Value) {
+ _inheritsLoose(Pixelated, _Value);
+
+ function Pixelated() {
+ return _Value.apply(this, arguments) || this;
+ }
+
+ var _proto = Pixelated.prototype;
+
+ /**
+ * Use non-standard name for WebKit and Firefox
+ */
+ _proto.replace = function replace(string, prefix) {
+ if (prefix === '-webkit-') {
+ return string.replace(this.regexp(), '$1-webkit-optimize-contrast');
+ }
+
+ if (prefix === '-moz-') {
+ return string.replace(this.regexp(), '$1-moz-crisp-edges');
+ }
+
+ return _Value.prototype.replace.call(this, string, prefix);
+ }
+ /**
+ * Different name for WebKit and Firefox
+ */
+ ;
+
+ _proto.old = function old(prefix) {
+ if (prefix === '-webkit-') {
+ return new OldValue(this.name, '-webkit-optimize-contrast');
+ }
+
+ if (prefix === '-moz-') {
+ return new OldValue(this.name, '-moz-crisp-edges');
+ }
+
+ return _Value.prototype.old.call(this, prefix);
+ };
+
+ return Pixelated;
+}(Value);
+
+_defineProperty(Pixelated, "names", ['pixelated']);
+
+module.exports = Pixelated;
\ No newline at end of file
diff --git a/node_modules/autoprefixer/lib/hacks/place-self.js b/node_modules/autoprefixer/lib/hacks/place-self.js
new file mode 100644
index 0000000..c6324b9
--- /dev/null
+++ b/node_modules/autoprefixer/lib/hacks/place-self.js
@@ -0,0 +1,55 @@
+"use strict";
+
+function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _defaults(subClass, superClass); }
+
+function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+var Declaration = require('../declaration');
+
+var utils = require('./grid-utils');
+
+var PlaceSelf = /*#__PURE__*/function (_Declaration) {
+ _inheritsLoose(PlaceSelf, _Declaration);
+
+ function PlaceSelf() {
+ return _Declaration.apply(this, arguments) || this;
+ }
+
+ var _proto = PlaceSelf.prototype;
+
+ /**
+ * Translate place-self to separate -ms- prefixed properties
+ */
+ _proto.insert = function insert(decl, prefix, prefixes) {
+ if (prefix !== '-ms-') return _Declaration.prototype.insert.call(this, decl, prefix, prefixes); // prevent doubling of prefixes
+
+ if (decl.parent.some(function (i) {
+ return i.prop === '-ms-grid-row-align';
+ })) {
+ return undefined;
+ }
+
+ var _utils$parse = utils.parse(decl),
+ _utils$parse$ = _utils$parse[0],
+ first = _utils$parse$[0],
+ second = _utils$parse$[1];
+
+ if (second) {
+ utils.insertDecl(decl, 'grid-row-align', first);
+ utils.insertDecl(decl, 'grid-column-align', second);
+ } else {
+ utils.insertDecl(decl, 'grid-row-align', first);
+ utils.insertDecl(decl, 'grid-column-align', first);
+ }
+
+ return undefined;
+ };
+
+ return PlaceSelf;
+}(Declaration);
+
+_defineProperty(PlaceSelf, "names", ['place-self']);
+
+module.exports = PlaceSelf;
\ No newline at end of file
diff --git a/node_modules/autoprefixer/lib/hacks/placeholder-shown.js b/node_modules/autoprefixer/lib/hacks/placeholder-shown.js
new file mode 100644
index 0000000..93f6bfc
--- /dev/null
+++ b/node_modules/autoprefixer/lib/hacks/placeholder-shown.js
@@ -0,0 +1,36 @@
+"use strict";
+
+function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _defaults(subClass, superClass); }
+
+function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+var Selector = require('../selector');
+
+var PlaceholderShown = /*#__PURE__*/function (_Selector) {
+ _inheritsLoose(PlaceholderShown, _Selector);
+
+ function PlaceholderShown() {
+ return _Selector.apply(this, arguments) || this;
+ }
+
+ var _proto = PlaceholderShown.prototype;
+
+ /**
+ * Return different selectors depend on prefix
+ */
+ _proto.prefixed = function prefixed(prefix) {
+ if (prefix === '-ms-') {
+ return ':-ms-input-placeholder';
+ }
+
+ return ":" + prefix + "placeholder-shown";
+ };
+
+ return PlaceholderShown;
+}(Selector);
+
+_defineProperty(PlaceholderShown, "names", [':placeholder-shown']);
+
+module.exports = PlaceholderShown;
\ No newline at end of file
diff --git a/node_modules/autoprefixer/lib/hacks/placeholder.js b/node_modules/autoprefixer/lib/hacks/placeholder.js
new file mode 100644
index 0000000..bbaa860
--- /dev/null
+++ b/node_modules/autoprefixer/lib/hacks/placeholder.js
@@ -0,0 +1,56 @@
+"use strict";
+
+function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _defaults(subClass, superClass); }
+
+function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+var Selector = require('../selector');
+
+var Placeholder = /*#__PURE__*/function (_Selector) {
+ _inheritsLoose(Placeholder, _Selector);
+
+ function Placeholder() {
+ return _Selector.apply(this, arguments) || this;
+ }
+
+ var _proto = Placeholder.prototype;
+
+ /**
+ * Add old mozilla to possible prefixes
+ */
+ _proto.possible = function possible() {
+ return _Selector.prototype.possible.call(this).concat(['-moz- old', '-ms- old']);
+ }
+ /**
+ * Return different selectors depend on prefix
+ */
+ ;
+
+ _proto.prefixed = function prefixed(prefix) {
+ if (prefix === '-webkit-') {
+ return '::-webkit-input-placeholder';
+ }
+
+ if (prefix === '-ms-') {
+ return '::-ms-input-placeholder';
+ }
+
+ if (prefix === '-ms- old') {
+ return ':-ms-input-placeholder';
+ }
+
+ if (prefix === '-moz- old') {
+ return ':-moz-placeholder';
+ }
+
+ return "::" + prefix + "placeholder";
+ };
+
+ return Placeholder;
+}(Selector);
+
+_defineProperty(Placeholder, "names", ['::placeholder']);
+
+module.exports = Placeholder;
\ No newline at end of file
diff --git a/node_modules/autoprefixer/lib/hacks/text-decoration-skip-ink.js b/node_modules/autoprefixer/lib/hacks/text-decoration-skip-ink.js
new file mode 100644
index 0000000..5cdaa3a
--- /dev/null
+++ b/node_modules/autoprefixer/lib/hacks/text-decoration-skip-ink.js
@@ -0,0 +1,38 @@
+"use strict";
+
+function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _defaults(subClass, superClass); }
+
+function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+var Declaration = require('../declaration');
+
+var TextDecorationSkipInk = /*#__PURE__*/function (_Declaration) {
+ _inheritsLoose(TextDecorationSkipInk, _Declaration);
+
+ function TextDecorationSkipInk() {
+ return _Declaration.apply(this, arguments) || this;
+ }
+
+ var _proto = TextDecorationSkipInk.prototype;
+
+ /**
+ * Change prefix for ink value
+ */
+ _proto.set = function set(decl, prefix) {
+ if (decl.prop === 'text-decoration-skip-ink' && decl.value === 'auto') {
+ decl.prop = prefix + 'text-decoration-skip';
+ decl.value = 'ink';
+ return decl;
+ } else {
+ return _Declaration.prototype.set.call(this, decl, prefix);
+ }
+ };
+
+ return TextDecorationSkipInk;
+}(Declaration);
+
+_defineProperty(TextDecorationSkipInk, "names", ['text-decoration-skip-ink', 'text-decoration-skip']);
+
+module.exports = TextDecorationSkipInk;
\ No newline at end of file
diff --git a/node_modules/autoprefixer/lib/hacks/text-decoration.js b/node_modules/autoprefixer/lib/hacks/text-decoration.js
new file mode 100644
index 0000000..1f16de0
--- /dev/null
+++ b/node_modules/autoprefixer/lib/hacks/text-decoration.js
@@ -0,0 +1,36 @@
+"use strict";
+
+function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _defaults(subClass, superClass); }
+
+function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+var Declaration = require('../declaration');
+
+var BASIC = ['none', 'underline', 'overline', 'line-through', 'blink', 'inherit', 'initial', 'unset'];
+
+var TextDecoration = /*#__PURE__*/function (_Declaration) {
+ _inheritsLoose(TextDecoration, _Declaration);
+
+ function TextDecoration() {
+ return _Declaration.apply(this, arguments) || this;
+ }
+
+ var _proto = TextDecoration.prototype;
+
+ /**
+ * Do not add prefixes for basic values.
+ */
+ _proto.check = function check(decl) {
+ return decl.value.split(/\s+/).some(function (i) {
+ return !BASIC.includes(i);
+ });
+ };
+
+ return TextDecoration;
+}(Declaration);
+
+_defineProperty(TextDecoration, "names", ['text-decoration']);
+
+module.exports = TextDecoration;
\ No newline at end of file
diff --git a/node_modules/autoprefixer/lib/hacks/text-emphasis-position.js b/node_modules/autoprefixer/lib/hacks/text-emphasis-position.js
new file mode 100644
index 0000000..6818c2f
--- /dev/null
+++ b/node_modules/autoprefixer/lib/hacks/text-emphasis-position.js
@@ -0,0 +1,33 @@
+"use strict";
+
+function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _defaults(subClass, superClass); }
+
+function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+var Declaration = require('../declaration');
+
+var TextEmphasisPosition = /*#__PURE__*/function (_Declaration) {
+ _inheritsLoose(TextEmphasisPosition, _Declaration);
+
+ function TextEmphasisPosition() {
+ return _Declaration.apply(this, arguments) || this;
+ }
+
+ var _proto = TextEmphasisPosition.prototype;
+
+ _proto.set = function set(decl, prefix) {
+ if (prefix === '-webkit-') {
+ decl.value = decl.value.replace(/\s*(right|left)\s*/i, '');
+ }
+
+ return _Declaration.prototype.set.call(this, decl, prefix);
+ };
+
+ return TextEmphasisPosition;
+}(Declaration);
+
+_defineProperty(TextEmphasisPosition, "names", ['text-emphasis-position']);
+
+module.exports = TextEmphasisPosition;
\ No newline at end of file
diff --git a/node_modules/autoprefixer/lib/hacks/transform-decl.js b/node_modules/autoprefixer/lib/hacks/transform-decl.js
new file mode 100644
index 0000000..0883a1f
--- /dev/null
+++ b/node_modules/autoprefixer/lib/hacks/transform-decl.js
@@ -0,0 +1,105 @@
+"use strict";
+
+function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } it = o[Symbol.iterator](); return it.next.bind(it); }
+
+function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
+
+function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
+
+function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _defaults(subClass, superClass); }
+
+function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+var Declaration = require('../declaration');
+
+var TransformDecl = /*#__PURE__*/function (_Declaration) {
+ _inheritsLoose(TransformDecl, _Declaration);
+
+ function TransformDecl() {
+ return _Declaration.apply(this, arguments) || this;
+ }
+
+ var _proto = TransformDecl.prototype;
+
+ /**
+ * Recursively check all parents for @keyframes
+ */
+ _proto.keyframeParents = function keyframeParents(decl) {
+ var parent = decl.parent;
+
+ while (parent) {
+ if (parent.type === 'atrule' && parent.name === 'keyframes') {
+ return true;
+ }
+
+ var _parent = parent;
+ parent = _parent.parent;
+ }
+
+ return false;
+ }
+ /**
+ * Is transform contain 3D commands
+ */
+ ;
+
+ _proto.contain3d = function contain3d(decl) {
+ if (decl.prop === 'transform-origin') {
+ return false;
+ }
+
+ for (var _iterator = _createForOfIteratorHelperLoose(TransformDecl.functions3d), _step; !(_step = _iterator()).done;) {
+ var func = _step.value;
+
+ if (decl.value.includes(func + "(")) {
+ return true;
+ }
+ }
+
+ return false;
+ }
+ /**
+ * Replace rotateZ to rotate for IE 9
+ */
+ ;
+
+ _proto.set = function set(decl, prefix) {
+ decl = _Declaration.prototype.set.call(this, decl, prefix);
+
+ if (prefix === '-ms-') {
+ decl.value = decl.value.replace(/rotatez/gi, 'rotate');
+ }
+
+ return decl;
+ }
+ /**
+ * Don't add prefix for IE in keyframes
+ */
+ ;
+
+ _proto.insert = function insert(decl, prefix, prefixes) {
+ if (prefix === '-ms-') {
+ if (!this.contain3d(decl) && !this.keyframeParents(decl)) {
+ return _Declaration.prototype.insert.call(this, decl, prefix, prefixes);
+ }
+ } else if (prefix === '-o-') {
+ if (!this.contain3d(decl)) {
+ return _Declaration.prototype.insert.call(this, decl, prefix, prefixes);
+ }
+ } else {
+ return _Declaration.prototype.insert.call(this, decl, prefix, prefixes);
+ }
+
+ return undefined;
+ };
+
+ return TransformDecl;
+}(Declaration);
+
+_defineProperty(TransformDecl, "names", ['transform', 'transform-origin']);
+
+_defineProperty(TransformDecl, "functions3d", ['matrix3d', 'translate3d', 'translateZ', 'scale3d', 'scaleZ', 'rotate3d', 'rotateX', 'rotateY', 'perspective']);
+
+module.exports = TransformDecl;
\ No newline at end of file
diff --git a/node_modules/autoprefixer/lib/hacks/user-select.js b/node_modules/autoprefixer/lib/hacks/user-select.js
new file mode 100644
index 0000000..1d03111
--- /dev/null
+++ b/node_modules/autoprefixer/lib/hacks/user-select.js
@@ -0,0 +1,36 @@
+"use strict";
+
+function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _defaults(subClass, superClass); }
+
+function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+var Declaration = require('../declaration');
+
+var UserSelect = /*#__PURE__*/function (_Declaration) {
+ _inheritsLoose(UserSelect, _Declaration);
+
+ function UserSelect() {
+ return _Declaration.apply(this, arguments) || this;
+ }
+
+ var _proto = UserSelect.prototype;
+
+ /**
+ * Change prefixed value for IE
+ */
+ _proto.set = function set(decl, prefix) {
+ if (prefix === '-ms-' && decl.value === 'contain') {
+ decl.value = 'element';
+ }
+
+ return _Declaration.prototype.set.call(this, decl, prefix);
+ };
+
+ return UserSelect;
+}(Declaration);
+
+_defineProperty(UserSelect, "names", ['user-select']);
+
+module.exports = UserSelect;
\ No newline at end of file
diff --git a/node_modules/autoprefixer/lib/hacks/writing-mode.js b/node_modules/autoprefixer/lib/hacks/writing-mode.js
new file mode 100644
index 0000000..4a60027
--- /dev/null
+++ b/node_modules/autoprefixer/lib/hacks/writing-mode.js
@@ -0,0 +1,59 @@
+"use strict";
+
+function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _defaults(subClass, superClass); }
+
+function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+var Declaration = require('../declaration');
+
+var WritingMode = /*#__PURE__*/function (_Declaration) {
+ _inheritsLoose(WritingMode, _Declaration);
+
+ function WritingMode() {
+ return _Declaration.apply(this, arguments) || this;
+ }
+
+ var _proto = WritingMode.prototype;
+
+ _proto.insert = function insert(decl, prefix, prefixes) {
+ if (prefix === '-ms-') {
+ var cloned = this.set(this.clone(decl), prefix);
+
+ if (this.needCascade(decl)) {
+ cloned.raws.before = this.calcBefore(prefixes, decl, prefix);
+ }
+
+ var direction = 'ltr';
+ decl.parent.nodes.forEach(function (i) {
+ if (i.prop === 'direction') {
+ if (i.value === 'rtl' || i.value === 'ltr') direction = i.value;
+ }
+ });
+ cloned.value = WritingMode.msValues[direction][decl.value] || decl.value;
+ return decl.parent.insertBefore(decl, cloned);
+ }
+
+ return _Declaration.prototype.insert.call(this, decl, prefix, prefixes);
+ };
+
+ return WritingMode;
+}(Declaration);
+
+_defineProperty(WritingMode, "names", ['writing-mode']);
+
+_defineProperty(WritingMode, "msValues", {
+ ltr: {
+ 'horizontal-tb': 'lr-tb',
+ 'vertical-rl': 'tb-rl',
+ 'vertical-lr': 'tb-lr'
+ },
+ rtl: {
+ 'horizontal-tb': 'rl-tb',
+ 'vertical-rl': 'bt-rl',
+ 'vertical-lr': 'bt-lr'
+ }
+});
+
+module.exports = WritingMode;
\ No newline at end of file
diff --git a/node_modules/autoprefixer/lib/info.js b/node_modules/autoprefixer/lib/info.js
new file mode 100644
index 0000000..97eb5d2
--- /dev/null
+++ b/node_modules/autoprefixer/lib/info.js
@@ -0,0 +1,149 @@
+"use strict";
+
+function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } it = o[Symbol.iterator](); return it.next.bind(it); }
+
+function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
+
+function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
+
+var browserslist = require('browserslist');
+
+function capitalize(str) {
+ return str.slice(0, 1).toUpperCase() + str.slice(1);
+}
+
+var NAMES = {
+ ie: 'IE',
+ ie_mob: 'IE Mobile',
+ ios_saf: 'iOS',
+ op_mini: 'Opera Mini',
+ op_mob: 'Opera Mobile',
+ and_chr: 'Chrome for Android',
+ and_ff: 'Firefox for Android',
+ and_uc: 'UC for Android'
+};
+
+function prefix(name, prefixes, note) {
+ var out = " " + name;
+ if (note) out += ' *';
+ out += ': ';
+ out += prefixes.map(function (i) {
+ return i.replace(/^-(.*)-$/g, '$1');
+ }).join(', ');
+ out += '\n';
+ return out;
+}
+
+module.exports = function (prefixes) {
+ if (prefixes.browsers.selected.length === 0) {
+ return 'No browsers selected';
+ }
+
+ var versions = {};
+
+ for (var _iterator = _createForOfIteratorHelperLoose(prefixes.browsers.selected), _step; !(_step = _iterator()).done;) {
+ var _browser = _step.value;
+
+ var parts = _browser.split(' ');
+
+ var _name2 = parts[0];
+ var version = parts[1];
+ _name2 = NAMES[_name2] || capitalize(_name2);
+
+ if (versions[_name2]) {
+ versions[_name2].push(version);
+ } else {
+ versions[_name2] = [version];
+ }
+ }
+
+ var out = 'Browsers:\n';
+
+ for (var browser in versions) {
+ var list = versions[browser];
+ list = list.sort(function (a, b) {
+ return parseFloat(b) - parseFloat(a);
+ });
+ out += " " + browser + ": " + list.join(', ') + "\n";
+ }
+
+ var coverage = browserslist.coverage(prefixes.browsers.selected);
+ var round = Math.round(coverage * 100) / 100.0;
+ out += "\nThese browsers account for " + round + "% of all users globally\n";
+ var atrules = [];
+
+ for (var name in prefixes.add) {
+ var data = prefixes.add[name];
+
+ if (name[0] === '@' && data.prefixes) {
+ atrules.push(prefix(name, data.prefixes));
+ }
+ }
+
+ if (atrules.length > 0) {
+ out += "\nAt-Rules:\n" + atrules.sort().join('');
+ }
+
+ var selectors = [];
+
+ for (var _iterator2 = _createForOfIteratorHelperLoose(prefixes.add.selectors), _step2; !(_step2 = _iterator2()).done;) {
+ var selector = _step2.value;
+
+ if (selector.prefixes) {
+ selectors.push(prefix(selector.name, selector.prefixes));
+ }
+ }
+
+ if (selectors.length > 0) {
+ out += "\nSelectors:\n" + selectors.sort().join('');
+ }
+
+ var values = [];
+ var props = [];
+ var hadGrid = false;
+
+ for (var _name in prefixes.add) {
+ var _data = prefixes.add[_name];
+
+ if (_name[0] !== '@' && _data.prefixes) {
+ var grid = _name.indexOf('grid-') === 0;
+ if (grid) hadGrid = true;
+ props.push(prefix(_name, _data.prefixes, grid));
+ }
+
+ if (!Array.isArray(_data.values)) {
+ continue;
+ }
+
+ for (var _iterator3 = _createForOfIteratorHelperLoose(_data.values), _step3; !(_step3 = _iterator3()).done;) {
+ var value = _step3.value;
+
+ var _grid = value.name.includes('grid');
+
+ if (_grid) hadGrid = true;
+ var string = prefix(value.name, value.prefixes, _grid);
+
+ if (!values.includes(string)) {
+ values.push(string);
+ }
+ }
+ }
+
+ if (props.length > 0) {
+ out += "\nProperties:\n" + props.sort().join('');
+ }
+
+ if (values.length > 0) {
+ out += "\nValues:\n" + values.sort().join('');
+ }
+
+ if (hadGrid) {
+ out += '\n* - Prefixes will be added only on grid: true option.\n';
+ }
+
+ if (!atrules.length && !selectors.length && !props.length && !values.length) {
+ out += '\nAwesome! Your browsers don\'t require any vendor prefixes.' + '\nNow you can remove Autoprefixer from build steps.';
+ }
+
+ return out;
+};
\ No newline at end of file
diff --git a/node_modules/autoprefixer/lib/old-selector.js b/node_modules/autoprefixer/lib/old-selector.js
new file mode 100644
index 0000000..963c446
--- /dev/null
+++ b/node_modules/autoprefixer/lib/old-selector.js
@@ -0,0 +1,88 @@
+"use strict";
+
+function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } it = o[Symbol.iterator](); return it.next.bind(it); }
+
+function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
+
+function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
+
+var OldSelector = /*#__PURE__*/function () {
+ function OldSelector(selector, prefix) {
+ this.prefix = prefix;
+ this.prefixed = selector.prefixed(this.prefix);
+ this.regexp = selector.regexp(this.prefix);
+ this.prefixeds = selector.possible().map(function (x) {
+ return [selector.prefixed(x), selector.regexp(x)];
+ });
+ this.unprefixed = selector.name;
+ this.nameRegexp = selector.regexp();
+ }
+ /**
+ * Is rule a hack without unprefixed version bottom
+ */
+
+
+ var _proto = OldSelector.prototype;
+
+ _proto.isHack = function isHack(rule) {
+ var index = rule.parent.index(rule) + 1;
+ var rules = rule.parent.nodes;
+
+ while (index < rules.length) {
+ var before = rules[index].selector;
+
+ if (!before) {
+ return true;
+ }
+
+ if (before.includes(this.unprefixed) && before.match(this.nameRegexp)) {
+ return false;
+ }
+
+ var some = false;
+
+ for (var _iterator = _createForOfIteratorHelperLoose(this.prefixeds), _step; !(_step = _iterator()).done;) {
+ var _step$value = _step.value,
+ string = _step$value[0],
+ regexp = _step$value[1];
+
+ if (before.includes(string) && before.match(regexp)) {
+ some = true;
+ break;
+ }
+ }
+
+ if (!some) {
+ return true;
+ }
+
+ index += 1;
+ }
+
+ return true;
+ }
+ /**
+ * Does rule contain an unnecessary prefixed selector
+ */
+ ;
+
+ _proto.check = function check(rule) {
+ if (!rule.selector.includes(this.prefixed)) {
+ return false;
+ }
+
+ if (!rule.selector.match(this.regexp)) {
+ return false;
+ }
+
+ if (this.isHack(rule)) {
+ return false;
+ }
+
+ return true;
+ };
+
+ return OldSelector;
+}();
+
+module.exports = OldSelector;
\ No newline at end of file
diff --git a/node_modules/autoprefixer/lib/old-value.js b/node_modules/autoprefixer/lib/old-value.js
new file mode 100644
index 0000000..cc05704
--- /dev/null
+++ b/node_modules/autoprefixer/lib/old-value.js
@@ -0,0 +1,30 @@
+"use strict";
+
+var utils = require('./utils');
+
+var OldValue = /*#__PURE__*/function () {
+ function OldValue(unprefixed, prefixed, string, regexp) {
+ this.unprefixed = unprefixed;
+ this.prefixed = prefixed;
+ this.string = string || prefixed;
+ this.regexp = regexp || utils.regexp(prefixed);
+ }
+ /**
+ * Check, that value contain old value
+ */
+
+
+ var _proto = OldValue.prototype;
+
+ _proto.check = function check(value) {
+ if (value.includes(this.string)) {
+ return !!value.match(this.regexp);
+ }
+
+ return false;
+ };
+
+ return OldValue;
+}();
+
+module.exports = OldValue;
\ No newline at end of file
diff --git a/node_modules/autoprefixer/lib/prefixer.js b/node_modules/autoprefixer/lib/prefixer.js
new file mode 100644
index 0000000..c02d14f
--- /dev/null
+++ b/node_modules/autoprefixer/lib/prefixer.js
@@ -0,0 +1,167 @@
+"use strict";
+
+function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } it = o[Symbol.iterator](); return it.next.bind(it); }
+
+function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
+
+function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
+
+var vendor = require('postcss').vendor;
+
+var Browsers = require('./browsers');
+
+var utils = require('./utils');
+/**
+ * Recursively clone objects
+ */
+
+
+function _clone(obj, parent) {
+ var cloned = new obj.constructor();
+
+ for (var _i = 0, _Object$keys = Object.keys(obj || {}); _i < _Object$keys.length; _i++) {
+ var i = _Object$keys[_i];
+ var value = obj[i];
+
+ if (i === 'parent' && typeof value === 'object') {
+ if (parent) {
+ cloned[i] = parent;
+ }
+ } else if (i === 'source' || i === null) {
+ cloned[i] = value;
+ } else if (Array.isArray(value)) {
+ cloned[i] = value.map(function (x) {
+ return _clone(x, cloned);
+ });
+ } else if (i !== '_autoprefixerPrefix' && i !== '_autoprefixerValues') {
+ if (typeof value === 'object' && value !== null) {
+ value = _clone(value, cloned);
+ }
+
+ cloned[i] = value;
+ }
+ }
+
+ return cloned;
+}
+
+var Prefixer = /*#__PURE__*/function () {
+ /**
+ * Add hack to selected names
+ */
+ Prefixer.hack = function hack(klass) {
+ var _this = this;
+
+ if (!this.hacks) {
+ this.hacks = {};
+ }
+
+ return klass.names.map(function (name) {
+ _this.hacks[name] = klass;
+ return _this.hacks[name];
+ });
+ }
+ /**
+ * Load hacks for some names
+ */
+ ;
+
+ Prefixer.load = function load(name, prefixes, all) {
+ var Klass = this.hacks && this.hacks[name];
+
+ if (Klass) {
+ return new Klass(name, prefixes, all);
+ } else {
+ return new this(name, prefixes, all);
+ }
+ }
+ /**
+ * Clone node and clean autprefixer custom caches
+ */
+ ;
+
+ Prefixer.clone = function clone(node, overrides) {
+ var cloned = _clone(node);
+
+ for (var name in overrides) {
+ cloned[name] = overrides[name];
+ }
+
+ return cloned;
+ };
+
+ function Prefixer(name, prefixes, all) {
+ this.prefixes = prefixes;
+ this.name = name;
+ this.all = all;
+ }
+ /**
+ * Find prefix in node parents
+ */
+
+
+ var _proto = Prefixer.prototype;
+
+ _proto.parentPrefix = function parentPrefix(node) {
+ var prefix;
+
+ if (typeof node._autoprefixerPrefix !== 'undefined') {
+ prefix = node._autoprefixerPrefix;
+ } else if (node.type === 'decl' && node.prop[0] === '-') {
+ prefix = vendor.prefix(node.prop);
+ } else if (node.type === 'root') {
+ prefix = false;
+ } else if (node.type === 'rule' && node.selector.includes(':-') && /:(-\w+-)/.test(node.selector)) {
+ prefix = node.selector.match(/:(-\w+-)/)[1];
+ } else if (node.type === 'atrule' && node.name[0] === '-') {
+ prefix = vendor.prefix(node.name);
+ } else {
+ prefix = this.parentPrefix(node.parent);
+ }
+
+ if (!Browsers.prefixes().includes(prefix)) {
+ prefix = false;
+ }
+
+ node._autoprefixerPrefix = prefix;
+ return node._autoprefixerPrefix;
+ }
+ /**
+ * Clone node with prefixes
+ */
+ ;
+
+ _proto.process = function process(node, result) {
+ if (!this.check(node)) {
+ return undefined;
+ }
+
+ var parent = this.parentPrefix(node);
+ var prefixes = this.prefixes.filter(function (prefix) {
+ return !parent || parent === utils.removeNote(prefix);
+ });
+ var added = [];
+
+ for (var _iterator = _createForOfIteratorHelperLoose(prefixes), _step; !(_step = _iterator()).done;) {
+ var prefix = _step.value;
+
+ if (this.add(node, prefix, added.concat([prefix]), result)) {
+ added.push(prefix);
+ }
+ }
+
+ return added;
+ }
+ /**
+ * Shortcut for Prefixer.clone
+ */
+ ;
+
+ _proto.clone = function clone(node, overrides) {
+ return Prefixer.clone(node, overrides);
+ };
+
+ return Prefixer;
+}();
+
+module.exports = Prefixer;
\ No newline at end of file
diff --git a/node_modules/autoprefixer/lib/prefixes.js b/node_modules/autoprefixer/lib/prefixes.js
new file mode 100644
index 0000000..ce06e26
--- /dev/null
+++ b/node_modules/autoprefixer/lib/prefixes.js
@@ -0,0 +1,471 @@
+"use strict";
+
+function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } it = o[Symbol.iterator](); return it.next.bind(it); }
+
+function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
+
+function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
+
+var vendor = require('postcss').vendor;
+
+var Declaration = require('./declaration');
+
+var Resolution = require('./resolution');
+
+var Transition = require('./transition');
+
+var Processor = require('./processor');
+
+var Supports = require('./supports');
+
+var Browsers = require('./browsers');
+
+var Selector = require('./selector');
+
+var AtRule = require('./at-rule');
+
+var Value = require('./value');
+
+var utils = require('./utils');
+
+Selector.hack(require('./hacks/fullscreen'));
+Selector.hack(require('./hacks/placeholder'));
+Selector.hack(require('./hacks/placeholder-shown'));
+Declaration.hack(require('./hacks/flex'));
+Declaration.hack(require('./hacks/order'));
+Declaration.hack(require('./hacks/filter'));
+Declaration.hack(require('./hacks/grid-end'));
+Declaration.hack(require('./hacks/animation'));
+Declaration.hack(require('./hacks/flex-flow'));
+Declaration.hack(require('./hacks/flex-grow'));
+Declaration.hack(require('./hacks/flex-wrap'));
+Declaration.hack(require('./hacks/grid-area'));
+Declaration.hack(require('./hacks/place-self'));
+Declaration.hack(require('./hacks/grid-start'));
+Declaration.hack(require('./hacks/align-self'));
+Declaration.hack(require('./hacks/appearance'));
+Declaration.hack(require('./hacks/flex-basis'));
+Declaration.hack(require('./hacks/mask-border'));
+Declaration.hack(require('./hacks/mask-composite'));
+Declaration.hack(require('./hacks/align-items'));
+Declaration.hack(require('./hacks/user-select'));
+Declaration.hack(require('./hacks/flex-shrink'));
+Declaration.hack(require('./hacks/break-props'));
+Declaration.hack(require('./hacks/color-adjust'));
+Declaration.hack(require('./hacks/writing-mode'));
+Declaration.hack(require('./hacks/border-image'));
+Declaration.hack(require('./hacks/align-content'));
+Declaration.hack(require('./hacks/border-radius'));
+Declaration.hack(require('./hacks/block-logical'));
+Declaration.hack(require('./hacks/grid-template'));
+Declaration.hack(require('./hacks/inline-logical'));
+Declaration.hack(require('./hacks/grid-row-align'));
+Declaration.hack(require('./hacks/transform-decl'));
+Declaration.hack(require('./hacks/flex-direction'));
+Declaration.hack(require('./hacks/image-rendering'));
+Declaration.hack(require('./hacks/backdrop-filter'));
+Declaration.hack(require('./hacks/background-clip'));
+Declaration.hack(require('./hacks/text-decoration'));
+Declaration.hack(require('./hacks/justify-content'));
+Declaration.hack(require('./hacks/background-size'));
+Declaration.hack(require('./hacks/grid-row-column'));
+Declaration.hack(require('./hacks/grid-rows-columns'));
+Declaration.hack(require('./hacks/grid-column-align'));
+Declaration.hack(require('./hacks/overscroll-behavior'));
+Declaration.hack(require('./hacks/grid-template-areas'));
+Declaration.hack(require('./hacks/text-emphasis-position'));
+Declaration.hack(require('./hacks/text-decoration-skip-ink'));
+Value.hack(require('./hacks/gradient'));
+Value.hack(require('./hacks/intrinsic'));
+Value.hack(require('./hacks/pixelated'));
+Value.hack(require('./hacks/image-set'));
+Value.hack(require('./hacks/cross-fade'));
+Value.hack(require('./hacks/display-flex'));
+Value.hack(require('./hacks/display-grid'));
+Value.hack(require('./hacks/filter-value'));
+var declsCache = {};
+
+var Prefixes = /*#__PURE__*/function () {
+ function Prefixes(data, browsers, options) {
+ if (options === void 0) {
+ options = {};
+ }
+
+ this.data = data;
+ this.browsers = browsers;
+ this.options = options;
+
+ var _this$preprocess = this.preprocess(this.select(this.data));
+
+ this.add = _this$preprocess[0];
+ this.remove = _this$preprocess[1];
+ this.transition = new Transition(this);
+ this.processor = new Processor(this);
+ }
+ /**
+ * Return clone instance to remove all prefixes
+ */
+
+
+ var _proto = Prefixes.prototype;
+
+ _proto.cleaner = function cleaner() {
+ if (this.cleanerCache) {
+ return this.cleanerCache;
+ }
+
+ if (this.browsers.selected.length) {
+ var empty = new Browsers(this.browsers.data, []);
+ this.cleanerCache = new Prefixes(this.data, empty, this.options);
+ } else {
+ return this;
+ }
+
+ return this.cleanerCache;
+ }
+ /**
+ * Select prefixes from data, which is necessary for selected browsers
+ */
+ ;
+
+ _proto.select = function select(list) {
+ var _this = this;
+
+ var selected = {
+ add: {},
+ remove: {}
+ };
+
+ var _loop = function _loop(name) {
+ var data = list[name];
+ var add = data.browsers.map(function (i) {
+ var params = i.split(' ');
+ return {
+ browser: params[0] + " " + params[1],
+ note: params[2]
+ };
+ });
+ var notes = add.filter(function (i) {
+ return i.note;
+ }).map(function (i) {
+ return _this.browsers.prefix(i.browser) + " " + i.note;
+ });
+ notes = utils.uniq(notes);
+ add = add.filter(function (i) {
+ return _this.browsers.isSelected(i.browser);
+ }).map(function (i) {
+ var prefix = _this.browsers.prefix(i.browser);
+
+ if (i.note) {
+ return prefix + " " + i.note;
+ } else {
+ return prefix;
+ }
+ });
+ add = _this.sort(utils.uniq(add));
+
+ if (_this.options.flexbox === 'no-2009') {
+ add = add.filter(function (i) {
+ return !i.includes('2009');
+ });
+ }
+
+ var all = data.browsers.map(function (i) {
+ return _this.browsers.prefix(i);
+ });
+
+ if (data.mistakes) {
+ all = all.concat(data.mistakes);
+ }
+
+ all = all.concat(notes);
+ all = utils.uniq(all);
+
+ if (add.length) {
+ selected.add[name] = add;
+
+ if (add.length < all.length) {
+ selected.remove[name] = all.filter(function (i) {
+ return !add.includes(i);
+ });
+ }
+ } else {
+ selected.remove[name] = all;
+ }
+ };
+
+ for (var name in list) {
+ _loop(name);
+ }
+
+ return selected;
+ }
+ /**
+ * Sort vendor prefixes
+ */
+ ;
+
+ _proto.sort = function sort(prefixes) {
+ return prefixes.sort(function (a, b) {
+ var aLength = utils.removeNote(a).length;
+ var bLength = utils.removeNote(b).length;
+
+ if (aLength === bLength) {
+ return b.length - a.length;
+ } else {
+ return bLength - aLength;
+ }
+ });
+ }
+ /**
+ * Cache prefixes data to fast CSS processing
+ */
+ ;
+
+ _proto.preprocess = function preprocess(selected) {
+ var add = {
+ 'selectors': [],
+ '@supports': new Supports(Prefixes, this)
+ };
+
+ for (var name in selected.add) {
+ var prefixes = selected.add[name];
+
+ if (name === '@keyframes' || name === '@viewport') {
+ add[name] = new AtRule(name, prefixes, this);
+ } else if (name === '@resolution') {
+ add[name] = new Resolution(name, prefixes, this);
+ } else if (this.data[name].selector) {
+ add.selectors.push(Selector.load(name, prefixes, this));
+ } else {
+ var props = this.data[name].props;
+
+ if (props) {
+ var value = Value.load(name, prefixes, this);
+
+ for (var _iterator = _createForOfIteratorHelperLoose(props), _step; !(_step = _iterator()).done;) {
+ var prop = _step.value;
+
+ if (!add[prop]) {
+ add[prop] = {
+ values: []
+ };
+ }
+
+ add[prop].values.push(value);
+ }
+ } else {
+ var values = add[name] && add[name].values || [];
+ add[name] = Declaration.load(name, prefixes, this);
+ add[name].values = values;
+ }
+ }
+ }
+
+ var remove = {
+ selectors: []
+ };
+
+ for (var _name in selected.remove) {
+ var _prefixes = selected.remove[_name];
+
+ if (this.data[_name].selector) {
+ var selector = Selector.load(_name, _prefixes);
+
+ for (var _iterator2 = _createForOfIteratorHelperLoose(_prefixes), _step2; !(_step2 = _iterator2()).done;) {
+ var prefix = _step2.value;
+ remove.selectors.push(selector.old(prefix));
+ }
+ } else if (_name === '@keyframes' || _name === '@viewport') {
+ for (var _iterator3 = _createForOfIteratorHelperLoose(_prefixes), _step3; !(_step3 = _iterator3()).done;) {
+ var _prefix = _step3.value;
+
+ var prefixed = "@" + _prefix + _name.slice(1);
+
+ remove[prefixed] = {
+ remove: true
+ };
+ }
+ } else if (_name === '@resolution') {
+ remove[_name] = new Resolution(_name, _prefixes, this);
+ } else {
+ var _props = this.data[_name].props;
+
+ if (_props) {
+ var _value = Value.load(_name, [], this);
+
+ for (var _iterator4 = _createForOfIteratorHelperLoose(_prefixes), _step4; !(_step4 = _iterator4()).done;) {
+ var _prefix2 = _step4.value;
+
+ var old = _value.old(_prefix2);
+
+ if (old) {
+ for (var _iterator5 = _createForOfIteratorHelperLoose(_props), _step5; !(_step5 = _iterator5()).done;) {
+ var _prop = _step5.value;
+
+ if (!remove[_prop]) {
+ remove[_prop] = {};
+ }
+
+ if (!remove[_prop].values) {
+ remove[_prop].values = [];
+ }
+
+ remove[_prop].values.push(old);
+ }
+ }
+ }
+ } else {
+ for (var _iterator6 = _createForOfIteratorHelperLoose(_prefixes), _step6; !(_step6 = _iterator6()).done;) {
+ var p = _step6.value;
+ var olds = this.decl(_name).old(_name, p);
+
+ if (_name === 'align-self') {
+ var a = add[_name] && add[_name].prefixes;
+
+ if (a) {
+ if (p === '-webkit- 2009' && a.includes('-webkit-')) {
+ continue;
+ } else if (p === '-webkit-' && a.includes('-webkit- 2009')) {
+ continue;
+ }
+ }
+ }
+
+ for (var _iterator7 = _createForOfIteratorHelperLoose(olds), _step7; !(_step7 = _iterator7()).done;) {
+ var _prefixed = _step7.value;
+
+ if (!remove[_prefixed]) {
+ remove[_prefixed] = {};
+ }
+
+ remove[_prefixed].remove = true;
+ }
+ }
+ }
+ }
+ }
+
+ return [add, remove];
+ }
+ /**
+ * Declaration loader with caching
+ */
+ ;
+
+ _proto.decl = function decl(prop) {
+ var decl = declsCache[prop];
+
+ if (decl) {
+ return decl;
+ } else {
+ declsCache[prop] = Declaration.load(prop);
+ return declsCache[prop];
+ }
+ }
+ /**
+ * Return unprefixed version of property
+ */
+ ;
+
+ _proto.unprefixed = function unprefixed(prop) {
+ var value = this.normalize(vendor.unprefixed(prop));
+
+ if (value === 'flex-direction') {
+ value = 'flex-flow';
+ }
+
+ return value;
+ }
+ /**
+ * Normalize prefix for remover
+ */
+ ;
+
+ _proto.normalize = function normalize(prop) {
+ return this.decl(prop).normalize(prop);
+ }
+ /**
+ * Return prefixed version of property
+ */
+ ;
+
+ _proto.prefixed = function prefixed(prop, prefix) {
+ prop = vendor.unprefixed(prop);
+ return this.decl(prop).prefixed(prop, prefix);
+ }
+ /**
+ * Return values, which must be prefixed in selected property
+ */
+ ;
+
+ _proto.values = function values(type, prop) {
+ var data = this[type];
+ var global = data['*'] && data['*'].values;
+ var values = data[prop] && data[prop].values;
+
+ if (global && values) {
+ return utils.uniq(global.concat(values));
+ } else {
+ return global || values || [];
+ }
+ }
+ /**
+ * Group declaration by unprefixed property to check them
+ */
+ ;
+
+ _proto.group = function group(decl) {
+ var _this2 = this;
+
+ var rule = decl.parent;
+ var index = rule.index(decl);
+ var length = rule.nodes.length;
+ var unprefixed = this.unprefixed(decl.prop);
+
+ var checker = function checker(step, callback) {
+ index += step;
+
+ while (index >= 0 && index < length) {
+ var other = rule.nodes[index];
+
+ if (other.type === 'decl') {
+ if (step === -1 && other.prop === unprefixed) {
+ if (!Browsers.withPrefix(other.value)) {
+ break;
+ }
+ }
+
+ if (_this2.unprefixed(other.prop) !== unprefixed) {
+ break;
+ } else if (callback(other) === true) {
+ return true;
+ }
+
+ if (step === +1 && other.prop === unprefixed) {
+ if (!Browsers.withPrefix(other.value)) {
+ break;
+ }
+ }
+ }
+
+ index += step;
+ }
+
+ return false;
+ };
+
+ return {
+ up: function up(callback) {
+ return checker(-1, callback);
+ },
+ down: function down(callback) {
+ return checker(+1, callback);
+ }
+ };
+ };
+
+ return Prefixes;
+}();
+
+module.exports = Prefixes;
\ No newline at end of file
diff --git a/node_modules/autoprefixer/lib/processor.js b/node_modules/autoprefixer/lib/processor.js
new file mode 100644
index 0000000..67ffe90
--- /dev/null
+++ b/node_modules/autoprefixer/lib/processor.js
@@ -0,0 +1,703 @@
+"use strict";
+
+function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } it = o[Symbol.iterator](); return it.next.bind(it); }
+
+function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
+
+function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
+
+var parser = require('postcss-value-parser');
+
+var Value = require('./value');
+
+var insertAreas = require('./hacks/grid-utils').insertAreas;
+
+var OLD_LINEAR = /(^|[^-])linear-gradient\(\s*(top|left|right|bottom)/i;
+var OLD_RADIAL = /(^|[^-])radial-gradient\(\s*\d+(\w*|%)\s+\d+(\w*|%)\s*,/i;
+var IGNORE_NEXT = /(!\s*)?autoprefixer:\s*ignore\s+next/i;
+var GRID_REGEX = /(!\s*)?autoprefixer\s*grid:\s*(on|off|(no-)?autoplace)/i;
+var SIZES = ['width', 'height', 'min-width', 'max-width', 'min-height', 'max-height', 'inline-size', 'min-inline-size', 'max-inline-size', 'block-size', 'min-block-size', 'max-block-size'];
+
+function hasGridTemplate(decl) {
+ return decl.parent.some(function (i) {
+ return i.prop === 'grid-template' || i.prop === 'grid-template-areas';
+ });
+}
+
+function hasRowsAndColumns(decl) {
+ var hasRows = decl.parent.some(function (i) {
+ return i.prop === 'grid-template-rows';
+ });
+ var hasColumns = decl.parent.some(function (i) {
+ return i.prop === 'grid-template-columns';
+ });
+ return hasRows && hasColumns;
+}
+
+var Processor = /*#__PURE__*/function () {
+ function Processor(prefixes) {
+ this.prefixes = prefixes;
+ }
+ /**
+ * Add necessary prefixes
+ */
+
+
+ var _proto = Processor.prototype;
+
+ _proto.add = function add(css, result) {
+ var _this = this;
+
+ // At-rules
+ var resolution = this.prefixes.add['@resolution'];
+ var keyframes = this.prefixes.add['@keyframes'];
+ var viewport = this.prefixes.add['@viewport'];
+ var supports = this.prefixes.add['@supports'];
+ css.walkAtRules(function (rule) {
+ if (rule.name === 'keyframes') {
+ if (!_this.disabled(rule, result)) {
+ return keyframes && keyframes.process(rule);
+ }
+ } else if (rule.name === 'viewport') {
+ if (!_this.disabled(rule, result)) {
+ return viewport && viewport.process(rule);
+ }
+ } else if (rule.name === 'supports') {
+ if (_this.prefixes.options.supports !== false && !_this.disabled(rule, result)) {
+ return supports.process(rule);
+ }
+ } else if (rule.name === 'media' && rule.params.includes('-resolution')) {
+ if (!_this.disabled(rule, result)) {
+ return resolution && resolution.process(rule);
+ }
+ }
+
+ return undefined;
+ }); // Selectors
+
+ css.walkRules(function (rule) {
+ if (_this.disabled(rule, result)) return undefined;
+ return _this.prefixes.add.selectors.map(function (selector) {
+ return selector.process(rule, result);
+ });
+ });
+
+ function insideGrid(decl) {
+ return decl.parent.nodes.some(function (node) {
+ if (node.type !== 'decl') return false;
+ var displayGrid = node.prop === 'display' && /(inline-)?grid/.test(node.value);
+ var gridTemplate = node.prop.startsWith('grid-template');
+ var gridGap = /^grid-([A-z]+-)?gap/.test(node.prop);
+ return displayGrid || gridTemplate || gridGap;
+ });
+ }
+
+ function insideFlex(decl) {
+ return decl.parent.some(function (node) {
+ return node.prop === 'display' && /(inline-)?flex/.test(node.value);
+ });
+ }
+
+ var gridPrefixes = this.gridStatus(css, result) && this.prefixes.add['grid-area'] && this.prefixes.add['grid-area'].prefixes;
+ css.walkDecls(function (decl) {
+ if (_this.disabledDecl(decl, result)) return undefined;
+ var parent = decl.parent;
+ var prop = decl.prop;
+ var value = decl.value;
+
+ if (prop === 'grid-row-span') {
+ result.warn('grid-row-span is not part of final Grid Layout. Use grid-row.', {
+ node: decl
+ });
+ return undefined;
+ } else if (prop === 'grid-column-span') {
+ result.warn('grid-column-span is not part of final Grid Layout. Use grid-column.', {
+ node: decl
+ });
+ return undefined;
+ } else if (prop === 'display' && value === 'box') {
+ result.warn('You should write display: flex by final spec ' + 'instead of display: box', {
+ node: decl
+ });
+ return undefined;
+ } else if (prop === 'text-emphasis-position') {
+ if (value === 'under' || value === 'over') {
+ result.warn('You should use 2 values for text-emphasis-position ' + 'For example, `under left` instead of just `under`.', {
+ node: decl
+ });
+ }
+ } else if (/^(align|justify|place)-(items|content)$/.test(prop) && insideFlex(decl)) {
+ if (value === 'start' || value === 'end') {
+ result.warn(value + " value has mixed support, consider using " + ("flex-" + value + " instead"), {
+ node: decl
+ });
+ }
+ } else if (prop === 'text-decoration-skip' && value === 'ink') {
+ result.warn('Replace text-decoration-skip: ink to ' + 'text-decoration-skip-ink: auto, because spec had been changed', {
+ node: decl
+ });
+ } else {
+ if (gridPrefixes && _this.gridStatus(decl, result)) {
+ if (decl.value === 'subgrid') {
+ result.warn('IE does not support subgrid', {
+ node: decl
+ });
+ }
+
+ if (/^(align|justify|place)-items$/.test(prop) && insideGrid(decl)) {
+ var fixed = prop.replace('-items', '-self');
+ result.warn("IE does not support " + prop + " on grid containers. " + ("Try using " + fixed + " on child elements instead: ") + (decl.parent.selector + " > * { " + fixed + ": " + decl.value + " }"), {
+ node: decl
+ });
+ } else if (/^(align|justify|place)-content$/.test(prop) && insideGrid(decl)) {
+ result.warn("IE does not support " + decl.prop + " on grid containers", {
+ node: decl
+ });
+ } else if (prop === 'display' && decl.value === 'contents') {
+ result.warn('Please do not use display: contents; ' + 'if you have grid setting enabled', {
+ node: decl
+ });
+ return undefined;
+ } else if (decl.prop === 'grid-gap') {
+ var status = _this.gridStatus(decl, result);
+
+ if (status === 'autoplace' && !hasRowsAndColumns(decl) && !hasGridTemplate(decl)) {
+ result.warn('grid-gap only works if grid-template(-areas) is being ' + 'used or both rows and columns have been declared ' + 'and cells have not been manually ' + 'placed inside the explicit grid', {
+ node: decl
+ });
+ } else if ((status === true || status === 'no-autoplace') && !hasGridTemplate(decl)) {
+ result.warn('grid-gap only works if grid-template(-areas) is being used', {
+ node: decl
+ });
+ }
+ } else if (prop === 'grid-auto-columns') {
+ result.warn('grid-auto-columns is not supported by IE', {
+ node: decl
+ });
+ return undefined;
+ } else if (prop === 'grid-auto-rows') {
+ result.warn('grid-auto-rows is not supported by IE', {
+ node: decl
+ });
+ return undefined;
+ } else if (prop === 'grid-auto-flow') {
+ var hasRows = parent.some(function (i) {
+ return i.prop === 'grid-template-rows';
+ });
+ var hasCols = parent.some(function (i) {
+ return i.prop === 'grid-template-columns';
+ });
+
+ if (hasGridTemplate(decl)) {
+ result.warn('grid-auto-flow is not supported by IE', {
+ node: decl
+ });
+ } else if (value.includes('dense')) {
+ result.warn('grid-auto-flow: dense is not supported by IE', {
+ node: decl
+ });
+ } else if (!hasRows && !hasCols) {
+ result.warn('grid-auto-flow works only if grid-template-rows and ' + 'grid-template-columns are present in the same rule', {
+ node: decl
+ });
+ }
+
+ return undefined;
+ } else if (value.includes('auto-fit')) {
+ result.warn('auto-fit value is not supported by IE', {
+ node: decl,
+ word: 'auto-fit'
+ });
+ return undefined;
+ } else if (value.includes('auto-fill')) {
+ result.warn('auto-fill value is not supported by IE', {
+ node: decl,
+ word: 'auto-fill'
+ });
+ return undefined;
+ } else if (prop.startsWith('grid-template') && value.includes('[')) {
+ result.warn('Autoprefixer currently does not support line names. ' + 'Try using grid-template-areas instead.', {
+ node: decl,
+ word: '['
+ });
+ }
+ }
+
+ if (value.includes('radial-gradient')) {
+ if (OLD_RADIAL.test(decl.value)) {
+ result.warn('Gradient has outdated direction syntax. ' + 'New syntax is like `closest-side at 0 0` ' + 'instead of `0 0, closest-side`.', {
+ node: decl
+ });
+ } else {
+ var ast = parser(value);
+
+ for (var _iterator = _createForOfIteratorHelperLoose(ast.nodes), _step; !(_step = _iterator()).done;) {
+ var i = _step.value;
+
+ if (i.type === 'function' && i.value === 'radial-gradient') {
+ for (var _iterator2 = _createForOfIteratorHelperLoose(i.nodes), _step2; !(_step2 = _iterator2()).done;) {
+ var word = _step2.value;
+
+ if (word.type === 'word') {
+ if (word.value === 'cover') {
+ result.warn('Gradient has outdated direction syntax. ' + 'Replace `cover` to `farthest-corner`.', {
+ node: decl
+ });
+ } else if (word.value === 'contain') {
+ result.warn('Gradient has outdated direction syntax. ' + 'Replace `contain` to `closest-side`.', {
+ node: decl
+ });
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
+ if (value.includes('linear-gradient')) {
+ if (OLD_LINEAR.test(value)) {
+ result.warn('Gradient has outdated direction syntax. ' + 'New syntax is like `to left` instead of `right`.', {
+ node: decl
+ });
+ }
+ }
+ }
+
+ if (SIZES.includes(decl.prop)) {
+ if (!decl.value.includes('-fill-available')) {
+ if (decl.value.includes('fill-available')) {
+ result.warn('Replace fill-available to stretch, ' + 'because spec had been changed', {
+ node: decl
+ });
+ } else if (decl.value.includes('fill')) {
+ var _ast = parser(value);
+
+ if (_ast.nodes.some(function (i) {
+ return i.type === 'word' && i.value === 'fill';
+ })) {
+ result.warn('Replace fill to stretch, because spec had been changed', {
+ node: decl
+ });
+ }
+ }
+ }
+ }
+
+ var prefixer;
+
+ if (decl.prop === 'transition' || decl.prop === 'transition-property') {
+ // Transition
+ return _this.prefixes.transition.add(decl, result);
+ } else if (decl.prop === 'align-self') {
+ // align-self flexbox or grid
+ var display = _this.displayType(decl);
+
+ if (display !== 'grid' && _this.prefixes.options.flexbox !== false) {
+ prefixer = _this.prefixes.add['align-self'];
+
+ if (prefixer && prefixer.prefixes) {
+ prefixer.process(decl);
+ }
+ }
+
+ if (_this.gridStatus(decl, result) !== false) {
+ prefixer = _this.prefixes.add['grid-row-align'];
+
+ if (prefixer && prefixer.prefixes) {
+ return prefixer.process(decl, result);
+ }
+ }
+ } else if (decl.prop === 'justify-self') {
+ // justify-self flexbox or grid
+ if (_this.gridStatus(decl, result) !== false) {
+ prefixer = _this.prefixes.add['grid-column-align'];
+
+ if (prefixer && prefixer.prefixes) {
+ return prefixer.process(decl, result);
+ }
+ }
+ } else if (decl.prop === 'place-self') {
+ prefixer = _this.prefixes.add['place-self'];
+
+ if (prefixer && prefixer.prefixes && _this.gridStatus(decl, result) !== false) {
+ return prefixer.process(decl, result);
+ }
+ } else {
+ // Properties
+ prefixer = _this.prefixes.add[decl.prop];
+
+ if (prefixer && prefixer.prefixes) {
+ return prefixer.process(decl, result);
+ }
+ }
+
+ return undefined;
+ }); // Insert grid-area prefixes. We need to be able to store the different
+ // rules as a data and hack API is not enough for this
+
+ if (this.gridStatus(css, result)) {
+ insertAreas(css, this.disabled);
+ } // Values
+
+
+ return css.walkDecls(function (decl) {
+ if (_this.disabledValue(decl, result)) return;
+
+ var unprefixed = _this.prefixes.unprefixed(decl.prop);
+
+ var list = _this.prefixes.values('add', unprefixed);
+
+ if (Array.isArray(list)) {
+ for (var _iterator3 = _createForOfIteratorHelperLoose(list), _step3; !(_step3 = _iterator3()).done;) {
+ var value = _step3.value;
+ if (value.process) value.process(decl, result);
+ }
+ }
+
+ Value.save(_this.prefixes, decl);
+ });
+ }
+ /**
+ * Remove unnecessary pefixes
+ */
+ ;
+
+ _proto.remove = function remove(css, result) {
+ var _this2 = this;
+
+ // At-rules
+ var resolution = this.prefixes.remove['@resolution'];
+ css.walkAtRules(function (rule, i) {
+ if (_this2.prefixes.remove["@" + rule.name]) {
+ if (!_this2.disabled(rule, result)) {
+ rule.parent.removeChild(i);
+ }
+ } else if (rule.name === 'media' && rule.params.includes('-resolution') && resolution) {
+ resolution.clean(rule);
+ }
+ }); // Selectors
+
+ var _loop = function _loop() {
+ var checker = _step4.value;
+ css.walkRules(function (rule, i) {
+ if (checker.check(rule)) {
+ if (!_this2.disabled(rule, result)) {
+ rule.parent.removeChild(i);
+ }
+ }
+ });
+ };
+
+ for (var _iterator4 = _createForOfIteratorHelperLoose(this.prefixes.remove.selectors), _step4; !(_step4 = _iterator4()).done;) {
+ _loop();
+ }
+
+ return css.walkDecls(function (decl, i) {
+ if (_this2.disabled(decl, result)) return;
+ var rule = decl.parent;
+
+ var unprefixed = _this2.prefixes.unprefixed(decl.prop); // Transition
+
+
+ if (decl.prop === 'transition' || decl.prop === 'transition-property') {
+ _this2.prefixes.transition.remove(decl);
+ } // Properties
+
+
+ if (_this2.prefixes.remove[decl.prop] && _this2.prefixes.remove[decl.prop].remove) {
+ var notHack = _this2.prefixes.group(decl).down(function (other) {
+ return _this2.prefixes.normalize(other.prop) === unprefixed;
+ });
+
+ if (unprefixed === 'flex-flow') {
+ notHack = true;
+ }
+
+ if (decl.prop === '-webkit-box-orient') {
+ var hacks = {
+ 'flex-direction': true,
+ 'flex-flow': true
+ };
+ if (!decl.parent.some(function (j) {
+ return hacks[j.prop];
+ })) return;
+ }
+
+ if (notHack && !_this2.withHackValue(decl)) {
+ if (decl.raw('before').includes('\n')) {
+ _this2.reduceSpaces(decl);
+ }
+
+ rule.removeChild(i);
+ return;
+ }
+ } // Values
+
+
+ for (var _iterator5 = _createForOfIteratorHelperLoose(_this2.prefixes.values('remove', unprefixed)), _step5; !(_step5 = _iterator5()).done;) {
+ var checker = _step5.value;
+ if (!checker.check) continue;
+ if (!checker.check(decl.value)) continue;
+ unprefixed = checker.unprefixed;
+
+ var _notHack = _this2.prefixes.group(decl).down(function (other) {
+ return other.value.includes(unprefixed);
+ });
+
+ if (_notHack) {
+ rule.removeChild(i);
+ return;
+ }
+ }
+ });
+ }
+ /**
+ * Some rare old values, which is not in standard
+ */
+ ;
+
+ _proto.withHackValue = function withHackValue(decl) {
+ return decl.prop === '-webkit-background-clip' && decl.value === 'text';
+ }
+ /**
+ * Check for grid/flexbox options.
+ */
+ ;
+
+ _proto.disabledValue = function disabledValue(node, result) {
+ if (this.gridStatus(node, result) === false && node.type === 'decl') {
+ if (node.prop === 'display' && node.value.includes('grid')) {
+ return true;
+ }
+ }
+
+ if (this.prefixes.options.flexbox === false && node.type === 'decl') {
+ if (node.prop === 'display' && node.value.includes('flex')) {
+ return true;
+ }
+ }
+
+ return this.disabled(node, result);
+ }
+ /**
+ * Check for grid/flexbox options.
+ */
+ ;
+
+ _proto.disabledDecl = function disabledDecl(node, result) {
+ if (this.gridStatus(node, result) === false && node.type === 'decl') {
+ if (node.prop.includes('grid') || node.prop === 'justify-items') {
+ return true;
+ }
+ }
+
+ if (this.prefixes.options.flexbox === false && node.type === 'decl') {
+ var other = ['order', 'justify-content', 'align-items', 'align-content'];
+
+ if (node.prop.includes('flex') || other.includes(node.prop)) {
+ return true;
+ }
+ }
+
+ return this.disabled(node, result);
+ }
+ /**
+ * Check for control comment and global options
+ */
+ ;
+
+ _proto.disabled = function disabled(node, result) {
+ if (!node) return false;
+
+ if (node._autoprefixerDisabled !== undefined) {
+ return node._autoprefixerDisabled;
+ }
+
+ if (node.parent) {
+ var p = node.prev();
+
+ if (p && p.type === 'comment' && IGNORE_NEXT.test(p.text)) {
+ node._autoprefixerDisabled = true;
+ node._autoprefixerSelfDisabled = true;
+ return true;
+ }
+ }
+
+ var value = null;
+
+ if (node.nodes) {
+ var status;
+ node.each(function (i) {
+ if (i.type !== 'comment') return;
+
+ if (/(!\s*)?autoprefixer:\s*(off|on)/i.test(i.text)) {
+ if (typeof status !== 'undefined') {
+ result.warn('Second Autoprefixer control comment ' + 'was ignored. Autoprefixer applies control ' + 'comment to whole block, not to next rules.', {
+ node: i
+ });
+ } else {
+ status = /on/i.test(i.text);
+ }
+ }
+ });
+
+ if (status !== undefined) {
+ value = !status;
+ }
+ }
+
+ if (!node.nodes || value === null) {
+ if (node.parent) {
+ var isParentDisabled = this.disabled(node.parent, result);
+
+ if (node.parent._autoprefixerSelfDisabled === true) {
+ value = false;
+ } else {
+ value = isParentDisabled;
+ }
+ } else {
+ value = false;
+ }
+ }
+
+ node._autoprefixerDisabled = value;
+ return value;
+ }
+ /**
+ * Normalize spaces in cascade declaration group
+ */
+ ;
+
+ _proto.reduceSpaces = function reduceSpaces(decl) {
+ var stop = false;
+ this.prefixes.group(decl).up(function () {
+ stop = true;
+ return true;
+ });
+
+ if (stop) {
+ return;
+ }
+
+ var parts = decl.raw('before').split('\n');
+ var prevMin = parts[parts.length - 1].length;
+ var diff = false;
+ this.prefixes.group(decl).down(function (other) {
+ parts = other.raw('before').split('\n');
+ var last = parts.length - 1;
+
+ if (parts[last].length > prevMin) {
+ if (diff === false) {
+ diff = parts[last].length - prevMin;
+ }
+
+ parts[last] = parts[last].slice(0, -diff);
+ other.raws.before = parts.join('\n');
+ }
+ });
+ }
+ /**
+ * Is it flebox or grid rule
+ */
+ ;
+
+ _proto.displayType = function displayType(decl) {
+ for (var _iterator6 = _createForOfIteratorHelperLoose(decl.parent.nodes), _step6; !(_step6 = _iterator6()).done;) {
+ var i = _step6.value;
+
+ if (i.prop !== 'display') {
+ continue;
+ }
+
+ if (i.value.includes('flex')) {
+ return 'flex';
+ }
+
+ if (i.value.includes('grid')) {
+ return 'grid';
+ }
+ }
+
+ return false;
+ }
+ /**
+ * Set grid option via control comment
+ */
+ ;
+
+ _proto.gridStatus = function gridStatus(node, result) {
+ if (!node) return false;
+
+ if (node._autoprefixerGridStatus !== undefined) {
+ return node._autoprefixerGridStatus;
+ }
+
+ var value = null;
+
+ if (node.nodes) {
+ var status;
+ node.each(function (i) {
+ if (i.type !== 'comment') return;
+
+ if (GRID_REGEX.test(i.text)) {
+ var hasAutoplace = /:\s*autoplace/i.test(i.text);
+ var noAutoplace = /no-autoplace/i.test(i.text);
+
+ if (typeof status !== 'undefined') {
+ result.warn('Second Autoprefixer grid control comment was ' + 'ignored. Autoprefixer applies control comments to the whole ' + 'block, not to the next rules.', {
+ node: i
+ });
+ } else if (hasAutoplace) {
+ status = 'autoplace';
+ } else if (noAutoplace) {
+ status = true;
+ } else {
+ status = /on/i.test(i.text);
+ }
+ }
+ });
+
+ if (status !== undefined) {
+ value = status;
+ }
+ }
+
+ if (node.type === 'atrule' && node.name === 'supports') {
+ var params = node.params;
+
+ if (params.includes('grid') && params.includes('auto')) {
+ value = false;
+ }
+ }
+
+ if (!node.nodes || value === null) {
+ if (node.parent) {
+ var isParentGrid = this.gridStatus(node.parent, result);
+
+ if (node.parent._autoprefixerSelfDisabled === true) {
+ value = false;
+ } else {
+ value = isParentGrid;
+ }
+ } else if (typeof this.prefixes.options.grid !== 'undefined') {
+ value = this.prefixes.options.grid;
+ } else if (typeof process.env.AUTOPREFIXER_GRID !== 'undefined') {
+ if (process.env.AUTOPREFIXER_GRID === 'autoplace') {
+ value = 'autoplace';
+ } else {
+ value = true;
+ }
+ } else {
+ value = false;
+ }
+ }
+
+ node._autoprefixerGridStatus = value;
+ return value;
+ };
+
+ return Processor;
+}();
+
+module.exports = Processor;
\ No newline at end of file
diff --git a/node_modules/autoprefixer/lib/resolution.js b/node_modules/autoprefixer/lib/resolution.js
new file mode 100644
index 0000000..4344f5e
--- /dev/null
+++ b/node_modules/autoprefixer/lib/resolution.js
@@ -0,0 +1,125 @@
+"use strict";
+
+function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } it = o[Symbol.iterator](); return it.next.bind(it); }
+
+function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
+
+function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
+
+function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _defaults(subClass, superClass); }
+
+var n2f = require('num2fraction');
+
+var Prefixer = require('./prefixer');
+
+var utils = require('./utils');
+
+var REGEXP = /(min|max)-resolution\s*:\s*\d*\.?\d+(dppx|dpi|x)/gi;
+var SPLIT = /(min|max)-resolution(\s*:\s*)(\d*\.?\d+)(dppx|dpi|x)/i;
+
+var Resolution = /*#__PURE__*/function (_Prefixer) {
+ _inheritsLoose(Resolution, _Prefixer);
+
+ function Resolution() {
+ return _Prefixer.apply(this, arguments) || this;
+ }
+
+ var _proto = Resolution.prototype;
+
+ /**
+ * Return prefixed query name
+ */
+ _proto.prefixName = function prefixName(prefix, name) {
+ if (prefix === '-moz-') {
+ return name + '--moz-device-pixel-ratio';
+ } else {
+ return prefix + name + '-device-pixel-ratio';
+ }
+ }
+ /**
+ * Return prefixed query
+ */
+ ;
+
+ _proto.prefixQuery = function prefixQuery(prefix, name, colon, value, units) {
+ if (units === 'dpi') {
+ value = Number(value / 96);
+ }
+
+ if (prefix === '-o-') {
+ value = n2f(value);
+ }
+
+ return this.prefixName(prefix, name) + colon + value;
+ }
+ /**
+ * Remove prefixed queries
+ */
+ ;
+
+ _proto.clean = function clean(rule) {
+ var _this = this;
+
+ if (!this.bad) {
+ this.bad = [];
+
+ for (var _iterator = _createForOfIteratorHelperLoose(this.prefixes), _step; !(_step = _iterator()).done;) {
+ var prefix = _step.value;
+ this.bad.push(this.prefixName(prefix, 'min'));
+ this.bad.push(this.prefixName(prefix, 'max'));
+ }
+ }
+
+ rule.params = utils.editList(rule.params, function (queries) {
+ return queries.filter(function (query) {
+ return _this.bad.every(function (i) {
+ return !query.includes(i);
+ });
+ });
+ });
+ }
+ /**
+ * Add prefixed queries
+ */
+ ;
+
+ _proto.process = function process(rule) {
+ var _this2 = this;
+
+ var parent = this.parentPrefix(rule);
+ var prefixes = parent ? [parent] : this.prefixes;
+ rule.params = utils.editList(rule.params, function (origin, prefixed) {
+ for (var _iterator2 = _createForOfIteratorHelperLoose(origin), _step2; !(_step2 = _iterator2()).done;) {
+ var query = _step2.value;
+
+ if (!query.includes('min-resolution') && !query.includes('max-resolution')) {
+ prefixed.push(query);
+ continue;
+ }
+
+ var _loop = function _loop() {
+ var prefix = _step3.value;
+ var processed = query.replace(REGEXP, function (str) {
+ var parts = str.match(SPLIT);
+ return _this2.prefixQuery(prefix, parts[1], parts[2], parts[3], parts[4]);
+ });
+ prefixed.push(processed);
+ };
+
+ for (var _iterator3 = _createForOfIteratorHelperLoose(prefixes), _step3; !(_step3 = _iterator3()).done;) {
+ _loop();
+ }
+
+ prefixed.push(query);
+ }
+
+ return utils.uniq(prefixed);
+ });
+ };
+
+ return Resolution;
+}(Prefixer);
+
+module.exports = Resolution;
\ No newline at end of file
diff --git a/node_modules/autoprefixer/lib/selector.js b/node_modules/autoprefixer/lib/selector.js
new file mode 100644
index 0000000..0a6fb62
--- /dev/null
+++ b/node_modules/autoprefixer/lib/selector.js
@@ -0,0 +1,198 @@
+"use strict";
+
+function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } it = o[Symbol.iterator](); return it.next.bind(it); }
+
+function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
+
+function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
+
+function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _defaults(subClass, superClass); }
+
+var _require = require('postcss'),
+ list = _require.list;
+
+var OldSelector = require('./old-selector');
+
+var Prefixer = require('./prefixer');
+
+var Browsers = require('./browsers');
+
+var utils = require('./utils');
+
+var Selector = /*#__PURE__*/function (_Prefixer) {
+ _inheritsLoose(Selector, _Prefixer);
+
+ function Selector(name, prefixes, all) {
+ var _this;
+
+ _this = _Prefixer.call(this, name, prefixes, all) || this;
+ _this.regexpCache = {};
+ return _this;
+ }
+ /**
+ * Is rule selectors need to be prefixed
+ */
+
+
+ var _proto = Selector.prototype;
+
+ _proto.check = function check(rule) {
+ if (rule.selector.includes(this.name)) {
+ return !!rule.selector.match(this.regexp());
+ }
+
+ return false;
+ }
+ /**
+ * Return prefixed version of selector
+ */
+ ;
+
+ _proto.prefixed = function prefixed(prefix) {
+ return this.name.replace(/^(\W*)/, "$1" + prefix);
+ }
+ /**
+ * Lazy loadRegExp for name
+ */
+ ;
+
+ _proto.regexp = function regexp(prefix) {
+ if (this.regexpCache[prefix]) {
+ return this.regexpCache[prefix];
+ }
+
+ var name = prefix ? this.prefixed(prefix) : this.name;
+ this.regexpCache[prefix] = new RegExp("(^|[^:\"'=])" + utils.escapeRegexp(name), 'gi');
+ return this.regexpCache[prefix];
+ }
+ /**
+ * All possible prefixes
+ */
+ ;
+
+ _proto.possible = function possible() {
+ return Browsers.prefixes();
+ }
+ /**
+ * Return all possible selector prefixes
+ */
+ ;
+
+ _proto.prefixeds = function prefixeds(rule) {
+ var _this2 = this;
+
+ if (rule._autoprefixerPrefixeds) {
+ if (rule._autoprefixerPrefixeds[this.name]) {
+ return rule._autoprefixerPrefixeds;
+ }
+ } else {
+ rule._autoprefixerPrefixeds = {};
+ }
+
+ var prefixeds = {};
+
+ if (rule.selector.includes(',')) {
+ var ruleParts = list.comma(rule.selector);
+ var toProcess = ruleParts.filter(function (el) {
+ return el.includes(_this2.name);
+ });
+
+ var _loop = function _loop() {
+ var prefix = _step.value;
+ prefixeds[prefix] = toProcess.map(function (el) {
+ return _this2.replace(el, prefix);
+ }).join(', ');
+ };
+
+ for (var _iterator = _createForOfIteratorHelperLoose(this.possible()), _step; !(_step = _iterator()).done;) {
+ _loop();
+ }
+ } else {
+ for (var _iterator2 = _createForOfIteratorHelperLoose(this.possible()), _step2; !(_step2 = _iterator2()).done;) {
+ var prefix = _step2.value;
+ prefixeds[prefix] = this.replace(rule.selector, prefix);
+ }
+ }
+
+ rule._autoprefixerPrefixeds[this.name] = prefixeds;
+ return rule._autoprefixerPrefixeds;
+ }
+ /**
+ * Is rule already prefixed before
+ */
+ ;
+
+ _proto.already = function already(rule, prefixeds, prefix) {
+ var index = rule.parent.index(rule) - 1;
+
+ while (index >= 0) {
+ var before = rule.parent.nodes[index];
+
+ if (before.type !== 'rule') {
+ return false;
+ }
+
+ var some = false;
+
+ for (var key in prefixeds[this.name]) {
+ var prefixed = prefixeds[this.name][key];
+
+ if (before.selector === prefixed) {
+ if (prefix === key) {
+ return true;
+ } else {
+ some = true;
+ break;
+ }
+ }
+ }
+
+ if (!some) {
+ return false;
+ }
+
+ index -= 1;
+ }
+
+ return false;
+ }
+ /**
+ * Replace selectors by prefixed one
+ */
+ ;
+
+ _proto.replace = function replace(selector, prefix) {
+ return selector.replace(this.regexp(), "$1" + this.prefixed(prefix));
+ }
+ /**
+ * Clone and add prefixes for at-rule
+ */
+ ;
+
+ _proto.add = function add(rule, prefix) {
+ var prefixeds = this.prefixeds(rule);
+
+ if (this.already(rule, prefixeds, prefix)) {
+ return;
+ }
+
+ var cloned = this.clone(rule, {
+ selector: prefixeds[this.name][prefix]
+ });
+ rule.parent.insertBefore(rule, cloned);
+ }
+ /**
+ * Return function to fast find prefixed selector
+ */
+ ;
+
+ _proto.old = function old(prefix) {
+ return new OldSelector(this, prefix);
+ };
+
+ return Selector;
+}(Prefixer);
+
+module.exports = Selector;
\ No newline at end of file
diff --git a/node_modules/autoprefixer/lib/supports.js b/node_modules/autoprefixer/lib/supports.js
new file mode 100644
index 0000000..11aa17f
--- /dev/null
+++ b/node_modules/autoprefixer/lib/supports.js
@@ -0,0 +1,346 @@
+"use strict";
+
+function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } it = o[Symbol.iterator](); return it.next.bind(it); }
+
+function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
+
+function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
+
+var postcss = require('postcss');
+
+var data = require('caniuse-lite').feature(require('caniuse-lite/data/features/css-featurequeries.js'));
+
+var Browsers = require('./browsers');
+
+var brackets = require('./brackets');
+
+var Value = require('./value');
+
+var utils = require('./utils');
+
+var supported = [];
+
+for (var browser in data.stats) {
+ var versions = data.stats[browser];
+
+ for (var version in versions) {
+ var support = versions[version];
+
+ if (/y/.test(support)) {
+ supported.push(browser + ' ' + version);
+ }
+ }
+}
+
+var Supports = /*#__PURE__*/function () {
+ function Supports(Prefixes, all) {
+ this.Prefixes = Prefixes;
+ this.all = all;
+ }
+ /**
+ * Return prefixer only with @supports supported browsers
+ */
+
+
+ var _proto = Supports.prototype;
+
+ _proto.prefixer = function prefixer() {
+ if (this.prefixerCache) {
+ return this.prefixerCache;
+ }
+
+ var filtered = this.all.browsers.selected.filter(function (i) {
+ return supported.includes(i);
+ });
+ var browsers = new Browsers(this.all.browsers.data, filtered, this.all.options);
+ this.prefixerCache = new this.Prefixes(this.all.data, browsers, this.all.options);
+ return this.prefixerCache;
+ }
+ /**
+ * Parse string into declaration property and value
+ */
+ ;
+
+ _proto.parse = function parse(str) {
+ var parts = str.split(':');
+ var prop = parts[0];
+ var value = parts[1];
+ if (!value) value = '';
+ return [prop.trim(), value.trim()];
+ }
+ /**
+ * Create virtual rule to process it by prefixer
+ */
+ ;
+
+ _proto.virtual = function virtual(str) {
+ var _this$parse = this.parse(str),
+ prop = _this$parse[0],
+ value = _this$parse[1];
+
+ var rule = postcss.parse('a{}').first;
+ rule.append({
+ prop: prop,
+ value: value,
+ raws: {
+ before: ''
+ }
+ });
+ return rule;
+ }
+ /**
+ * Return array of Declaration with all necessary prefixes
+ */
+ ;
+
+ _proto.prefixed = function prefixed(str) {
+ var rule = this.virtual(str);
+
+ if (this.disabled(rule.first)) {
+ return rule.nodes;
+ }
+
+ var result = {
+ warn: function warn() {
+ return null;
+ }
+ };
+ var prefixer = this.prefixer().add[rule.first.prop];
+ prefixer && prefixer.process && prefixer.process(rule.first, result);
+
+ for (var _iterator = _createForOfIteratorHelperLoose(rule.nodes), _step; !(_step = _iterator()).done;) {
+ var decl = _step.value;
+
+ for (var _iterator2 = _createForOfIteratorHelperLoose(this.prefixer().values('add', rule.first.prop)), _step2; !(_step2 = _iterator2()).done;) {
+ var value = _step2.value;
+ value.process(decl);
+ }
+
+ Value.save(this.all, decl);
+ }
+
+ return rule.nodes;
+ }
+ /**
+ * Return true if brackets node is "not" word
+ */
+ ;
+
+ _proto.isNot = function isNot(node) {
+ return typeof node === 'string' && /not\s*/i.test(node);
+ }
+ /**
+ * Return true if brackets node is "or" word
+ */
+ ;
+
+ _proto.isOr = function isOr(node) {
+ return typeof node === 'string' && /\s*or\s*/i.test(node);
+ }
+ /**
+ * Return true if brackets node is (prop: value)
+ */
+ ;
+
+ _proto.isProp = function isProp(node) {
+ return typeof node === 'object' && node.length === 1 && typeof node[0] === 'string';
+ }
+ /**
+ * Return true if prefixed property has no unprefixed
+ */
+ ;
+
+ _proto.isHack = function isHack(all, unprefixed) {
+ var check = new RegExp("(\\(|\\s)" + utils.escapeRegexp(unprefixed) + ":");
+ return !check.test(all);
+ }
+ /**
+ * Return true if we need to remove node
+ */
+ ;
+
+ _proto.toRemove = function toRemove(str, all) {
+ var _this$parse2 = this.parse(str),
+ prop = _this$parse2[0],
+ value = _this$parse2[1];
+
+ var unprefixed = this.all.unprefixed(prop);
+ var cleaner = this.all.cleaner();
+
+ if (cleaner.remove[prop] && cleaner.remove[prop].remove && !this.isHack(all, unprefixed)) {
+ return true;
+ }
+
+ for (var _iterator3 = _createForOfIteratorHelperLoose(cleaner.values('remove', unprefixed)), _step3; !(_step3 = _iterator3()).done;) {
+ var checker = _step3.value;
+
+ if (checker.check(value)) {
+ return true;
+ }
+ }
+
+ return false;
+ }
+ /**
+ * Remove all unnecessary prefixes
+ */
+ ;
+
+ _proto.remove = function remove(nodes, all) {
+ var i = 0;
+
+ while (i < nodes.length) {
+ if (!this.isNot(nodes[i - 1]) && this.isProp(nodes[i]) && this.isOr(nodes[i + 1])) {
+ if (this.toRemove(nodes[i][0], all)) {
+ nodes.splice(i, 2);
+ continue;
+ }
+
+ i += 2;
+ continue;
+ }
+
+ if (typeof nodes[i] === 'object') {
+ nodes[i] = this.remove(nodes[i], all);
+ }
+
+ i += 1;
+ }
+
+ return nodes;
+ }
+ /**
+ * Clean brackets with one child
+ */
+ ;
+
+ _proto.cleanBrackets = function cleanBrackets(nodes) {
+ var _this = this;
+
+ return nodes.map(function (i) {
+ if (typeof i !== 'object') {
+ return i;
+ }
+
+ if (i.length === 1 && typeof i[0] === 'object') {
+ return _this.cleanBrackets(i[0]);
+ }
+
+ return _this.cleanBrackets(i);
+ });
+ }
+ /**
+ * Add " or " between properties and convert it to brackets format
+ */
+ ;
+
+ _proto.convert = function convert(progress) {
+ var result = [''];
+
+ for (var _iterator4 = _createForOfIteratorHelperLoose(progress), _step4; !(_step4 = _iterator4()).done;) {
+ var i = _step4.value;
+ result.push([i.prop + ": " + i.value]);
+ result.push(' or ');
+ }
+
+ result[result.length - 1] = '';
+ return result;
+ }
+ /**
+ * Compress value functions into a string nodes
+ */
+ ;
+
+ _proto.normalize = function normalize(nodes) {
+ var _this2 = this;
+
+ if (typeof nodes !== 'object') {
+ return nodes;
+ }
+
+ nodes = nodes.filter(function (i) {
+ return i !== '';
+ });
+
+ if (typeof nodes[0] === 'string' && nodes[0].includes(':')) {
+ return [brackets.stringify(nodes)];
+ }
+
+ return nodes.map(function (i) {
+ return _this2.normalize(i);
+ });
+ }
+ /**
+ * Add prefixes
+ */
+ ;
+
+ _proto.add = function add(nodes, all) {
+ var _this3 = this;
+
+ return nodes.map(function (i) {
+ if (_this3.isProp(i)) {
+ var prefixed = _this3.prefixed(i[0]);
+
+ if (prefixed.length > 1) {
+ return _this3.convert(prefixed);
+ }
+
+ return i;
+ }
+
+ if (typeof i === 'object') {
+ return _this3.add(i, all);
+ }
+
+ return i;
+ });
+ }
+ /**
+ * Add prefixed declaration
+ */
+ ;
+
+ _proto.process = function process(rule) {
+ var ast = brackets.parse(rule.params);
+ ast = this.normalize(ast);
+ ast = this.remove(ast, rule.params);
+ ast = this.add(ast, rule.params);
+ ast = this.cleanBrackets(ast);
+ rule.params = brackets.stringify(ast);
+ }
+ /**
+ * Check global options
+ */
+ ;
+
+ _proto.disabled = function disabled(node) {
+ if (!this.all.options.grid) {
+ if (node.prop === 'display' && node.value.includes('grid')) {
+ return true;
+ }
+
+ if (node.prop.includes('grid') || node.prop === 'justify-items') {
+ return true;
+ }
+ }
+
+ if (this.all.options.flexbox === false) {
+ if (node.prop === 'display' && node.value.includes('flex')) {
+ return true;
+ }
+
+ var other = ['order', 'justify-content', 'align-items', 'align-content'];
+
+ if (node.prop.includes('flex') || other.includes(node.prop)) {
+ return true;
+ }
+ }
+
+ return false;
+ };
+
+ return Supports;
+}();
+
+module.exports = Supports;
\ No newline at end of file
diff --git a/node_modules/autoprefixer/lib/transition.js b/node_modules/autoprefixer/lib/transition.js
new file mode 100644
index 0000000..23f4b45
--- /dev/null
+++ b/node_modules/autoprefixer/lib/transition.js
@@ -0,0 +1,411 @@
+"use strict";
+
+function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } it = o[Symbol.iterator](); return it.next.bind(it); }
+
+function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
+
+function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
+
+function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+var parser = require('postcss-value-parser');
+
+var vendor = require('postcss').vendor;
+
+var list = require('postcss').list;
+
+var Browsers = require('./browsers');
+
+var Transition = /*#__PURE__*/function () {
+ function Transition(prefixes) {
+ _defineProperty(this, "props", ['transition', 'transition-property']);
+
+ this.prefixes = prefixes;
+ }
+ /**
+ * Process transition and add prefixes for all necessary properties
+ */
+
+
+ var _proto = Transition.prototype;
+
+ _proto.add = function add(decl, result) {
+ var _this = this;
+
+ var prefix, prop;
+ var add = this.prefixes.add[decl.prop];
+ var vendorPrefixes = this.ruleVendorPrefixes(decl);
+ var declPrefixes = vendorPrefixes || add && add.prefixes || [];
+ var params = this.parse(decl.value);
+ var names = params.map(function (i) {
+ return _this.findProp(i);
+ });
+ var added = [];
+
+ if (names.some(function (i) {
+ return i[0] === '-';
+ })) {
+ return;
+ }
+
+ for (var _iterator = _createForOfIteratorHelperLoose(params), _step; !(_step = _iterator()).done;) {
+ var param = _step.value;
+ prop = this.findProp(param);
+ if (prop[0] === '-') continue;
+ var prefixer = this.prefixes.add[prop];
+ if (!prefixer || !prefixer.prefixes) continue;
+
+ for (var _iterator3 = _createForOfIteratorHelperLoose(prefixer.prefixes), _step3; !(_step3 = _iterator3()).done;) {
+ prefix = _step3.value;
+
+ if (vendorPrefixes && !vendorPrefixes.some(function (p) {
+ return prefix.includes(p);
+ })) {
+ continue;
+ }
+
+ var prefixed = this.prefixes.prefixed(prop, prefix);
+
+ if (prefixed !== '-ms-transform' && !names.includes(prefixed)) {
+ if (!this.disabled(prop, prefix)) {
+ added.push(this.clone(prop, prefixed, param));
+ }
+ }
+ }
+ }
+
+ params = params.concat(added);
+ var value = this.stringify(params);
+ var webkitClean = this.stringify(this.cleanFromUnprefixed(params, '-webkit-'));
+
+ if (declPrefixes.includes('-webkit-')) {
+ this.cloneBefore(decl, "-webkit-" + decl.prop, webkitClean);
+ }
+
+ this.cloneBefore(decl, decl.prop, webkitClean);
+
+ if (declPrefixes.includes('-o-')) {
+ var operaClean = this.stringify(this.cleanFromUnprefixed(params, '-o-'));
+ this.cloneBefore(decl, "-o-" + decl.prop, operaClean);
+ }
+
+ for (var _iterator2 = _createForOfIteratorHelperLoose(declPrefixes), _step2; !(_step2 = _iterator2()).done;) {
+ prefix = _step2.value;
+
+ if (prefix !== '-webkit-' && prefix !== '-o-') {
+ var prefixValue = this.stringify(this.cleanOtherPrefixes(params, prefix));
+ this.cloneBefore(decl, prefix + decl.prop, prefixValue);
+ }
+ }
+
+ if (value !== decl.value && !this.already(decl, decl.prop, value)) {
+ this.checkForWarning(result, decl);
+ decl.cloneBefore();
+ decl.value = value;
+ }
+ }
+ /**
+ * Find property name
+ */
+ ;
+
+ _proto.findProp = function findProp(param) {
+ var prop = param[0].value;
+
+ if (/^\d/.test(prop)) {
+ for (var _iterator4 = _createForOfIteratorHelperLoose(param.entries()), _step4; !(_step4 = _iterator4()).done;) {
+ var _step4$value = _step4.value,
+ i = _step4$value[0],
+ token = _step4$value[1];
+
+ if (i !== 0 && token.type === 'word') {
+ return token.value;
+ }
+ }
+ }
+
+ return prop;
+ }
+ /**
+ * Does we already have this declaration
+ */
+ ;
+
+ _proto.already = function already(decl, prop, value) {
+ return decl.parent.some(function (i) {
+ return i.prop === prop && i.value === value;
+ });
+ }
+ /**
+ * Add declaration if it is not exist
+ */
+ ;
+
+ _proto.cloneBefore = function cloneBefore(decl, prop, value) {
+ if (!this.already(decl, prop, value)) {
+ decl.cloneBefore({
+ prop: prop,
+ value: value
+ });
+ }
+ }
+ /**
+ * Show transition-property warning
+ */
+ ;
+
+ _proto.checkForWarning = function checkForWarning(result, decl) {
+ if (decl.prop !== 'transition-property') {
+ return;
+ }
+
+ decl.parent.each(function (i) {
+ if (i.type !== 'decl') {
+ return undefined;
+ }
+
+ if (i.prop.indexOf('transition-') !== 0) {
+ return undefined;
+ }
+
+ if (i.prop === 'transition-property') {
+ return undefined;
+ }
+
+ if (list.comma(i.value).length > 1) {
+ decl.warn(result, 'Replace transition-property to transition, ' + 'because Autoprefixer could not support ' + 'any cases of transition-property ' + 'and other transition-*');
+ }
+
+ return false;
+ });
+ }
+ /**
+ * Process transition and remove all unnecessary properties
+ */
+ ;
+
+ _proto.remove = function remove(decl) {
+ var _this2 = this;
+
+ var params = this.parse(decl.value);
+ params = params.filter(function (i) {
+ var prop = _this2.prefixes.remove[_this2.findProp(i)];
+
+ return !prop || !prop.remove;
+ });
+ var value = this.stringify(params);
+
+ if (decl.value === value) {
+ return;
+ }
+
+ if (params.length === 0) {
+ decl.remove();
+ return;
+ }
+
+ var _double = decl.parent.some(function (i) {
+ return i.prop === decl.prop && i.value === value;
+ });
+
+ var smaller = decl.parent.some(function (i) {
+ return i !== decl && i.prop === decl.prop && i.value.length > value.length;
+ });
+
+ if (_double || smaller) {
+ decl.remove();
+ return;
+ }
+
+ decl.value = value;
+ }
+ /**
+ * Parse properties list to array
+ */
+ ;
+
+ _proto.parse = function parse(value) {
+ var ast = parser(value);
+ var result = [];
+ var param = [];
+
+ for (var _iterator5 = _createForOfIteratorHelperLoose(ast.nodes), _step5; !(_step5 = _iterator5()).done;) {
+ var node = _step5.value;
+ param.push(node);
+
+ if (node.type === 'div' && node.value === ',') {
+ result.push(param);
+ param = [];
+ }
+ }
+
+ result.push(param);
+ return result.filter(function (i) {
+ return i.length > 0;
+ });
+ }
+ /**
+ * Return properties string from array
+ */
+ ;
+
+ _proto.stringify = function stringify(params) {
+ if (params.length === 0) {
+ return '';
+ }
+
+ var nodes = [];
+
+ for (var _iterator6 = _createForOfIteratorHelperLoose(params), _step6; !(_step6 = _iterator6()).done;) {
+ var param = _step6.value;
+
+ if (param[param.length - 1].type !== 'div') {
+ param.push(this.div(params));
+ }
+
+ nodes = nodes.concat(param);
+ }
+
+ if (nodes[0].type === 'div') {
+ nodes = nodes.slice(1);
+ }
+
+ if (nodes[nodes.length - 1].type === 'div') {
+ nodes = nodes.slice(0, +-2 + 1 || undefined);
+ }
+
+ return parser.stringify({
+ nodes: nodes
+ });
+ }
+ /**
+ * Return new param array with different name
+ */
+ ;
+
+ _proto.clone = function clone(origin, name, param) {
+ var result = [];
+ var changed = false;
+
+ for (var _iterator7 = _createForOfIteratorHelperLoose(param), _step7; !(_step7 = _iterator7()).done;) {
+ var i = _step7.value;
+
+ if (!changed && i.type === 'word' && i.value === origin) {
+ result.push({
+ type: 'word',
+ value: name
+ });
+ changed = true;
+ } else {
+ result.push(i);
+ }
+ }
+
+ return result;
+ }
+ /**
+ * Find or create separator
+ */
+ ;
+
+ _proto.div = function div(params) {
+ for (var _iterator8 = _createForOfIteratorHelperLoose(params), _step8; !(_step8 = _iterator8()).done;) {
+ var param = _step8.value;
+
+ for (var _iterator9 = _createForOfIteratorHelperLoose(param), _step9; !(_step9 = _iterator9()).done;) {
+ var node = _step9.value;
+
+ if (node.type === 'div' && node.value === ',') {
+ return node;
+ }
+ }
+ }
+
+ return {
+ type: 'div',
+ value: ',',
+ after: ' '
+ };
+ };
+
+ _proto.cleanOtherPrefixes = function cleanOtherPrefixes(params, prefix) {
+ var _this3 = this;
+
+ return params.filter(function (param) {
+ var current = vendor.prefix(_this3.findProp(param));
+ return current === '' || current === prefix;
+ });
+ }
+ /**
+ * Remove all non-webkit prefixes and unprefixed params if we have prefixed
+ */
+ ;
+
+ _proto.cleanFromUnprefixed = function cleanFromUnprefixed(params, prefix) {
+ var _this4 = this;
+
+ var remove = params.map(function (i) {
+ return _this4.findProp(i);
+ }).filter(function (i) {
+ return i.slice(0, prefix.length) === prefix;
+ }).map(function (i) {
+ return _this4.prefixes.unprefixed(i);
+ });
+ var result = [];
+
+ for (var _iterator10 = _createForOfIteratorHelperLoose(params), _step10; !(_step10 = _iterator10()).done;) {
+ var param = _step10.value;
+ var prop = this.findProp(param);
+ var p = vendor.prefix(prop);
+
+ if (!remove.includes(prop) && (p === prefix || p === '')) {
+ result.push(param);
+ }
+ }
+
+ return result;
+ }
+ /**
+ * Check property for disabled by option
+ */
+ ;
+
+ _proto.disabled = function disabled(prop, prefix) {
+ var other = ['order', 'justify-content', 'align-self', 'align-content'];
+
+ if (prop.includes('flex') || other.includes(prop)) {
+ if (this.prefixes.options.flexbox === false) {
+ return true;
+ }
+
+ if (this.prefixes.options.flexbox === 'no-2009') {
+ return prefix.includes('2009');
+ }
+ }
+
+ return undefined;
+ }
+ /**
+ * Check if transition prop is inside vendor specific rule
+ */
+ ;
+
+ _proto.ruleVendorPrefixes = function ruleVendorPrefixes(decl) {
+ var parent = decl.parent;
+
+ if (parent.type !== 'rule') {
+ return false;
+ } else if (!parent.selector.includes(':-')) {
+ return false;
+ }
+
+ var selectors = Browsers.prefixes().filter(function (s) {
+ return parent.selector.includes(':' + s);
+ });
+ return selectors.length > 0 ? selectors : false;
+ };
+
+ return Transition;
+}();
+
+module.exports = Transition;
\ No newline at end of file
diff --git a/node_modules/autoprefixer/lib/utils.js b/node_modules/autoprefixer/lib/utils.js
new file mode 100644
index 0000000..33eba5a
--- /dev/null
+++ b/node_modules/autoprefixer/lib/utils.js
@@ -0,0 +1,103 @@
+"use strict";
+
+function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } it = o[Symbol.iterator](); return it.next.bind(it); }
+
+function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
+
+function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
+
+var list = require('postcss').list;
+
+module.exports = {
+ /**
+ * Throw special error, to tell beniary,
+ * that this error is from Autoprefixer.
+ */
+ error: function error(text) {
+ var err = new Error(text);
+ err.autoprefixer = true;
+ throw err;
+ },
+
+ /**
+ * Return array, that doesn’t contain duplicates.
+ */
+ uniq: function uniq(array) {
+ var filtered = [];
+
+ for (var _iterator = _createForOfIteratorHelperLoose(array), _step; !(_step = _iterator()).done;) {
+ var i = _step.value;
+
+ if (!filtered.includes(i)) {
+ filtered.push(i);
+ }
+ }
+
+ return filtered;
+ },
+
+ /**
+ * Return "-webkit-" on "-webkit- old"
+ */
+ removeNote: function removeNote(string) {
+ if (!string.includes(' ')) {
+ return string;
+ }
+
+ return string.split(' ')[0];
+ },
+
+ /**
+ * Escape RegExp symbols
+ */
+ escapeRegexp: function escapeRegexp(string) {
+ return string.replace(/[$()*+-.?[\\\]^{|}]/g, '\\$&');
+ },
+
+ /**
+ * Return regexp to check, that CSS string contain word
+ */
+ regexp: function regexp(word, escape) {
+ if (escape === void 0) {
+ escape = true;
+ }
+
+ if (escape) {
+ word = this.escapeRegexp(word);
+ }
+
+ return new RegExp("(^|[\\s,(])(" + word + "($|[\\s(,]))", 'gi');
+ },
+
+ /**
+ * Change comma list
+ */
+ editList: function editList(value, callback) {
+ var origin = list.comma(value);
+ var changed = callback(origin, []);
+
+ if (origin === changed) {
+ return value;
+ }
+
+ var join = value.match(/,\s*/);
+ join = join ? join[0] : ', ';
+ return changed.join(join);
+ },
+
+ /**
+ * Split the selector into parts.
+ * It returns 3 level deep array because selectors can be comma
+ * separated (1), space separated (2), and combined (3)
+ * @param {String} selector selector string
+ * @return {Array>} 3 level deep array of split selector
+ * @see utils.test.js for examples
+ */
+ splitSelector: function splitSelector(selector) {
+ return list.comma(selector).map(function (i) {
+ return list.space(i).map(function (k) {
+ return k.split(/(?=\.|#)/g);
+ });
+ });
+ }
+};
\ No newline at end of file
diff --git a/node_modules/autoprefixer/lib/value.js b/node_modules/autoprefixer/lib/value.js
new file mode 100644
index 0000000..e842ac8
--- /dev/null
+++ b/node_modules/autoprefixer/lib/value.js
@@ -0,0 +1,164 @@
+"use strict";
+
+function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
+
+function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _defaults(subClass, superClass); }
+
+var vendor = require('postcss').vendor;
+
+var Prefixer = require('./prefixer');
+
+var OldValue = require('./old-value');
+
+var utils = require('./utils');
+
+var Value = /*#__PURE__*/function (_Prefixer) {
+ _inheritsLoose(Value, _Prefixer);
+
+ function Value() {
+ return _Prefixer.apply(this, arguments) || this;
+ }
+
+ /**
+ * Clone decl for each prefixed values
+ */
+ Value.save = function save(prefixes, decl) {
+ var _this = this;
+
+ var prop = decl.prop;
+ var result = [];
+
+ var _loop = function _loop(prefix) {
+ var value = decl._autoprefixerValues[prefix];
+
+ if (value === decl.value) {
+ return "continue";
+ }
+
+ var item = void 0;
+ var propPrefix = vendor.prefix(prop);
+
+ if (propPrefix === '-pie-') {
+ return "continue";
+ }
+
+ if (propPrefix === prefix) {
+ item = decl.value = value;
+ result.push(item);
+ return "continue";
+ }
+
+ var prefixed = prefixes.prefixed(prop, prefix);
+ var rule = decl.parent;
+
+ if (!rule.every(function (i) {
+ return i.prop !== prefixed;
+ })) {
+ result.push(item);
+ return "continue";
+ }
+
+ var trimmed = value.replace(/\s+/, ' ');
+ var already = rule.some(function (i) {
+ return i.prop === decl.prop && i.value.replace(/\s+/, ' ') === trimmed;
+ });
+
+ if (already) {
+ result.push(item);
+ return "continue";
+ }
+
+ var cloned = _this.clone(decl, {
+ value: value
+ });
+
+ item = decl.parent.insertBefore(decl, cloned);
+ result.push(item);
+ };
+
+ for (var prefix in decl._autoprefixerValues) {
+ var _ret = _loop(prefix);
+
+ if (_ret === "continue") continue;
+ }
+
+ return result;
+ }
+ /**
+ * Is declaration need to be prefixed
+ */
+ ;
+
+ var _proto = Value.prototype;
+
+ _proto.check = function check(decl) {
+ var value = decl.value;
+
+ if (!value.includes(this.name)) {
+ return false;
+ }
+
+ return !!value.match(this.regexp());
+ }
+ /**
+ * Lazy regexp loading
+ */
+ ;
+
+ _proto.regexp = function regexp() {
+ return this.regexpCache || (this.regexpCache = utils.regexp(this.name));
+ }
+ /**
+ * Add prefix to values in string
+ */
+ ;
+
+ _proto.replace = function replace(string, prefix) {
+ return string.replace(this.regexp(), "$1" + prefix + "$2");
+ }
+ /**
+ * Get value with comments if it was not changed
+ */
+ ;
+
+ _proto.value = function value(decl) {
+ if (decl.raws.value && decl.raws.value.value === decl.value) {
+ return decl.raws.value.raw;
+ } else {
+ return decl.value;
+ }
+ }
+ /**
+ * Save values with next prefixed token
+ */
+ ;
+
+ _proto.add = function add(decl, prefix) {
+ if (!decl._autoprefixerValues) {
+ decl._autoprefixerValues = {};
+ }
+
+ var value = decl._autoprefixerValues[prefix] || this.value(decl);
+ var before;
+
+ do {
+ before = value;
+ value = this.replace(value, prefix);
+ if (value === false) return;
+ } while (value !== before);
+
+ decl._autoprefixerValues[prefix] = value;
+ }
+ /**
+ * Return function to fast find prefixed value
+ */
+ ;
+
+ _proto.old = function old(prefix) {
+ return new OldValue(this.name, prefix + this.name);
+ };
+
+ return Value;
+}(Prefixer);
+
+module.exports = Value;
\ No newline at end of file
diff --git a/node_modules/autoprefixer/package.json b/node_modules/autoprefixer/package.json
new file mode 100644
index 0000000..3ccd5d6
--- /dev/null
+++ b/node_modules/autoprefixer/package.json
@@ -0,0 +1,74 @@
+{
+ "_from": "autoprefixer@^9.6.1",
+ "_id": "autoprefixer@9.8.6",
+ "_inBundle": false,
+ "_integrity": "sha512-XrvP4VVHdRBCdX1S3WXVD8+RyG9qeb1D5Sn1DeLiG2xfSpzellk5k54xbUERJ3M5DggQxes39UGOTP8CFrEGbg==",
+ "_location": "/autoprefixer",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "range",
+ "registry": true,
+ "raw": "autoprefixer@^9.6.1",
+ "name": "autoprefixer",
+ "escapedName": "autoprefixer",
+ "rawSpec": "^9.6.1",
+ "saveSpec": null,
+ "fetchSpec": "^9.6.1"
+ },
+ "_requiredBy": [
+ "/gulp-autoprefixer"
+ ],
+ "_resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.6.tgz",
+ "_shasum": "3b73594ca1bf9266320c5acf1588d74dea74210f",
+ "_spec": "autoprefixer@^9.6.1",
+ "_where": "C:\\Users\\Futil\\AppData\\Local\\FoundryVTT\\Data\\systems\\mothership\\node_modules\\gulp-autoprefixer",
+ "author": {
+ "name": "Andrey Sitnik",
+ "email": "andrey@sitnik.ru"
+ },
+ "bin": {
+ "autoprefixer": "bin/autoprefixer"
+ },
+ "browser": {
+ "colorette": false,
+ "chalk": false
+ },
+ "bugs": {
+ "url": "https://github.com/postcss/autoprefixer/issues"
+ },
+ "bundleDependencies": false,
+ "dependencies": {
+ "browserslist": "^4.12.0",
+ "caniuse-lite": "^1.0.30001109",
+ "colorette": "^1.2.1",
+ "normalize-range": "^0.1.2",
+ "num2fraction": "^1.2.2",
+ "postcss": "^7.0.32",
+ "postcss-value-parser": "^4.1.0"
+ },
+ "deprecated": false,
+ "description": "Parse CSS and add vendor prefixes to CSS rules using values from the Can I Use website",
+ "eslintIgnore": [
+ "build/"
+ ],
+ "funding": {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/autoprefixer"
+ },
+ "homepage": "https://github.com/postcss/autoprefixer#readme",
+ "keywords": [
+ "autoprefixer",
+ "css",
+ "prefix",
+ "postcss",
+ "postcss-plugin"
+ ],
+ "license": "MIT",
+ "main": "lib/autoprefixer",
+ "name": "autoprefixer",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/postcss/autoprefixer.git"
+ },
+ "version": "9.8.6"
+}
diff --git a/node_modules/aws-sign2/LICENSE b/node_modules/aws-sign2/LICENSE
new file mode 100644
index 0000000..a4a9aee
--- /dev/null
+++ b/node_modules/aws-sign2/LICENSE
@@ -0,0 +1,55 @@
+Apache License
+
+Version 2.0, January 2004
+
+http://www.apache.org/licenses/
+
+TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+1. Definitions.
+
+"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.
+
+"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.
+
+"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.
+
+"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.
+
+"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.
+
+"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.
+
+"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).
+
+"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.
+
+"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."
+
+"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.
+
+2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.
+
+3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.
+
+4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:
+
+You must give any other recipients of the Work or Derivative Works a copy of this License; and
+
+You must cause any modified files to carry prominent notices stating that You changed the files; and
+
+You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and
+
+If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.
+
+5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.
+
+6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.
+
+7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.
+
+8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.
+
+9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.
+
+END OF TERMS AND CONDITIONS
\ No newline at end of file
diff --git a/node_modules/aws-sign2/README.md b/node_modules/aws-sign2/README.md
new file mode 100644
index 0000000..763564e
--- /dev/null
+++ b/node_modules/aws-sign2/README.md
@@ -0,0 +1,4 @@
+aws-sign
+========
+
+AWS signing. Originally pulled from LearnBoost/knox, maintained as vendor in request, now a standalone module.
diff --git a/node_modules/aws-sign2/index.js b/node_modules/aws-sign2/index.js
new file mode 100644
index 0000000..fb35f6d
--- /dev/null
+++ b/node_modules/aws-sign2/index.js
@@ -0,0 +1,212 @@
+
+/*!
+ * Copyright 2010 LearnBoost
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Module dependencies.
+ */
+
+var crypto = require('crypto')
+ , parse = require('url').parse
+ ;
+
+/**
+ * Valid keys.
+ */
+
+var keys =
+ [ 'acl'
+ , 'location'
+ , 'logging'
+ , 'notification'
+ , 'partNumber'
+ , 'policy'
+ , 'requestPayment'
+ , 'torrent'
+ , 'uploadId'
+ , 'uploads'
+ , 'versionId'
+ , 'versioning'
+ , 'versions'
+ , 'website'
+ ]
+
+/**
+ * Return an "Authorization" header value with the given `options`
+ * in the form of "AWS :"
+ *
+ * @param {Object} options
+ * @return {String}
+ * @api private
+ */
+
+function authorization (options) {
+ return 'AWS ' + options.key + ':' + sign(options)
+}
+
+module.exports = authorization
+module.exports.authorization = authorization
+
+/**
+ * Simple HMAC-SHA1 Wrapper
+ *
+ * @param {Object} options
+ * @return {String}
+ * @api private
+ */
+
+function hmacSha1 (options) {
+ return crypto.createHmac('sha1', options.secret).update(options.message).digest('base64')
+}
+
+module.exports.hmacSha1 = hmacSha1
+
+/**
+ * Create a base64 sha1 HMAC for `options`.
+ *
+ * @param {Object} options
+ * @return {String}
+ * @api private
+ */
+
+function sign (options) {
+ options.message = stringToSign(options)
+ return hmacSha1(options)
+}
+module.exports.sign = sign
+
+/**
+ * Create a base64 sha1 HMAC for `options`.
+ *
+ * Specifically to be used with S3 presigned URLs
+ *
+ * @param {Object} options
+ * @return {String}
+ * @api private
+ */
+
+function signQuery (options) {
+ options.message = queryStringToSign(options)
+ return hmacSha1(options)
+}
+module.exports.signQuery= signQuery
+
+/**
+ * Return a string for sign() with the given `options`.
+ *
+ * Spec:
+ *
+ * \n
+ * \n
+ * \n
+ * \n
+ * [headers\n]
+ *
+ *
+ * @param {Object} options
+ * @return {String}
+ * @api private
+ */
+
+function stringToSign (options) {
+ var headers = options.amazonHeaders || ''
+ if (headers) headers += '\n'
+ var r =
+ [ options.verb
+ , options.md5
+ , options.contentType
+ , options.date ? options.date.toUTCString() : ''
+ , headers + options.resource
+ ]
+ return r.join('\n')
+}
+module.exports.stringToSign = stringToSign
+
+/**
+ * Return a string for sign() with the given `options`, but is meant exclusively
+ * for S3 presigned URLs
+ *
+ * Spec:
+ *
+ * \n
+ *
+ *
+ * @param {Object} options
+ * @return {String}
+ * @api private
+ */
+
+function queryStringToSign (options){
+ return 'GET\n\n\n' + options.date + '\n' + options.resource
+}
+module.exports.queryStringToSign = queryStringToSign
+
+/**
+ * Perform the following:
+ *
+ * - ignore non-amazon headers
+ * - lowercase fields
+ * - sort lexicographically
+ * - trim whitespace between ":"
+ * - join with newline
+ *
+ * @param {Object} headers
+ * @return {String}
+ * @api private
+ */
+
+function canonicalizeHeaders (headers) {
+ var buf = []
+ , fields = Object.keys(headers)
+ ;
+ for (var i = 0, len = fields.length; i < len; ++i) {
+ var field = fields[i]
+ , val = headers[field]
+ , field = field.toLowerCase()
+ ;
+ if (0 !== field.indexOf('x-amz')) continue
+ buf.push(field + ':' + val)
+ }
+ return buf.sort().join('\n')
+}
+module.exports.canonicalizeHeaders = canonicalizeHeaders
+
+/**
+ * Perform the following:
+ *
+ * - ignore non sub-resources
+ * - sort lexicographically
+ *
+ * @param {String} resource
+ * @return {String}
+ * @api private
+ */
+
+function canonicalizeResource (resource) {
+ var url = parse(resource, true)
+ , path = url.pathname
+ , buf = []
+ ;
+
+ Object.keys(url.query).forEach(function(key){
+ if (!~keys.indexOf(key)) return
+ var val = '' == url.query[key] ? '' : '=' + encodeURIComponent(url.query[key])
+ buf.push(key + val)
+ })
+
+ return path + (buf.length ? '?' + buf.sort().join('&') : '')
+}
+module.exports.canonicalizeResource = canonicalizeResource
diff --git a/node_modules/aws-sign2/package.json b/node_modules/aws-sign2/package.json
new file mode 100644
index 0000000..44c40e0
--- /dev/null
+++ b/node_modules/aws-sign2/package.json
@@ -0,0 +1,50 @@
+{
+ "_from": "aws-sign2@~0.7.0",
+ "_id": "aws-sign2@0.7.0",
+ "_inBundle": false,
+ "_integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
+ "_location": "/aws-sign2",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "range",
+ "registry": true,
+ "raw": "aws-sign2@~0.7.0",
+ "name": "aws-sign2",
+ "escapedName": "aws-sign2",
+ "rawSpec": "~0.7.0",
+ "saveSpec": null,
+ "fetchSpec": "~0.7.0"
+ },
+ "_requiredBy": [
+ "/request"
+ ],
+ "_resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
+ "_shasum": "b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8",
+ "_spec": "aws-sign2@~0.7.0",
+ "_where": "C:\\Users\\Futil\\AppData\\Local\\FoundryVTT\\Data\\systems\\mothership\\node_modules\\request",
+ "author": {
+ "name": "Mikeal Rogers",
+ "email": "mikeal.rogers@gmail.com",
+ "url": "http://www.futurealoof.com"
+ },
+ "bugs": {
+ "url": "https://github.com/mikeal/aws-sign/issues"
+ },
+ "bundleDependencies": false,
+ "dependencies": {},
+ "deprecated": false,
+ "description": "AWS signing. Originally pulled from LearnBoost/knox, maintained as vendor in request, now a standalone module.",
+ "devDependencies": {},
+ "engines": {
+ "node": "*"
+ },
+ "homepage": "https://github.com/mikeal/aws-sign#readme",
+ "license": "Apache-2.0",
+ "main": "index.js",
+ "name": "aws-sign2",
+ "optionalDependencies": {},
+ "repository": {
+ "url": "git+https://github.com/mikeal/aws-sign.git"
+ },
+ "version": "0.7.0"
+}
diff --git a/node_modules/aws4/.github/FUNDING.yml b/node_modules/aws4/.github/FUNDING.yml
new file mode 100644
index 0000000..b7fdd97
--- /dev/null
+++ b/node_modules/aws4/.github/FUNDING.yml
@@ -0,0 +1,3 @@
+# These are supported funding model platforms
+
+github: mhart
diff --git a/node_modules/aws4/.travis.yml b/node_modules/aws4/.travis.yml
new file mode 100644
index 0000000..178bf31
--- /dev/null
+++ b/node_modules/aws4/.travis.yml
@@ -0,0 +1,9 @@
+language: node_js
+node_js:
+ - "0.10"
+ - "0.12"
+ - "4"
+ - "6"
+ - "8"
+ - "10"
+ - "12"
diff --git a/node_modules/aws4/LICENSE b/node_modules/aws4/LICENSE
new file mode 100644
index 0000000..4f321e5
--- /dev/null
+++ b/node_modules/aws4/LICENSE
@@ -0,0 +1,19 @@
+Copyright 2013 Michael Hart (michael.hart.au@gmail.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
+of the Software, and to permit persons to whom the Software is furnished to do
+so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/node_modules/aws4/README.md b/node_modules/aws4/README.md
new file mode 100644
index 0000000..7202e45
--- /dev/null
+++ b/node_modules/aws4/README.md
@@ -0,0 +1,183 @@
+aws4
+----
+
+[](https://travis-ci.org/github/mhart/aws4)
+
+A small utility to sign vanilla Node.js http(s) request options using Amazon's
+[AWS Signature Version 4](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html).
+
+If you want to sign and send AWS requests in a modern browser, or an environment like [Cloudflare Workers](https://developers.cloudflare.com/workers/), then check out [aws4fetch](https://github.com/mhart/aws4fetch) – otherwise you can also bundle this library for use [in older browsers](./browser).
+
+The only AWS service that *doesn't* support v4 as of 2020-05-22 is
+[SimpleDB](https://docs.aws.amazon.com/AmazonSimpleDB/latest/DeveloperGuide/SDB_API.html)
+(it only supports [AWS Signature Version 2](https://github.com/mhart/aws2)).
+
+It also provides defaults for a number of core AWS headers and
+request parameters, making it very easy to query AWS services, or
+build out a fully-featured AWS library.
+
+Example
+-------
+
+```javascript
+var https = require('https')
+var aws4 = require('aws4')
+
+// to illustrate usage, we'll create a utility function to request and pipe to stdout
+function request(opts) { https.request(opts, function(res) { res.pipe(process.stdout) }).end(opts.body || '') }
+
+// aws4 will sign an options object as you'd pass to http.request, with an AWS service and region
+var opts = { host: 'my-bucket.s3.us-west-1.amazonaws.com', path: '/my-object', service: 's3', region: 'us-west-1' }
+
+// aws4.sign() will sign and modify these options, ready to pass to http.request
+aws4.sign(opts, { accessKeyId: '', secretAccessKey: '' })
+
+// or it can get credentials from process.env.AWS_ACCESS_KEY_ID, etc
+aws4.sign(opts)
+
+// for most AWS services, aws4 can figure out the service and region if you pass a host
+opts = { host: 'my-bucket.s3.us-west-1.amazonaws.com', path: '/my-object' }
+
+// usually it will add/modify request headers, but you can also sign the query:
+opts = { host: 'my-bucket.s3.amazonaws.com', path: '/?X-Amz-Expires=12345', signQuery: true }
+
+// and for services with simple hosts, aws4 can infer the host from service and region:
+opts = { service: 'sqs', region: 'us-east-1', path: '/?Action=ListQueues' }
+
+// and if you're using us-east-1, it's the default:
+opts = { service: 'sqs', path: '/?Action=ListQueues' }
+
+aws4.sign(opts)
+console.log(opts)
+/*
+{
+ host: 'sqs.us-east-1.amazonaws.com',
+ path: '/?Action=ListQueues',
+ headers: {
+ Host: 'sqs.us-east-1.amazonaws.com',
+ 'X-Amz-Date': '20121226T061030Z',
+ Authorization: 'AWS4-HMAC-SHA256 Credential=ABCDEF/20121226/us-east-1/sqs/aws4_request, ...'
+ }
+}
+*/
+
+// we can now use this to query AWS
+request(opts)
+/*
+
+
+...
+*/
+
+// aws4 can infer the HTTP method if a body is passed in
+// method will be POST and Content-Type: 'application/x-www-form-urlencoded; charset=utf-8'
+request(aws4.sign({ service: 'iam', body: 'Action=ListGroups&Version=2010-05-08' }))
+/*
+
+...
+*/
+
+// you can specify any custom option or header as per usual
+request(aws4.sign({
+ service: 'dynamodb',
+ region: 'ap-southeast-2',
+ method: 'POST',
+ path: '/',
+ headers: {
+ 'Content-Type': 'application/x-amz-json-1.0',
+ 'X-Amz-Target': 'DynamoDB_20120810.ListTables'
+ },
+ body: '{}'
+}))
+/*
+{"TableNames":[]}
+...
+*/
+
+// The raw RequestSigner can be used to generate CodeCommit Git passwords
+var signer = new aws4.RequestSigner({
+ service: 'codecommit',
+ host: 'git-codecommit.us-east-1.amazonaws.com',
+ method: 'GIT',
+ path: '/v1/repos/MyAwesomeRepo',
+})
+var password = signer.getDateTime() + 'Z' + signer.signature()
+
+// see example.js for examples with other services
+```
+
+API
+---
+
+### aws4.sign(requestOptions, [credentials])
+
+Calculates and populates any necessary AWS headers and/or request
+options on `requestOptions`. Returns `requestOptions` as a convenience for chaining.
+
+`requestOptions` is an object holding the same options that the Node.js
+[http.request](https://nodejs.org/docs/latest/api/http.html#http_http_request_options_callback)
+function takes.
+
+The following properties of `requestOptions` are used in the signing or
+populated if they don't already exist:
+
+- `hostname` or `host` (will try to be determined from `service` and `region` if not given)
+- `method` (will use `'GET'` if not given or `'POST'` if there is a `body`)
+- `path` (will use `'/'` if not given)
+- `body` (will use `''` if not given)
+- `service` (will try to be calculated from `hostname` or `host` if not given)
+- `region` (will try to be calculated from `hostname` or `host` or use `'us-east-1'` if not given)
+- `signQuery` (to sign the query instead of adding an `Authorization` header, defaults to false)
+- `headers['Host']` (will use `hostname` or `host` or be calculated if not given)
+- `headers['Content-Type']` (will use `'application/x-www-form-urlencoded; charset=utf-8'`
+ if not given and there is a `body`)
+- `headers['Date']` (used to calculate the signature date if given, otherwise `new Date` is used)
+
+Your AWS credentials (which can be found in your
+[AWS console](https://portal.aws.amazon.com/gp/aws/securityCredentials))
+can be specified in one of two ways:
+
+- As the second argument, like this:
+
+```javascript
+aws4.sign(requestOptions, {
+ secretAccessKey: "",
+ accessKeyId: "",
+ sessionToken: ""
+})
+```
+
+- From `process.env`, such as this:
+
+```
+export AWS_ACCESS_KEY_ID=""
+export AWS_SECRET_ACCESS_KEY=""
+export AWS_SESSION_TOKEN=""
+```
+
+(will also use `AWS_ACCESS_KEY` and `AWS_SECRET_KEY` if available)
+
+The `sessionToken` property and `AWS_SESSION_TOKEN` environment variable are optional for signing
+with [IAM STS temporary credentials](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html).
+
+Installation
+------------
+
+With [npm](https://www.npmjs.com/) do:
+
+```
+npm install aws4
+```
+
+Can also be used [in the browser](./browser).
+
+Thanks
+------
+
+Thanks to [@jed](https://github.com/jed) for his
+[dynamo-client](https://github.com/jed/dynamo-client) lib where I first
+committed and subsequently extracted this code.
+
+Also thanks to the
+[official Node.js AWS SDK](https://github.com/aws/aws-sdk-js) for giving
+me a start on implementing the v4 signature.
diff --git a/node_modules/aws4/aws4.js b/node_modules/aws4/aws4.js
new file mode 100644
index 0000000..b99b319
--- /dev/null
+++ b/node_modules/aws4/aws4.js
@@ -0,0 +1,373 @@
+var aws4 = exports,
+ url = require('url'),
+ querystring = require('querystring'),
+ crypto = require('crypto'),
+ lru = require('./lru'),
+ credentialsCache = lru(1000)
+
+// http://docs.amazonwebservices.com/general/latest/gr/signature-version-4.html
+
+function hmac(key, string, encoding) {
+ return crypto.createHmac('sha256', key).update(string, 'utf8').digest(encoding)
+}
+
+function hash(string, encoding) {
+ return crypto.createHash('sha256').update(string, 'utf8').digest(encoding)
+}
+
+// This function assumes the string has already been percent encoded
+function encodeRfc3986(urlEncodedString) {
+ return urlEncodedString.replace(/[!'()*]/g, function(c) {
+ return '%' + c.charCodeAt(0).toString(16).toUpperCase()
+ })
+}
+
+function encodeRfc3986Full(str) {
+ return encodeRfc3986(encodeURIComponent(str))
+}
+
+// A bit of a combination of:
+// https://github.com/aws/aws-sdk-java-v2/blob/dc695de6ab49ad03934e1b02e7263abbd2354be0/core/auth/src/main/java/software/amazon/awssdk/auth/signer/internal/AbstractAws4Signer.java#L59
+// https://github.com/aws/aws-sdk-js/blob/18cb7e5b463b46239f9fdd4a65e2ff8c81831e8f/lib/signers/v4.js#L191-L199
+// https://github.com/mhart/aws4fetch/blob/b3aed16b6f17384cf36ea33bcba3c1e9f3bdfefd/src/main.js#L25-L34
+var HEADERS_TO_IGNORE = {
+ 'authorization': true,
+ 'connection': true,
+ 'x-amzn-trace-id': true,
+ 'user-agent': true,
+ 'expect': true,
+ 'presigned-expires': true,
+ 'range': true,
+}
+
+// request: { path | body, [host], [method], [headers], [service], [region] }
+// credentials: { accessKeyId, secretAccessKey, [sessionToken] }
+function RequestSigner(request, credentials) {
+
+ if (typeof request === 'string') request = url.parse(request)
+
+ var headers = request.headers = (request.headers || {}),
+ hostParts = (!this.service || !this.region) && this.matchHost(request.hostname || request.host || headers.Host || headers.host)
+
+ this.request = request
+ this.credentials = credentials || this.defaultCredentials()
+
+ this.service = request.service || hostParts[0] || ''
+ this.region = request.region || hostParts[1] || 'us-east-1'
+
+ // SES uses a different domain from the service name
+ if (this.service === 'email') this.service = 'ses'
+
+ if (!request.method && request.body)
+ request.method = 'POST'
+
+ if (!headers.Host && !headers.host) {
+ headers.Host = request.hostname || request.host || this.createHost()
+
+ // If a port is specified explicitly, use it as is
+ if (request.port)
+ headers.Host += ':' + request.port
+ }
+ if (!request.hostname && !request.host)
+ request.hostname = headers.Host || headers.host
+
+ this.isCodeCommitGit = this.service === 'codecommit' && request.method === 'GIT'
+}
+
+RequestSigner.prototype.matchHost = function(host) {
+ var match = (host || '').match(/([^\.]+)\.(?:([^\.]*)\.)?amazonaws\.com(\.cn)?$/)
+ var hostParts = (match || []).slice(1, 3)
+
+ // ES's hostParts are sometimes the other way round, if the value that is expected
+ // to be region equals ‘es’ switch them back
+ // e.g. search-cluster-name-aaaa00aaaa0aaa0aaaaaaa0aaa.us-east-1.es.amazonaws.com
+ if (hostParts[1] === 'es')
+ hostParts = hostParts.reverse()
+
+ if (hostParts[1] == 's3') {
+ hostParts[0] = 's3'
+ hostParts[1] = 'us-east-1'
+ } else {
+ for (var i = 0; i < 2; i++) {
+ if (/^s3-/.test(hostParts[i])) {
+ hostParts[1] = hostParts[i].slice(3)
+ hostParts[0] = 's3'
+ break
+ }
+ }
+ }
+
+ return hostParts
+}
+
+// http://docs.aws.amazon.com/general/latest/gr/rande.html
+RequestSigner.prototype.isSingleRegion = function() {
+ // Special case for S3 and SimpleDB in us-east-1
+ if (['s3', 'sdb'].indexOf(this.service) >= 0 && this.region === 'us-east-1') return true
+
+ return ['cloudfront', 'ls', 'route53', 'iam', 'importexport', 'sts']
+ .indexOf(this.service) >= 0
+}
+
+RequestSigner.prototype.createHost = function() {
+ var region = this.isSingleRegion() ? '' : '.' + this.region,
+ subdomain = this.service === 'ses' ? 'email' : this.service
+ return subdomain + region + '.amazonaws.com'
+}
+
+RequestSigner.prototype.prepareRequest = function() {
+ this.parsePath()
+
+ var request = this.request, headers = request.headers, query
+
+ if (request.signQuery) {
+
+ this.parsedPath.query = query = this.parsedPath.query || {}
+
+ if (this.credentials.sessionToken)
+ query['X-Amz-Security-Token'] = this.credentials.sessionToken
+
+ if (this.service === 's3' && !query['X-Amz-Expires'])
+ query['X-Amz-Expires'] = 86400
+
+ if (query['X-Amz-Date'])
+ this.datetime = query['X-Amz-Date']
+ else
+ query['X-Amz-Date'] = this.getDateTime()
+
+ query['X-Amz-Algorithm'] = 'AWS4-HMAC-SHA256'
+ query['X-Amz-Credential'] = this.credentials.accessKeyId + '/' + this.credentialString()
+ query['X-Amz-SignedHeaders'] = this.signedHeaders()
+
+ } else {
+
+ if (!request.doNotModifyHeaders && !this.isCodeCommitGit) {
+ if (request.body && !headers['Content-Type'] && !headers['content-type'])
+ headers['Content-Type'] = 'application/x-www-form-urlencoded; charset=utf-8'
+
+ if (request.body && !headers['Content-Length'] && !headers['content-length'])
+ headers['Content-Length'] = Buffer.byteLength(request.body)
+
+ if (this.credentials.sessionToken && !headers['X-Amz-Security-Token'] && !headers['x-amz-security-token'])
+ headers['X-Amz-Security-Token'] = this.credentials.sessionToken
+
+ if (this.service === 's3' && !headers['X-Amz-Content-Sha256'] && !headers['x-amz-content-sha256'])
+ headers['X-Amz-Content-Sha256'] = hash(this.request.body || '', 'hex')
+
+ if (headers['X-Amz-Date'] || headers['x-amz-date'])
+ this.datetime = headers['X-Amz-Date'] || headers['x-amz-date']
+ else
+ headers['X-Amz-Date'] = this.getDateTime()
+ }
+
+ delete headers.Authorization
+ delete headers.authorization
+ }
+}
+
+RequestSigner.prototype.sign = function() {
+ if (!this.parsedPath) this.prepareRequest()
+
+ if (this.request.signQuery) {
+ this.parsedPath.query['X-Amz-Signature'] = this.signature()
+ } else {
+ this.request.headers.Authorization = this.authHeader()
+ }
+
+ this.request.path = this.formatPath()
+
+ return this.request
+}
+
+RequestSigner.prototype.getDateTime = function() {
+ if (!this.datetime) {
+ var headers = this.request.headers,
+ date = new Date(headers.Date || headers.date || new Date)
+
+ this.datetime = date.toISOString().replace(/[:\-]|\.\d{3}/g, '')
+
+ // Remove the trailing 'Z' on the timestamp string for CodeCommit git access
+ if (this.isCodeCommitGit) this.datetime = this.datetime.slice(0, -1)
+ }
+ return this.datetime
+}
+
+RequestSigner.prototype.getDate = function() {
+ return this.getDateTime().substr(0, 8)
+}
+
+RequestSigner.prototype.authHeader = function() {
+ return [
+ 'AWS4-HMAC-SHA256 Credential=' + this.credentials.accessKeyId + '/' + this.credentialString(),
+ 'SignedHeaders=' + this.signedHeaders(),
+ 'Signature=' + this.signature(),
+ ].join(', ')
+}
+
+RequestSigner.prototype.signature = function() {
+ var date = this.getDate(),
+ cacheKey = [this.credentials.secretAccessKey, date, this.region, this.service].join(),
+ kDate, kRegion, kService, kCredentials = credentialsCache.get(cacheKey)
+ if (!kCredentials) {
+ kDate = hmac('AWS4' + this.credentials.secretAccessKey, date)
+ kRegion = hmac(kDate, this.region)
+ kService = hmac(kRegion, this.service)
+ kCredentials = hmac(kService, 'aws4_request')
+ credentialsCache.set(cacheKey, kCredentials)
+ }
+ return hmac(kCredentials, this.stringToSign(), 'hex')
+}
+
+RequestSigner.prototype.stringToSign = function() {
+ return [
+ 'AWS4-HMAC-SHA256',
+ this.getDateTime(),
+ this.credentialString(),
+ hash(this.canonicalString(), 'hex'),
+ ].join('\n')
+}
+
+RequestSigner.prototype.canonicalString = function() {
+ if (!this.parsedPath) this.prepareRequest()
+
+ var pathStr = this.parsedPath.path,
+ query = this.parsedPath.query,
+ headers = this.request.headers,
+ queryStr = '',
+ normalizePath = this.service !== 's3',
+ decodePath = this.service === 's3' || this.request.doNotEncodePath,
+ decodeSlashesInPath = this.service === 's3',
+ firstValOnly = this.service === 's3',
+ bodyHash
+
+ if (this.service === 's3' && this.request.signQuery) {
+ bodyHash = 'UNSIGNED-PAYLOAD'
+ } else if (this.isCodeCommitGit) {
+ bodyHash = ''
+ } else {
+ bodyHash = headers['X-Amz-Content-Sha256'] || headers['x-amz-content-sha256'] ||
+ hash(this.request.body || '', 'hex')
+ }
+
+ if (query) {
+ var reducedQuery = Object.keys(query).reduce(function(obj, key) {
+ if (!key) return obj
+ obj[encodeRfc3986Full(key)] = !Array.isArray(query[key]) ? query[key] :
+ (firstValOnly ? query[key][0] : query[key])
+ return obj
+ }, {})
+ var encodedQueryPieces = []
+ Object.keys(reducedQuery).sort().forEach(function(key) {
+ if (!Array.isArray(reducedQuery[key])) {
+ encodedQueryPieces.push(key + '=' + encodeRfc3986Full(reducedQuery[key]))
+ } else {
+ reducedQuery[key].map(encodeRfc3986Full).sort()
+ .forEach(function(val) { encodedQueryPieces.push(key + '=' + val) })
+ }
+ })
+ queryStr = encodedQueryPieces.join('&')
+ }
+ if (pathStr !== '/') {
+ if (normalizePath) pathStr = pathStr.replace(/\/{2,}/g, '/')
+ pathStr = pathStr.split('/').reduce(function(path, piece) {
+ if (normalizePath && piece === '..') {
+ path.pop()
+ } else if (!normalizePath || piece !== '.') {
+ if (decodePath) piece = decodeURIComponent(piece.replace(/\+/g, ' '))
+ path.push(encodeRfc3986Full(piece))
+ }
+ return path
+ }, []).join('/')
+ if (pathStr[0] !== '/') pathStr = '/' + pathStr
+ if (decodeSlashesInPath) pathStr = pathStr.replace(/%2F/g, '/')
+ }
+
+ return [
+ this.request.method || 'GET',
+ pathStr,
+ queryStr,
+ this.canonicalHeaders() + '\n',
+ this.signedHeaders(),
+ bodyHash,
+ ].join('\n')
+}
+
+RequestSigner.prototype.canonicalHeaders = function() {
+ var headers = this.request.headers
+ function trimAll(header) {
+ return header.toString().trim().replace(/\s+/g, ' ')
+ }
+ return Object.keys(headers)
+ .filter(function(key) { return HEADERS_TO_IGNORE[key.toLowerCase()] == null })
+ .sort(function(a, b) { return a.toLowerCase() < b.toLowerCase() ? -1 : 1 })
+ .map(function(key) { return key.toLowerCase() + ':' + trimAll(headers[key]) })
+ .join('\n')
+}
+
+RequestSigner.prototype.signedHeaders = function() {
+ return Object.keys(this.request.headers)
+ .map(function(key) { return key.toLowerCase() })
+ .filter(function(key) { return HEADERS_TO_IGNORE[key] == null })
+ .sort()
+ .join(';')
+}
+
+RequestSigner.prototype.credentialString = function() {
+ return [
+ this.getDate(),
+ this.region,
+ this.service,
+ 'aws4_request',
+ ].join('/')
+}
+
+RequestSigner.prototype.defaultCredentials = function() {
+ var env = process.env
+ return {
+ accessKeyId: env.AWS_ACCESS_KEY_ID || env.AWS_ACCESS_KEY,
+ secretAccessKey: env.AWS_SECRET_ACCESS_KEY || env.AWS_SECRET_KEY,
+ sessionToken: env.AWS_SESSION_TOKEN,
+ }
+}
+
+RequestSigner.prototype.parsePath = function() {
+ var path = this.request.path || '/'
+
+ // S3 doesn't always encode characters > 127 correctly and
+ // all services don't encode characters > 255 correctly
+ // So if there are non-reserved chars (and it's not already all % encoded), just encode them all
+ if (/[^0-9A-Za-z;,/?:@&=+$\-_.!~*'()#%]/.test(path)) {
+ path = encodeURI(decodeURI(path))
+ }
+
+ var queryIx = path.indexOf('?'),
+ query = null
+
+ if (queryIx >= 0) {
+ query = querystring.parse(path.slice(queryIx + 1))
+ path = path.slice(0, queryIx)
+ }
+
+ this.parsedPath = {
+ path: path,
+ query: query,
+ }
+}
+
+RequestSigner.prototype.formatPath = function() {
+ var path = this.parsedPath.path,
+ query = this.parsedPath.query
+
+ if (!query) return path
+
+ // Services don't support empty query string keys
+ if (query[''] != null) delete query['']
+
+ return path + '?' + encodeRfc3986(querystring.stringify(query))
+}
+
+aws4.RequestSigner = RequestSigner
+
+aws4.sign = function(request, credentials) {
+ return new RequestSigner(request, credentials).sign()
+}
diff --git a/node_modules/aws4/lru.js b/node_modules/aws4/lru.js
new file mode 100644
index 0000000..333f66a
--- /dev/null
+++ b/node_modules/aws4/lru.js
@@ -0,0 +1,96 @@
+module.exports = function(size) {
+ return new LruCache(size)
+}
+
+function LruCache(size) {
+ this.capacity = size | 0
+ this.map = Object.create(null)
+ this.list = new DoublyLinkedList()
+}
+
+LruCache.prototype.get = function(key) {
+ var node = this.map[key]
+ if (node == null) return undefined
+ this.used(node)
+ return node.val
+}
+
+LruCache.prototype.set = function(key, val) {
+ var node = this.map[key]
+ if (node != null) {
+ node.val = val
+ } else {
+ if (!this.capacity) this.prune()
+ if (!this.capacity) return false
+ node = new DoublyLinkedNode(key, val)
+ this.map[key] = node
+ this.capacity--
+ }
+ this.used(node)
+ return true
+}
+
+LruCache.prototype.used = function(node) {
+ this.list.moveToFront(node)
+}
+
+LruCache.prototype.prune = function() {
+ var node = this.list.pop()
+ if (node != null) {
+ delete this.map[node.key]
+ this.capacity++
+ }
+}
+
+
+function DoublyLinkedList() {
+ this.firstNode = null
+ this.lastNode = null
+}
+
+DoublyLinkedList.prototype.moveToFront = function(node) {
+ if (this.firstNode == node) return
+
+ this.remove(node)
+
+ if (this.firstNode == null) {
+ this.firstNode = node
+ this.lastNode = node
+ node.prev = null
+ node.next = null
+ } else {
+ node.prev = null
+ node.next = this.firstNode
+ node.next.prev = node
+ this.firstNode = node
+ }
+}
+
+DoublyLinkedList.prototype.pop = function() {
+ var lastNode = this.lastNode
+ if (lastNode != null) {
+ this.remove(lastNode)
+ }
+ return lastNode
+}
+
+DoublyLinkedList.prototype.remove = function(node) {
+ if (this.firstNode == node) {
+ this.firstNode = node.next
+ } else if (node.prev != null) {
+ node.prev.next = node.next
+ }
+ if (this.lastNode == node) {
+ this.lastNode = node.prev
+ } else if (node.next != null) {
+ node.next.prev = node.prev
+ }
+}
+
+
+function DoublyLinkedNode(key, val) {
+ this.key = key
+ this.val = val
+ this.prev = null
+ this.next = null
+}
diff --git a/node_modules/aws4/package.json b/node_modules/aws4/package.json
new file mode 100644
index 0000000..29b6b22
--- /dev/null
+++ b/node_modules/aws4/package.json
@@ -0,0 +1,53 @@
+{
+ "_from": "aws4@^1.8.0",
+ "_id": "aws4@1.11.0",
+ "_inBundle": false,
+ "_integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==",
+ "_location": "/aws4",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "range",
+ "registry": true,
+ "raw": "aws4@^1.8.0",
+ "name": "aws4",
+ "escapedName": "aws4",
+ "rawSpec": "^1.8.0",
+ "saveSpec": null,
+ "fetchSpec": "^1.8.0"
+ },
+ "_requiredBy": [
+ "/request"
+ ],
+ "_resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz",
+ "_shasum": "d61f46d83b2519250e2784daf5b09479a8b41c59",
+ "_spec": "aws4@^1.8.0",
+ "_where": "C:\\Users\\Futil\\AppData\\Local\\FoundryVTT\\Data\\systems\\mothership\\node_modules\\request",
+ "author": {
+ "name": "Michael Hart",
+ "email": "michael.hart.au@gmail.com",
+ "url": "https://github.com/mhart"
+ },
+ "bugs": {
+ "url": "https://github.com/mhart/aws4/issues"
+ },
+ "bundleDependencies": false,
+ "deprecated": false,
+ "description": "Signs and prepares requests using AWS Signature Version 4",
+ "devDependencies": {
+ "mocha": "^2.5.3",
+ "should": "^8.4.0"
+ },
+ "homepage": "https://github.com/mhart/aws4#readme",
+ "license": "MIT",
+ "main": "aws4.js",
+ "name": "aws4",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/mhart/aws4.git"
+ },
+ "scripts": {
+ "integration": "node ./test/slow.js",
+ "test": "mocha ./test/fast.js -R list"
+ },
+ "version": "1.11.0"
+}
diff --git a/node_modules/bach/LICENSE b/node_modules/bach/LICENSE
new file mode 100644
index 0000000..0b2955a
--- /dev/null
+++ b/node_modules/bach/LICENSE
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) 2014 Blaine Bublitz, Eric Schoffstall and other contributors
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/node_modules/bach/README.md b/node_modules/bach/README.md
new file mode 100644
index 0000000..4a9a8eb
--- /dev/null
+++ b/node_modules/bach/README.md
@@ -0,0 +1,252 @@
+
+
+
+
+
+
+# bach
+
+[![NPM version][npm-image]][npm-url] [![Downloads][downloads-image]][npm-url] [![Build Status][travis-image]][travis-url] [![AppVeyor Build Status][appveyor-image]][appveyor-url] [![Coveralls Status][coveralls-image]][coveralls-url] [![Gitter chat][gitter-image]][gitter-url]
+
+Compose your async functions with elegance.
+
+## Usage
+
+With `bach`, it is very easy to compose async functions to run in series or parallel.
+
+```js
+var bach = require('bach');
+
+function fn1(cb) {
+ cb(null, 1);
+}
+
+function fn2(cb) {
+ cb(null, 2);
+}
+
+function fn3(cb) {
+ cb(null, 3);
+}
+
+var seriesFn = bach.series(fn1, fn2, fn3);
+// fn1, fn2, and fn3 will be run in series
+seriesFn(function(err, res) {
+ if (err) { // in this example, err is undefined
+ // handle error
+ }
+ // handle results
+ // in this example, res is [1, 2, 3]
+});
+
+var parallelFn = bach.parallel(fn1, fn2, fn3);
+// fn1, fn2, and fn3 will be run in parallel
+parallelFn(function(err, res) {
+ if (err) { // in this example, err is undefined
+ // handle error
+ }
+ // handle results
+ // in this example, res is [1, 2, 3]
+});
+```
+
+Since the composer functions return a function, you can combine them.
+
+```js
+var combinedFn = bach.series(fn1, bach.parallel(fn2, fn3));
+// fn1 will be executed before fn2 and fn3 are run in parallel
+combinedFn(function(err, res) {
+ if (err) { // in this example, err is undefined
+ // handle error
+ }
+ // handle results
+ // in this example, res is [1, [2, 3]]
+});
+```
+
+Functions are called with [async-done], so you can return a stream, promise, observable or child process. See [`async-done` completion and error resolution][completions] for more detail.
+
+```js
+// streams
+var fs = require('fs');
+
+function streamFn1() {
+ return fs.createReadStream('./example')
+ .pipe(fs.createWriteStream('./example'));
+}
+
+function streamFn2() {
+ return fs.createReadStream('./example')
+ .pipe(fs.createWriteStream('./example'));
+}
+
+var parallelStreams = bach.parallel(streamFn1, streamFn2);
+parallelStreams(function(err) {
+ if (err) { // in this example, err is undefined
+ // handle error
+ }
+ // all streams have emitted an 'end' or 'close' event
+});
+```
+
+```js
+// promises
+var when = require('when');
+
+function promiseFn1() {
+ return when.resolve(1);
+}
+
+function promiseFn2() {
+ return when.resolve(2);
+}
+
+var parallelPromises = bach.parallel(promiseFn1, promiseFn2);
+parallelPromises(function(err, res) {
+ if (err) { // in this example, err is undefined
+ // handle error
+ }
+ // handle results
+ // in this example, res is [1, 2]
+});
+```
+
+All errors are caught in a [domain] and passed to the final callback as the first argument.
+
+```js
+function success(cb) {
+ setTimeout(function() {
+ cb(null, 1);
+ }, 500);
+}
+
+function error() {
+ throw new Error('Thrown Error');
+}
+
+var errorThrownFn = bach.parallel(error, success);
+errorThrownFn(function(err, res) {
+ if (err) {
+ // handle error
+ // in this example, err is an error caught by the domain
+ }
+ // handle results
+ // in this example, res is [undefined]
+});
+```
+
+When an error happens in a parallel composition, the callback will be called as soon as the error happens.
+If you want to continue on error and wait until all functions have finished before calling the callback, use `settleSeries` or `settleParallel`.
+
+```js
+function success(cb) {
+ setTimeout(function() {
+ cb(null, 1);
+ }, 500);
+}
+
+function error(cb) {
+ cb(new Error('Async Error'));
+}
+
+var parallelSettlingFn = bach.settleParallel(success, error);
+parallelSettlingFn(function(err, res) {
+ // all functions have finished executing
+ if (err) {
+ // handle error
+ // in this example, err is an error passed to the callback
+ }
+ // handle results
+ // in this example, res is [1]
+});
+```
+
+## API
+
+### `series(fns..., [extensions])`
+
+Takes a variable amount of functions (`fns`) to be called in series when the returned function is
+called. Optionally, takes an [extensions](#extensions) object as the last argument.
+
+Returns an `invoker(cb)` function to be called to start the serial execution. The invoker function takes a callback (`cb`) with the `function(error, results)` signature.
+
+If all functions complete successfully, the callback function will be called with all `results` as the second argument.
+
+If an error occurs, execution will stop and the error will be passed to the callback function as the first parameter. The error parameter will always be a single error.
+
+### `parallel(fns..., [extensions])`
+
+Takes a variable amount of functions (`fns`) to be called in parallel when the returned function is
+called. Optionally, takes an [extensions](#extensions) object as the last argument.
+
+Returns an `invoker(cb)` function to be called to start the parallel execution. The invoker function takes a callback (`cb`) with the `function(error, results)` signature.
+
+If all functions complete successfully, the callback function will be called with all `results` as the second argument.
+
+If an error occurs, the callback function will be called with the error as the first parameter. Any async functions that have not completed, will still complete, but their results will __not__ be available. The error parameter will always be a single error.
+
+### `settleSeries(fns..., [extensions])`
+
+Takes a variable amount of functions (`fns`) to be called in series when the returned function is
+called. Optionally, takes an [extensions](#extensions) object as the last argument.
+
+Returns an `invoker(cb)` function to be called to start the serial execution. The invoker function takes a callback (`cb`) with the `function(error, results)` signature.
+
+All functions will always be called and the callback will receive all settled errors and results. If any errors occur, the error parameter will be an array of errors.
+
+### `settleParallel(fns..., [extensions])`
+
+Takes a variable amount of functions (`fns`) to be called in parallel when the returned function is
+called. Optionally, takes an [extensions](#extensions) object as the last argument.
+
+Returns an `invoker(cb)` function to be called to start the parallel execution. The invoker function takes a callback (`cb`) with the `function(error, results)` signature.
+
+All functions will always be called and the callback will receive all settled errors and results. If any errors occur, the error parameter will be an array of errors.
+
+### `extensions`
+
+The `extensions` object is used for specifying functions that give insight into the lifecycle of each function call. The possible extension points are `create`, `before`, `after` and `error`. If an extension point is not specified, it defaults to a no-op function.
+
+##### `extensions.create(fn, index)`
+
+Called at the very beginning of each function call with the function (`fn`) being executed and the `index` from the array/arguments. If `create` returns a value (`storage`), it is passed to the `before`, `after` and `error` extension points.
+
+If a value is not returned, an empty object is used as `storage` for each other extension point.
+
+This is useful for tracking information across an iteration.
+
+##### `extensions.before(storage)`
+
+Called immediately before each function call with the `storage` value returned from the `create` extension point.
+
+##### `extensions.after(result, storage)`
+
+Called immediately after each function call with the `result` of the function and the `storage` value returned from the `create` extension point.
+
+##### `extensions.error(error, storage)`
+
+Called immediately after a failed function call with the `error` of the function and the `storage` value returned from the `create` extension point.
+
+## License
+
+MIT
+
+[domain]: http://nodejs.org/api/domain.html
+[async-done]: https://github.com/gulpjs/async-done
+[completions]: https://github.com/gulpjs/async-done#completion-and-error-resolution
+
+[downloads-image]: http://img.shields.io/npm/dm/bach.svg
+[npm-url]: https://www.npmjs.com/package/bach
+[npm-image]: http://img.shields.io/npm/v/bach.svg
+
+[travis-url]: https://travis-ci.org/gulpjs/bach
+[travis-image]: http://img.shields.io/travis/gulpjs/bach.svg?label=travis-ci
+
+[appveyor-url]: https://ci.appveyor.com/project/gulpjs/bach
+[appveyor-image]: https://img.shields.io/appveyor/ci/gulpjs/bach.svg?label=appveyor
+
+[coveralls-url]: https://coveralls.io/r/gulpjs/bach
+[coveralls-image]: http://img.shields.io/coveralls/gulpjs/bach.svg
+
+[gitter-url]: https://gitter.im/gulpjs/gulp
+[gitter-image]: https://badges.gitter.im/gulpjs/gulp.svg
diff --git a/node_modules/bach/index.js b/node_modules/bach/index.js
new file mode 100644
index 0000000..1a4848e
--- /dev/null
+++ b/node_modules/bach/index.js
@@ -0,0 +1,8 @@
+'use strict';
+
+module.exports = {
+ series: require('./lib/series'),
+ parallel: require('./lib/parallel'),
+ settleSeries: require('./lib/settleSeries'),
+ settleParallel: require('./lib/settleParallel'),
+};
diff --git a/node_modules/bach/lib/helpers.js b/node_modules/bach/lib/helpers.js
new file mode 100644
index 0000000..aca276b
--- /dev/null
+++ b/node_modules/bach/lib/helpers.js
@@ -0,0 +1,84 @@
+'use strict';
+
+var assert = require('assert');
+
+var filter = require('arr-filter');
+var map = require('arr-map');
+var flatten = require('arr-flatten');
+var forEach = require('array-each');
+
+function noop() {}
+
+function getExtensions(lastArg) {
+ if (typeof lastArg !== 'function') {
+ return lastArg;
+ }
+}
+
+function filterSuccess(elem) {
+ return elem.state === 'success';
+}
+
+function filterError(elem) {
+ return elem.state === 'error';
+}
+
+function buildOnSettled(done) {
+ if (typeof done !== 'function') {
+ done = noop;
+ }
+
+ function onSettled(error, result) {
+ if (error) {
+ return done(error, null);
+ }
+
+ var settledErrors = filter(result, filterError);
+ var settledResults = filter(result, filterSuccess);
+
+ var errors = null;
+ if (settledErrors.length) {
+ errors = map(settledErrors, 'value');
+ }
+
+ var results = null;
+ if (settledResults.length) {
+ results = map(settledResults, 'value');
+ }
+
+ done(errors, results);
+ }
+
+ return onSettled;
+}
+
+function verifyArguments(args) {
+ args = flatten(args);
+ var lastIdx = args.length - 1;
+
+ assert.ok(args.length, 'A set of functions to combine is required');
+
+ forEach(args, function(arg, argIdx) {
+ var isFunction = typeof arg === 'function';
+ if (isFunction) {
+ return;
+ }
+
+ if (argIdx === lastIdx) {
+ // Last arg can be an object of extension points
+ return;
+ }
+
+ var msg = 'Only functions can be combined, got ' + typeof arg +
+ ' for argument ' + argIdx;
+ assert.ok(isFunction, msg);
+ });
+
+ return args;
+}
+
+module.exports = {
+ getExtensions: getExtensions,
+ onSettled: buildOnSettled,
+ verifyArguments: verifyArguments,
+};
diff --git a/node_modules/bach/lib/parallel.js b/node_modules/bach/lib/parallel.js
new file mode 100644
index 0000000..133a5c1
--- /dev/null
+++ b/node_modules/bach/lib/parallel.js
@@ -0,0 +1,30 @@
+'use strict';
+
+var initial = require('array-initial');
+var last = require('array-last');
+var asyncDone = require('async-done');
+var nowAndLater = require('now-and-later');
+
+var helpers = require('./helpers');
+
+function iterator(fn, key, cb) {
+ return asyncDone(fn, cb);
+}
+
+function buildParallel() {
+ var args = helpers.verifyArguments(arguments);
+
+ var extensions = helpers.getExtensions(last(args));
+
+ if (extensions) {
+ args = initial(args);
+ }
+
+ function parallel(done) {
+ nowAndLater.map(args, iterator, extensions, done);
+ }
+
+ return parallel;
+}
+
+module.exports = buildParallel;
diff --git a/node_modules/bach/lib/series.js b/node_modules/bach/lib/series.js
new file mode 100644
index 0000000..8b9f284
--- /dev/null
+++ b/node_modules/bach/lib/series.js
@@ -0,0 +1,30 @@
+'use strict';
+
+var initial = require('array-initial');
+var last = require('array-last');
+var asyncDone = require('async-done');
+var nowAndLater = require('now-and-later');
+
+var helpers = require('./helpers');
+
+function iterator(fn, key, cb) {
+ return asyncDone(fn, cb);
+}
+
+function buildSeries() {
+ var args = helpers.verifyArguments(arguments);
+
+ var extensions = helpers.getExtensions(last(args));
+
+ if (extensions) {
+ args = initial(args);
+ }
+
+ function series(done) {
+ nowAndLater.mapSeries(args, iterator, extensions, done);
+ }
+
+ return series;
+}
+
+module.exports = buildSeries;
diff --git a/node_modules/bach/lib/settleParallel.js b/node_modules/bach/lib/settleParallel.js
new file mode 100644
index 0000000..a022e16
--- /dev/null
+++ b/node_modules/bach/lib/settleParallel.js
@@ -0,0 +1,31 @@
+'use strict';
+
+var initial = require('array-initial');
+var last = require('array-last');
+var asyncSettle = require('async-settle');
+var nowAndLater = require('now-and-later');
+
+var helpers = require('./helpers');
+
+function iterator(fn, key, cb) {
+ return asyncSettle(fn, cb);
+}
+
+function buildSettleParallel() {
+ var args = helpers.verifyArguments(arguments);
+
+ var extensions = helpers.getExtensions(last(args));
+
+ if (extensions) {
+ args = initial(args);
+ }
+
+ function settleParallel(done) {
+ var onSettled = helpers.onSettled(done);
+ nowAndLater.map(args, iterator, extensions, onSettled);
+ }
+
+ return settleParallel;
+}
+
+module.exports = buildSettleParallel;
diff --git a/node_modules/bach/lib/settleSeries.js b/node_modules/bach/lib/settleSeries.js
new file mode 100644
index 0000000..727ada6
--- /dev/null
+++ b/node_modules/bach/lib/settleSeries.js
@@ -0,0 +1,31 @@
+'use strict';
+
+var initial = require('array-initial');
+var last = require('array-last');
+var asyncSettle = require('async-settle');
+var nowAndLater = require('now-and-later');
+
+var helpers = require('./helpers');
+
+function iterator(fn, key, cb) {
+ return asyncSettle(fn, cb);
+}
+
+function buildSettleSeries() {
+ var args = helpers.verifyArguments(arguments);
+
+ var extensions = helpers.getExtensions(last(args));
+
+ if (extensions) {
+ args = initial(args);
+ }
+
+ function settleSeries(done) {
+ var onSettled = helpers.onSettled(done);
+ nowAndLater.mapSeries(args, iterator, extensions, onSettled);
+ }
+
+ return settleSeries;
+}
+
+module.exports = buildSettleSeries;
diff --git a/node_modules/bach/package.json b/node_modules/bach/package.json
new file mode 100644
index 0000000..8f14fac
--- /dev/null
+++ b/node_modules/bach/package.json
@@ -0,0 +1,123 @@
+{
+ "_from": "bach@^1.0.0",
+ "_id": "bach@1.2.0",
+ "_inBundle": false,
+ "_integrity": "sha1-Szzpa/JxNPeaG0FKUcFONMO9mIA=",
+ "_location": "/bach",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "range",
+ "registry": true,
+ "raw": "bach@^1.0.0",
+ "name": "bach",
+ "escapedName": "bach",
+ "rawSpec": "^1.0.0",
+ "saveSpec": null,
+ "fetchSpec": "^1.0.0"
+ },
+ "_requiredBy": [
+ "/undertaker"
+ ],
+ "_resolved": "https://registry.npmjs.org/bach/-/bach-1.2.0.tgz",
+ "_shasum": "4b3ce96bf27134f79a1b414a51c14e34c3bd9880",
+ "_spec": "bach@^1.0.0",
+ "_where": "C:\\Users\\Futil\\AppData\\Local\\FoundryVTT\\Data\\systems\\mothership\\node_modules\\undertaker",
+ "author": {
+ "name": "Gulp Team",
+ "email": "team@gulpjs.com",
+ "url": "http://gulpjs.com/"
+ },
+ "bugs": {
+ "url": "https://github.com/gulpjs/bach/issues"
+ },
+ "bundleDependencies": false,
+ "contributors": [
+ {
+ "name": "Blaine Bublitz",
+ "email": "blaine.bublitz@gmail.com"
+ },
+ {
+ "name": "Pawel Kozlowski",
+ "email": "pkozlowski.opensource@gmail.com"
+ },
+ {
+ "name": "Benjamin Tan",
+ "email": "demoneaux@gmail.com"
+ }
+ ],
+ "dependencies": {
+ "arr-filter": "^1.1.1",
+ "arr-flatten": "^1.0.1",
+ "arr-map": "^2.0.0",
+ "array-each": "^1.0.0",
+ "array-initial": "^1.0.0",
+ "array-last": "^1.1.1",
+ "async-done": "^1.2.2",
+ "async-settle": "^1.0.0",
+ "now-and-later": "^2.0.0"
+ },
+ "deprecated": false,
+ "description": "Compose your async functions with elegance.",
+ "devDependencies": {
+ "eslint": "^1.7.3",
+ "eslint-config-gulp": "^2.0.0",
+ "expect": "^1.19.0",
+ "istanbul": "^0.4.3",
+ "istanbul-coveralls": "^1.0.3",
+ "jscs": "^2.3.5",
+ "jscs-preset-gulp": "^1.0.0",
+ "mocha": "^2.4.5"
+ },
+ "engines": {
+ "node": ">= 0.10"
+ },
+ "files": [
+ "index.js",
+ "lib",
+ "LICENSE"
+ ],
+ "homepage": "https://github.com/gulpjs/bach#readme",
+ "keywords": [
+ "compose",
+ "fluent",
+ "composing",
+ "continuation",
+ "function composition",
+ "functional",
+ "async",
+ "map",
+ "series",
+ "parallel",
+ "extension",
+ "tracing",
+ "debug",
+ "timing",
+ "aop",
+ "settle",
+ "promises",
+ "callbacks",
+ "observables",
+ "streams",
+ "end",
+ "completion",
+ "complete",
+ "finish",
+ "done",
+ "error handling"
+ ],
+ "license": "MIT",
+ "main": "index.js",
+ "name": "bach",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/gulpjs/bach.git"
+ },
+ "scripts": {
+ "cover": "istanbul cover _mocha --report lcovonly",
+ "coveralls": "npm run cover && istanbul-coveralls",
+ "lint": "eslint . && jscs index.js lib/ test/",
+ "pretest": "npm run lint",
+ "test": "mocha --async-only"
+ },
+ "version": "1.2.0"
+}
diff --git a/node_modules/balanced-match/.npmignore b/node_modules/balanced-match/.npmignore
new file mode 100644
index 0000000..ae5d8c3
--- /dev/null
+++ b/node_modules/balanced-match/.npmignore
@@ -0,0 +1,5 @@
+test
+.gitignore
+.travis.yml
+Makefile
+example.js
diff --git a/node_modules/balanced-match/LICENSE.md b/node_modules/balanced-match/LICENSE.md
new file mode 100644
index 0000000..2cdc8e4
--- /dev/null
+++ b/node_modules/balanced-match/LICENSE.md
@@ -0,0 +1,21 @@
+(MIT)
+
+Copyright (c) 2013 Julian Gruber <julian@juliangruber.com>
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
+of the Software, and to permit persons to whom the Software is furnished to do
+so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/node_modules/balanced-match/README.md b/node_modules/balanced-match/README.md
new file mode 100644
index 0000000..08e918c
--- /dev/null
+++ b/node_modules/balanced-match/README.md
@@ -0,0 +1,91 @@
+# balanced-match
+
+Match balanced string pairs, like `{` and `}` or `` and ` `. Supports regular expressions as well!
+
+[](http://travis-ci.org/juliangruber/balanced-match)
+[](https://www.npmjs.org/package/balanced-match)
+
+[](https://ci.testling.com/juliangruber/balanced-match)
+
+## Example
+
+Get the first matching pair of braces:
+
+```js
+var balanced = require('balanced-match');
+
+console.log(balanced('{', '}', 'pre{in{nested}}post'));
+console.log(balanced('{', '}', 'pre{first}between{second}post'));
+console.log(balanced(/\s+\{\s+/, /\s+\}\s+/, 'pre { in{nest} } post'));
+```
+
+The matches are:
+
+```bash
+$ node example.js
+{ start: 3, end: 14, pre: 'pre', body: 'in{nested}', post: 'post' }
+{ start: 3,
+ end: 9,
+ pre: 'pre',
+ body: 'first',
+ post: 'between{second}post' }
+{ start: 3, end: 17, pre: 'pre', body: 'in{nest}', post: 'post' }
+```
+
+## API
+
+### var m = balanced(a, b, str)
+
+For the first non-nested matching pair of `a` and `b` in `str`, return an
+object with those keys:
+
+* **start** the index of the first match of `a`
+* **end** the index of the matching `b`
+* **pre** the preamble, `a` and `b` not included
+* **body** the match, `a` and `b` not included
+* **post** the postscript, `a` and `b` not included
+
+If there's no match, `undefined` will be returned.
+
+If the `str` contains more `a` than `b` / there are unmatched pairs, the first match that was closed will be used. For example, `{{a}` will match `['{', 'a', '']` and `{a}}` will match `['', 'a', '}']`.
+
+### var r = balanced.range(a, b, str)
+
+For the first non-nested matching pair of `a` and `b` in `str`, return an
+array with indexes: `[ , ]`.
+
+If there's no match, `undefined` will be returned.
+
+If the `str` contains more `a` than `b` / there are unmatched pairs, the first match that was closed will be used. For example, `{{a}` will match `[ 1, 3 ]` and `{a}}` will match `[0, 2]`.
+
+## Installation
+
+With [npm](https://npmjs.org) do:
+
+```bash
+npm install balanced-match
+```
+
+## License
+
+(MIT)
+
+Copyright (c) 2013 Julian Gruber <julian@juliangruber.com>
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
+of the Software, and to permit persons to whom the Software is furnished to do
+so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/node_modules/balanced-match/index.js b/node_modules/balanced-match/index.js
new file mode 100644
index 0000000..1685a76
--- /dev/null
+++ b/node_modules/balanced-match/index.js
@@ -0,0 +1,59 @@
+'use strict';
+module.exports = balanced;
+function balanced(a, b, str) {
+ if (a instanceof RegExp) a = maybeMatch(a, str);
+ if (b instanceof RegExp) b = maybeMatch(b, str);
+
+ var r = range(a, b, str);
+
+ return r && {
+ start: r[0],
+ end: r[1],
+ pre: str.slice(0, r[0]),
+ body: str.slice(r[0] + a.length, r[1]),
+ post: str.slice(r[1] + b.length)
+ };
+}
+
+function maybeMatch(reg, str) {
+ var m = str.match(reg);
+ return m ? m[0] : null;
+}
+
+balanced.range = range;
+function range(a, b, str) {
+ var begs, beg, left, right, result;
+ var ai = str.indexOf(a);
+ var bi = str.indexOf(b, ai + 1);
+ var i = ai;
+
+ if (ai >= 0 && bi > 0) {
+ begs = [];
+ left = str.length;
+
+ while (i >= 0 && !result) {
+ if (i == ai) {
+ begs.push(i);
+ ai = str.indexOf(a, i + 1);
+ } else if (begs.length == 1) {
+ result = [ begs.pop(), bi ];
+ } else {
+ beg = begs.pop();
+ if (beg < left) {
+ left = beg;
+ right = bi;
+ }
+
+ bi = str.indexOf(b, i + 1);
+ }
+
+ i = ai < bi && ai >= 0 ? ai : bi;
+ }
+
+ if (begs.length) {
+ result = [ left, right ];
+ }
+ }
+
+ return result;
+}
diff --git a/node_modules/balanced-match/package.json b/node_modules/balanced-match/package.json
new file mode 100644
index 0000000..5e61897
--- /dev/null
+++ b/node_modules/balanced-match/package.json
@@ -0,0 +1,77 @@
+{
+ "_from": "balanced-match@^1.0.0",
+ "_id": "balanced-match@1.0.0",
+ "_inBundle": false,
+ "_integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
+ "_location": "/balanced-match",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "range",
+ "registry": true,
+ "raw": "balanced-match@^1.0.0",
+ "name": "balanced-match",
+ "escapedName": "balanced-match",
+ "rawSpec": "^1.0.0",
+ "saveSpec": null,
+ "fetchSpec": "^1.0.0"
+ },
+ "_requiredBy": [
+ "/brace-expansion"
+ ],
+ "_resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
+ "_shasum": "89b4d199ab2bee49de164ea02b89ce462d71b767",
+ "_spec": "balanced-match@^1.0.0",
+ "_where": "C:\\Users\\Futil\\AppData\\Local\\FoundryVTT\\Data\\systems\\mothership\\node_modules\\brace-expansion",
+ "author": {
+ "name": "Julian Gruber",
+ "email": "mail@juliangruber.com",
+ "url": "http://juliangruber.com"
+ },
+ "bugs": {
+ "url": "https://github.com/juliangruber/balanced-match/issues"
+ },
+ "bundleDependencies": false,
+ "dependencies": {},
+ "deprecated": false,
+ "description": "Match balanced character pairs, like \"{\" and \"}\"",
+ "devDependencies": {
+ "matcha": "^0.7.0",
+ "tape": "^4.6.0"
+ },
+ "homepage": "https://github.com/juliangruber/balanced-match",
+ "keywords": [
+ "match",
+ "regexp",
+ "test",
+ "balanced",
+ "parse"
+ ],
+ "license": "MIT",
+ "main": "index.js",
+ "name": "balanced-match",
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/juliangruber/balanced-match.git"
+ },
+ "scripts": {
+ "bench": "make bench",
+ "test": "make test"
+ },
+ "testling": {
+ "files": "test/*.js",
+ "browsers": [
+ "ie/8..latest",
+ "firefox/20..latest",
+ "firefox/nightly",
+ "chrome/25..latest",
+ "chrome/canary",
+ "opera/12..latest",
+ "opera/next",
+ "safari/5.1..latest",
+ "ipad/6.0..latest",
+ "iphone/6.0..latest",
+ "android-browser/4.2..latest"
+ ]
+ },
+ "version": "1.0.0"
+}
diff --git a/node_modules/base/LICENSE b/node_modules/base/LICENSE
new file mode 100644
index 0000000..e33d14b
--- /dev/null
+++ b/node_modules/base/LICENSE
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) 2015-2017, Jon Schlinkert.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/node_modules/base/README.md b/node_modules/base/README.md
new file mode 100644
index 0000000..c77cdaf
--- /dev/null
+++ b/node_modules/base/README.md
@@ -0,0 +1,491 @@
+
+
+
+
+
+
+# base [](https://www.npmjs.com/package/base) [](https://npmjs.org/package/base) [](https://npmjs.org/package/base) [](https://travis-ci.org/node-base/base)
+
+> base is the foundation for creating modular, unit testable and highly pluggable node.js applications, starting with a handful of common methods, like `set`, `get`, `del` and `use`.
+
+## Install
+
+Install with [npm](https://www.npmjs.com/):
+
+```sh
+$ npm install --save base
+```
+
+## What is Base?
+
+Base is a framework for rapidly creating high quality node.js applications, using plugins like building blocks.
+
+### Guiding principles
+
+The core team follows these principles to help guide API decisions:
+
+* **Compact API surface**: The smaller the API surface, the easier the library will be to learn and use.
+* **Easy to extend**: Implementors can use any npm package, and write plugins in pure JavaScript. If you're building complex apps, Base simplifies inheritance.
+* **Easy to test**: No special setup should be required to unit test `Base` or base plugins
+
+### Minimal API surface
+
+[The API](#api) was designed to provide only the minimum necessary functionality for creating a useful application, with or without [plugins](#plugins).
+
+**Base core**
+
+Base itself ships with only a handful of [useful methods](#api), such as:
+
+* `.set`: for setting values on the instance
+* `.get`: for getting values from the instance
+* `.has`: to check if a property exists on the instance
+* `.define`: for setting non-enumerable values on the instance
+* `.use`: for adding plugins
+
+**Be generic**
+
+When deciding on method to add or remove, we try to answer these questions:
+
+1. Will all or most Base applications need this method?
+2. Will this method encourage practices or enforce conventions that are beneficial to implementors?
+3. Can or should this be done in a plugin instead?
+
+### Composability
+
+**Plugin system**
+
+It couldn't be easier to extend Base with any features or custom functionality you can think of.
+
+Base plugins are just functions that take an instance of `Base`:
+
+```js
+var base = new Base();
+
+function plugin(base) {
+ // do plugin stuff, in pure JavaScript
+}
+// use the plugin
+base.use(plugin);
+```
+
+**Inheritance**
+
+Easily inherit Base using `.extend`:
+
+```js
+var Base = require('base');
+
+function MyApp() {
+ Base.call(this);
+}
+Base.extend(MyApp);
+
+var app = new MyApp();
+app.set('a', 'b');
+app.get('a');
+//=> 'b';
+```
+
+**Inherit or instantiate with a namespace**
+
+By default, the `.get`, `.set` and `.has` methods set and get values from the root of the `base` instance. You can customize this using the `.namespace` method exposed on the exported function. For example:
+
+```js
+var Base = require('base');
+// get and set values on the `base.cache` object
+var base = Base.namespace('cache');
+
+var app = base();
+app.set('foo', 'bar');
+console.log(app.cache.foo);
+//=> 'bar'
+```
+
+## API
+
+**Usage**
+
+```js
+var Base = require('base');
+var app = new Base();
+app.set('foo', 'bar');
+console.log(app.foo);
+//=> 'bar'
+```
+
+### [Base](index.js#L44)
+
+Create an instance of `Base` with the given `config` and `options`.
+
+**Params**
+
+* `config` **{Object}**: If supplied, this object is passed to [cache-base](https://github.com/jonschlinkert/cache-base) to merge onto the the instance upon instantiation.
+* `options` **{Object}**: If supplied, this object is used to initialize the `base.options` object.
+
+**Example**
+
+```js
+// initialize with `config` and `options`
+var app = new Base({isApp: true}, {abc: true});
+app.set('foo', 'bar');
+
+// values defined with the given `config` object will be on the root of the instance
+console.log(app.baz); //=> undefined
+console.log(app.foo); //=> 'bar'
+// or use `.get`
+console.log(app.get('isApp')); //=> true
+console.log(app.get('foo')); //=> 'bar'
+
+// values defined with the given `options` object will be on `app.options
+console.log(app.options.abc); //=> true
+```
+
+### [.is](index.js#L107)
+
+Set the given `name` on `app._name` and `app.is*` properties. Used for doing lookups in plugins.
+
+**Params**
+
+* `name` **{String}**
+* `returns` **{Boolean}**
+
+**Example**
+
+```js
+app.is('foo');
+console.log(app._name);
+//=> 'foo'
+console.log(app.isFoo);
+//=> true
+app.is('bar');
+console.log(app.isFoo);
+//=> true
+console.log(app.isBar);
+//=> true
+console.log(app._name);
+//=> 'bar'
+```
+
+### [.isRegistered](index.js#L145)
+
+Returns true if a plugin has already been registered on an instance.
+
+Plugin implementors are encouraged to use this first thing in a plugin
+to prevent the plugin from being called more than once on the same
+instance.
+
+**Params**
+
+* `name` **{String}**: The plugin name.
+* `register` **{Boolean}**: If the plugin if not already registered, to record it as being registered pass `true` as the second argument.
+* `returns` **{Boolean}**: Returns true if a plugin is already registered.
+
+**Events**
+
+* `emits`: `plugin` Emits the name of the plugin being registered. Useful for unit tests, to ensure plugins are only registered once.
+
+**Example**
+
+```js
+var base = new Base();
+base.use(function(app) {
+ if (app.isRegistered('myPlugin')) return;
+ // do stuff to `app`
+});
+
+// to also record the plugin as being registered
+base.use(function(app) {
+ if (app.isRegistered('myPlugin', true)) return;
+ // do stuff to `app`
+});
+```
+
+### [.use](index.js#L175)
+
+Define a plugin function to be called immediately upon init. Plugins are chainable and expose the following arguments to the plugin function:
+
+* `app`: the current instance of `Base`
+* `base`: the [first ancestor instance](#base) of `Base`
+
+**Params**
+
+* `fn` **{Function}**: plugin function to call
+* `returns` **{Object}**: Returns the item instance for chaining.
+
+**Example**
+
+```js
+var app = new Base()
+ .use(foo)
+ .use(bar)
+ .use(baz)
+```
+
+### [.define](index.js#L197)
+
+The `.define` method is used for adding non-enumerable property on the instance. Dot-notation is **not supported** with `define`.
+
+**Params**
+
+* `key` **{String}**: The name of the property to define.
+* `value` **{any}**
+* `returns` **{Object}**: Returns the instance for chaining.
+
+**Example**
+
+```js
+// arbitrary `render` function using lodash `template`
+app.define('render', function(str, locals) {
+ return _.template(str)(locals);
+});
+```
+
+### [.mixin](index.js#L222)
+
+Mix property `key` onto the Base prototype. If base is inherited using `Base.extend` this method will be overridden by a new `mixin` method that will only add properties to the prototype of the inheriting application.
+
+**Params**
+
+* `key` **{String}**
+* `val` **{Object|Array}**
+* `returns` **{Object}**: Returns the `base` instance for chaining.
+
+**Example**
+
+```js
+app.mixin('foo', function() {
+ // do stuff
+});
+```
+
+### [.base](index.js#L268)
+
+Getter/setter used when creating nested instances of `Base`, for storing a reference to the first ancestor instance. This works by setting an instance of `Base` on the `parent` property of a "child" instance. The `base` property defaults to the current instance if no `parent` property is defined.
+
+**Example**
+
+```js
+// create an instance of `Base`, this is our first ("base") instance
+var first = new Base();
+first.foo = 'bar'; // arbitrary property, to make it easier to see what's happening later
+
+// create another instance
+var second = new Base();
+// create a reference to the first instance (`first`)
+second.parent = first;
+
+// create another instance
+var third = new Base();
+// create a reference to the previous instance (`second`)
+// repeat this pattern every time a "child" instance is created
+third.parent = second;
+
+// we can always access the first instance using the `base` property
+console.log(first.base.foo);
+//=> 'bar'
+console.log(second.base.foo);
+//=> 'bar'
+console.log(third.base.foo);
+//=> 'bar'
+// and now you know how to get to third base ;)
+```
+
+### [#use](index.js#L293)
+
+Static method for adding global plugin functions that will be added to an instance when created.
+
+**Params**
+
+* `fn` **{Function}**: Plugin function to use on each instance.
+* `returns` **{Object}**: Returns the `Base` constructor for chaining
+
+**Example**
+
+```js
+Base.use(function(app) {
+ app.foo = 'bar';
+});
+var app = new Base();
+console.log(app.foo);
+//=> 'bar'
+```
+
+### [#extend](index.js#L337)
+
+Static method for inheriting the prototype and static methods of the `Base` class. This method greatly simplifies the process of creating inheritance-based applications. See [static-extend](https://github.com/jonschlinkert/static-extend) for more details.
+
+**Params**
+
+* `Ctor` **{Function}**: constructor to extend
+* `methods` **{Object}**: Optional prototype properties to mix in.
+* `returns` **{Object}**: Returns the `Base` constructor for chaining
+
+**Example**
+
+```js
+var extend = cu.extend(Parent);
+Parent.extend(Child);
+
+// optional methods
+Parent.extend(Child, {
+ foo: function() {},
+ bar: function() {}
+});
+```
+
+### [#mixin](index.js#L379)
+
+Used for adding methods to the `Base` prototype, and/or to the prototype of child instances. When a mixin function returns a function, the returned function is pushed onto the `.mixins` array, making it available to be used on inheriting classes whenever `Base.mixins()` is called (e.g. `Base.mixins(Child)`).
+
+**Params**
+
+* `fn` **{Function}**: Function to call
+* `returns` **{Object}**: Returns the `Base` constructor for chaining
+
+**Example**
+
+```js
+Base.mixin(function(proto) {
+ proto.foo = function(msg) {
+ return 'foo ' + msg;
+ };
+});
+```
+
+### [#mixins](index.js#L401)
+
+Static method for running global mixin functions against a child constructor. Mixins must be registered before calling this method.
+
+**Params**
+
+* `Child` **{Function}**: Constructor function of a child class
+* `returns` **{Object}**: Returns the `Base` constructor for chaining
+
+**Example**
+
+```js
+Base.extend(Child);
+Base.mixins(Child);
+```
+
+### [#inherit](index.js#L420)
+
+Similar to `util.inherit`, but copies all static properties, prototype properties, and getters/setters from `Provider` to `Receiver`. See [class-utils](https://github.com/jonschlinkert/class-utils#inherit) for more details.
+
+**Params**
+
+* `Receiver` **{Function}**: Receiving (child) constructor
+* `Provider` **{Function}**: Providing (parent) constructor
+* `returns` **{Object}**: Returns the `Base` constructor for chaining
+
+**Example**
+
+```js
+Base.inherit(Foo, Bar);
+```
+
+## In the wild
+
+The following node.js applications were built with `Base`:
+
+* [assemble](https://github.com/assemble/assemble)
+* [verb](https://github.com/verbose/verb)
+* [generate](https://github.com/generate/generate)
+* [scaffold](https://github.com/jonschlinkert/scaffold)
+* [boilerplate](https://github.com/jonschlinkert/boilerplate)
+
+## Test coverage
+
+```
+Statements : 98.91% ( 91/92 )
+Branches : 92.86% ( 26/28 )
+Functions : 100% ( 17/17 )
+Lines : 98.9% ( 90/91 )
+```
+
+## History
+
+### v0.11.2
+
+* fixes https://github.com/micromatch/micromatch/issues/99
+
+### v0.11.0
+
+**Breaking changes**
+
+* Static `.use` and `.run` methods are now non-enumerable
+
+### v0.9.0
+
+**Breaking changes**
+
+* `.is` no longer takes a function, a string must be passed
+* all remaining `.debug` code has been removed
+* `app._namespace` was removed (related to `debug`)
+* `.plugin`, `.use`, and `.define` no longer emit events
+* `.assertPlugin` was removed
+* `.lazy` was removed
+
+## About
+
+### Related projects
+
+* [base-cwd](https://www.npmjs.com/package/base-cwd): Base plugin that adds a getter/setter for the current working directory. | [homepage](https://github.com/node-base/base-cwd "Base plugin that adds a getter/setter for the current working directory.")
+* [base-data](https://www.npmjs.com/package/base-data): adds a `data` method to base-methods. | [homepage](https://github.com/node-base/base-data "adds a `data` method to base-methods.")
+* [base-fs](https://www.npmjs.com/package/base-fs): base-methods plugin that adds vinyl-fs methods to your 'base' application for working with the file… [more](https://github.com/node-base/base-fs) | [homepage](https://github.com/node-base/base-fs "base-methods plugin that adds vinyl-fs methods to your 'base' application for working with the file system, like src, dest, copy and symlink.")
+* [base-generators](https://www.npmjs.com/package/base-generators): Adds project-generator support to your `base` application. | [homepage](https://github.com/node-base/base-generators "Adds project-generator support to your `base` application.")
+* [base-option](https://www.npmjs.com/package/base-option): Adds a few options methods to base, like `option`, `enable` and `disable`. See the readme… [more](https://github.com/node-base/base-option) | [homepage](https://github.com/node-base/base-option "Adds a few options methods to base, like `option`, `enable` and `disable`. See the readme for the full API.")
+* [base-pipeline](https://www.npmjs.com/package/base-pipeline): base-methods plugin that adds pipeline and plugin methods for dynamically composing streaming plugin pipelines. | [homepage](https://github.com/node-base/base-pipeline "base-methods plugin that adds pipeline and plugin methods for dynamically composing streaming plugin pipelines.")
+* [base-pkg](https://www.npmjs.com/package/base-pkg): Plugin for adding a `pkg` method that exposes pkg-store to your base application. | [homepage](https://github.com/node-base/base-pkg "Plugin for adding a `pkg` method that exposes pkg-store to your base application.")
+* [base-plugins](https://www.npmjs.com/package/base-plugins): Adds 'smart plugin' support to your base application. | [homepage](https://github.com/node-base/base-plugins "Adds 'smart plugin' support to your base application.")
+* [base-questions](https://www.npmjs.com/package/base-questions): Plugin for base-methods that adds methods for prompting the user and storing the answers on… [more](https://github.com/node-base/base-questions) | [homepage](https://github.com/node-base/base-questions "Plugin for base-methods that adds methods for prompting the user and storing the answers on a project-by-project basis.")
+* [base-store](https://www.npmjs.com/package/base-store): Plugin for getting and persisting config values with your base-methods application. Adds a 'store' object… [more](https://github.com/node-base/base-store) | [homepage](https://github.com/node-base/base-store "Plugin for getting and persisting config values with your base-methods application. Adds a 'store' object that exposes all of the methods from the data-store library. Also now supports sub-stores!")
+* [base-task](https://www.npmjs.com/package/base-task): base plugin that provides a very thin wrapper around [https://github.com/doowb/composer](https://github.com/doowb/composer) for adding task methods to… [more](https://github.com/node-base/base-task) | [homepage](https://github.com/node-base/base-task "base plugin that provides a very thin wrapper around for adding task methods to your application.")
+
+### Contributing
+
+Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new).
+
+### Contributors
+
+| **Commits** | **Contributor** |
+| --- | --- |
+| 141 | [jonschlinkert](https://github.com/jonschlinkert) |
+| 30 | [doowb](https://github.com/doowb) |
+| 3 | [charlike](https://github.com/charlike) |
+| 1 | [criticalmash](https://github.com/criticalmash) |
+| 1 | [wtgtybhertgeghgtwtg](https://github.com/wtgtybhertgeghgtwtg) |
+
+### Building docs
+
+_(This project's readme.md is generated by [verb](https://github.com/verbose/verb-generate-readme), please don't edit the readme directly. Any changes to the readme must be made in the [.verb.md](.verb.md) readme template.)_
+
+To generate the readme, run the following command:
+
+```sh
+$ npm install -g verbose/verb#dev verb-generate-readme && verb
+```
+
+### Running tests
+
+Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command:
+
+```sh
+$ npm install && npm test
+```
+
+### Author
+
+**Jon Schlinkert**
+
+* [github/jonschlinkert](https://github.com/jonschlinkert)
+* [twitter/jonschlinkert](https://twitter.com/jonschlinkert)
+
+### License
+
+Copyright © 2017, [Jon Schlinkert](https://github.com/jonschlinkert).
+Released under the [MIT License](LICENSE).
+
+***
+
+_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.6.0, on September 07, 2017._
\ No newline at end of file
diff --git a/node_modules/base/index.js b/node_modules/base/index.js
new file mode 100644
index 0000000..fb68048
--- /dev/null
+++ b/node_modules/base/index.js
@@ -0,0 +1,435 @@
+'use strict';
+
+var util = require('util');
+var define = require('define-property');
+var CacheBase = require('cache-base');
+var Emitter = require('component-emitter');
+var isObject = require('isobject');
+var merge = require('mixin-deep');
+var pascal = require('pascalcase');
+var cu = require('class-utils');
+
+/**
+ * Optionally define a custom `cache` namespace to use.
+ */
+
+function namespace(name) {
+ var Cache = name ? CacheBase.namespace(name) : CacheBase;
+ var fns = [];
+
+ /**
+ * Create an instance of `Base` with the given `config` and `options`.
+ *
+ * ```js
+ * // initialize with `config` and `options`
+ * var app = new Base({isApp: true}, {abc: true});
+ * app.set('foo', 'bar');
+ *
+ * // values defined with the given `config` object will be on the root of the instance
+ * console.log(app.baz); //=> undefined
+ * console.log(app.foo); //=> 'bar'
+ * // or use `.get`
+ * console.log(app.get('isApp')); //=> true
+ * console.log(app.get('foo')); //=> 'bar'
+ *
+ * // values defined with the given `options` object will be on `app.options
+ * console.log(app.options.abc); //=> true
+ * ```
+ *
+ * @param {Object} `config` If supplied, this object is passed to [cache-base][] to merge onto the the instance upon instantiation.
+ * @param {Object} `options` If supplied, this object is used to initialize the `base.options` object.
+ * @api public
+ */
+
+ function Base(config, options) {
+ if (!(this instanceof Base)) {
+ return new Base(config, options);
+ }
+ Cache.call(this, config);
+ this.is('base');
+ this.initBase(config, options);
+ }
+
+ /**
+ * Inherit cache-base
+ */
+
+ util.inherits(Base, Cache);
+
+ /**
+ * Add static emitter methods
+ */
+
+ Emitter(Base);
+
+ /**
+ * Initialize `Base` defaults with the given `config` object
+ */
+
+ Base.prototype.initBase = function(config, options) {
+ this.options = merge({}, this.options, options);
+ this.cache = this.cache || {};
+ this.define('registered', {});
+ if (name) this[name] = {};
+
+ // make `app._callbacks` non-enumerable
+ this.define('_callbacks', this._callbacks);
+ if (isObject(config)) {
+ this.visit('set', config);
+ }
+ Base.run(this, 'use', fns);
+ };
+
+ /**
+ * Set the given `name` on `app._name` and `app.is*` properties. Used for doing
+ * lookups in plugins.
+ *
+ * ```js
+ * app.is('foo');
+ * console.log(app._name);
+ * //=> 'foo'
+ * console.log(app.isFoo);
+ * //=> true
+ * app.is('bar');
+ * console.log(app.isFoo);
+ * //=> true
+ * console.log(app.isBar);
+ * //=> true
+ * console.log(app._name);
+ * //=> 'bar'
+ * ```
+ * @name .is
+ * @param {String} `name`
+ * @return {Boolean}
+ * @api public
+ */
+
+ Base.prototype.is = function(name) {
+ if (typeof name !== 'string') {
+ throw new TypeError('expected name to be a string');
+ }
+ this.define('is' + pascal(name), true);
+ this.define('_name', name);
+ this.define('_appname', name);
+ return this;
+ };
+
+ /**
+ * Returns true if a plugin has already been registered on an instance.
+ *
+ * Plugin implementors are encouraged to use this first thing in a plugin
+ * to prevent the plugin from being called more than once on the same
+ * instance.
+ *
+ * ```js
+ * var base = new Base();
+ * base.use(function(app) {
+ * if (app.isRegistered('myPlugin')) return;
+ * // do stuff to `app`
+ * });
+ *
+ * // to also record the plugin as being registered
+ * base.use(function(app) {
+ * if (app.isRegistered('myPlugin', true)) return;
+ * // do stuff to `app`
+ * });
+ * ```
+ * @name .isRegistered
+ * @emits `plugin` Emits the name of the plugin being registered. Useful for unit tests, to ensure plugins are only registered once.
+ * @param {String} `name` The plugin name.
+ * @param {Boolean} `register` If the plugin if not already registered, to record it as being registered pass `true` as the second argument.
+ * @return {Boolean} Returns true if a plugin is already registered.
+ * @api public
+ */
+
+ Base.prototype.isRegistered = function(name, register) {
+ if (this.registered.hasOwnProperty(name)) {
+ return true;
+ }
+ if (register !== false) {
+ this.registered[name] = true;
+ this.emit('plugin', name);
+ }
+ return false;
+ };
+
+ /**
+ * Define a plugin function to be called immediately upon init. Plugins are chainable
+ * and expose the following arguments to the plugin function:
+ *
+ * - `app`: the current instance of `Base`
+ * - `base`: the [first ancestor instance](#base) of `Base`
+ *
+ * ```js
+ * var app = new Base()
+ * .use(foo)
+ * .use(bar)
+ * .use(baz)
+ * ```
+ * @name .use
+ * @param {Function} `fn` plugin function to call
+ * @return {Object} Returns the item instance for chaining.
+ * @api public
+ */
+
+ Base.prototype.use = function(fn) {
+ fn.call(this, this);
+ return this;
+ };
+
+ /**
+ * The `.define` method is used for adding non-enumerable property on the instance.
+ * Dot-notation is **not supported** with `define`.
+ *
+ * ```js
+ * // arbitrary `render` function using lodash `template`
+ * app.define('render', function(str, locals) {
+ * return _.template(str)(locals);
+ * });
+ * ```
+ * @name .define
+ * @param {String} `key` The name of the property to define.
+ * @param {any} `value`
+ * @return {Object} Returns the instance for chaining.
+ * @api public
+ */
+
+ Base.prototype.define = function(key, val) {
+ if (isObject(key)) {
+ return this.visit('define', key);
+ }
+ define(this, key, val);
+ return this;
+ };
+
+ /**
+ * Mix property `key` onto the Base prototype. If base is inherited using
+ * `Base.extend` this method will be overridden by a new `mixin` method that will
+ * only add properties to the prototype of the inheriting application.
+ *
+ * ```js
+ * app.mixin('foo', function() {
+ * // do stuff
+ * });
+ * ```
+ * @name .mixin
+ * @param {String} `key`
+ * @param {Object|Array} `val`
+ * @return {Object} Returns the `base` instance for chaining.
+ * @api public
+ */
+
+ Base.prototype.mixin = function(key, val) {
+ Base.prototype[key] = val;
+ return this;
+ };
+
+ /**
+ * Non-enumberable mixin array, used by the static [Base.mixin]() method.
+ */
+
+ Base.prototype.mixins = Base.prototype.mixins || [];
+
+ /**
+ * Getter/setter used when creating nested instances of `Base`, for storing a reference
+ * to the first ancestor instance. This works by setting an instance of `Base` on the `parent`
+ * property of a "child" instance. The `base` property defaults to the current instance if
+ * no `parent` property is defined.
+ *
+ * ```js
+ * // create an instance of `Base`, this is our first ("base") instance
+ * var first = new Base();
+ * first.foo = 'bar'; // arbitrary property, to make it easier to see what's happening later
+ *
+ * // create another instance
+ * var second = new Base();
+ * // create a reference to the first instance (`first`)
+ * second.parent = first;
+ *
+ * // create another instance
+ * var third = new Base();
+ * // create a reference to the previous instance (`second`)
+ * // repeat this pattern every time a "child" instance is created
+ * third.parent = second;
+ *
+ * // we can always access the first instance using the `base` property
+ * console.log(first.base.foo);
+ * //=> 'bar'
+ * console.log(second.base.foo);
+ * //=> 'bar'
+ * console.log(third.base.foo);
+ * //=> 'bar'
+ * // and now you know how to get to third base ;)
+ * ```
+ * @name .base
+ * @api public
+ */
+
+ Object.defineProperty(Base.prototype, 'base', {
+ configurable: true,
+ get: function() {
+ return this.parent ? this.parent.base : this;
+ }
+ });
+
+ /**
+ * Static method for adding global plugin functions that will
+ * be added to an instance when created.
+ *
+ * ```js
+ * Base.use(function(app) {
+ * app.foo = 'bar';
+ * });
+ * var app = new Base();
+ * console.log(app.foo);
+ * //=> 'bar'
+ * ```
+ * @name #use
+ * @param {Function} `fn` Plugin function to use on each instance.
+ * @return {Object} Returns the `Base` constructor for chaining
+ * @api public
+ */
+
+ define(Base, 'use', function(fn) {
+ fns.push(fn);
+ return Base;
+ });
+
+ /**
+ * Run an array of functions by passing each function
+ * to a method on the given object specified by the given property.
+ *
+ * @param {Object} `obj` Object containing method to use.
+ * @param {String} `prop` Name of the method on the object to use.
+ * @param {Array} `arr` Array of functions to pass to the method.
+ */
+
+ define(Base, 'run', function(obj, prop, arr) {
+ var len = arr.length, i = 0;
+ while (len--) {
+ obj[prop](arr[i++]);
+ }
+ return Base;
+ });
+
+ /**
+ * Static method for inheriting the prototype and static methods of the `Base` class.
+ * This method greatly simplifies the process of creating inheritance-based applications.
+ * See [static-extend][] for more details.
+ *
+ * ```js
+ * var extend = cu.extend(Parent);
+ * Parent.extend(Child);
+ *
+ * // optional methods
+ * Parent.extend(Child, {
+ * foo: function() {},
+ * bar: function() {}
+ * });
+ * ```
+ * @name #extend
+ * @param {Function} `Ctor` constructor to extend
+ * @param {Object} `methods` Optional prototype properties to mix in.
+ * @return {Object} Returns the `Base` constructor for chaining
+ * @api public
+ */
+
+ define(Base, 'extend', cu.extend(Base, function(Ctor, Parent) {
+ Ctor.prototype.mixins = Ctor.prototype.mixins || [];
+
+ define(Ctor, 'mixin', function(fn) {
+ var mixin = fn(Ctor.prototype, Ctor);
+ if (typeof mixin === 'function') {
+ Ctor.prototype.mixins.push(mixin);
+ }
+ return Ctor;
+ });
+
+ define(Ctor, 'mixins', function(Child) {
+ Base.run(Child, 'mixin', Ctor.prototype.mixins);
+ return Ctor;
+ });
+
+ Ctor.prototype.mixin = function(key, value) {
+ Ctor.prototype[key] = value;
+ return this;
+ };
+ return Base;
+ }));
+
+ /**
+ * Used for adding methods to the `Base` prototype, and/or to the prototype of child instances.
+ * When a mixin function returns a function, the returned function is pushed onto the `.mixins`
+ * array, making it available to be used on inheriting classes whenever `Base.mixins()` is
+ * called (e.g. `Base.mixins(Child)`).
+ *
+ * ```js
+ * Base.mixin(function(proto) {
+ * proto.foo = function(msg) {
+ * return 'foo ' + msg;
+ * };
+ * });
+ * ```
+ * @name #mixin
+ * @param {Function} `fn` Function to call
+ * @return {Object} Returns the `Base` constructor for chaining
+ * @api public
+ */
+
+ define(Base, 'mixin', function(fn) {
+ var mixin = fn(Base.prototype, Base);
+ if (typeof mixin === 'function') {
+ Base.prototype.mixins.push(mixin);
+ }
+ return Base;
+ });
+
+ /**
+ * Static method for running global mixin functions against a child constructor.
+ * Mixins must be registered before calling this method.
+ *
+ * ```js
+ * Base.extend(Child);
+ * Base.mixins(Child);
+ * ```
+ * @name #mixins
+ * @param {Function} `Child` Constructor function of a child class
+ * @return {Object} Returns the `Base` constructor for chaining
+ * @api public
+ */
+
+ define(Base, 'mixins', function(Child) {
+ Base.run(Child, 'mixin', Base.prototype.mixins);
+ return Base;
+ });
+
+ /**
+ * Similar to `util.inherit`, but copies all static properties, prototype properties, and
+ * getters/setters from `Provider` to `Receiver`. See [class-utils][]{#inherit} for more details.
+ *
+ * ```js
+ * Base.inherit(Foo, Bar);
+ * ```
+ * @name #inherit
+ * @param {Function} `Receiver` Receiving (child) constructor
+ * @param {Function} `Provider` Providing (parent) constructor
+ * @return {Object} Returns the `Base` constructor for chaining
+ * @api public
+ */
+
+ define(Base, 'inherit', cu.inherit);
+ define(Base, 'bubble', cu.bubble);
+ return Base;
+}
+
+/**
+ * Expose `Base` with default settings
+ */
+
+module.exports = namespace();
+
+/**
+ * Allow users to define a namespace
+ */
+
+module.exports.namespace = namespace;
diff --git a/node_modules/base/node_modules/define-property/LICENSE b/node_modules/base/node_modules/define-property/LICENSE
new file mode 100644
index 0000000..ec85897
--- /dev/null
+++ b/node_modules/base/node_modules/define-property/LICENSE
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) 2015, 2017, Jon Schlinkert
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/node_modules/base/node_modules/define-property/README.md b/node_modules/base/node_modules/define-property/README.md
new file mode 100644
index 0000000..2f1af05
--- /dev/null
+++ b/node_modules/base/node_modules/define-property/README.md
@@ -0,0 +1,95 @@
+# define-property [](https://www.npmjs.com/package/define-property) [](https://npmjs.org/package/define-property) [](https://npmjs.org/package/define-property) [](https://travis-ci.org/jonschlinkert/define-property)
+
+> Define a non-enumerable property on an object.
+
+## Install
+
+Install with [npm](https://www.npmjs.com/):
+
+```sh
+$ npm install --save define-property
+```
+
+Install with [yarn](https://yarnpkg.com):
+
+```sh
+$ yarn add define-property
+```
+
+## Usage
+
+**Params**
+
+* `obj`: The object on which to define the property.
+* `prop`: The name of the property to be defined or modified.
+* `descriptor`: The descriptor for the property being defined or modified.
+
+```js
+var define = require('define-property');
+var obj = {};
+define(obj, 'foo', function(val) {
+ return val.toUpperCase();
+});
+
+console.log(obj);
+//=> {}
+
+console.log(obj.foo('bar'));
+//=> 'BAR'
+```
+
+**get/set**
+
+```js
+define(obj, 'foo', {
+ get: function() {},
+ set: function() {}
+});
+```
+
+## About
+
+### Related projects
+
+* [assign-deep](https://www.npmjs.com/package/assign-deep): Deeply assign the enumerable properties and/or es6 Symbol properies of source objects to the target… [more](https://github.com/jonschlinkert/assign-deep) | [homepage](https://github.com/jonschlinkert/assign-deep "Deeply assign the enumerable properties and/or es6 Symbol properies of source objects to the target (first) object.")
+* [extend-shallow](https://www.npmjs.com/package/extend-shallow): Extend an object with the properties of additional objects. node.js/javascript util. | [homepage](https://github.com/jonschlinkert/extend-shallow "Extend an object with the properties of additional objects. node.js/javascript util.")
+* [merge-deep](https://www.npmjs.com/package/merge-deep): Recursively merge values in a javascript object. | [homepage](https://github.com/jonschlinkert/merge-deep "Recursively merge values in a javascript object.")
+* [mixin-deep](https://www.npmjs.com/package/mixin-deep): Deeply mix the properties of objects into the first object. Like merge-deep, but doesn't clone. | [homepage](https://github.com/jonschlinkert/mixin-deep "Deeply mix the properties of objects into the first object. Like merge-deep, but doesn't clone.")
+
+### Contributing
+
+Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new).
+
+### Building docs
+
+_(This project's readme.md is generated by [verb](https://github.com/verbose/verb-generate-readme), please don't edit the readme directly. Any changes to the readme must be made in the [.verb.md](.verb.md) readme template.)_
+
+To generate the readme, run the following command:
+
+```sh
+$ npm install -g verbose/verb#dev verb-generate-readme && verb
+```
+
+### Running tests
+
+Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command:
+
+```sh
+$ npm install && npm test
+```
+
+### Author
+
+**Jon Schlinkert**
+
+* [github/jonschlinkert](https://github.com/jonschlinkert)
+* [twitter/jonschlinkert](https://twitter.com/jonschlinkert)
+
+### License
+
+Copyright © 2017, [Jon Schlinkert](https://github.com/jonschlinkert).
+Released under the [MIT License](LICENSE).
+
+***
+
+_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.5.0, on April 20, 2017._
\ No newline at end of file
diff --git a/node_modules/base/node_modules/define-property/index.js b/node_modules/base/node_modules/define-property/index.js
new file mode 100644
index 0000000..27c19eb
--- /dev/null
+++ b/node_modules/base/node_modules/define-property/index.js
@@ -0,0 +1,31 @@
+/*!
+ * define-property
+ *
+ * Copyright (c) 2015, 2017, Jon Schlinkert.
+ * Released under the MIT License.
+ */
+
+'use strict';
+
+var isDescriptor = require('is-descriptor');
+
+module.exports = function defineProperty(obj, prop, val) {
+ if (typeof obj !== 'object' && typeof obj !== 'function') {
+ throw new TypeError('expected an object or function.');
+ }
+
+ if (typeof prop !== 'string') {
+ throw new TypeError('expected `prop` to be a string.');
+ }
+
+ if (isDescriptor(val) && ('set' in val || 'get' in val)) {
+ return Object.defineProperty(obj, prop, val);
+ }
+
+ return Object.defineProperty(obj, prop, {
+ configurable: true,
+ enumerable: false,
+ writable: true,
+ value: val
+ });
+};
diff --git a/node_modules/base/node_modules/define-property/package.json b/node_modules/base/node_modules/define-property/package.json
new file mode 100644
index 0000000..4d96dde
--- /dev/null
+++ b/node_modules/base/node_modules/define-property/package.json
@@ -0,0 +1,93 @@
+{
+ "_from": "define-property@^1.0.0",
+ "_id": "define-property@1.0.0",
+ "_inBundle": false,
+ "_integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+ "_location": "/base/define-property",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "range",
+ "registry": true,
+ "raw": "define-property@^1.0.0",
+ "name": "define-property",
+ "escapedName": "define-property",
+ "rawSpec": "^1.0.0",
+ "saveSpec": null,
+ "fetchSpec": "^1.0.0"
+ },
+ "_requiredBy": [
+ "/base"
+ ],
+ "_resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+ "_shasum": "769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6",
+ "_spec": "define-property@^1.0.0",
+ "_where": "C:\\Users\\Futil\\AppData\\Local\\FoundryVTT\\Data\\systems\\mothership\\node_modules\\base",
+ "author": {
+ "name": "Jon Schlinkert",
+ "url": "https://github.com/jonschlinkert"
+ },
+ "bugs": {
+ "url": "https://github.com/jonschlinkert/define-property/issues"
+ },
+ "bundleDependencies": false,
+ "dependencies": {
+ "is-descriptor": "^1.0.0"
+ },
+ "deprecated": false,
+ "description": "Define a non-enumerable property on an object.",
+ "devDependencies": {
+ "gulp-format-md": "^0.1.12",
+ "mocha": "^3.2.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ },
+ "files": [
+ "index.js"
+ ],
+ "homepage": "https://github.com/jonschlinkert/define-property",
+ "keywords": [
+ "define",
+ "define-property",
+ "enumerable",
+ "key",
+ "non",
+ "non-enumerable",
+ "object",
+ "prop",
+ "property",
+ "value"
+ ],
+ "license": "MIT",
+ "main": "index.js",
+ "name": "define-property",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/jonschlinkert/define-property.git"
+ },
+ "scripts": {
+ "test": "mocha"
+ },
+ "verb": {
+ "related": {
+ "list": [
+ "extend-shallow",
+ "merge-deep",
+ "assign-deep",
+ "mixin-deep"
+ ]
+ },
+ "toc": false,
+ "layout": "default",
+ "tasks": [
+ "readme"
+ ],
+ "plugins": [
+ "gulp-format-md"
+ ],
+ "lint": {
+ "reflinks": true
+ }
+ },
+ "version": "1.0.0"
+}
diff --git a/node_modules/base/node_modules/is-accessor-descriptor/LICENSE b/node_modules/base/node_modules/is-accessor-descriptor/LICENSE
new file mode 100644
index 0000000..e33d14b
--- /dev/null
+++ b/node_modules/base/node_modules/is-accessor-descriptor/LICENSE
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) 2015-2017, Jon Schlinkert.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/node_modules/base/node_modules/is-accessor-descriptor/README.md b/node_modules/base/node_modules/is-accessor-descriptor/README.md
new file mode 100644
index 0000000..d198e1f
--- /dev/null
+++ b/node_modules/base/node_modules/is-accessor-descriptor/README.md
@@ -0,0 +1,144 @@
+# is-accessor-descriptor [](https://www.npmjs.com/package/is-accessor-descriptor) [](https://npmjs.org/package/is-accessor-descriptor) [](https://npmjs.org/package/is-accessor-descriptor) [](https://travis-ci.org/jonschlinkert/is-accessor-descriptor)
+
+> Returns true if a value has the characteristics of a valid JavaScript accessor descriptor.
+
+Please consider following this project's author, [Jon Schlinkert](https://github.com/jonschlinkert), and consider starring the project to show your :heart: and support.
+
+## Install
+
+Install with [npm](https://www.npmjs.com/):
+
+```sh
+$ npm install --save is-accessor-descriptor
+```
+
+## Usage
+
+```js
+var isAccessor = require('is-accessor-descriptor');
+
+isAccessor({get: function() {}});
+//=> true
+```
+
+You may also pass an object and property name to check if the property is an accessor:
+
+```js
+isAccessor(foo, 'bar');
+```
+
+## Examples
+
+`false` when not an object
+
+```js
+isAccessor('a')
+isAccessor(null)
+isAccessor([])
+//=> false
+```
+
+`true` when the object has valid properties
+
+and the properties all have the correct JavaScript types:
+
+```js
+isAccessor({get: noop, set: noop})
+isAccessor({get: noop})
+isAccessor({set: noop})
+//=> true
+```
+
+`false` when the object has invalid properties
+
+```js
+isAccessor({get: noop, set: noop, bar: 'baz'})
+isAccessor({get: noop, writable: true})
+isAccessor({get: noop, value: true})
+//=> false
+```
+
+`false` when an accessor is not a function
+
+```js
+isAccessor({get: noop, set: 'baz'})
+isAccessor({get: 'foo', set: noop})
+isAccessor({get: 'foo', bar: 'baz'})
+isAccessor({get: 'foo', set: 'baz'})
+//=> false
+```
+
+`false` when a value is not the correct type
+
+```js
+isAccessor({get: noop, set: noop, enumerable: 'foo'})
+isAccessor({set: noop, configurable: 'foo'})
+isAccessor({get: noop, configurable: 'foo'})
+//=> false
+```
+
+## About
+
+
+Contributing
+
+Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new).
+
+
+
+
+Running Tests
+
+Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command:
+
+```sh
+$ npm install && npm test
+```
+
+
+
+
+Building docs
+
+_(This project's readme.md is generated by [verb](https://github.com/verbose/verb-generate-readme), please don't edit the readme directly. Any changes to the readme must be made in the [.verb.md](.verb.md) readme template.)_
+
+To generate the readme, run the following command:
+
+```sh
+$ npm install -g verbose/verb#dev verb-generate-readme && verb
+```
+
+
+
+### Related projects
+
+You might also be interested in these projects:
+
+* [is-accessor-descriptor](https://www.npmjs.com/package/is-accessor-descriptor): Returns true if a value has the characteristics of a valid JavaScript accessor descriptor. | [homepage](https://github.com/jonschlinkert/is-accessor-descriptor "Returns true if a value has the characteristics of a valid JavaScript accessor descriptor.")
+* [is-data-descriptor](https://www.npmjs.com/package/is-data-descriptor): Returns true if a value has the characteristics of a valid JavaScript data descriptor. | [homepage](https://github.com/jonschlinkert/is-data-descriptor "Returns true if a value has the characteristics of a valid JavaScript data descriptor.")
+* [is-descriptor](https://www.npmjs.com/package/is-descriptor): Returns true if a value has the characteristics of a valid JavaScript descriptor. Works for… [more](https://github.com/jonschlinkert/is-descriptor) | [homepage](https://github.com/jonschlinkert/is-descriptor "Returns true if a value has the characteristics of a valid JavaScript descriptor. Works for data descriptors and accessor descriptors.")
+* [is-plain-object](https://www.npmjs.com/package/is-plain-object): Returns true if an object was created by the `Object` constructor. | [homepage](https://github.com/jonschlinkert/is-plain-object "Returns true if an object was created by the `Object` constructor.")
+* [isobject](https://www.npmjs.com/package/isobject): Returns true if the value is an object and not an array or null. | [homepage](https://github.com/jonschlinkert/isobject "Returns true if the value is an object and not an array or null.")
+
+### Contributors
+
+| **Commits** | **Contributor** |
+| --- | --- |
+| 22 | [jonschlinkert](https://github.com/jonschlinkert) |
+| 2 | [realityking](https://github.com/realityking) |
+
+### Author
+
+**Jon Schlinkert**
+
+* [github/jonschlinkert](https://github.com/jonschlinkert)
+* [twitter/jonschlinkert](https://twitter.com/jonschlinkert)
+
+### License
+
+Copyright © 2017, [Jon Schlinkert](https://github.com/jonschlinkert).
+Released under the [MIT License](LICENSE).
+
+***
+
+_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.6.0, on November 01, 2017._
\ No newline at end of file
diff --git a/node_modules/base/node_modules/is-accessor-descriptor/index.js b/node_modules/base/node_modules/is-accessor-descriptor/index.js
new file mode 100644
index 0000000..d2e6fe8
--- /dev/null
+++ b/node_modules/base/node_modules/is-accessor-descriptor/index.js
@@ -0,0 +1,69 @@
+/*!
+ * is-accessor-descriptor
+ *
+ * Copyright (c) 2015-2017, Jon Schlinkert.
+ * Released under the MIT License.
+ */
+
+'use strict';
+
+var typeOf = require('kind-of');
+
+// accessor descriptor properties
+var accessor = {
+ get: 'function',
+ set: 'function',
+ configurable: 'boolean',
+ enumerable: 'boolean'
+};
+
+function isAccessorDescriptor(obj, prop) {
+ if (typeof prop === 'string') {
+ var val = Object.getOwnPropertyDescriptor(obj, prop);
+ return typeof val !== 'undefined';
+ }
+
+ if (typeOf(obj) !== 'object') {
+ return false;
+ }
+
+ if (has(obj, 'value') || has(obj, 'writable')) {
+ return false;
+ }
+
+ if (!has(obj, 'get') || typeof obj.get !== 'function') {
+ return false;
+ }
+
+ // tldr: it's valid to have "set" be undefined
+ // "set" might be undefined if `Object.getOwnPropertyDescriptor`
+ // was used to get the value, and only `get` was defined by the user
+ if (has(obj, 'set') && typeof obj[key] !== 'function' && typeof obj[key] !== 'undefined') {
+ return false;
+ }
+
+ for (var key in obj) {
+ if (!accessor.hasOwnProperty(key)) {
+ continue;
+ }
+
+ if (typeOf(obj[key]) === accessor[key]) {
+ continue;
+ }
+
+ if (typeof obj[key] !== 'undefined') {
+ return false;
+ }
+ }
+ return true;
+}
+
+function has(obj, key) {
+ return {}.hasOwnProperty.call(obj, key);
+}
+
+/**
+ * Expose `isAccessorDescriptor`
+ */
+
+module.exports = isAccessorDescriptor;
diff --git a/node_modules/base/node_modules/is-accessor-descriptor/package.json b/node_modules/base/node_modules/is-accessor-descriptor/package.json
new file mode 100644
index 0000000..d388504
--- /dev/null
+++ b/node_modules/base/node_modules/is-accessor-descriptor/package.json
@@ -0,0 +1,110 @@
+{
+ "_from": "is-accessor-descriptor@^1.0.0",
+ "_id": "is-accessor-descriptor@1.0.0",
+ "_inBundle": false,
+ "_integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+ "_location": "/base/is-accessor-descriptor",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "range",
+ "registry": true,
+ "raw": "is-accessor-descriptor@^1.0.0",
+ "name": "is-accessor-descriptor",
+ "escapedName": "is-accessor-descriptor",
+ "rawSpec": "^1.0.0",
+ "saveSpec": null,
+ "fetchSpec": "^1.0.0"
+ },
+ "_requiredBy": [
+ "/base/is-descriptor"
+ ],
+ "_resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+ "_shasum": "169c2f6d3df1f992618072365c9b0ea1f6878656",
+ "_spec": "is-accessor-descriptor@^1.0.0",
+ "_where": "C:\\Users\\Futil\\AppData\\Local\\FoundryVTT\\Data\\systems\\mothership\\node_modules\\base\\node_modules\\is-descriptor",
+ "author": {
+ "name": "Jon Schlinkert",
+ "url": "https://github.com/jonschlinkert"
+ },
+ "bugs": {
+ "url": "https://github.com/jonschlinkert/is-accessor-descriptor/issues"
+ },
+ "bundleDependencies": false,
+ "contributors": [
+ {
+ "name": "Jon Schlinkert",
+ "url": "http://twitter.com/jonschlinkert"
+ },
+ {
+ "name": "Rouven Weßling",
+ "url": "www.rouvenwessling.de"
+ }
+ ],
+ "dependencies": {
+ "kind-of": "^6.0.0"
+ },
+ "deprecated": false,
+ "description": "Returns true if a value has the characteristics of a valid JavaScript accessor descriptor.",
+ "devDependencies": {
+ "gulp-format-md": "^1.0.0",
+ "mocha": "^3.5.3"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ },
+ "files": [
+ "index.js"
+ ],
+ "homepage": "https://github.com/jonschlinkert/is-accessor-descriptor",
+ "keywords": [
+ "accessor",
+ "check",
+ "data",
+ "descriptor",
+ "get",
+ "getter",
+ "is",
+ "keys",
+ "object",
+ "properties",
+ "property",
+ "set",
+ "setter",
+ "type",
+ "valid",
+ "value"
+ ],
+ "license": "MIT",
+ "main": "index.js",
+ "name": "is-accessor-descriptor",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/jonschlinkert/is-accessor-descriptor.git"
+ },
+ "scripts": {
+ "test": "mocha"
+ },
+ "verb": {
+ "toc": false,
+ "layout": "default",
+ "tasks": [
+ "readme"
+ ],
+ "plugins": [
+ "gulp-format-md"
+ ],
+ "related": {
+ "list": [
+ "is-accessor-descriptor",
+ "is-data-descriptor",
+ "is-descriptor",
+ "is-plain-object",
+ "isobject"
+ ]
+ },
+ "lint": {
+ "reflinks": true
+ }
+ },
+ "version": "1.0.0"
+}
diff --git a/node_modules/base/node_modules/is-data-descriptor/LICENSE b/node_modules/base/node_modules/is-data-descriptor/LICENSE
new file mode 100644
index 0000000..e33d14b
--- /dev/null
+++ b/node_modules/base/node_modules/is-data-descriptor/LICENSE
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) 2015-2017, Jon Schlinkert.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/node_modules/base/node_modules/is-data-descriptor/README.md b/node_modules/base/node_modules/is-data-descriptor/README.md
new file mode 100644
index 0000000..42b0714
--- /dev/null
+++ b/node_modules/base/node_modules/is-data-descriptor/README.md
@@ -0,0 +1,161 @@
+# is-data-descriptor [](https://www.npmjs.com/package/is-data-descriptor) [](https://npmjs.org/package/is-data-descriptor) [](https://npmjs.org/package/is-data-descriptor) [](https://travis-ci.org/jonschlinkert/is-data-descriptor)
+
+> Returns true if a value has the characteristics of a valid JavaScript data descriptor.
+
+Please consider following this project's author, [Jon Schlinkert](https://github.com/jonschlinkert), and consider starring the project to show your :heart: and support.
+
+## Install
+
+Install with [npm](https://www.npmjs.com/):
+
+```sh
+$ npm install --save is-data-descriptor
+```
+
+## Usage
+
+```js
+var isDataDesc = require('is-data-descriptor');
+```
+
+## Examples
+
+`true` when the descriptor has valid properties with valid values.
+
+```js
+// `value` can be anything
+isDataDesc({value: 'foo'})
+isDataDesc({value: function() {}})
+isDataDesc({value: true})
+//=> true
+```
+
+`false` when not an object
+
+```js
+isDataDesc('a')
+//=> false
+isDataDesc(null)
+//=> false
+isDataDesc([])
+//=> false
+```
+
+`false` when the object has invalid properties
+
+```js
+isDataDesc({value: 'foo', bar: 'baz'})
+//=> false
+isDataDesc({value: 'foo', bar: 'baz'})
+//=> false
+isDataDesc({value: 'foo', get: function(){}})
+//=> false
+isDataDesc({get: function(){}, value: 'foo'})
+//=> false
+```
+
+`false` when a value is not the correct type
+
+```js
+isDataDesc({value: 'foo', enumerable: 'foo'})
+//=> false
+isDataDesc({value: 'foo', configurable: 'foo'})
+//=> false
+isDataDesc({value: 'foo', writable: 'foo'})
+//=> false
+```
+
+## Valid properties
+
+The only valid data descriptor properties are the following:
+
+* `configurable` (required)
+* `enumerable` (required)
+* `value` (optional)
+* `writable` (optional)
+
+To be a valid data descriptor, either `value` or `writable` must be defined.
+
+**Invalid properties**
+
+A descriptor may have additional _invalid_ properties (an error will **not** be thrown).
+
+```js
+var foo = {};
+
+Object.defineProperty(foo, 'bar', {
+ enumerable: true,
+ whatever: 'blah', // invalid, but doesn't cause an error
+ get: function() {
+ return 'baz';
+ }
+});
+
+console.log(foo.bar);
+//=> 'baz'
+```
+
+## About
+
+
+Contributing
+
+Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new).
+
+
+
+
+Running Tests
+
+Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command:
+
+```sh
+$ npm install && npm test
+```
+
+
+
+
+Building docs
+
+_(This project's readme.md is generated by [verb](https://github.com/verbose/verb-generate-readme), please don't edit the readme directly. Any changes to the readme must be made in the [.verb.md](.verb.md) readme template.)_
+
+To generate the readme, run the following command:
+
+```sh
+$ npm install -g verbose/verb#dev verb-generate-readme && verb
+```
+
+
+
+### Related projects
+
+You might also be interested in these projects:
+
+* [is-accessor-descriptor](https://www.npmjs.com/package/is-accessor-descriptor): Returns true if a value has the characteristics of a valid JavaScript accessor descriptor. | [homepage](https://github.com/jonschlinkert/is-accessor-descriptor "Returns true if a value has the characteristics of a valid JavaScript accessor descriptor.")
+* [is-data-descriptor](https://www.npmjs.com/package/is-data-descriptor): Returns true if a value has the characteristics of a valid JavaScript data descriptor. | [homepage](https://github.com/jonschlinkert/is-data-descriptor "Returns true if a value has the characteristics of a valid JavaScript data descriptor.")
+* [is-descriptor](https://www.npmjs.com/package/is-descriptor): Returns true if a value has the characteristics of a valid JavaScript descriptor. Works for… [more](https://github.com/jonschlinkert/is-descriptor) | [homepage](https://github.com/jonschlinkert/is-descriptor "Returns true if a value has the characteristics of a valid JavaScript descriptor. Works for data descriptors and accessor descriptors.")
+* [isobject](https://www.npmjs.com/package/isobject): Returns true if the value is an object and not an array or null. | [homepage](https://github.com/jonschlinkert/isobject "Returns true if the value is an object and not an array or null.")
+
+### Contributors
+
+| **Commits** | **Contributor** |
+| --- | --- |
+| 21 | [jonschlinkert](https://github.com/jonschlinkert) |
+| 2 | [realityking](https://github.com/realityking) |
+
+### Author
+
+**Jon Schlinkert**
+
+* [github/jonschlinkert](https://github.com/jonschlinkert)
+* [twitter/jonschlinkert](https://twitter.com/jonschlinkert)
+
+### License
+
+Copyright © 2017, [Jon Schlinkert](https://github.com/jonschlinkert).
+Released under the [MIT License](LICENSE).
+
+***
+
+_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.6.0, on November 01, 2017._
\ No newline at end of file
diff --git a/node_modules/base/node_modules/is-data-descriptor/index.js b/node_modules/base/node_modules/is-data-descriptor/index.js
new file mode 100644
index 0000000..cfeae36
--- /dev/null
+++ b/node_modules/base/node_modules/is-data-descriptor/index.js
@@ -0,0 +1,49 @@
+/*!
+ * is-data-descriptor
+ *
+ * Copyright (c) 2015-2017, Jon Schlinkert.
+ * Released under the MIT License.
+ */
+
+'use strict';
+
+var typeOf = require('kind-of');
+
+module.exports = function isDataDescriptor(obj, prop) {
+ // data descriptor properties
+ var data = {
+ configurable: 'boolean',
+ enumerable: 'boolean',
+ writable: 'boolean'
+ };
+
+ if (typeOf(obj) !== 'object') {
+ return false;
+ }
+
+ if (typeof prop === 'string') {
+ var val = Object.getOwnPropertyDescriptor(obj, prop);
+ return typeof val !== 'undefined';
+ }
+
+ if (!('value' in obj) && !('writable' in obj)) {
+ return false;
+ }
+
+ for (var key in obj) {
+ if (key === 'value') continue;
+
+ if (!data.hasOwnProperty(key)) {
+ continue;
+ }
+
+ if (typeOf(obj[key]) === data[key]) {
+ continue;
+ }
+
+ if (typeof obj[key] !== 'undefined') {
+ return false;
+ }
+ }
+ return true;
+};
diff --git a/node_modules/base/node_modules/is-data-descriptor/package.json b/node_modules/base/node_modules/is-data-descriptor/package.json
new file mode 100644
index 0000000..64930fe
--- /dev/null
+++ b/node_modules/base/node_modules/is-data-descriptor/package.json
@@ -0,0 +1,109 @@
+{
+ "_from": "is-data-descriptor@^1.0.0",
+ "_id": "is-data-descriptor@1.0.0",
+ "_inBundle": false,
+ "_integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "_location": "/base/is-data-descriptor",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "range",
+ "registry": true,
+ "raw": "is-data-descriptor@^1.0.0",
+ "name": "is-data-descriptor",
+ "escapedName": "is-data-descriptor",
+ "rawSpec": "^1.0.0",
+ "saveSpec": null,
+ "fetchSpec": "^1.0.0"
+ },
+ "_requiredBy": [
+ "/base/is-descriptor"
+ ],
+ "_resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+ "_shasum": "d84876321d0e7add03990406abbbbd36ba9268c7",
+ "_spec": "is-data-descriptor@^1.0.0",
+ "_where": "C:\\Users\\Futil\\AppData\\Local\\FoundryVTT\\Data\\systems\\mothership\\node_modules\\base\\node_modules\\is-descriptor",
+ "author": {
+ "name": "Jon Schlinkert",
+ "url": "https://github.com/jonschlinkert"
+ },
+ "bugs": {
+ "url": "https://github.com/jonschlinkert/is-data-descriptor/issues"
+ },
+ "bundleDependencies": false,
+ "contributors": [
+ {
+ "name": "Jon Schlinkert",
+ "url": "http://twitter.com/jonschlinkert"
+ },
+ {
+ "name": "Rouven Weßling",
+ "url": "www.rouvenwessling.de"
+ }
+ ],
+ "dependencies": {
+ "kind-of": "^6.0.0"
+ },
+ "deprecated": false,
+ "description": "Returns true if a value has the characteristics of a valid JavaScript data descriptor.",
+ "devDependencies": {
+ "gulp-format-md": "^1.0.0",
+ "mocha": "^3.5.3"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ },
+ "files": [
+ "index.js"
+ ],
+ "homepage": "https://github.com/jonschlinkert/is-data-descriptor",
+ "keywords": [
+ "accessor",
+ "check",
+ "data",
+ "descriptor",
+ "get",
+ "getter",
+ "is",
+ "keys",
+ "object",
+ "properties",
+ "property",
+ "set",
+ "setter",
+ "type",
+ "valid",
+ "value"
+ ],
+ "license": "MIT",
+ "main": "index.js",
+ "name": "is-data-descriptor",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/jonschlinkert/is-data-descriptor.git"
+ },
+ "scripts": {
+ "test": "mocha"
+ },
+ "verb": {
+ "toc": false,
+ "layout": "default",
+ "tasks": [
+ "readme"
+ ],
+ "plugins": [
+ "gulp-format-md"
+ ],
+ "related": {
+ "list": [
+ "is-accessor-descriptor",
+ "is-data-descriptor",
+ "is-descriptor",
+ "isobject"
+ ]
+ },
+ "lint": {
+ "reflinks": true
+ }
+ },
+ "version": "1.0.0"
+}
diff --git a/node_modules/base/node_modules/is-descriptor/LICENSE b/node_modules/base/node_modules/is-descriptor/LICENSE
new file mode 100644
index 0000000..c0d7f13
--- /dev/null
+++ b/node_modules/base/node_modules/is-descriptor/LICENSE
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) 2015-2017, Jon Schlinkert.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
\ No newline at end of file
diff --git a/node_modules/base/node_modules/is-descriptor/README.md b/node_modules/base/node_modules/is-descriptor/README.md
new file mode 100644
index 0000000..658e533
--- /dev/null
+++ b/node_modules/base/node_modules/is-descriptor/README.md
@@ -0,0 +1,193 @@
+# is-descriptor [](https://www.npmjs.com/package/is-descriptor) [](https://npmjs.org/package/is-descriptor) [](https://npmjs.org/package/is-descriptor) [](https://travis-ci.org/jonschlinkert/is-descriptor)
+
+> Returns true if a value has the characteristics of a valid JavaScript descriptor. Works for data descriptors and accessor descriptors.
+
+## Install
+
+Install with [npm](https://www.npmjs.com/):
+
+```sh
+$ npm install --save is-descriptor
+```
+
+## Usage
+
+```js
+var isDescriptor = require('is-descriptor');
+
+isDescriptor({value: 'foo'})
+//=> true
+isDescriptor({get: function(){}, set: function(){}})
+//=> true
+isDescriptor({get: 'foo', set: function(){}})
+//=> false
+```
+
+You may also check for a descriptor by passing an object as the first argument and property name (`string`) as the second argument.
+
+```js
+var obj = {};
+obj.foo = 'abc';
+
+Object.defineProperty(obj, 'bar', {
+ value: 'xyz'
+});
+
+isDescriptor(obj, 'foo');
+//=> true
+isDescriptor(obj, 'bar');
+//=> true
+```
+
+## Examples
+
+### value type
+
+`false` when not an object
+
+```js
+isDescriptor('a');
+//=> false
+isDescriptor(null);
+//=> false
+isDescriptor([]);
+//=> false
+```
+
+### data descriptor
+
+`true` when the object has valid properties with valid values.
+
+```js
+isDescriptor({value: 'foo'});
+//=> true
+isDescriptor({value: noop});
+//=> true
+```
+
+`false` when the object has invalid properties
+
+```js
+isDescriptor({value: 'foo', bar: 'baz'});
+//=> false
+isDescriptor({value: 'foo', bar: 'baz'});
+//=> false
+isDescriptor({value: 'foo', get: noop});
+//=> false
+isDescriptor({get: noop, value: noop});
+//=> false
+```
+
+`false` when a value is not the correct type
+
+```js
+isDescriptor({value: 'foo', enumerable: 'foo'});
+//=> false
+isDescriptor({value: 'foo', configurable: 'foo'});
+//=> false
+isDescriptor({value: 'foo', writable: 'foo'});
+//=> false
+```
+
+### accessor descriptor
+
+`true` when the object has valid properties with valid values.
+
+```js
+isDescriptor({get: noop, set: noop});
+//=> true
+isDescriptor({get: noop});
+//=> true
+isDescriptor({set: noop});
+//=> true
+```
+
+`false` when the object has invalid properties
+
+```js
+isDescriptor({get: noop, set: noop, bar: 'baz'});
+//=> false
+isDescriptor({get: noop, writable: true});
+//=> false
+isDescriptor({get: noop, value: true});
+//=> false
+```
+
+`false` when an accessor is not a function
+
+```js
+isDescriptor({get: noop, set: 'baz'});
+//=> false
+isDescriptor({get: 'foo', set: noop});
+//=> false
+isDescriptor({get: 'foo', bar: 'baz'});
+//=> false
+isDescriptor({get: 'foo', set: 'baz'});
+//=> false
+```
+
+`false` when a value is not the correct type
+
+```js
+isDescriptor({get: noop, set: noop, enumerable: 'foo'});
+//=> false
+isDescriptor({set: noop, configurable: 'foo'});
+//=> false
+isDescriptor({get: noop, configurable: 'foo'});
+//=> false
+```
+
+## About
+
+### Related projects
+
+* [is-accessor-descriptor](https://www.npmjs.com/package/is-accessor-descriptor): Returns true if a value has the characteristics of a valid JavaScript accessor descriptor. | [homepage](https://github.com/jonschlinkert/is-accessor-descriptor "Returns true if a value has the characteristics of a valid JavaScript accessor descriptor.")
+* [is-data-descriptor](https://www.npmjs.com/package/is-data-descriptor): Returns true if a value has the characteristics of a valid JavaScript data descriptor. | [homepage](https://github.com/jonschlinkert/is-data-descriptor "Returns true if a value has the characteristics of a valid JavaScript data descriptor.")
+* [is-descriptor](https://www.npmjs.com/package/is-descriptor): Returns true if a value has the characteristics of a valid JavaScript descriptor. Works for… [more](https://github.com/jonschlinkert/is-descriptor) | [homepage](https://github.com/jonschlinkert/is-descriptor "Returns true if a value has the characteristics of a valid JavaScript descriptor. Works for data descriptors and accessor descriptors.")
+* [isobject](https://www.npmjs.com/package/isobject): Returns true if the value is an object and not an array or null. | [homepage](https://github.com/jonschlinkert/isobject "Returns true if the value is an object and not an array or null.")
+
+### Contributing
+
+Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new).
+
+### Contributors
+
+| **Commits** | **Contributor** |
+| --- | --- |
+| 24 | [jonschlinkert](https://github.com/jonschlinkert) |
+| 1 | [doowb](https://github.com/doowb) |
+| 1 | [wtgtybhertgeghgtwtg](https://github.com/wtgtybhertgeghgtwtg) |
+
+### Building docs
+
+_(This project's readme.md is generated by [verb](https://github.com/verbose/verb-generate-readme), please don't edit the readme directly. Any changes to the readme must be made in the [.verb.md](.verb.md) readme template.)_
+
+To generate the readme, run the following command:
+
+```sh
+$ npm install -g verbose/verb#dev verb-generate-readme && verb
+```
+
+### Running tests
+
+Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command:
+
+```sh
+$ npm install && npm test
+```
+
+### Author
+
+**Jon Schlinkert**
+
+* [github/jonschlinkert](https://github.com/jonschlinkert)
+* [twitter/jonschlinkert](https://twitter.com/jonschlinkert)
+
+### License
+
+Copyright © 2017, [Jon Schlinkert](https://github.com/jonschlinkert).
+Released under the [MIT License](LICENSE).
+
+***
+
+_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.6.0, on July 22, 2017._
\ No newline at end of file
diff --git a/node_modules/base/node_modules/is-descriptor/index.js b/node_modules/base/node_modules/is-descriptor/index.js
new file mode 100644
index 0000000..c9b91d7
--- /dev/null
+++ b/node_modules/base/node_modules/is-descriptor/index.js
@@ -0,0 +1,22 @@
+/*!
+ * is-descriptor
+ *
+ * Copyright (c) 2015-2017, Jon Schlinkert.
+ * Released under the MIT License.
+ */
+
+'use strict';
+
+var typeOf = require('kind-of');
+var isAccessor = require('is-accessor-descriptor');
+var isData = require('is-data-descriptor');
+
+module.exports = function isDescriptor(obj, key) {
+ if (typeOf(obj) !== 'object') {
+ return false;
+ }
+ if ('get' in obj) {
+ return isAccessor(obj, key);
+ }
+ return isData(obj, key);
+};
diff --git a/node_modules/base/node_modules/is-descriptor/package.json b/node_modules/base/node_modules/is-descriptor/package.json
new file mode 100644
index 0000000..b424196
--- /dev/null
+++ b/node_modules/base/node_modules/is-descriptor/package.json
@@ -0,0 +1,114 @@
+{
+ "_from": "is-descriptor@^1.0.0",
+ "_id": "is-descriptor@1.0.2",
+ "_inBundle": false,
+ "_integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+ "_location": "/base/is-descriptor",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "range",
+ "registry": true,
+ "raw": "is-descriptor@^1.0.0",
+ "name": "is-descriptor",
+ "escapedName": "is-descriptor",
+ "rawSpec": "^1.0.0",
+ "saveSpec": null,
+ "fetchSpec": "^1.0.0"
+ },
+ "_requiredBy": [
+ "/base/define-property"
+ ],
+ "_resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+ "_shasum": "3b159746a66604b04f8c81524ba365c5f14d86ec",
+ "_spec": "is-descriptor@^1.0.0",
+ "_where": "C:\\Users\\Futil\\AppData\\Local\\FoundryVTT\\Data\\systems\\mothership\\node_modules\\base\\node_modules\\define-property",
+ "author": {
+ "name": "Jon Schlinkert",
+ "url": "https://github.com/jonschlinkert"
+ },
+ "bugs": {
+ "url": "https://github.com/jonschlinkert/is-descriptor/issues"
+ },
+ "bundleDependencies": false,
+ "contributors": [
+ {
+ "name": "Brian Woodward",
+ "url": "https://twitter.com/doowb"
+ },
+ {
+ "name": "Jon Schlinkert",
+ "url": "http://twitter.com/jonschlinkert"
+ },
+ {
+ "url": "https://github.com/wtgtybhertgeghgtwtg"
+ }
+ ],
+ "dependencies": {
+ "is-accessor-descriptor": "^1.0.0",
+ "is-data-descriptor": "^1.0.0",
+ "kind-of": "^6.0.2"
+ },
+ "deprecated": false,
+ "description": "Returns true if a value has the characteristics of a valid JavaScript descriptor. Works for data descriptors and accessor descriptors.",
+ "devDependencies": {
+ "gulp-format-md": "^1.0.0",
+ "mocha": "^3.5.3"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ },
+ "files": [
+ "index.js"
+ ],
+ "homepage": "https://github.com/jonschlinkert/is-descriptor",
+ "keywords": [
+ "accessor",
+ "check",
+ "data",
+ "descriptor",
+ "get",
+ "getter",
+ "is",
+ "keys",
+ "object",
+ "properties",
+ "property",
+ "set",
+ "setter",
+ "type",
+ "valid",
+ "value"
+ ],
+ "license": "MIT",
+ "main": "index.js",
+ "name": "is-descriptor",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/jonschlinkert/is-descriptor.git"
+ },
+ "scripts": {
+ "test": "mocha"
+ },
+ "verb": {
+ "related": {
+ "list": [
+ "is-accessor-descriptor",
+ "is-data-descriptor",
+ "is-descriptor",
+ "isobject"
+ ]
+ },
+ "plugins": [
+ "gulp-format-md"
+ ],
+ "toc": false,
+ "layout": "default",
+ "tasks": [
+ "readme"
+ ],
+ "lint": {
+ "reflinks": true
+ }
+ },
+ "version": "1.0.2"
+}
diff --git a/node_modules/base/package.json b/node_modules/base/package.json
new file mode 100644
index 0000000..ef39efe
--- /dev/null
+++ b/node_modules/base/package.json
@@ -0,0 +1,164 @@
+{
+ "_from": "base@^0.11.1",
+ "_id": "base@0.11.2",
+ "_inBundle": false,
+ "_integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
+ "_location": "/base",
+ "_phantomChildren": {
+ "kind-of": "6.0.3"
+ },
+ "_requested": {
+ "type": "range",
+ "registry": true,
+ "raw": "base@^0.11.1",
+ "name": "base",
+ "escapedName": "base",
+ "rawSpec": "^0.11.1",
+ "saveSpec": null,
+ "fetchSpec": "^0.11.1"
+ },
+ "_requiredBy": [
+ "/snapdragon"
+ ],
+ "_resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
+ "_shasum": "7bde5ced145b6d551a90db87f83c558b4eb48a8f",
+ "_spec": "base@^0.11.1",
+ "_where": "C:\\Users\\Futil\\AppData\\Local\\FoundryVTT\\Data\\systems\\mothership\\node_modules\\snapdragon",
+ "author": {
+ "name": "Jon Schlinkert",
+ "url": "https://github.com/jonschlinkert"
+ },
+ "bugs": {
+ "url": "https://github.com/node-base/base/issues"
+ },
+ "bundleDependencies": false,
+ "contributors": [
+ {
+ "name": "Brian Woodward",
+ "url": "https://twitter.com/doowb"
+ },
+ {
+ "name": "John O'Donnell",
+ "url": "https://github.com/criticalmash"
+ },
+ {
+ "name": "Jon Schlinkert",
+ "url": "http://twitter.com/jonschlinkert"
+ },
+ {
+ "name": "tunnckoCore",
+ "url": "https://i.am.charlike.online"
+ },
+ {
+ "url": "https://github.com/wtgtybhertgeghgtwtg"
+ }
+ ],
+ "dependencies": {
+ "cache-base": "^1.0.1",
+ "class-utils": "^0.3.5",
+ "component-emitter": "^1.2.1",
+ "define-property": "^1.0.0",
+ "isobject": "^3.0.1",
+ "mixin-deep": "^1.2.0",
+ "pascalcase": "^0.1.1"
+ },
+ "deprecated": false,
+ "description": "base is the foundation for creating modular, unit testable and highly pluggable node.js applications, starting with a handful of common methods, like `set`, `get`, `del` and `use`.",
+ "devDependencies": {
+ "gulp": "^3.9.1",
+ "gulp-eslint": "^4.0.0",
+ "gulp-format-md": "^1.0.0",
+ "gulp-istanbul": "^1.1.2",
+ "gulp-mocha": "^3.0.1",
+ "helper-coverage": "^0.1.3",
+ "mocha": "^3.5.0",
+ "should": "^13.0.1",
+ "through2": "^2.0.3",
+ "verb-generate-readme": "^0.6.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ },
+ "files": [
+ "index.js"
+ ],
+ "homepage": "https://github.com/node-base/base",
+ "keywords": [
+ "base",
+ "boilerplate",
+ "cache",
+ "del",
+ "get",
+ "inherit",
+ "methods",
+ "set",
+ "starter",
+ "unset",
+ "visit"
+ ],
+ "license": "MIT",
+ "main": "index.js",
+ "maintainers": [
+ {
+ "name": "Brian Woodward",
+ "url": "https://github.com/doowb"
+ },
+ {
+ "name": "Jon Schlinkert",
+ "url": "https://github.com/jonschlinkert"
+ }
+ ],
+ "name": "base",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/node-base/base.git"
+ },
+ "scripts": {
+ "test": "mocha"
+ },
+ "verb": {
+ "run": true,
+ "toc": false,
+ "layout": "default",
+ "tasks": [
+ "readme"
+ ],
+ "plugins": [
+ "gulp-format-md"
+ ],
+ "helpers": [
+ "helper-coverage"
+ ],
+ "related": {
+ "description": "There are a number of different plugins available for extending base. Let us know if you create your own!",
+ "hightlight": "generate",
+ "list": [
+ "base-cwd",
+ "base-data",
+ "base-fs",
+ "base-generators",
+ "base-option",
+ "base-pipeline",
+ "base-pkg",
+ "base-plugins",
+ "base-questions",
+ "base-store",
+ "base-task"
+ ]
+ },
+ "reflinks": [
+ "assemble",
+ "boilerplate",
+ "cache-base",
+ "class-utils",
+ "generate",
+ "scaffold",
+ "static-extend",
+ "verb"
+ ],
+ "lint": {
+ "reflinks": true
+ }
+ },
+ "version": "0.11.2"
+}
diff --git a/node_modules/bcrypt-pbkdf/CONTRIBUTING.md b/node_modules/bcrypt-pbkdf/CONTRIBUTING.md
new file mode 100644
index 0000000..401d34e
--- /dev/null
+++ b/node_modules/bcrypt-pbkdf/CONTRIBUTING.md
@@ -0,0 +1,13 @@
+# Contributing
+
+This repository uses [cr.joyent.us](https://cr.joyent.us) (Gerrit) for new
+changes. Anyone can submit changes. To get started, see the [cr.joyent.us user
+guide](https://github.com/joyent/joyent-gerrit/blob/master/docs/user/README.md).
+This repo does not use GitHub pull requests.
+
+See the [Joyent Engineering
+Guidelines](https://github.com/joyent/eng/blob/master/docs/index.md) for general
+best practices expected in this repository.
+
+If you're changing something non-trivial or user-facing, you may want to submit
+an issue first.
diff --git a/node_modules/bcrypt-pbkdf/LICENSE b/node_modules/bcrypt-pbkdf/LICENSE
new file mode 100644
index 0000000..fc58d2a
--- /dev/null
+++ b/node_modules/bcrypt-pbkdf/LICENSE
@@ -0,0 +1,66 @@
+The Blowfish portions are under the following license:
+
+Blowfish block cipher for OpenBSD
+Copyright 1997 Niels Provos
+All rights reserved.
+
+Implementation advice by David Mazieres .
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+3. The name of the author may not be used to endorse or promote products
+ derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+
+The bcrypt_pbkdf portions are under the following license:
+
+Copyright (c) 2013 Ted Unangst
+
+Permission to use, copy, modify, and distribute this software for any
+purpose with or without fee is hereby granted, provided that the above
+copyright notice and this permission notice appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+
+
+Performance improvements (Javascript-specific):
+
+Copyright 2016, Joyent Inc
+Author: Alex Wilson
+
+Permission to use, copy, modify, and distribute this software for any
+purpose with or without fee is hereby granted, provided that the above
+copyright notice and this permission notice appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/node_modules/bcrypt-pbkdf/README.md b/node_modules/bcrypt-pbkdf/README.md
new file mode 100644
index 0000000..7551f33
--- /dev/null
+++ b/node_modules/bcrypt-pbkdf/README.md
@@ -0,0 +1,45 @@
+Port of the OpenBSD `bcrypt_pbkdf` function to pure Javascript. `npm`-ified
+version of [Devi Mandiri's port](https://github.com/devi/tmp/blob/master/js/bcrypt_pbkdf.js),
+with some minor performance improvements. The code is copied verbatim (and
+un-styled) from Devi's work.
+
+This product includes software developed by Niels Provos.
+
+## API
+
+### `bcrypt_pbkdf.pbkdf(pass, passlen, salt, saltlen, key, keylen, rounds)`
+
+Derive a cryptographic key of arbitrary length from a given password and salt,
+using the OpenBSD `bcrypt_pbkdf` function. This is a combination of Blowfish and
+SHA-512.
+
+See [this article](http://www.tedunangst.com/flak/post/bcrypt-pbkdf) for
+further information.
+
+Parameters:
+
+ * `pass`, a Uint8Array of length `passlen`
+ * `passlen`, an integer Number
+ * `salt`, a Uint8Array of length `saltlen`
+ * `saltlen`, an integer Number
+ * `key`, a Uint8Array of length `keylen`, will be filled with output
+ * `keylen`, an integer Number
+ * `rounds`, an integer Number, number of rounds of the PBKDF to run
+
+### `bcrypt_pbkdf.hash(sha2pass, sha2salt, out)`
+
+Calculate a Blowfish hash, given SHA2-512 output of a password and salt. Used as
+part of the inner round function in the PBKDF.
+
+Parameters:
+
+ * `sha2pass`, a Uint8Array of length 64
+ * `sha2salt`, a Uint8Array of length 64
+ * `out`, a Uint8Array of length 32, will be filled with output
+
+## License
+
+This source form is a 1:1 port from the OpenBSD `blowfish.c` and `bcrypt_pbkdf.c`.
+As a result, it retains the original copyright and license. The two files are
+under slightly different (but compatible) licenses, and are here combined in
+one file. For each of the full license texts see `LICENSE`.
diff --git a/node_modules/bcrypt-pbkdf/index.js b/node_modules/bcrypt-pbkdf/index.js
new file mode 100644
index 0000000..b1b5ad4
--- /dev/null
+++ b/node_modules/bcrypt-pbkdf/index.js
@@ -0,0 +1,556 @@
+'use strict';
+
+var crypto_hash_sha512 = require('tweetnacl').lowlevel.crypto_hash;
+
+/*
+ * This file is a 1:1 port from the OpenBSD blowfish.c and bcrypt_pbkdf.c. As a
+ * result, it retains the original copyright and license. The two files are
+ * under slightly different (but compatible) licenses, and are here combined in
+ * one file.
+ *
+ * Credit for the actual porting work goes to:
+ * Devi Mandiri
+ */
+
+/*
+ * The Blowfish portions are under the following license:
+ *
+ * Blowfish block cipher for OpenBSD
+ * Copyright 1997 Niels Provos
+ * All rights reserved.
+ *
+ * Implementation advice by David Mazieres .
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/*
+ * The bcrypt_pbkdf portions are under the following license:
+ *
+ * Copyright (c) 2013 Ted Unangst
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+/*
+ * Performance improvements (Javascript-specific):
+ *
+ * Copyright 2016, Joyent Inc
+ * Author: Alex Wilson
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+// Ported from OpenBSD bcrypt_pbkdf.c v1.9
+
+var BLF_J = 0;
+
+var Blowfish = function() {
+ this.S = [
+ new Uint32Array([
+ 0xd1310ba6, 0x98dfb5ac, 0x2ffd72db, 0xd01adfb7,
+ 0xb8e1afed, 0x6a267e96, 0xba7c9045, 0xf12c7f99,
+ 0x24a19947, 0xb3916cf7, 0x0801f2e2, 0x858efc16,
+ 0x636920d8, 0x71574e69, 0xa458fea3, 0xf4933d7e,
+ 0x0d95748f, 0x728eb658, 0x718bcd58, 0x82154aee,
+ 0x7b54a41d, 0xc25a59b5, 0x9c30d539, 0x2af26013,
+ 0xc5d1b023, 0x286085f0, 0xca417918, 0xb8db38ef,
+ 0x8e79dcb0, 0x603a180e, 0x6c9e0e8b, 0xb01e8a3e,
+ 0xd71577c1, 0xbd314b27, 0x78af2fda, 0x55605c60,
+ 0xe65525f3, 0xaa55ab94, 0x57489862, 0x63e81440,
+ 0x55ca396a, 0x2aab10b6, 0xb4cc5c34, 0x1141e8ce,
+ 0xa15486af, 0x7c72e993, 0xb3ee1411, 0x636fbc2a,
+ 0x2ba9c55d, 0x741831f6, 0xce5c3e16, 0x9b87931e,
+ 0xafd6ba33, 0x6c24cf5c, 0x7a325381, 0x28958677,
+ 0x3b8f4898, 0x6b4bb9af, 0xc4bfe81b, 0x66282193,
+ 0x61d809cc, 0xfb21a991, 0x487cac60, 0x5dec8032,
+ 0xef845d5d, 0xe98575b1, 0xdc262302, 0xeb651b88,
+ 0x23893e81, 0xd396acc5, 0x0f6d6ff3, 0x83f44239,
+ 0x2e0b4482, 0xa4842004, 0x69c8f04a, 0x9e1f9b5e,
+ 0x21c66842, 0xf6e96c9a, 0x670c9c61, 0xabd388f0,
+ 0x6a51a0d2, 0xd8542f68, 0x960fa728, 0xab5133a3,
+ 0x6eef0b6c, 0x137a3be4, 0xba3bf050, 0x7efb2a98,
+ 0xa1f1651d, 0x39af0176, 0x66ca593e, 0x82430e88,
+ 0x8cee8619, 0x456f9fb4, 0x7d84a5c3, 0x3b8b5ebe,
+ 0xe06f75d8, 0x85c12073, 0x401a449f, 0x56c16aa6,
+ 0x4ed3aa62, 0x363f7706, 0x1bfedf72, 0x429b023d,
+ 0x37d0d724, 0xd00a1248, 0xdb0fead3, 0x49f1c09b,
+ 0x075372c9, 0x80991b7b, 0x25d479d8, 0xf6e8def7,
+ 0xe3fe501a, 0xb6794c3b, 0x976ce0bd, 0x04c006ba,
+ 0xc1a94fb6, 0x409f60c4, 0x5e5c9ec2, 0x196a2463,
+ 0x68fb6faf, 0x3e6c53b5, 0x1339b2eb, 0x3b52ec6f,
+ 0x6dfc511f, 0x9b30952c, 0xcc814544, 0xaf5ebd09,
+ 0xbee3d004, 0xde334afd, 0x660f2807, 0x192e4bb3,
+ 0xc0cba857, 0x45c8740f, 0xd20b5f39, 0xb9d3fbdb,
+ 0x5579c0bd, 0x1a60320a, 0xd6a100c6, 0x402c7279,
+ 0x679f25fe, 0xfb1fa3cc, 0x8ea5e9f8, 0xdb3222f8,
+ 0x3c7516df, 0xfd616b15, 0x2f501ec8, 0xad0552ab,
+ 0x323db5fa, 0xfd238760, 0x53317b48, 0x3e00df82,
+ 0x9e5c57bb, 0xca6f8ca0, 0x1a87562e, 0xdf1769db,
+ 0xd542a8f6, 0x287effc3, 0xac6732c6, 0x8c4f5573,
+ 0x695b27b0, 0xbbca58c8, 0xe1ffa35d, 0xb8f011a0,
+ 0x10fa3d98, 0xfd2183b8, 0x4afcb56c, 0x2dd1d35b,
+ 0x9a53e479, 0xb6f84565, 0xd28e49bc, 0x4bfb9790,
+ 0xe1ddf2da, 0xa4cb7e33, 0x62fb1341, 0xcee4c6e8,
+ 0xef20cada, 0x36774c01, 0xd07e9efe, 0x2bf11fb4,
+ 0x95dbda4d, 0xae909198, 0xeaad8e71, 0x6b93d5a0,
+ 0xd08ed1d0, 0xafc725e0, 0x8e3c5b2f, 0x8e7594b7,
+ 0x8ff6e2fb, 0xf2122b64, 0x8888b812, 0x900df01c,
+ 0x4fad5ea0, 0x688fc31c, 0xd1cff191, 0xb3a8c1ad,
+ 0x2f2f2218, 0xbe0e1777, 0xea752dfe, 0x8b021fa1,
+ 0xe5a0cc0f, 0xb56f74e8, 0x18acf3d6, 0xce89e299,
+ 0xb4a84fe0, 0xfd13e0b7, 0x7cc43b81, 0xd2ada8d9,
+ 0x165fa266, 0x80957705, 0x93cc7314, 0x211a1477,
+ 0xe6ad2065, 0x77b5fa86, 0xc75442f5, 0xfb9d35cf,
+ 0xebcdaf0c, 0x7b3e89a0, 0xd6411bd3, 0xae1e7e49,
+ 0x00250e2d, 0x2071b35e, 0x226800bb, 0x57b8e0af,
+ 0x2464369b, 0xf009b91e, 0x5563911d, 0x59dfa6aa,
+ 0x78c14389, 0xd95a537f, 0x207d5ba2, 0x02e5b9c5,
+ 0x83260376, 0x6295cfa9, 0x11c81968, 0x4e734a41,
+ 0xb3472dca, 0x7b14a94a, 0x1b510052, 0x9a532915,
+ 0xd60f573f, 0xbc9bc6e4, 0x2b60a476, 0x81e67400,
+ 0x08ba6fb5, 0x571be91f, 0xf296ec6b, 0x2a0dd915,
+ 0xb6636521, 0xe7b9f9b6, 0xff34052e, 0xc5855664,
+ 0x53b02d5d, 0xa99f8fa1, 0x08ba4799, 0x6e85076a]),
+ new Uint32Array([
+ 0x4b7a70e9, 0xb5b32944, 0xdb75092e, 0xc4192623,
+ 0xad6ea6b0, 0x49a7df7d, 0x9cee60b8, 0x8fedb266,
+ 0xecaa8c71, 0x699a17ff, 0x5664526c, 0xc2b19ee1,
+ 0x193602a5, 0x75094c29, 0xa0591340, 0xe4183a3e,
+ 0x3f54989a, 0x5b429d65, 0x6b8fe4d6, 0x99f73fd6,
+ 0xa1d29c07, 0xefe830f5, 0x4d2d38e6, 0xf0255dc1,
+ 0x4cdd2086, 0x8470eb26, 0x6382e9c6, 0x021ecc5e,
+ 0x09686b3f, 0x3ebaefc9, 0x3c971814, 0x6b6a70a1,
+ 0x687f3584, 0x52a0e286, 0xb79c5305, 0xaa500737,
+ 0x3e07841c, 0x7fdeae5c, 0x8e7d44ec, 0x5716f2b8,
+ 0xb03ada37, 0xf0500c0d, 0xf01c1f04, 0x0200b3ff,
+ 0xae0cf51a, 0x3cb574b2, 0x25837a58, 0xdc0921bd,
+ 0xd19113f9, 0x7ca92ff6, 0x94324773, 0x22f54701,
+ 0x3ae5e581, 0x37c2dadc, 0xc8b57634, 0x9af3dda7,
+ 0xa9446146, 0x0fd0030e, 0xecc8c73e, 0xa4751e41,
+ 0xe238cd99, 0x3bea0e2f, 0x3280bba1, 0x183eb331,
+ 0x4e548b38, 0x4f6db908, 0x6f420d03, 0xf60a04bf,
+ 0x2cb81290, 0x24977c79, 0x5679b072, 0xbcaf89af,
+ 0xde9a771f, 0xd9930810, 0xb38bae12, 0xdccf3f2e,
+ 0x5512721f, 0x2e6b7124, 0x501adde6, 0x9f84cd87,
+ 0x7a584718, 0x7408da17, 0xbc9f9abc, 0xe94b7d8c,
+ 0xec7aec3a, 0xdb851dfa, 0x63094366, 0xc464c3d2,
+ 0xef1c1847, 0x3215d908, 0xdd433b37, 0x24c2ba16,
+ 0x12a14d43, 0x2a65c451, 0x50940002, 0x133ae4dd,
+ 0x71dff89e, 0x10314e55, 0x81ac77d6, 0x5f11199b,
+ 0x043556f1, 0xd7a3c76b, 0x3c11183b, 0x5924a509,
+ 0xf28fe6ed, 0x97f1fbfa, 0x9ebabf2c, 0x1e153c6e,
+ 0x86e34570, 0xeae96fb1, 0x860e5e0a, 0x5a3e2ab3,
+ 0x771fe71c, 0x4e3d06fa, 0x2965dcb9, 0x99e71d0f,
+ 0x803e89d6, 0x5266c825, 0x2e4cc978, 0x9c10b36a,
+ 0xc6150eba, 0x94e2ea78, 0xa5fc3c53, 0x1e0a2df4,
+ 0xf2f74ea7, 0x361d2b3d, 0x1939260f, 0x19c27960,
+ 0x5223a708, 0xf71312b6, 0xebadfe6e, 0xeac31f66,
+ 0xe3bc4595, 0xa67bc883, 0xb17f37d1, 0x018cff28,
+ 0xc332ddef, 0xbe6c5aa5, 0x65582185, 0x68ab9802,
+ 0xeecea50f, 0xdb2f953b, 0x2aef7dad, 0x5b6e2f84,
+ 0x1521b628, 0x29076170, 0xecdd4775, 0x619f1510,
+ 0x13cca830, 0xeb61bd96, 0x0334fe1e, 0xaa0363cf,
+ 0xb5735c90, 0x4c70a239, 0xd59e9e0b, 0xcbaade14,
+ 0xeecc86bc, 0x60622ca7, 0x9cab5cab, 0xb2f3846e,
+ 0x648b1eaf, 0x19bdf0ca, 0xa02369b9, 0x655abb50,
+ 0x40685a32, 0x3c2ab4b3, 0x319ee9d5, 0xc021b8f7,
+ 0x9b540b19, 0x875fa099, 0x95f7997e, 0x623d7da8,
+ 0xf837889a, 0x97e32d77, 0x11ed935f, 0x16681281,
+ 0x0e358829, 0xc7e61fd6, 0x96dedfa1, 0x7858ba99,
+ 0x57f584a5, 0x1b227263, 0x9b83c3ff, 0x1ac24696,
+ 0xcdb30aeb, 0x532e3054, 0x8fd948e4, 0x6dbc3128,
+ 0x58ebf2ef, 0x34c6ffea, 0xfe28ed61, 0xee7c3c73,
+ 0x5d4a14d9, 0xe864b7e3, 0x42105d14, 0x203e13e0,
+ 0x45eee2b6, 0xa3aaabea, 0xdb6c4f15, 0xfacb4fd0,
+ 0xc742f442, 0xef6abbb5, 0x654f3b1d, 0x41cd2105,
+ 0xd81e799e, 0x86854dc7, 0xe44b476a, 0x3d816250,
+ 0xcf62a1f2, 0x5b8d2646, 0xfc8883a0, 0xc1c7b6a3,
+ 0x7f1524c3, 0x69cb7492, 0x47848a0b, 0x5692b285,
+ 0x095bbf00, 0xad19489d, 0x1462b174, 0x23820e00,
+ 0x58428d2a, 0x0c55f5ea, 0x1dadf43e, 0x233f7061,
+ 0x3372f092, 0x8d937e41, 0xd65fecf1, 0x6c223bdb,
+ 0x7cde3759, 0xcbee7460, 0x4085f2a7, 0xce77326e,
+ 0xa6078084, 0x19f8509e, 0xe8efd855, 0x61d99735,
+ 0xa969a7aa, 0xc50c06c2, 0x5a04abfc, 0x800bcadc,
+ 0x9e447a2e, 0xc3453484, 0xfdd56705, 0x0e1e9ec9,
+ 0xdb73dbd3, 0x105588cd, 0x675fda79, 0xe3674340,
+ 0xc5c43465, 0x713e38d8, 0x3d28f89e, 0xf16dff20,
+ 0x153e21e7, 0x8fb03d4a, 0xe6e39f2b, 0xdb83adf7]),
+ new Uint32Array([
+ 0xe93d5a68, 0x948140f7, 0xf64c261c, 0x94692934,
+ 0x411520f7, 0x7602d4f7, 0xbcf46b2e, 0xd4a20068,
+ 0xd4082471, 0x3320f46a, 0x43b7d4b7, 0x500061af,
+ 0x1e39f62e, 0x97244546, 0x14214f74, 0xbf8b8840,
+ 0x4d95fc1d, 0x96b591af, 0x70f4ddd3, 0x66a02f45,
+ 0xbfbc09ec, 0x03bd9785, 0x7fac6dd0, 0x31cb8504,
+ 0x96eb27b3, 0x55fd3941, 0xda2547e6, 0xabca0a9a,
+ 0x28507825, 0x530429f4, 0x0a2c86da, 0xe9b66dfb,
+ 0x68dc1462, 0xd7486900, 0x680ec0a4, 0x27a18dee,
+ 0x4f3ffea2, 0xe887ad8c, 0xb58ce006, 0x7af4d6b6,
+ 0xaace1e7c, 0xd3375fec, 0xce78a399, 0x406b2a42,
+ 0x20fe9e35, 0xd9f385b9, 0xee39d7ab, 0x3b124e8b,
+ 0x1dc9faf7, 0x4b6d1856, 0x26a36631, 0xeae397b2,
+ 0x3a6efa74, 0xdd5b4332, 0x6841e7f7, 0xca7820fb,
+ 0xfb0af54e, 0xd8feb397, 0x454056ac, 0xba489527,
+ 0x55533a3a, 0x20838d87, 0xfe6ba9b7, 0xd096954b,
+ 0x55a867bc, 0xa1159a58, 0xcca92963, 0x99e1db33,
+ 0xa62a4a56, 0x3f3125f9, 0x5ef47e1c, 0x9029317c,
+ 0xfdf8e802, 0x04272f70, 0x80bb155c, 0x05282ce3,
+ 0x95c11548, 0xe4c66d22, 0x48c1133f, 0xc70f86dc,
+ 0x07f9c9ee, 0x41041f0f, 0x404779a4, 0x5d886e17,
+ 0x325f51eb, 0xd59bc0d1, 0xf2bcc18f, 0x41113564,
+ 0x257b7834, 0x602a9c60, 0xdff8e8a3, 0x1f636c1b,
+ 0x0e12b4c2, 0x02e1329e, 0xaf664fd1, 0xcad18115,
+ 0x6b2395e0, 0x333e92e1, 0x3b240b62, 0xeebeb922,
+ 0x85b2a20e, 0xe6ba0d99, 0xde720c8c, 0x2da2f728,
+ 0xd0127845, 0x95b794fd, 0x647d0862, 0xe7ccf5f0,
+ 0x5449a36f, 0x877d48fa, 0xc39dfd27, 0xf33e8d1e,
+ 0x0a476341, 0x992eff74, 0x3a6f6eab, 0xf4f8fd37,
+ 0xa812dc60, 0xa1ebddf8, 0x991be14c, 0xdb6e6b0d,
+ 0xc67b5510, 0x6d672c37, 0x2765d43b, 0xdcd0e804,
+ 0xf1290dc7, 0xcc00ffa3, 0xb5390f92, 0x690fed0b,
+ 0x667b9ffb, 0xcedb7d9c, 0xa091cf0b, 0xd9155ea3,
+ 0xbb132f88, 0x515bad24, 0x7b9479bf, 0x763bd6eb,
+ 0x37392eb3, 0xcc115979, 0x8026e297, 0xf42e312d,
+ 0x6842ada7, 0xc66a2b3b, 0x12754ccc, 0x782ef11c,
+ 0x6a124237, 0xb79251e7, 0x06a1bbe6, 0x4bfb6350,
+ 0x1a6b1018, 0x11caedfa, 0x3d25bdd8, 0xe2e1c3c9,
+ 0x44421659, 0x0a121386, 0xd90cec6e, 0xd5abea2a,
+ 0x64af674e, 0xda86a85f, 0xbebfe988, 0x64e4c3fe,
+ 0x9dbc8057, 0xf0f7c086, 0x60787bf8, 0x6003604d,
+ 0xd1fd8346, 0xf6381fb0, 0x7745ae04, 0xd736fccc,
+ 0x83426b33, 0xf01eab71, 0xb0804187, 0x3c005e5f,
+ 0x77a057be, 0xbde8ae24, 0x55464299, 0xbf582e61,
+ 0x4e58f48f, 0xf2ddfda2, 0xf474ef38, 0x8789bdc2,
+ 0x5366f9c3, 0xc8b38e74, 0xb475f255, 0x46fcd9b9,
+ 0x7aeb2661, 0x8b1ddf84, 0x846a0e79, 0x915f95e2,
+ 0x466e598e, 0x20b45770, 0x8cd55591, 0xc902de4c,
+ 0xb90bace1, 0xbb8205d0, 0x11a86248, 0x7574a99e,
+ 0xb77f19b6, 0xe0a9dc09, 0x662d09a1, 0xc4324633,
+ 0xe85a1f02, 0x09f0be8c, 0x4a99a025, 0x1d6efe10,
+ 0x1ab93d1d, 0x0ba5a4df, 0xa186f20f, 0x2868f169,
+ 0xdcb7da83, 0x573906fe, 0xa1e2ce9b, 0x4fcd7f52,
+ 0x50115e01, 0xa70683fa, 0xa002b5c4, 0x0de6d027,
+ 0x9af88c27, 0x773f8641, 0xc3604c06, 0x61a806b5,
+ 0xf0177a28, 0xc0f586e0, 0x006058aa, 0x30dc7d62,
+ 0x11e69ed7, 0x2338ea63, 0x53c2dd94, 0xc2c21634,
+ 0xbbcbee56, 0x90bcb6de, 0xebfc7da1, 0xce591d76,
+ 0x6f05e409, 0x4b7c0188, 0x39720a3d, 0x7c927c24,
+ 0x86e3725f, 0x724d9db9, 0x1ac15bb4, 0xd39eb8fc,
+ 0xed545578, 0x08fca5b5, 0xd83d7cd3, 0x4dad0fc4,
+ 0x1e50ef5e, 0xb161e6f8, 0xa28514d9, 0x6c51133c,
+ 0x6fd5c7e7, 0x56e14ec4, 0x362abfce, 0xddc6c837,
+ 0xd79a3234, 0x92638212, 0x670efa8e, 0x406000e0]),
+ new Uint32Array([
+ 0x3a39ce37, 0xd3faf5cf, 0xabc27737, 0x5ac52d1b,
+ 0x5cb0679e, 0x4fa33742, 0xd3822740, 0x99bc9bbe,
+ 0xd5118e9d, 0xbf0f7315, 0xd62d1c7e, 0xc700c47b,
+ 0xb78c1b6b, 0x21a19045, 0xb26eb1be, 0x6a366eb4,
+ 0x5748ab2f, 0xbc946e79, 0xc6a376d2, 0x6549c2c8,
+ 0x530ff8ee, 0x468dde7d, 0xd5730a1d, 0x4cd04dc6,
+ 0x2939bbdb, 0xa9ba4650, 0xac9526e8, 0xbe5ee304,
+ 0xa1fad5f0, 0x6a2d519a, 0x63ef8ce2, 0x9a86ee22,
+ 0xc089c2b8, 0x43242ef6, 0xa51e03aa, 0x9cf2d0a4,
+ 0x83c061ba, 0x9be96a4d, 0x8fe51550, 0xba645bd6,
+ 0x2826a2f9, 0xa73a3ae1, 0x4ba99586, 0xef5562e9,
+ 0xc72fefd3, 0xf752f7da, 0x3f046f69, 0x77fa0a59,
+ 0x80e4a915, 0x87b08601, 0x9b09e6ad, 0x3b3ee593,
+ 0xe990fd5a, 0x9e34d797, 0x2cf0b7d9, 0x022b8b51,
+ 0x96d5ac3a, 0x017da67d, 0xd1cf3ed6, 0x7c7d2d28,
+ 0x1f9f25cf, 0xadf2b89b, 0x5ad6b472, 0x5a88f54c,
+ 0xe029ac71, 0xe019a5e6, 0x47b0acfd, 0xed93fa9b,
+ 0xe8d3c48d, 0x283b57cc, 0xf8d56629, 0x79132e28,
+ 0x785f0191, 0xed756055, 0xf7960e44, 0xe3d35e8c,
+ 0x15056dd4, 0x88f46dba, 0x03a16125, 0x0564f0bd,
+ 0xc3eb9e15, 0x3c9057a2, 0x97271aec, 0xa93a072a,
+ 0x1b3f6d9b, 0x1e6321f5, 0xf59c66fb, 0x26dcf319,
+ 0x7533d928, 0xb155fdf5, 0x03563482, 0x8aba3cbb,
+ 0x28517711, 0xc20ad9f8, 0xabcc5167, 0xccad925f,
+ 0x4de81751, 0x3830dc8e, 0x379d5862, 0x9320f991,
+ 0xea7a90c2, 0xfb3e7bce, 0x5121ce64, 0x774fbe32,
+ 0xa8b6e37e, 0xc3293d46, 0x48de5369, 0x6413e680,
+ 0xa2ae0810, 0xdd6db224, 0x69852dfd, 0x09072166,
+ 0xb39a460a, 0x6445c0dd, 0x586cdecf, 0x1c20c8ae,
+ 0x5bbef7dd, 0x1b588d40, 0xccd2017f, 0x6bb4e3bb,
+ 0xdda26a7e, 0x3a59ff45, 0x3e350a44, 0xbcb4cdd5,
+ 0x72eacea8, 0xfa6484bb, 0x8d6612ae, 0xbf3c6f47,
+ 0xd29be463, 0x542f5d9e, 0xaec2771b, 0xf64e6370,
+ 0x740e0d8d, 0xe75b1357, 0xf8721671, 0xaf537d5d,
+ 0x4040cb08, 0x4eb4e2cc, 0x34d2466a, 0x0115af84,
+ 0xe1b00428, 0x95983a1d, 0x06b89fb4, 0xce6ea048,
+ 0x6f3f3b82, 0x3520ab82, 0x011a1d4b, 0x277227f8,
+ 0x611560b1, 0xe7933fdc, 0xbb3a792b, 0x344525bd,
+ 0xa08839e1, 0x51ce794b, 0x2f32c9b7, 0xa01fbac9,
+ 0xe01cc87e, 0xbcc7d1f6, 0xcf0111c3, 0xa1e8aac7,
+ 0x1a908749, 0xd44fbd9a, 0xd0dadecb, 0xd50ada38,
+ 0x0339c32a, 0xc6913667, 0x8df9317c, 0xe0b12b4f,
+ 0xf79e59b7, 0x43f5bb3a, 0xf2d519ff, 0x27d9459c,
+ 0xbf97222c, 0x15e6fc2a, 0x0f91fc71, 0x9b941525,
+ 0xfae59361, 0xceb69ceb, 0xc2a86459, 0x12baa8d1,
+ 0xb6c1075e, 0xe3056a0c, 0x10d25065, 0xcb03a442,
+ 0xe0ec6e0e, 0x1698db3b, 0x4c98a0be, 0x3278e964,
+ 0x9f1f9532, 0xe0d392df, 0xd3a0342b, 0x8971f21e,
+ 0x1b0a7441, 0x4ba3348c, 0xc5be7120, 0xc37632d8,
+ 0xdf359f8d, 0x9b992f2e, 0xe60b6f47, 0x0fe3f11d,
+ 0xe54cda54, 0x1edad891, 0xce6279cf, 0xcd3e7e6f,
+ 0x1618b166, 0xfd2c1d05, 0x848fd2c5, 0xf6fb2299,
+ 0xf523f357, 0xa6327623, 0x93a83531, 0x56cccd02,
+ 0xacf08162, 0x5a75ebb5, 0x6e163697, 0x88d273cc,
+ 0xde966292, 0x81b949d0, 0x4c50901b, 0x71c65614,
+ 0xe6c6c7bd, 0x327a140a, 0x45e1d006, 0xc3f27b9a,
+ 0xc9aa53fd, 0x62a80f00, 0xbb25bfe2, 0x35bdd2f6,
+ 0x71126905, 0xb2040222, 0xb6cbcf7c, 0xcd769c2b,
+ 0x53113ec0, 0x1640e3d3, 0x38abbd60, 0x2547adf0,
+ 0xba38209c, 0xf746ce76, 0x77afa1c5, 0x20756060,
+ 0x85cbfe4e, 0x8ae88dd8, 0x7aaaf9b0, 0x4cf9aa7e,
+ 0x1948c25c, 0x02fb8a8c, 0x01c36ae4, 0xd6ebe1f9,
+ 0x90d4f869, 0xa65cdea0, 0x3f09252d, 0xc208e69f,
+ 0xb74e6132, 0xce77e25b, 0x578fdfe3, 0x3ac372e6])
+ ];
+ this.P = new Uint32Array([
+ 0x243f6a88, 0x85a308d3, 0x13198a2e, 0x03707344,
+ 0xa4093822, 0x299f31d0, 0x082efa98, 0xec4e6c89,
+ 0x452821e6, 0x38d01377, 0xbe5466cf, 0x34e90c6c,
+ 0xc0ac29b7, 0xc97c50dd, 0x3f84d5b5, 0xb5470917,
+ 0x9216d5d9, 0x8979fb1b]);
+};
+
+function F(S, x8, i) {
+ return (((S[0][x8[i+3]] +
+ S[1][x8[i+2]]) ^
+ S[2][x8[i+1]]) +
+ S[3][x8[i]]);
+};
+
+Blowfish.prototype.encipher = function(x, x8) {
+ if (x8 === undefined) {
+ x8 = new Uint8Array(x.buffer);
+ if (x.byteOffset !== 0)
+ x8 = x8.subarray(x.byteOffset);
+ }
+ x[0] ^= this.P[0];
+ for (var i = 1; i < 16; i += 2) {
+ x[1] ^= F(this.S, x8, 0) ^ this.P[i];
+ x[0] ^= F(this.S, x8, 4) ^ this.P[i+1];
+ }
+ var t = x[0];
+ x[0] = x[1] ^ this.P[17];
+ x[1] = t;
+};
+
+Blowfish.prototype.decipher = function(x) {
+ var x8 = new Uint8Array(x.buffer);
+ if (x.byteOffset !== 0)
+ x8 = x8.subarray(x.byteOffset);
+ x[0] ^= this.P[17];
+ for (var i = 16; i > 0; i -= 2) {
+ x[1] ^= F(this.S, x8, 0) ^ this.P[i];
+ x[0] ^= F(this.S, x8, 4) ^ this.P[i-1];
+ }
+ var t = x[0];
+ x[0] = x[1] ^ this.P[0];
+ x[1] = t;
+};
+
+function stream2word(data, databytes){
+ var i, temp = 0;
+ for (i = 0; i < 4; i++, BLF_J++) {
+ if (BLF_J >= databytes) BLF_J = 0;
+ temp = (temp << 8) | data[BLF_J];
+ }
+ return temp;
+};
+
+Blowfish.prototype.expand0state = function(key, keybytes) {
+ var d = new Uint32Array(2), i, k;
+ var d8 = new Uint8Array(d.buffer);
+
+ for (i = 0, BLF_J = 0; i < 18; i++) {
+ this.P[i] ^= stream2word(key, keybytes);
+ }
+ BLF_J = 0;
+
+ for (i = 0; i < 18; i += 2) {
+ this.encipher(d, d8);
+ this.P[i] = d[0];
+ this.P[i+1] = d[1];
+ }
+
+ for (i = 0; i < 4; i++) {
+ for (k = 0; k < 256; k += 2) {
+ this.encipher(d, d8);
+ this.S[i][k] = d[0];
+ this.S[i][k+1] = d[1];
+ }
+ }
+};
+
+Blowfish.prototype.expandstate = function(data, databytes, key, keybytes) {
+ var d = new Uint32Array(2), i, k;
+
+ for (i = 0, BLF_J = 0; i < 18; i++) {
+ this.P[i] ^= stream2word(key, keybytes);
+ }
+
+ for (i = 0, BLF_J = 0; i < 18; i += 2) {
+ d[0] ^= stream2word(data, databytes);
+ d[1] ^= stream2word(data, databytes);
+ this.encipher(d);
+ this.P[i] = d[0];
+ this.P[i+1] = d[1];
+ }
+
+ for (i = 0; i < 4; i++) {
+ for (k = 0; k < 256; k += 2) {
+ d[0] ^= stream2word(data, databytes);
+ d[1] ^= stream2word(data, databytes);
+ this.encipher(d);
+ this.S[i][k] = d[0];
+ this.S[i][k+1] = d[1];
+ }
+ }
+ BLF_J = 0;
+};
+
+Blowfish.prototype.enc = function(data, blocks) {
+ for (var i = 0; i < blocks; i++) {
+ this.encipher(data.subarray(i*2));
+ }
+};
+
+Blowfish.prototype.dec = function(data, blocks) {
+ for (var i = 0; i < blocks; i++) {
+ this.decipher(data.subarray(i*2));
+ }
+};
+
+var BCRYPT_BLOCKS = 8,
+ BCRYPT_HASHSIZE = 32;
+
+function bcrypt_hash(sha2pass, sha2salt, out) {
+ var state = new Blowfish(),
+ cdata = new Uint32Array(BCRYPT_BLOCKS), i,
+ ciphertext = new Uint8Array([79,120,121,99,104,114,111,109,97,116,105,
+ 99,66,108,111,119,102,105,115,104,83,119,97,116,68,121,110,97,109,
+ 105,116,101]); //"OxychromaticBlowfishSwatDynamite"
+
+ state.expandstate(sha2salt, 64, sha2pass, 64);
+ for (i = 0; i < 64; i++) {
+ state.expand0state(sha2salt, 64);
+ state.expand0state(sha2pass, 64);
+ }
+
+ for (i = 0; i < BCRYPT_BLOCKS; i++)
+ cdata[i] = stream2word(ciphertext, ciphertext.byteLength);
+ for (i = 0; i < 64; i++)
+ state.enc(cdata, cdata.byteLength / 8);
+
+ for (i = 0; i < BCRYPT_BLOCKS; i++) {
+ out[4*i+3] = cdata[i] >>> 24;
+ out[4*i+2] = cdata[i] >>> 16;
+ out[4*i+1] = cdata[i] >>> 8;
+ out[4*i+0] = cdata[i];
+ }
+};
+
+function bcrypt_pbkdf(pass, passlen, salt, saltlen, key, keylen, rounds) {
+ var sha2pass = new Uint8Array(64),
+ sha2salt = new Uint8Array(64),
+ out = new Uint8Array(BCRYPT_HASHSIZE),
+ tmpout = new Uint8Array(BCRYPT_HASHSIZE),
+ countsalt = new Uint8Array(saltlen+4),
+ i, j, amt, stride, dest, count,
+ origkeylen = keylen;
+
+ if (rounds < 1)
+ return -1;
+ if (passlen === 0 || saltlen === 0 || keylen === 0 ||
+ keylen > (out.byteLength * out.byteLength) || saltlen > (1<<20))
+ return -1;
+
+ stride = Math.floor((keylen + out.byteLength - 1) / out.byteLength);
+ amt = Math.floor((keylen + stride - 1) / stride);
+
+ for (i = 0; i < saltlen; i++)
+ countsalt[i] = salt[i];
+
+ crypto_hash_sha512(sha2pass, pass, passlen);
+
+ for (count = 1; keylen > 0; count++) {
+ countsalt[saltlen+0] = count >>> 24;
+ countsalt[saltlen+1] = count >>> 16;
+ countsalt[saltlen+2] = count >>> 8;
+ countsalt[saltlen+3] = count;
+
+ crypto_hash_sha512(sha2salt, countsalt, saltlen + 4);
+ bcrypt_hash(sha2pass, sha2salt, tmpout);
+ for (i = out.byteLength; i--;)
+ out[i] = tmpout[i];
+
+ for (i = 1; i < rounds; i++) {
+ crypto_hash_sha512(sha2salt, tmpout, tmpout.byteLength);
+ bcrypt_hash(sha2pass, sha2salt, tmpout);
+ for (j = 0; j < out.byteLength; j++)
+ out[j] ^= tmpout[j];
+ }
+
+ amt = Math.min(amt, keylen);
+ for (i = 0; i < amt; i++) {
+ dest = i * stride + (count - 1);
+ if (dest >= origkeylen)
+ break;
+ key[dest] = out[i];
+ }
+ keylen -= i;
+ }
+
+ return 0;
+};
+
+module.exports = {
+ BLOCKS: BCRYPT_BLOCKS,
+ HASHSIZE: BCRYPT_HASHSIZE,
+ hash: bcrypt_hash,
+ pbkdf: bcrypt_pbkdf
+};
diff --git a/node_modules/bcrypt-pbkdf/package.json b/node_modules/bcrypt-pbkdf/package.json
new file mode 100644
index 0000000..bab995e
--- /dev/null
+++ b/node_modules/bcrypt-pbkdf/package.json
@@ -0,0 +1,44 @@
+{
+ "_from": "bcrypt-pbkdf@^1.0.0",
+ "_id": "bcrypt-pbkdf@1.0.2",
+ "_inBundle": false,
+ "_integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
+ "_location": "/bcrypt-pbkdf",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "range",
+ "registry": true,
+ "raw": "bcrypt-pbkdf@^1.0.0",
+ "name": "bcrypt-pbkdf",
+ "escapedName": "bcrypt-pbkdf",
+ "rawSpec": "^1.0.0",
+ "saveSpec": null,
+ "fetchSpec": "^1.0.0"
+ },
+ "_requiredBy": [
+ "/sshpk"
+ ],
+ "_resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
+ "_shasum": "a4301d389b6a43f9b67ff3ca11a3f6637e360e9e",
+ "_spec": "bcrypt-pbkdf@^1.0.0",
+ "_where": "C:\\Users\\Futil\\AppData\\Local\\FoundryVTT\\Data\\systems\\mothership\\node_modules\\sshpk",
+ "bugs": {
+ "url": "https://github.com/joyent/node-bcrypt-pbkdf/issues"
+ },
+ "bundleDependencies": false,
+ "dependencies": {
+ "tweetnacl": "^0.14.3"
+ },
+ "deprecated": false,
+ "description": "Port of the OpenBSD bcrypt_pbkdf function to pure JS",
+ "devDependencies": {},
+ "homepage": "https://github.com/joyent/node-bcrypt-pbkdf#readme",
+ "license": "BSD-3-Clause",
+ "main": "index.js",
+ "name": "bcrypt-pbkdf",
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/joyent/node-bcrypt-pbkdf.git"
+ },
+ "version": "1.0.2"
+}
diff --git a/node_modules/binary-extensions/binary-extensions.json b/node_modules/binary-extensions/binary-extensions.json
new file mode 100644
index 0000000..725e532
--- /dev/null
+++ b/node_modules/binary-extensions/binary-extensions.json
@@ -0,0 +1,252 @@
+[
+ "3dm",
+ "3ds",
+ "3g2",
+ "3gp",
+ "7z",
+ "a",
+ "aac",
+ "adp",
+ "ai",
+ "aif",
+ "aiff",
+ "alz",
+ "ape",
+ "apk",
+ "ar",
+ "arj",
+ "asf",
+ "au",
+ "avi",
+ "bak",
+ "baml",
+ "bh",
+ "bin",
+ "bk",
+ "bmp",
+ "btif",
+ "bz2",
+ "bzip2",
+ "cab",
+ "caf",
+ "cgm",
+ "class",
+ "cmx",
+ "cpio",
+ "cr2",
+ "cur",
+ "dat",
+ "dcm",
+ "deb",
+ "dex",
+ "djvu",
+ "dll",
+ "dmg",
+ "dng",
+ "doc",
+ "docm",
+ "docx",
+ "dot",
+ "dotm",
+ "dra",
+ "DS_Store",
+ "dsk",
+ "dts",
+ "dtshd",
+ "dvb",
+ "dwg",
+ "dxf",
+ "ecelp4800",
+ "ecelp7470",
+ "ecelp9600",
+ "egg",
+ "eol",
+ "eot",
+ "epub",
+ "exe",
+ "f4v",
+ "fbs",
+ "fh",
+ "fla",
+ "flac",
+ "fli",
+ "flv",
+ "fpx",
+ "fst",
+ "fvt",
+ "g3",
+ "gh",
+ "gif",
+ "graffle",
+ "gz",
+ "gzip",
+ "h261",
+ "h263",
+ "h264",
+ "icns",
+ "ico",
+ "ief",
+ "img",
+ "ipa",
+ "iso",
+ "jar",
+ "jpeg",
+ "jpg",
+ "jpgv",
+ "jpm",
+ "jxr",
+ "key",
+ "ktx",
+ "lha",
+ "lib",
+ "lvp",
+ "lz",
+ "lzh",
+ "lzma",
+ "lzo",
+ "m3u",
+ "m4a",
+ "m4v",
+ "mar",
+ "mdi",
+ "mht",
+ "mid",
+ "midi",
+ "mj2",
+ "mka",
+ "mkv",
+ "mmr",
+ "mng",
+ "mobi",
+ "mov",
+ "movie",
+ "mp3",
+ "mp4",
+ "mp4a",
+ "mpeg",
+ "mpg",
+ "mpga",
+ "mxu",
+ "nef",
+ "npx",
+ "numbers",
+ "nupkg",
+ "o",
+ "oga",
+ "ogg",
+ "ogv",
+ "otf",
+ "pages",
+ "pbm",
+ "pcx",
+ "pdb",
+ "pdf",
+ "pea",
+ "pgm",
+ "pic",
+ "png",
+ "pnm",
+ "pot",
+ "potm",
+ "potx",
+ "ppa",
+ "ppam",
+ "ppm",
+ "pps",
+ "ppsm",
+ "ppsx",
+ "ppt",
+ "pptm",
+ "pptx",
+ "psd",
+ "pya",
+ "pyc",
+ "pyo",
+ "pyv",
+ "qt",
+ "rar",
+ "ras",
+ "raw",
+ "resources",
+ "rgb",
+ "rip",
+ "rlc",
+ "rmf",
+ "rmvb",
+ "rtf",
+ "rz",
+ "s3m",
+ "s7z",
+ "scpt",
+ "sgi",
+ "shar",
+ "sil",
+ "sketch",
+ "slk",
+ "smv",
+ "snk",
+ "so",
+ "stl",
+ "suo",
+ "sub",
+ "swf",
+ "tar",
+ "tbz",
+ "tbz2",
+ "tga",
+ "tgz",
+ "thmx",
+ "tif",
+ "tiff",
+ "tlz",
+ "ttc",
+ "ttf",
+ "txz",
+ "udf",
+ "uvh",
+ "uvi",
+ "uvm",
+ "uvp",
+ "uvs",
+ "uvu",
+ "viv",
+ "vob",
+ "war",
+ "wav",
+ "wax",
+ "wbmp",
+ "wdp",
+ "weba",
+ "webm",
+ "webp",
+ "whl",
+ "wim",
+ "wm",
+ "wma",
+ "wmv",
+ "wmx",
+ "woff",
+ "woff2",
+ "wrm",
+ "wvx",
+ "xbm",
+ "xif",
+ "xla",
+ "xlam",
+ "xls",
+ "xlsb",
+ "xlsm",
+ "xlsx",
+ "xlt",
+ "xltm",
+ "xltx",
+ "xm",
+ "xmind",
+ "xpi",
+ "xpm",
+ "xwd",
+ "xz",
+ "z",
+ "zip",
+ "zipx"
+]
diff --git a/node_modules/binary-extensions/license b/node_modules/binary-extensions/license
new file mode 100644
index 0000000..e7af2f7
--- /dev/null
+++ b/node_modules/binary-extensions/license
@@ -0,0 +1,9 @@
+MIT License
+
+Copyright (c) Sindre Sorhus (sindresorhus.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/node_modules/binary-extensions/package.json b/node_modules/binary-extensions/package.json
new file mode 100644
index 0000000..105b683
--- /dev/null
+++ b/node_modules/binary-extensions/package.json
@@ -0,0 +1,68 @@
+{
+ "_from": "binary-extensions@^1.0.0",
+ "_id": "binary-extensions@1.13.1",
+ "_inBundle": false,
+ "_integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==",
+ "_location": "/binary-extensions",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "range",
+ "registry": true,
+ "raw": "binary-extensions@^1.0.0",
+ "name": "binary-extensions",
+ "escapedName": "binary-extensions",
+ "rawSpec": "^1.0.0",
+ "saveSpec": null,
+ "fetchSpec": "^1.0.0"
+ },
+ "_requiredBy": [
+ "/is-binary-path"
+ ],
+ "_resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz",
+ "_shasum": "598afe54755b2868a5330d2aff9d4ebb53209b65",
+ "_spec": "binary-extensions@^1.0.0",
+ "_where": "C:\\Users\\Futil\\AppData\\Local\\FoundryVTT\\Data\\systems\\mothership\\node_modules\\is-binary-path",
+ "author": {
+ "name": "Sindre Sorhus",
+ "email": "sindresorhus@gmail.com",
+ "url": "sindresorhus.com"
+ },
+ "bugs": {
+ "url": "https://github.com/sindresorhus/binary-extensions/issues"
+ },
+ "bundleDependencies": false,
+ "deprecated": false,
+ "description": "List of binary file extensions",
+ "devDependencies": {
+ "ava": "0.16.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ },
+ "files": [
+ "binary-extensions.json"
+ ],
+ "homepage": "https://github.com/sindresorhus/binary-extensions#readme",
+ "keywords": [
+ "bin",
+ "binary",
+ "ext",
+ "extensions",
+ "extension",
+ "file",
+ "json",
+ "list",
+ "array"
+ ],
+ "license": "MIT",
+ "main": "binary-extensions.json",
+ "name": "binary-extensions",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/sindresorhus/binary-extensions.git"
+ },
+ "scripts": {
+ "test": "ava"
+ },
+ "version": "1.13.1"
+}
diff --git a/node_modules/binary-extensions/readme.md b/node_modules/binary-extensions/readme.md
new file mode 100644
index 0000000..4c9eca2
--- /dev/null
+++ b/node_modules/binary-extensions/readme.md
@@ -0,0 +1,33 @@
+# binary-extensions [](https://travis-ci.org/sindresorhus/binary-extensions)
+
+> List of binary file extensions
+
+The list is just a [JSON file](binary-extensions.json) and can be used anywhere.
+
+
+## Install
+
+```
+$ npm install binary-extensions
+```
+
+
+## Usage
+
+```js
+const binaryExtensions = require('binary-extensions');
+
+console.log(binaryExtensions);
+//=> ['3ds', '3g2', …]
+```
+
+
+## Related
+
+- [is-binary-path](https://github.com/sindresorhus/is-binary-path) - Check if a filepath is a binary file
+- [text-extensions](https://github.com/sindresorhus/text-extensions) - List of text file extensions
+
+
+## License
+
+MIT © [Sindre Sorhus](https://sindresorhus.com), Paul Miller (https://paulmillr.com)
diff --git a/node_modules/bindings/LICENSE.md b/node_modules/bindings/LICENSE.md
new file mode 100644
index 0000000..5a92289
--- /dev/null
+++ b/node_modules/bindings/LICENSE.md
@@ -0,0 +1,22 @@
+(The MIT License)
+
+Copyright (c) 2012 Nathan Rajlich <nathan@tootallnate.net>
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+'Software'), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/node_modules/bindings/README.md b/node_modules/bindings/README.md
new file mode 100644
index 0000000..5b3e7a8
--- /dev/null
+++ b/node_modules/bindings/README.md
@@ -0,0 +1,98 @@
+node-bindings
+=============
+### Helper module for loading your native module's `.node` file
+
+This is a helper module for authors of Node.js native addon modules.
+It is basically the "swiss army knife" of `require()`ing your native module's
+`.node` file.
+
+Throughout the course of Node's native addon history, addons have ended up being
+compiled in a variety of different places, depending on which build tool and which
+version of node was used. To make matters worse, now the `gyp` build tool can
+produce either a __Release__ or __Debug__ build, each being built into different
+locations.
+
+This module checks _all_ the possible locations that a native addon would be built
+at, and returns the first one that loads successfully.
+
+
+Installation
+------------
+
+Install with `npm`:
+
+``` bash
+$ npm install --save bindings
+```
+
+Or add it to the `"dependencies"` section of your `package.json` file.
+
+
+Example
+-------
+
+`require()`ing the proper bindings file for the current node version, platform
+and architecture is as simple as:
+
+``` js
+var bindings = require('bindings')('binding.node')
+
+// Use your bindings defined in your C files
+bindings.your_c_function()
+```
+
+
+Nice Error Output
+-----------------
+
+When the `.node` file could not be loaded, `node-bindings` throws an Error with
+a nice error message telling you exactly what was tried. You can also check the
+`err.tries` Array property.
+
+```
+Error: Could not load the bindings file. Tried:
+ → /Users/nrajlich/ref/build/binding.node
+ → /Users/nrajlich/ref/build/Debug/binding.node
+ → /Users/nrajlich/ref/build/Release/binding.node
+ → /Users/nrajlich/ref/out/Debug/binding.node
+ → /Users/nrajlich/ref/Debug/binding.node
+ → /Users/nrajlich/ref/out/Release/binding.node
+ → /Users/nrajlich/ref/Release/binding.node
+ → /Users/nrajlich/ref/build/default/binding.node
+ → /Users/nrajlich/ref/compiled/0.8.2/darwin/x64/binding.node
+ at bindings (/Users/nrajlich/ref/node_modules/bindings/bindings.js:84:13)
+ at Object. (/Users/nrajlich/ref/lib/ref.js:5:47)
+ at Module._compile (module.js:449:26)
+ at Object.Module._extensions..js (module.js:467:10)
+ at Module.load (module.js:356:32)
+ at Function.Module._load (module.js:312:12)
+ ...
+```
+
+The searching for the `.node` file will originate from the first directory in which has a `package.json` file is found.
+
+License
+-------
+
+(The MIT License)
+
+Copyright (c) 2012 Nathan Rajlich <nathan@tootallnate.net>
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+'Software'), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/node_modules/bindings/bindings.js b/node_modules/bindings/bindings.js
new file mode 100644
index 0000000..727413a
--- /dev/null
+++ b/node_modules/bindings/bindings.js
@@ -0,0 +1,221 @@
+/**
+ * Module dependencies.
+ */
+
+var fs = require('fs'),
+ path = require('path'),
+ fileURLToPath = require('file-uri-to-path'),
+ join = path.join,
+ dirname = path.dirname,
+ exists =
+ (fs.accessSync &&
+ function(path) {
+ try {
+ fs.accessSync(path);
+ } catch (e) {
+ return false;
+ }
+ return true;
+ }) ||
+ fs.existsSync ||
+ path.existsSync,
+ defaults = {
+ arrow: process.env.NODE_BINDINGS_ARROW || ' → ',
+ compiled: process.env.NODE_BINDINGS_COMPILED_DIR || 'compiled',
+ platform: process.platform,
+ arch: process.arch,
+ nodePreGyp:
+ 'node-v' +
+ process.versions.modules +
+ '-' +
+ process.platform +
+ '-' +
+ process.arch,
+ version: process.versions.node,
+ bindings: 'bindings.node',
+ try: [
+ // node-gyp's linked version in the "build" dir
+ ['module_root', 'build', 'bindings'],
+ // node-waf and gyp_addon (a.k.a node-gyp)
+ ['module_root', 'build', 'Debug', 'bindings'],
+ ['module_root', 'build', 'Release', 'bindings'],
+ // Debug files, for development (legacy behavior, remove for node v0.9)
+ ['module_root', 'out', 'Debug', 'bindings'],
+ ['module_root', 'Debug', 'bindings'],
+ // Release files, but manually compiled (legacy behavior, remove for node v0.9)
+ ['module_root', 'out', 'Release', 'bindings'],
+ ['module_root', 'Release', 'bindings'],
+ // Legacy from node-waf, node <= 0.4.x
+ ['module_root', 'build', 'default', 'bindings'],
+ // Production "Release" buildtype binary (meh...)
+ ['module_root', 'compiled', 'version', 'platform', 'arch', 'bindings'],
+ // node-qbs builds
+ ['module_root', 'addon-build', 'release', 'install-root', 'bindings'],
+ ['module_root', 'addon-build', 'debug', 'install-root', 'bindings'],
+ ['module_root', 'addon-build', 'default', 'install-root', 'bindings'],
+ // node-pre-gyp path ./lib/binding/{node_abi}-{platform}-{arch}
+ ['module_root', 'lib', 'binding', 'nodePreGyp', 'bindings']
+ ]
+ };
+
+/**
+ * The main `bindings()` function loads the compiled bindings for a given module.
+ * It uses V8's Error API to determine the parent filename that this function is
+ * being invoked from, which is then used to find the root directory.
+ */
+
+function bindings(opts) {
+ // Argument surgery
+ if (typeof opts == 'string') {
+ opts = { bindings: opts };
+ } else if (!opts) {
+ opts = {};
+ }
+
+ // maps `defaults` onto `opts` object
+ Object.keys(defaults).map(function(i) {
+ if (!(i in opts)) opts[i] = defaults[i];
+ });
+
+ // Get the module root
+ if (!opts.module_root) {
+ opts.module_root = exports.getRoot(exports.getFileName());
+ }
+
+ // Ensure the given bindings name ends with .node
+ if (path.extname(opts.bindings) != '.node') {
+ opts.bindings += '.node';
+ }
+
+ // https://github.com/webpack/webpack/issues/4175#issuecomment-342931035
+ var requireFunc =
+ typeof __webpack_require__ === 'function'
+ ? __non_webpack_require__
+ : require;
+
+ var tries = [],
+ i = 0,
+ l = opts.try.length,
+ n,
+ b,
+ err;
+
+ for (; i < l; i++) {
+ n = join.apply(
+ null,
+ opts.try[i].map(function(p) {
+ return opts[p] || p;
+ })
+ );
+ tries.push(n);
+ try {
+ b = opts.path ? requireFunc.resolve(n) : requireFunc(n);
+ if (!opts.path) {
+ b.path = n;
+ }
+ return b;
+ } catch (e) {
+ if (e.code !== 'MODULE_NOT_FOUND' &&
+ e.code !== 'QUALIFIED_PATH_RESOLUTION_FAILED' &&
+ !/not find/i.test(e.message)) {
+ throw e;
+ }
+ }
+ }
+
+ err = new Error(
+ 'Could not locate the bindings file. Tried:\n' +
+ tries
+ .map(function(a) {
+ return opts.arrow + a;
+ })
+ .join('\n')
+ );
+ err.tries = tries;
+ throw err;
+}
+module.exports = exports = bindings;
+
+/**
+ * Gets the filename of the JavaScript file that invokes this function.
+ * Used to help find the root directory of a module.
+ * Optionally accepts an filename argument to skip when searching for the invoking filename
+ */
+
+exports.getFileName = function getFileName(calling_file) {
+ var origPST = Error.prepareStackTrace,
+ origSTL = Error.stackTraceLimit,
+ dummy = {},
+ fileName;
+
+ Error.stackTraceLimit = 10;
+
+ Error.prepareStackTrace = function(e, st) {
+ for (var i = 0, l = st.length; i < l; i++) {
+ fileName = st[i].getFileName();
+ if (fileName !== __filename) {
+ if (calling_file) {
+ if (fileName !== calling_file) {
+ return;
+ }
+ } else {
+ return;
+ }
+ }
+ }
+ };
+
+ // run the 'prepareStackTrace' function above
+ Error.captureStackTrace(dummy);
+ dummy.stack;
+
+ // cleanup
+ Error.prepareStackTrace = origPST;
+ Error.stackTraceLimit = origSTL;
+
+ // handle filename that starts with "file://"
+ var fileSchema = 'file://';
+ if (fileName.indexOf(fileSchema) === 0) {
+ fileName = fileURLToPath(fileName);
+ }
+
+ return fileName;
+};
+
+/**
+ * Gets the root directory of a module, given an arbitrary filename
+ * somewhere in the module tree. The "root directory" is the directory
+ * containing the `package.json` file.
+ *
+ * In: /home/nate/node-native-module/lib/index.js
+ * Out: /home/nate/node-native-module
+ */
+
+exports.getRoot = function getRoot(file) {
+ var dir = dirname(file),
+ prev;
+ while (true) {
+ if (dir === '.') {
+ // Avoids an infinite loop in rare cases, like the REPL
+ dir = process.cwd();
+ }
+ if (
+ exists(join(dir, 'package.json')) ||
+ exists(join(dir, 'node_modules'))
+ ) {
+ // Found the 'package.json' file or 'node_modules' dir; we're done
+ return dir;
+ }
+ if (prev === dir) {
+ // Got to the top
+ throw new Error(
+ 'Could not find module root given file: "' +
+ file +
+ '". Do you have a `package.json` file? '
+ );
+ }
+ // Try the parent dir next
+ prev = dir;
+ dir = join(dir, '..');
+ }
+};
diff --git a/node_modules/bindings/package.json b/node_modules/bindings/package.json
new file mode 100644
index 0000000..d5aef9e
--- /dev/null
+++ b/node_modules/bindings/package.json
@@ -0,0 +1,57 @@
+{
+ "_from": "bindings@^1.5.0",
+ "_id": "bindings@1.5.0",
+ "_inBundle": false,
+ "_integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==",
+ "_location": "/bindings",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "range",
+ "registry": true,
+ "raw": "bindings@^1.5.0",
+ "name": "bindings",
+ "escapedName": "bindings",
+ "rawSpec": "^1.5.0",
+ "saveSpec": null,
+ "fetchSpec": "^1.5.0"
+ },
+ "_requiredBy": [
+ "/fsevents"
+ ],
+ "_resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz",
+ "_shasum": "10353c9e945334bc0511a6d90b38fbc7c9c504df",
+ "_spec": "bindings@^1.5.0",
+ "_where": "C:\\Users\\Futil\\AppData\\Local\\FoundryVTT\\Data\\systems\\mothership\\node_modules\\fsevents",
+ "author": {
+ "name": "Nathan Rajlich",
+ "email": "nathan@tootallnate.net",
+ "url": "http://tootallnate.net"
+ },
+ "bugs": {
+ "url": "https://github.com/TooTallNate/node-bindings/issues"
+ },
+ "bundleDependencies": false,
+ "dependencies": {
+ "file-uri-to-path": "1.0.0"
+ },
+ "deprecated": false,
+ "description": "Helper module for loading your native module's .node file",
+ "homepage": "https://github.com/TooTallNate/node-bindings",
+ "keywords": [
+ "native",
+ "addon",
+ "bindings",
+ "gyp",
+ "waf",
+ "c",
+ "c++"
+ ],
+ "license": "MIT",
+ "main": "./bindings.js",
+ "name": "bindings",
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/TooTallNate/node-bindings.git"
+ },
+ "version": "1.5.0"
+}
diff --git a/node_modules/block-stream/LICENCE b/node_modules/block-stream/LICENCE
new file mode 100644
index 0000000..74489e2
--- /dev/null
+++ b/node_modules/block-stream/LICENCE
@@ -0,0 +1,25 @@
+Copyright (c) Isaac Z. Schlueter
+All rights reserved.
+
+The BSD License
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
diff --git a/node_modules/block-stream/LICENSE b/node_modules/block-stream/LICENSE
new file mode 100644
index 0000000..19129e3
--- /dev/null
+++ b/node_modules/block-stream/LICENSE
@@ -0,0 +1,15 @@
+The ISC License
+
+Copyright (c) Isaac Z. Schlueter and Contributors
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted, provided that the above
+copyright notice and this permission notice appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
+IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/node_modules/block-stream/README.md b/node_modules/block-stream/README.md
new file mode 100644
index 0000000..c16e9c4
--- /dev/null
+++ b/node_modules/block-stream/README.md
@@ -0,0 +1,14 @@
+# block-stream
+
+A stream of blocks.
+
+Write data into it, and it'll output data in buffer blocks the size you
+specify, padding with zeroes if necessary.
+
+```javascript
+var block = new BlockStream(512)
+fs.createReadStream("some-file").pipe(block)
+block.pipe(fs.createWriteStream("block-file"))
+```
+
+When `.end()` or `.flush()` is called, it'll pad the block with zeroes.
diff --git a/node_modules/block-stream/block-stream.js b/node_modules/block-stream/block-stream.js
new file mode 100644
index 0000000..008de03
--- /dev/null
+++ b/node_modules/block-stream/block-stream.js
@@ -0,0 +1,209 @@
+// write data to it, and it'll emit data in 512 byte blocks.
+// if you .end() or .flush(), it'll emit whatever it's got,
+// padded with nulls to 512 bytes.
+
+module.exports = BlockStream
+
+var Stream = require("stream").Stream
+ , inherits = require("inherits")
+ , assert = require("assert").ok
+ , debug = process.env.DEBUG ? console.error : function () {}
+
+function BlockStream (size, opt) {
+ this.writable = this.readable = true
+ this._opt = opt || {}
+ this._chunkSize = size || 512
+ this._offset = 0
+ this._buffer = []
+ this._bufferLength = 0
+ if (this._opt.nopad) this._zeroes = false
+ else {
+ this._zeroes = new Buffer(this._chunkSize)
+ for (var i = 0; i < this._chunkSize; i ++) {
+ this._zeroes[i] = 0
+ }
+ }
+}
+
+inherits(BlockStream, Stream)
+
+BlockStream.prototype.write = function (c) {
+ // debug(" BS write", c)
+ if (this._ended) throw new Error("BlockStream: write after end")
+ if (c && !Buffer.isBuffer(c)) c = new Buffer(c + "")
+ if (c.length) {
+ this._buffer.push(c)
+ this._bufferLength += c.length
+ }
+ // debug("pushed onto buffer", this._bufferLength)
+ if (this._bufferLength >= this._chunkSize) {
+ if (this._paused) {
+ // debug(" BS paused, return false, need drain")
+ this._needDrain = true
+ return false
+ }
+ this._emitChunk()
+ }
+ return true
+}
+
+BlockStream.prototype.pause = function () {
+ // debug(" BS pausing")
+ this._paused = true
+}
+
+BlockStream.prototype.resume = function () {
+ // debug(" BS resume")
+ this._paused = false
+ return this._emitChunk()
+}
+
+BlockStream.prototype.end = function (chunk) {
+ // debug("end", chunk)
+ if (typeof chunk === "function") cb = chunk, chunk = null
+ if (chunk) this.write(chunk)
+ this._ended = true
+ this.flush()
+}
+
+BlockStream.prototype.flush = function () {
+ this._emitChunk(true)
+}
+
+BlockStream.prototype._emitChunk = function (flush) {
+ // debug("emitChunk flush=%j emitting=%j paused=%j", flush, this._emitting, this._paused)
+
+ // emit a chunk
+ if (flush && this._zeroes) {
+ // debug(" BS push zeroes", this._bufferLength)
+ // push a chunk of zeroes
+ var padBytes = (this._bufferLength % this._chunkSize)
+ if (padBytes !== 0) padBytes = this._chunkSize - padBytes
+ if (padBytes > 0) {
+ // debug("padBytes", padBytes, this._zeroes.slice(0, padBytes))
+ this._buffer.push(this._zeroes.slice(0, padBytes))
+ this._bufferLength += padBytes
+ // debug(this._buffer[this._buffer.length - 1].length, this._bufferLength)
+ }
+ }
+
+ if (this._emitting || this._paused) return
+ this._emitting = true
+
+ // debug(" BS entering loops")
+ var bufferIndex = 0
+ while (this._bufferLength >= this._chunkSize &&
+ (flush || !this._paused)) {
+ // debug(" BS data emission loop", this._bufferLength)
+
+ var out
+ , outOffset = 0
+ , outHas = this._chunkSize
+
+ while (outHas > 0 && (flush || !this._paused) ) {
+ // debug(" BS data inner emit loop", this._bufferLength)
+ var cur = this._buffer[bufferIndex]
+ , curHas = cur.length - this._offset
+ // debug("cur=", cur)
+ // debug("curHas=%j", curHas)
+ // If it's not big enough to fill the whole thing, then we'll need
+ // to copy multiple buffers into one. However, if it is big enough,
+ // then just slice out the part we want, to save unnecessary copying.
+ // Also, need to copy if we've already done some copying, since buffers
+ // can't be joined like cons strings.
+ if (out || curHas < outHas) {
+ out = out || new Buffer(this._chunkSize)
+ cur.copy(out, outOffset,
+ this._offset, this._offset + Math.min(curHas, outHas))
+ } else if (cur.length === outHas && this._offset === 0) {
+ // shortcut -- cur is exactly long enough, and no offset.
+ out = cur
+ } else {
+ // slice out the piece of cur that we need.
+ out = cur.slice(this._offset, this._offset + outHas)
+ }
+
+ if (curHas > outHas) {
+ // means that the current buffer couldn't be completely output
+ // update this._offset to reflect how much WAS written
+ this._offset += outHas
+ outHas = 0
+ } else {
+ // output the entire current chunk.
+ // toss it away
+ outHas -= curHas
+ outOffset += curHas
+ bufferIndex ++
+ this._offset = 0
+ }
+ }
+
+ this._bufferLength -= this._chunkSize
+ assert(out.length === this._chunkSize)
+ // debug("emitting data", out)
+ // debug(" BS emitting, paused=%j", this._paused, this._bufferLength)
+ this.emit("data", out)
+ out = null
+ }
+ // debug(" BS out of loops", this._bufferLength)
+
+ // whatever is left, it's not enough to fill up a block, or we're paused
+ this._buffer = this._buffer.slice(bufferIndex)
+ if (this._paused) {
+ // debug(" BS paused, leaving", this._bufferLength)
+ this._needsDrain = true
+ this._emitting = false
+ return
+ }
+
+ // if flushing, and not using null-padding, then need to emit the last
+ // chunk(s) sitting in the queue. We know that it's not enough to
+ // fill up a whole block, because otherwise it would have been emitted
+ // above, but there may be some offset.
+ var l = this._buffer.length
+ if (flush && !this._zeroes && l) {
+ if (l === 1) {
+ if (this._offset) {
+ this.emit("data", this._buffer[0].slice(this._offset))
+ } else {
+ this.emit("data", this._buffer[0])
+ }
+ } else {
+ var outHas = this._bufferLength
+ , out = new Buffer(outHas)
+ , outOffset = 0
+ for (var i = 0; i < l; i ++) {
+ var cur = this._buffer[i]
+ , curHas = cur.length - this._offset
+ cur.copy(out, outOffset, this._offset)
+ this._offset = 0
+ outOffset += curHas
+ this._bufferLength -= curHas
+ }
+ this.emit("data", out)
+ }
+ // truncate
+ this._buffer.length = 0
+ this._bufferLength = 0
+ this._offset = 0
+ }
+
+ // now either drained or ended
+ // debug("either draining, or ended", this._bufferLength, this._ended)
+ // means that we've flushed out all that we can so far.
+ if (this._needDrain) {
+ // debug("emitting drain", this._bufferLength)
+ this._needDrain = false
+ this.emit("drain")
+ }
+
+ if ((this._bufferLength === 0) && this._ended && !this._endEmitted) {
+ // debug("emitting end", this._bufferLength)
+ this._endEmitted = true
+ this.emit("end")
+ }
+
+ this._emitting = false
+
+ // debug(" BS no longer emitting", flush, this._paused, this._emitting, this._bufferLength, this._chunkSize)
+}
diff --git a/node_modules/block-stream/package.json b/node_modules/block-stream/package.json
new file mode 100644
index 0000000..dfbf708
--- /dev/null
+++ b/node_modules/block-stream/package.json
@@ -0,0 +1,60 @@
+{
+ "_from": "block-stream@*",
+ "_id": "block-stream@0.0.9",
+ "_inBundle": false,
+ "_integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=",
+ "_location": "/block-stream",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "range",
+ "registry": true,
+ "raw": "block-stream@*",
+ "name": "block-stream",
+ "escapedName": "block-stream",
+ "rawSpec": "*",
+ "saveSpec": null,
+ "fetchSpec": "*"
+ },
+ "_requiredBy": [
+ "/tar"
+ ],
+ "_resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz",
+ "_shasum": "13ebfe778a03205cfe03751481ebb4b3300c126a",
+ "_spec": "block-stream@*",
+ "_where": "C:\\Users\\Futil\\AppData\\Local\\FoundryVTT\\Data\\systems\\mothership\\node_modules\\tar",
+ "author": {
+ "name": "Isaac Z. Schlueter",
+ "email": "i@izs.me",
+ "url": "http://blog.izs.me/"
+ },
+ "bugs": {
+ "url": "https://github.com/isaacs/block-stream/issues"
+ },
+ "bundleDependencies": false,
+ "dependencies": {
+ "inherits": "~2.0.0"
+ },
+ "deprecated": false,
+ "description": "a stream of blocks",
+ "devDependencies": {
+ "tap": "^5.7.1"
+ },
+ "engines": {
+ "node": "0.4 || >=0.5.8"
+ },
+ "files": [
+ "block-stream.js"
+ ],
+ "homepage": "https://github.com/isaacs/block-stream#readme",
+ "license": "ISC",
+ "main": "block-stream.js",
+ "name": "block-stream",
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/isaacs/block-stream.git"
+ },
+ "scripts": {
+ "test": "tap test/*.js --cov"
+ },
+ "version": "0.0.9"
+}
diff --git a/node_modules/brace-expansion/LICENSE b/node_modules/brace-expansion/LICENSE
new file mode 100644
index 0000000..de32266
--- /dev/null
+++ b/node_modules/brace-expansion/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2013 Julian Gruber
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/node_modules/brace-expansion/README.md b/node_modules/brace-expansion/README.md
new file mode 100644
index 0000000..6b4e0e1
--- /dev/null
+++ b/node_modules/brace-expansion/README.md
@@ -0,0 +1,129 @@
+# brace-expansion
+
+[Brace expansion](https://www.gnu.org/software/bash/manual/html_node/Brace-Expansion.html),
+as known from sh/bash, in JavaScript.
+
+[](http://travis-ci.org/juliangruber/brace-expansion)
+[](https://www.npmjs.org/package/brace-expansion)
+[](https://greenkeeper.io/)
+
+[](https://ci.testling.com/juliangruber/brace-expansion)
+
+## Example
+
+```js
+var expand = require('brace-expansion');
+
+expand('file-{a,b,c}.jpg')
+// => ['file-a.jpg', 'file-b.jpg', 'file-c.jpg']
+
+expand('-v{,,}')
+// => ['-v', '-v', '-v']
+
+expand('file{0..2}.jpg')
+// => ['file0.jpg', 'file1.jpg', 'file2.jpg']
+
+expand('file-{a..c}.jpg')
+// => ['file-a.jpg', 'file-b.jpg', 'file-c.jpg']
+
+expand('file{2..0}.jpg')
+// => ['file2.jpg', 'file1.jpg', 'file0.jpg']
+
+expand('file{0..4..2}.jpg')
+// => ['file0.jpg', 'file2.jpg', 'file4.jpg']
+
+expand('file-{a..e..2}.jpg')
+// => ['file-a.jpg', 'file-c.jpg', 'file-e.jpg']
+
+expand('file{00..10..5}.jpg')
+// => ['file00.jpg', 'file05.jpg', 'file10.jpg']
+
+expand('{{A..C},{a..c}}')
+// => ['A', 'B', 'C', 'a', 'b', 'c']
+
+expand('ppp{,config,oe{,conf}}')
+// => ['ppp', 'pppconfig', 'pppoe', 'pppoeconf']
+```
+
+## API
+
+```js
+var expand = require('brace-expansion');
+```
+
+### var expanded = expand(str)
+
+Return an array of all possible and valid expansions of `str`. If none are
+found, `[str]` is returned.
+
+Valid expansions are:
+
+```js
+/^(.*,)+(.+)?$/
+// {a,b,...}
+```
+
+A comma separated list of options, like `{a,b}` or `{a,{b,c}}` or `{,a,}`.
+
+```js
+/^-?\d+\.\.-?\d+(\.\.-?\d+)?$/
+// {x..y[..incr]}
+```
+
+A numeric sequence from `x` to `y` inclusive, with optional increment.
+If `x` or `y` start with a leading `0`, all the numbers will be padded
+to have equal length. Negative numbers and backwards iteration work too.
+
+```js
+/^-?\d+\.\.-?\d+(\.\.-?\d+)?$/
+// {x..y[..incr]}
+```
+
+An alphabetic sequence from `x` to `y` inclusive, with optional increment.
+`x` and `y` must be exactly one character, and if given, `incr` must be a
+number.
+
+For compatibility reasons, the string `${` is not eligible for brace expansion.
+
+## Installation
+
+With [npm](https://npmjs.org) do:
+
+```bash
+npm install brace-expansion
+```
+
+## Contributors
+
+- [Julian Gruber](https://github.com/juliangruber)
+- [Isaac Z. Schlueter](https://github.com/isaacs)
+
+## Sponsors
+
+This module is proudly supported by my [Sponsors](https://github.com/juliangruber/sponsors)!
+
+Do you want to support modules like this to improve their quality, stability and weigh in on new features? Then please consider donating to my [Patreon](https://www.patreon.com/juliangruber). Not sure how much of my modules you're using? Try [feross/thanks](https://github.com/feross/thanks)!
+
+## License
+
+(MIT)
+
+Copyright (c) 2013 Julian Gruber <julian@juliangruber.com>
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
+of the Software, and to permit persons to whom the Software is furnished to do
+so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/node_modules/brace-expansion/index.js b/node_modules/brace-expansion/index.js
new file mode 100644
index 0000000..0478be8
--- /dev/null
+++ b/node_modules/brace-expansion/index.js
@@ -0,0 +1,201 @@
+var concatMap = require('concat-map');
+var balanced = require('balanced-match');
+
+module.exports = expandTop;
+
+var escSlash = '\0SLASH'+Math.random()+'\0';
+var escOpen = '\0OPEN'+Math.random()+'\0';
+var escClose = '\0CLOSE'+Math.random()+'\0';
+var escComma = '\0COMMA'+Math.random()+'\0';
+var escPeriod = '\0PERIOD'+Math.random()+'\0';
+
+function numeric(str) {
+ return parseInt(str, 10) == str
+ ? parseInt(str, 10)
+ : str.charCodeAt(0);
+}
+
+function escapeBraces(str) {
+ return str.split('\\\\').join(escSlash)
+ .split('\\{').join(escOpen)
+ .split('\\}').join(escClose)
+ .split('\\,').join(escComma)
+ .split('\\.').join(escPeriod);
+}
+
+function unescapeBraces(str) {
+ return str.split(escSlash).join('\\')
+ .split(escOpen).join('{')
+ .split(escClose).join('}')
+ .split(escComma).join(',')
+ .split(escPeriod).join('.');
+}
+
+
+// Basically just str.split(","), but handling cases
+// where we have nested braced sections, which should be
+// treated as individual members, like {a,{b,c},d}
+function parseCommaParts(str) {
+ if (!str)
+ return [''];
+
+ var parts = [];
+ var m = balanced('{', '}', str);
+
+ if (!m)
+ return str.split(',');
+
+ var pre = m.pre;
+ var body = m.body;
+ var post = m.post;
+ var p = pre.split(',');
+
+ p[p.length-1] += '{' + body + '}';
+ var postParts = parseCommaParts(post);
+ if (post.length) {
+ p[p.length-1] += postParts.shift();
+ p.push.apply(p, postParts);
+ }
+
+ parts.push.apply(parts, p);
+
+ return parts;
+}
+
+function expandTop(str) {
+ if (!str)
+ return [];
+
+ // I don't know why Bash 4.3 does this, but it does.
+ // Anything starting with {} will have the first two bytes preserved
+ // but *only* at the top level, so {},a}b will not expand to anything,
+ // but a{},b}c will be expanded to [a}c,abc].
+ // One could argue that this is a bug in Bash, but since the goal of
+ // this module is to match Bash's rules, we escape a leading {}
+ if (str.substr(0, 2) === '{}') {
+ str = '\\{\\}' + str.substr(2);
+ }
+
+ return expand(escapeBraces(str), true).map(unescapeBraces);
+}
+
+function identity(e) {
+ return e;
+}
+
+function embrace(str) {
+ return '{' + str + '}';
+}
+function isPadded(el) {
+ return /^-?0\d/.test(el);
+}
+
+function lte(i, y) {
+ return i <= y;
+}
+function gte(i, y) {
+ return i >= y;
+}
+
+function expand(str, isTop) {
+ var expansions = [];
+
+ var m = balanced('{', '}', str);
+ if (!m || /\$$/.test(m.pre)) return [str];
+
+ var isNumericSequence = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(m.body);
+ var isAlphaSequence = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(m.body);
+ var isSequence = isNumericSequence || isAlphaSequence;
+ var isOptions = m.body.indexOf(',') >= 0;
+ if (!isSequence && !isOptions) {
+ // {a},b}
+ if (m.post.match(/,.*\}/)) {
+ str = m.pre + '{' + m.body + escClose + m.post;
+ return expand(str);
+ }
+ return [str];
+ }
+
+ var n;
+ if (isSequence) {
+ n = m.body.split(/\.\./);
+ } else {
+ n = parseCommaParts(m.body);
+ if (n.length === 1) {
+ // x{{a,b}}y ==> x{a}y x{b}y
+ n = expand(n[0], false).map(embrace);
+ if (n.length === 1) {
+ var post = m.post.length
+ ? expand(m.post, false)
+ : [''];
+ return post.map(function(p) {
+ return m.pre + n[0] + p;
+ });
+ }
+ }
+ }
+
+ // at this point, n is the parts, and we know it's not a comma set
+ // with a single entry.
+
+ // no need to expand pre, since it is guaranteed to be free of brace-sets
+ var pre = m.pre;
+ var post = m.post.length
+ ? expand(m.post, false)
+ : [''];
+
+ var N;
+
+ if (isSequence) {
+ var x = numeric(n[0]);
+ var y = numeric(n[1]);
+ var width = Math.max(n[0].length, n[1].length)
+ var incr = n.length == 3
+ ? Math.abs(numeric(n[2]))
+ : 1;
+ var test = lte;
+ var reverse = y < x;
+ if (reverse) {
+ incr *= -1;
+ test = gte;
+ }
+ var pad = n.some(isPadded);
+
+ N = [];
+
+ for (var i = x; test(i, y); i += incr) {
+ var c;
+ if (isAlphaSequence) {
+ c = String.fromCharCode(i);
+ if (c === '\\')
+ c = '';
+ } else {
+ c = String(i);
+ if (pad) {
+ var need = width - c.length;
+ if (need > 0) {
+ var z = new Array(need + 1).join('0');
+ if (i < 0)
+ c = '-' + z + c.slice(1);
+ else
+ c = z + c;
+ }
+ }
+ }
+ N.push(c);
+ }
+ } else {
+ N = concatMap(n, function(el) { return expand(el, false) });
+ }
+
+ for (var j = 0; j < N.length; j++) {
+ for (var k = 0; k < post.length; k++) {
+ var expansion = pre + N[j] + post[k];
+ if (!isTop || isSequence || expansion)
+ expansions.push(expansion);
+ }
+ }
+
+ return expansions;
+}
+
diff --git a/node_modules/brace-expansion/package.json b/node_modules/brace-expansion/package.json
new file mode 100644
index 0000000..18616f2
--- /dev/null
+++ b/node_modules/brace-expansion/package.json
@@ -0,0 +1,75 @@
+{
+ "_from": "brace-expansion@^1.1.7",
+ "_id": "brace-expansion@1.1.11",
+ "_inBundle": false,
+ "_integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "_location": "/brace-expansion",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "range",
+ "registry": true,
+ "raw": "brace-expansion@^1.1.7",
+ "name": "brace-expansion",
+ "escapedName": "brace-expansion",
+ "rawSpec": "^1.1.7",
+ "saveSpec": null,
+ "fetchSpec": "^1.1.7"
+ },
+ "_requiredBy": [
+ "/minimatch"
+ ],
+ "_resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "_shasum": "3c7fcbf529d87226f3d2f52b966ff5271eb441dd",
+ "_spec": "brace-expansion@^1.1.7",
+ "_where": "C:\\Users\\Futil\\AppData\\Local\\FoundryVTT\\Data\\systems\\mothership\\node_modules\\minimatch",
+ "author": {
+ "name": "Julian Gruber",
+ "email": "mail@juliangruber.com",
+ "url": "http://juliangruber.com"
+ },
+ "bugs": {
+ "url": "https://github.com/juliangruber/brace-expansion/issues"
+ },
+ "bundleDependencies": false,
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ },
+ "deprecated": false,
+ "description": "Brace expansion as known from sh/bash",
+ "devDependencies": {
+ "matcha": "^0.7.0",
+ "tape": "^4.6.0"
+ },
+ "homepage": "https://github.com/juliangruber/brace-expansion",
+ "keywords": [],
+ "license": "MIT",
+ "main": "index.js",
+ "name": "brace-expansion",
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/juliangruber/brace-expansion.git"
+ },
+ "scripts": {
+ "bench": "matcha test/perf/bench.js",
+ "gentest": "bash test/generate.sh",
+ "test": "tape test/*.js"
+ },
+ "testling": {
+ "files": "test/*.js",
+ "browsers": [
+ "ie/8..latest",
+ "firefox/20..latest",
+ "firefox/nightly",
+ "chrome/25..latest",
+ "chrome/canary",
+ "opera/12..latest",
+ "opera/next",
+ "safari/5.1..latest",
+ "ipad/6.0..latest",
+ "iphone/6.0..latest",
+ "android-browser/4.2..latest"
+ ]
+ },
+ "version": "1.1.11"
+}
diff --git a/node_modules/braces/LICENSE b/node_modules/braces/LICENSE
new file mode 100644
index 0000000..d32ab44
--- /dev/null
+++ b/node_modules/braces/LICENSE
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) 2014-2018, Jon Schlinkert.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/node_modules/braces/README.md b/node_modules/braces/README.md
new file mode 100644
index 0000000..f909bfb
--- /dev/null
+++ b/node_modules/braces/README.md
@@ -0,0 +1,640 @@
+# braces [](https://www.npmjs.com/package/braces) [](https://npmjs.org/package/braces) [](https://npmjs.org/package/braces) [](https://travis-ci.org/micromatch/braces) [](https://ci.appveyor.com/project/micromatch/braces)
+
+> Bash-like brace expansion, implemented in JavaScript. Safer than other brace expansion libs, with complete support for the Bash 4.3 braces specification, without sacrificing speed.
+
+Please consider following this project's author, [Jon Schlinkert](https://github.com/jonschlinkert), and consider starring the project to show your :heart: and support.
+
+## Install
+
+Install with [npm](https://www.npmjs.com/):
+
+```sh
+$ npm install --save braces
+```
+
+## Why use braces?
+
+Brace patterns are great for matching ranges. Users (and implementors) shouldn't have to think about whether or not they will break their application (or yours) from accidentally defining an aggressive brace pattern. _Braces is the only library that offers a [solution to this problem](#performance)_.
+
+* **Safe(r)**: Braces isn't vulnerable to DoS attacks like [brace-expansion](https://github.com/juliangruber/brace-expansion), [minimatch](https://github.com/isaacs/minimatch) and [multimatch](https://github.com/sindresorhus/multimatch) (a different bug than the [other regex DoS bug](https://medium.com/node-security/minimatch-redos-vulnerability-590da24e6d3c#.jew0b6mpc)).
+* **Accurate**: complete support for the [Bash 4.3 Brace Expansion](www.gnu.org/software/bash/) specification (passes all of the Bash braces tests)
+* **[fast and performant](#benchmarks)**: Starts fast, runs fast and [scales well](#performance) as patterns increase in complexity.
+* **Organized code base**: with parser and compiler that are eas(y|ier) to maintain and update when edge cases crop up.
+* **Well-tested**: thousands of test assertions. Passes 100% of the [minimatch](https://github.com/isaacs/minimatch) and [brace-expansion](https://github.com/juliangruber/brace-expansion) unit tests as well (as of the writing of this).
+
+## Usage
+
+The main export is a function that takes one or more brace `patterns` and `options`.
+
+```js
+var braces = require('braces');
+braces(pattern[, options]);
+```
+
+By default, braces returns an optimized regex-source string. To get an array of brace patterns, use `brace.expand()`.
+
+The following section explains the difference in more detail. _(If you're curious about "why" braces does this by default, see [brace matching pitfalls](#brace-matching-pitfalls)_.
+
+### Optimized vs. expanded braces
+
+**Optimized**
+
+By default, patterns are optimized for regex and matching:
+
+```js
+console.log(braces('a/{x,y,z}/b'));
+//=> ['a/(x|y|z)/b']
+```
+
+**Expanded**
+
+To expand patterns the same way as Bash or [minimatch](https://github.com/isaacs/minimatch), use the [.expand](#expand) method:
+
+```js
+console.log(braces.expand('a/{x,y,z}/b'));
+//=> ['a/x/b', 'a/y/b', 'a/z/b']
+```
+
+Or use [options.expand](#optionsexpand):
+
+```js
+console.log(braces('a/{x,y,z}/b', {expand: true}));
+//=> ['a/x/b', 'a/y/b', 'a/z/b']
+```
+
+## Features
+
+* [lists](#lists): Supports "lists": `a/{b,c}/d` => `['a/b/d', 'a/c/d']`
+* [sequences](#sequences): Supports alphabetical or numerical "sequences" (ranges): `{1..3}` => `['1', '2', '3']`
+* [steps](#steps): Supports "steps" or increments: `{2..10..2}` => `['2', '4', '6', '8', '10']`
+* [escaping](#escaping)
+* [options](#options)
+
+### Lists
+
+Uses [fill-range](https://github.com/jonschlinkert/fill-range) for expanding alphabetical or numeric lists:
+
+```js
+console.log(braces('a/{foo,bar,baz}/*.js'));
+//=> ['a/(foo|bar|baz)/*.js']
+
+console.log(braces.expand('a/{foo,bar,baz}/*.js'));
+//=> ['a/foo/*.js', 'a/bar/*.js', 'a/baz/*.js']
+```
+
+### Sequences
+
+Uses [fill-range](https://github.com/jonschlinkert/fill-range) for expanding alphabetical or numeric ranges (bash "sequences"):
+
+```js
+console.log(braces.expand('{1..3}')); // ['1', '2', '3']
+console.log(braces.expand('a{01..03}b')); // ['a01b', 'a02b', 'a03b']
+console.log(braces.expand('a{1..3}b')); // ['a1b', 'a2b', 'a3b']
+console.log(braces.expand('{a..c}')); // ['a', 'b', 'c']
+console.log(braces.expand('foo/{a..c}')); // ['foo/a', 'foo/b', 'foo/c']
+
+// supports padded ranges
+console.log(braces('a{01..03}b')); //=> [ 'a(0[1-3])b' ]
+console.log(braces('a{001..300}b')); //=> [ 'a(0{2}[1-9]|0[1-9][0-9]|[12][0-9]{2}|300)b' ]
+```
+
+### Steps
+
+Steps, or increments, may be used with ranges:
+
+```js
+console.log(braces.expand('{2..10..2}'));
+//=> ['2', '4', '6', '8', '10']
+
+console.log(braces('{2..10..2}'));
+//=> ['(2|4|6|8|10)']
+```
+
+When the [.optimize](#optimize) method is used, or [options.optimize](#optionsoptimize) is set to true, sequences are passed to [to-regex-range](https://github.com/jonschlinkert/to-regex-range) for expansion.
+
+### Nesting
+
+Brace patterns may be nested. The results of each expanded string are not sorted, and left to right order is preserved.
+
+**"Expanded" braces**
+
+```js
+console.log(braces.expand('a{b,c,/{x,y}}/e'));
+//=> ['ab/e', 'ac/e', 'a/x/e', 'a/y/e']
+
+console.log(braces.expand('a/{x,{1..5},y}/c'));
+//=> ['a/x/c', 'a/1/c', 'a/2/c', 'a/3/c', 'a/4/c', 'a/5/c', 'a/y/c']
+```
+
+**"Optimized" braces**
+
+```js
+console.log(braces('a{b,c,/{x,y}}/e'));
+//=> ['a(b|c|/(x|y))/e']
+
+console.log(braces('a/{x,{1..5},y}/c'));
+//=> ['a/(x|([1-5])|y)/c']
+```
+
+### Escaping
+
+**Escaping braces**
+
+A brace pattern will not be expanded or evaluted if _either the opening or closing brace is escaped_:
+
+```js
+console.log(braces.expand('a\\{d,c,b}e'));
+//=> ['a{d,c,b}e']
+
+console.log(braces.expand('a{d,c,b\\}e'));
+//=> ['a{d,c,b}e']
+```
+
+**Escaping commas**
+
+Commas inside braces may also be escaped:
+
+```js
+console.log(braces.expand('a{b\\,c}d'));
+//=> ['a{b,c}d']
+
+console.log(braces.expand('a{d\\,c,b}e'));
+//=> ['ad,ce', 'abe']
+```
+
+**Single items**
+
+Following bash conventions, a brace pattern is also not expanded when it contains a single character:
+
+```js
+console.log(braces.expand('a{b}c'));
+//=> ['a{b}c']
+```
+
+## Options
+
+### options.maxLength
+
+**Type**: `Number`
+
+**Default**: `65,536`
+
+**Description**: Limit the length of the input string. Useful when the input string is generated or your application allows users to pass a string, et cetera.
+
+```js
+console.log(braces('a/{b,c}/d', { maxLength: 3 })); //=> throws an error
+```
+
+### options.expand
+
+**Type**: `Boolean`
+
+**Default**: `undefined`
+
+**Description**: Generate an "expanded" brace pattern (this option is unncessary with the `.expand` method, which does the same thing).
+
+```js
+console.log(braces('a/{b,c}/d', {expand: true}));
+//=> [ 'a/b/d', 'a/c/d' ]
+```
+
+### options.optimize
+
+**Type**: `Boolean`
+
+**Default**: `true`
+
+**Description**: Enabled by default.
+
+```js
+console.log(braces('a/{b,c}/d'));
+//=> [ 'a/(b|c)/d' ]
+```
+
+### options.nodupes
+
+**Type**: `Boolean`
+
+**Default**: `true`
+
+**Description**: Duplicates are removed by default. To keep duplicates, pass `{nodupes: false}` on the options
+
+### options.rangeLimit
+
+**Type**: `Number`
+
+**Default**: `250`
+
+**Description**: When `braces.expand()` is used, or `options.expand` is true, brace patterns will automatically be [optimized](#optionsoptimize) when the difference between the range minimum and range maximum exceeds the `rangeLimit`. This is to prevent huge ranges from freezing your application.
+
+You can set this to any number, or change `options.rangeLimit` to `Inifinity` to disable this altogether.
+
+**Examples**
+
+```js
+// pattern exceeds the "rangeLimit", so it's optimized automatically
+console.log(braces.expand('{1..1000}'));
+//=> ['([1-9]|[1-9][0-9]{1,2}|1000)']
+
+// pattern does not exceed "rangeLimit", so it's NOT optimized
+console.log(braces.expand('{1..100}'));
+//=> ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30', '31', '32', '33', '34', '35', '36', '37', '38', '39', '40', '41', '42', '43', '44', '45', '46', '47', '48', '49', '50', '51', '52', '53', '54', '55', '56', '57', '58', '59', '60', '61', '62', '63', '64', '65', '66', '67', '68', '69', '70', '71', '72', '73', '74', '75', '76', '77', '78', '79', '80', '81', '82', '83', '84', '85', '86', '87', '88', '89', '90', '91', '92', '93', '94', '95', '96', '97', '98', '99', '100']
+```
+
+### options.transform
+
+**Type**: `Function`
+
+**Default**: `undefined`
+
+**Description**: Customize range expansion.
+
+```js
+var range = braces.expand('x{a..e}y', {
+ transform: function(str) {
+ return 'foo' + str;
+ }
+});
+
+console.log(range);
+//=> [ 'xfooay', 'xfooby', 'xfoocy', 'xfoody', 'xfooey' ]
+```
+
+### options.quantifiers
+
+**Type**: `Boolean`
+
+**Default**: `undefined`
+
+**Description**: In regular expressions, quanitifiers can be used to specify how many times a token can be repeated. For example, `a{1,3}` will match the letter `a` one to three times.
+
+Unfortunately, regex quantifiers happen to share the same syntax as [Bash lists](#lists)
+
+The `quantifiers` option tells braces to detect when [regex quantifiers](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp#quantifiers) are defined in the given pattern, and not to try to expand them as lists.
+
+**Examples**
+
+```js
+var braces = require('braces');
+console.log(braces('a/b{1,3}/{x,y,z}'));
+//=> [ 'a/b(1|3)/(x|y|z)' ]
+console.log(braces('a/b{1,3}/{x,y,z}', {quantifiers: true}));
+//=> [ 'a/b{1,3}/(x|y|z)' ]
+console.log(braces('a/b{1,3}/{x,y,z}', {quantifiers: true, expand: true}));
+//=> [ 'a/b{1,3}/x', 'a/b{1,3}/y', 'a/b{1,3}/z' ]
+```
+
+### options.unescape
+
+**Type**: `Boolean`
+
+**Default**: `undefined`
+
+**Description**: Strip backslashes that were used for escaping from the result.
+
+## What is "brace expansion"?
+
+Brace expansion is a type of parameter expansion that was made popular by unix shells for generating lists of strings, as well as regex-like matching when used alongside wildcards (globs).
+
+In addition to "expansion", braces are also used for matching. In other words:
+
+* [brace expansion](#brace-expansion) is for generating new lists
+* [brace matching](#brace-matching) is for filtering existing lists
+
+
+More about brace expansion (click to expand)
+
+There are two main types of brace expansion:
+
+1. **lists**: which are defined using comma-separated values inside curly braces: `{a,b,c}`
+2. **sequences**: which are defined using a starting value and an ending value, separated by two dots: `a{1..3}b`. Optionally, a third argument may be passed to define a "step" or increment to use: `a{1..100..10}b`. These are also sometimes referred to as "ranges".
+
+Here are some example brace patterns to illustrate how they work:
+
+**Sets**
+
+```
+{a,b,c} => a b c
+{a,b,c}{1,2} => a1 a2 b1 b2 c1 c2
+```
+
+**Sequences**
+
+```
+{1..9} => 1 2 3 4 5 6 7 8 9
+{4..-4} => 4 3 2 1 0 -1 -2 -3 -4
+{1..20..3} => 1 4 7 10 13 16 19
+{a..j} => a b c d e f g h i j
+{j..a} => j i h g f e d c b a
+{a..z..3} => a d g j m p s v y
+```
+
+**Combination**
+
+Sets and sequences can be mixed together or used along with any other strings.
+
+```
+{a,b,c}{1..3} => a1 a2 a3 b1 b2 b3 c1 c2 c3
+foo/{a,b,c}/bar => foo/a/bar foo/b/bar foo/c/bar
+```
+
+The fact that braces can be "expanded" from relatively simple patterns makes them ideal for quickly generating test fixtures, file paths, and similar use cases.
+
+## Brace matching
+
+In addition to _expansion_, brace patterns are also useful for performing regular-expression-like matching.
+
+For example, the pattern `foo/{1..3}/bar` would match any of following strings:
+
+```
+foo/1/bar
+foo/2/bar
+foo/3/bar
+```
+
+But not:
+
+```
+baz/1/qux
+baz/2/qux
+baz/3/qux
+```
+
+Braces can also be combined with [glob patterns](https://github.com/jonschlinkert/micromatch) to perform more advanced wildcard matching. For example, the pattern `*/{1..3}/*` would match any of following strings:
+
+```
+foo/1/bar
+foo/2/bar
+foo/3/bar
+baz/1/qux
+baz/2/qux
+baz/3/qux
+```
+
+## Brace matching pitfalls
+
+Although brace patterns offer a user-friendly way of matching ranges or sets of strings, there are also some major disadvantages and potential risks you should be aware of.
+
+### tldr
+
+**"brace bombs"**
+
+* brace expansion can eat up a huge amount of processing resources
+* as brace patterns increase _linearly in size_, the system resources required to expand the pattern increase exponentially
+* users can accidentally (or intentially) exhaust your system's resources resulting in the equivalent of a DoS attack (bonus: no programming knowledge is required!)
+
+For a more detailed explanation with examples, see the [geometric complexity](#geometric-complexity) section.
+
+### The solution
+
+Jump to the [performance section](#performance) to see how Braces solves this problem in comparison to other libraries.
+
+### Geometric complexity
+
+At minimum, brace patterns with sets limited to two elements have quadradic or `O(n^2)` complexity. But the complexity of the algorithm increases exponentially as the number of sets, _and elements per set_, increases, which is `O(n^c)`.
+
+For example, the following sets demonstrate quadratic (`O(n^2)`) complexity:
+
+```
+{1,2}{3,4} => (2X2) => 13 14 23 24
+{1,2}{3,4}{5,6} => (2X2X2) => 135 136 145 146 235 236 245 246
+```
+
+But add an element to a set, and we get a n-fold Cartesian product with `O(n^c)` complexity:
+
+```
+{1,2,3}{4,5,6}{7,8,9} => (3X3X3) => 147 148 149 157 158 159 167 168 169 247 248
+ 249 257 258 259 267 268 269 347 348 349 357
+ 358 359 367 368 369
+```
+
+Now, imagine how this complexity grows given that each element is a n-tuple:
+
+```
+{1..100}{1..100} => (100X100) => 10,000 elements (38.4 kB)
+{1..100}{1..100}{1..100} => (100X100X100) => 1,000,000 elements (5.76 MB)
+```
+
+Although these examples are clearly contrived, they demonstrate how brace patterns can quickly grow out of control.
+
+**More information**
+
+Interested in learning more about brace expansion?
+
+* [linuxjournal/bash-brace-expansion](http://www.linuxjournal.com/content/bash-brace-expansion)
+* [rosettacode/Brace_expansion](https://rosettacode.org/wiki/Brace_expansion)
+* [cartesian product](https://en.wikipedia.org/wiki/Cartesian_product)
+
+
+
+## Performance
+
+Braces is not only screaming fast, it's also more accurate the other brace expansion libraries.
+
+### Better algorithms
+
+Fortunately there is a solution to the ["brace bomb" problem](#brace-matching-pitfalls): _don't expand brace patterns into an array when they're used for matching_.
+
+Instead, convert the pattern into an optimized regular expression. This is easier said than done, and braces is the only library that does this currently.
+
+**The proof is in the numbers**
+
+Minimatch gets exponentially slower as patterns increase in complexity, braces does not. The following results were generated using `braces()` and `minimatch.braceExpand()`, respectively.
+
+| **Pattern** | **braces** | **[minimatch](https://github.com/isaacs/minimatch)** |
+| --- | --- | --- |
+| `{1..9007199254740991}` | `298 B` (5ms 459μs) | N/A (freezes) |
+| `{1..1000000000000000}` | `41 B` (1ms 15μs) | N/A (freezes) |
+| `{1..100000000000000}` | `40 B` (890μs) | N/A (freezes) |
+| `{1..10000000000000}` | `39 B` (2ms 49μs) | N/A (freezes) |
+| `{1..1000000000000}` | `38 B` (608μs) | N/A (freezes) |
+| `{1..100000000000}` | `37 B` (397μs) | N/A (freezes) |
+| `{1..10000000000}` | `35 B` (983μs) | N/A (freezes) |
+| `{1..1000000000}` | `34 B` (798μs) | N/A (freezes) |
+| `{1..100000000}` | `33 B` (733μs) | N/A (freezes) |
+| `{1..10000000}` | `32 B` (5ms 632μs) | `78.89 MB` (16s 388ms 569μs) |
+| `{1..1000000}` | `31 B` (1ms 381μs) | `6.89 MB` (1s 496ms 887μs) |
+| `{1..100000}` | `30 B` (950μs) | `588.89 kB` (146ms 921μs) |
+| `{1..10000}` | `29 B` (1ms 114μs) | `48.89 kB` (14ms 187μs) |
+| `{1..1000}` | `28 B` (760μs) | `3.89 kB` (1ms 453μs) |
+| `{1..100}` | `22 B` (345μs) | `291 B` (196μs) |
+| `{1..10}` | `10 B` (533μs) | `20 B` (37μs) |
+| `{1..3}` | `7 B` (190μs) | `5 B` (27μs) |
+
+### Faster algorithms
+
+When you need expansion, braces is still much faster.
+
+_(the following results were generated using `braces.expand()` and `minimatch.braceExpand()`, respectively)_
+
+| **Pattern** | **braces** | **[minimatch](https://github.com/isaacs/minimatch)** |
+| --- | --- | --- |
+| `{1..10000000}` | `78.89 MB` (2s 698ms 642μs) | `78.89 MB` (18s 601ms 974μs) |
+| `{1..1000000}` | `6.89 MB` (458ms 576μs) | `6.89 MB` (1s 491ms 621μs) |
+| `{1..100000}` | `588.89 kB` (20ms 728μs) | `588.89 kB` (156ms 919μs) |
+| `{1..10000}` | `48.89 kB` (2ms 202μs) | `48.89 kB` (13ms 641μs) |
+| `{1..1000}` | `3.89 kB` (1ms 796μs) | `3.89 kB` (1ms 958μs) |
+| `{1..100}` | `291 B` (424μs) | `291 B` (211μs) |
+| `{1..10}` | `20 B` (487μs) | `20 B` (72μs) |
+| `{1..3}` | `5 B` (166μs) | `5 B` (27μs) |
+
+If you'd like to run these comparisons yourself, see [test/support/generate.js](test/support/generate.js).
+
+## Benchmarks
+
+### Running benchmarks
+
+Install dev dependencies:
+
+```bash
+npm i -d && npm benchmark
+```
+
+### Latest results
+
+```bash
+Benchmarking: (8 of 8)
+ · combination-nested
+ · combination
+ · escaped
+ · list-basic
+ · list-multiple
+ · no-braces
+ · sequence-basic
+ · sequence-multiple
+
+# benchmark/fixtures/combination-nested.js (52 bytes)
+ brace-expansion x 4,756 ops/sec ±1.09% (86 runs sampled)
+ braces x 11,202,303 ops/sec ±1.06% (88 runs sampled)
+ minimatch x 4,816 ops/sec ±0.99% (87 runs sampled)
+
+ fastest is braces
+
+# benchmark/fixtures/combination.js (51 bytes)
+ brace-expansion x 625 ops/sec ±0.87% (87 runs sampled)
+ braces x 11,031,884 ops/sec ±0.72% (90 runs sampled)
+ minimatch x 637 ops/sec ±0.84% (88 runs sampled)
+
+ fastest is braces
+
+# benchmark/fixtures/escaped.js (44 bytes)
+ brace-expansion x 163,325 ops/sec ±1.05% (87 runs sampled)
+ braces x 10,655,071 ops/sec ±1.22% (88 runs sampled)
+ minimatch x 147,495 ops/sec ±0.96% (88 runs sampled)
+
+ fastest is braces
+
+# benchmark/fixtures/list-basic.js (40 bytes)
+ brace-expansion x 99,726 ops/sec ±1.07% (83 runs sampled)
+ braces x 10,596,584 ops/sec ±0.98% (88 runs sampled)
+ minimatch x 100,069 ops/sec ±1.17% (86 runs sampled)
+
+ fastest is braces
+
+# benchmark/fixtures/list-multiple.js (52 bytes)
+ brace-expansion x 34,348 ops/sec ±1.08% (88 runs sampled)
+ braces x 9,264,131 ops/sec ±1.12% (88 runs sampled)
+ minimatch x 34,893 ops/sec ±0.87% (87 runs sampled)
+
+ fastest is braces
+
+# benchmark/fixtures/no-braces.js (48 bytes)
+ brace-expansion x 275,368 ops/sec ±1.18% (89 runs sampled)
+ braces x 9,134,677 ops/sec ±0.95% (88 runs sampled)
+ minimatch x 3,755,954 ops/sec ±1.13% (89 runs sampled)
+
+ fastest is braces
+
+# benchmark/fixtures/sequence-basic.js (41 bytes)
+ brace-expansion x 5,492 ops/sec ±1.35% (87 runs sampled)
+ braces x 8,485,034 ops/sec ±1.28% (89 runs sampled)
+ minimatch x 5,341 ops/sec ±1.17% (87 runs sampled)
+
+ fastest is braces
+
+# benchmark/fixtures/sequence-multiple.js (51 bytes)
+ brace-expansion x 116 ops/sec ±0.77% (77 runs sampled)
+ braces x 9,445,118 ops/sec ±1.32% (84 runs sampled)
+ minimatch x 109 ops/sec ±1.16% (76 runs sampled)
+
+ fastest is braces
+```
+
+## About
+
+
+Contributing
+
+Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new).
+
+
+
+
+Running Tests
+
+Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command:
+
+```sh
+$ npm install && npm test
+```
+
+
+
+
+Building docs
+
+_(This project's readme.md is generated by [verb](https://github.com/verbose/verb-generate-readme), please don't edit the readme directly. Any changes to the readme must be made in the [.verb.md](.verb.md) readme template.)_
+
+To generate the readme, run the following command:
+
+```sh
+$ npm install -g verbose/verb#dev verb-generate-readme && verb
+```
+
+
+
+### Related projects
+
+You might also be interested in these projects:
+
+* [expand-brackets](https://www.npmjs.com/package/expand-brackets): Expand POSIX bracket expressions (character classes) in glob patterns. | [homepage](https://github.com/jonschlinkert/expand-brackets "Expand POSIX bracket expressions (character classes) in glob patterns.")
+* [extglob](https://www.npmjs.com/package/extglob): Extended glob support for JavaScript. Adds (almost) the expressive power of regular expressions to glob… [more](https://github.com/micromatch/extglob) | [homepage](https://github.com/micromatch/extglob "Extended glob support for JavaScript. Adds (almost) the expressive power of regular expressions to glob patterns.")
+* [fill-range](https://www.npmjs.com/package/fill-range): Fill in a range of numbers or letters, optionally passing an increment or `step` to… [more](https://github.com/jonschlinkert/fill-range) | [homepage](https://github.com/jonschlinkert/fill-range "Fill in a range of numbers or letters, optionally passing an increment or `step` to use, or create a regex-compatible range with `options.toRegex`")
+* [micromatch](https://www.npmjs.com/package/micromatch): Glob matching for javascript/node.js. A drop-in replacement and faster alternative to minimatch and multimatch. | [homepage](https://github.com/micromatch/micromatch "Glob matching for javascript/node.js. A drop-in replacement and faster alternative to minimatch and multimatch.")
+* [nanomatch](https://www.npmjs.com/package/nanomatch): Fast, minimal glob matcher for node.js. Similar to micromatch, minimatch and multimatch, but complete Bash… [more](https://github.com/micromatch/nanomatch) | [homepage](https://github.com/micromatch/nanomatch "Fast, minimal glob matcher for node.js. Similar to micromatch, minimatch and multimatch, but complete Bash 4.3 wildcard support only (no support for exglobs, posix brackets or braces)")
+
+### Contributors
+
+| **Commits** | **Contributor** |
+| --- | --- |
+| 188 | [jonschlinkert](https://github.com/jonschlinkert) |
+| 4 | [doowb](https://github.com/doowb) |
+| 1 | [es128](https://github.com/es128) |
+| 1 | [eush77](https://github.com/eush77) |
+| 1 | [hemanth](https://github.com/hemanth) |
+
+### Author
+
+**Jon Schlinkert**
+
+* [linkedin/in/jonschlinkert](https://linkedin.com/in/jonschlinkert)
+* [github/jonschlinkert](https://github.com/jonschlinkert)
+* [twitter/jonschlinkert](https://twitter.com/jonschlinkert)
+
+### License
+
+Copyright © 2018, [Jon Schlinkert](https://github.com/jonschlinkert).
+Released under the [MIT License](LICENSE).
+
+***
+
+_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.6.0, on February 17, 2018._
+
+
+
\ No newline at end of file
diff --git a/node_modules/braces/index.js b/node_modules/braces/index.js
new file mode 100644
index 0000000..048e1c2
--- /dev/null
+++ b/node_modules/braces/index.js
@@ -0,0 +1,318 @@
+'use strict';
+
+/**
+ * Module dependencies
+ */
+
+var toRegex = require('to-regex');
+var unique = require('array-unique');
+var extend = require('extend-shallow');
+
+/**
+ * Local dependencies
+ */
+
+var compilers = require('./lib/compilers');
+var parsers = require('./lib/parsers');
+var Braces = require('./lib/braces');
+var utils = require('./lib/utils');
+var MAX_LENGTH = 1024 * 64;
+var cache = {};
+
+/**
+ * Convert the given `braces` pattern into a regex-compatible string. By default, only one string is generated for every input string. Set `options.expand` to true to return an array of patterns (similar to Bash or minimatch. Before using `options.expand`, it's recommended that you read the [performance notes](#performance)).
+ *
+ * ```js
+ * var braces = require('braces');
+ * console.log(braces('{a,b,c}'));
+ * //=> ['(a|b|c)']
+ *
+ * console.log(braces('{a,b,c}', {expand: true}));
+ * //=> ['a', 'b', 'c']
+ * ```
+ * @param {String} `str`
+ * @param {Object} `options`
+ * @return {String}
+ * @api public
+ */
+
+function braces(pattern, options) {
+ var key = utils.createKey(String(pattern), options);
+ var arr = [];
+
+ var disabled = options && options.cache === false;
+ if (!disabled && cache.hasOwnProperty(key)) {
+ return cache[key];
+ }
+
+ if (Array.isArray(pattern)) {
+ for (var i = 0; i < pattern.length; i++) {
+ arr.push.apply(arr, braces.create(pattern[i], options));
+ }
+ } else {
+ arr = braces.create(pattern, options);
+ }
+
+ if (options && options.nodupes === true) {
+ arr = unique(arr);
+ }
+
+ if (!disabled) {
+ cache[key] = arr;
+ }
+ return arr;
+}
+
+/**
+ * Expands a brace pattern into an array. This method is called by the main [braces](#braces) function when `options.expand` is true. Before using this method it's recommended that you read the [performance notes](#performance)) and advantages of using [.optimize](#optimize) instead.
+ *
+ * ```js
+ * var braces = require('braces');
+ * console.log(braces.expand('a/{b,c}/d'));
+ * //=> ['a/b/d', 'a/c/d'];
+ * ```
+ * @param {String} `pattern` Brace pattern
+ * @param {Object} `options`
+ * @return {Array} Returns an array of expanded values.
+ * @api public
+ */
+
+braces.expand = function(pattern, options) {
+ return braces.create(pattern, extend({}, options, {expand: true}));
+};
+
+/**
+ * Expands a brace pattern into a regex-compatible, optimized string. This method is called by the main [braces](#braces) function by default.
+ *
+ * ```js
+ * var braces = require('braces');
+ * console.log(braces.expand('a/{b,c}/d'));
+ * //=> ['a/(b|c)/d']
+ * ```
+ * @param {String} `pattern` Brace pattern
+ * @param {Object} `options`
+ * @return {Array} Returns an array of expanded values.
+ * @api public
+ */
+
+braces.optimize = function(pattern, options) {
+ return braces.create(pattern, options);
+};
+
+/**
+ * Processes a brace pattern and returns either an expanded array (if `options.expand` is true), a highly optimized regex-compatible string. This method is called by the main [braces](#braces) function.
+ *
+ * ```js
+ * var braces = require('braces');
+ * console.log(braces.create('user-{200..300}/project-{a,b,c}-{1..10}'))
+ * //=> 'user-(20[0-9]|2[1-9][0-9]|300)/project-(a|b|c)-([1-9]|10)'
+ * ```
+ * @param {String} `pattern` Brace pattern
+ * @param {Object} `options`
+ * @return {Array} Returns an array of expanded values.
+ * @api public
+ */
+
+braces.create = function(pattern, options) {
+ if (typeof pattern !== 'string') {
+ throw new TypeError('expected a string');
+ }
+
+ var maxLength = (options && options.maxLength) || MAX_LENGTH;
+ if (pattern.length >= maxLength) {
+ throw new Error('expected pattern to be less than ' + maxLength + ' characters');
+ }
+
+ function create() {
+ if (pattern === '' || pattern.length < 3) {
+ return [pattern];
+ }
+
+ if (utils.isEmptySets(pattern)) {
+ return [];
+ }
+
+ if (utils.isQuotedString(pattern)) {
+ return [pattern.slice(1, -1)];
+ }
+
+ var proto = new Braces(options);
+ var result = !options || options.expand !== true
+ ? proto.optimize(pattern, options)
+ : proto.expand(pattern, options);
+
+ // get the generated pattern(s)
+ var arr = result.output;
+
+ // filter out empty strings if specified
+ if (options && options.noempty === true) {
+ arr = arr.filter(Boolean);
+ }
+
+ // filter out duplicates if specified
+ if (options && options.nodupes === true) {
+ arr = unique(arr);
+ }
+
+ Object.defineProperty(arr, 'result', {
+ enumerable: false,
+ value: result
+ });
+
+ return arr;
+ }
+
+ return memoize('create', pattern, options, create);
+};
+
+/**
+ * Create a regular expression from the given string `pattern`.
+ *
+ * ```js
+ * var braces = require('braces');
+ *
+ * console.log(braces.makeRe('id-{200..300}'));
+ * //=> /^(?:id-(20[0-9]|2[1-9][0-9]|300))$/
+ * ```
+ * @param {String} `pattern` The pattern to convert to regex.
+ * @param {Object} `options`
+ * @return {RegExp}
+ * @api public
+ */
+
+braces.makeRe = function(pattern, options) {
+ if (typeof pattern !== 'string') {
+ throw new TypeError('expected a string');
+ }
+
+ var maxLength = (options && options.maxLength) || MAX_LENGTH;
+ if (pattern.length >= maxLength) {
+ throw new Error('expected pattern to be less than ' + maxLength + ' characters');
+ }
+
+ function makeRe() {
+ var arr = braces(pattern, options);
+ var opts = extend({strictErrors: false}, options);
+ return toRegex(arr, opts);
+ }
+
+ return memoize('makeRe', pattern, options, makeRe);
+};
+
+/**
+ * Parse the given `str` with the given `options`.
+ *
+ * ```js
+ * var braces = require('braces');
+ * var ast = braces.parse('a/{b,c}/d');
+ * console.log(ast);
+ * // { type: 'root',
+ * // errors: [],
+ * // input: 'a/{b,c}/d',
+ * // nodes:
+ * // [ { type: 'bos', val: '' },
+ * // { type: 'text', val: 'a/' },
+ * // { type: 'brace',
+ * // nodes:
+ * // [ { type: 'brace.open', val: '{' },
+ * // { type: 'text', val: 'b,c' },
+ * // { type: 'brace.close', val: '}' } ] },
+ * // { type: 'text', val: '/d' },
+ * // { type: 'eos', val: '' } ] }
+ * ```
+ * @param {String} `pattern` Brace pattern to parse
+ * @param {Object} `options`
+ * @return {Object} Returns an AST
+ * @api public
+ */
+
+braces.parse = function(pattern, options) {
+ var proto = new Braces(options);
+ return proto.parse(pattern, options);
+};
+
+/**
+ * Compile the given `ast` or string with the given `options`.
+ *
+ * ```js
+ * var braces = require('braces');
+ * var ast = braces.parse('a/{b,c}/d');
+ * console.log(braces.compile(ast));
+ * // { options: { source: 'string' },
+ * // state: {},
+ * // compilers:
+ * // { eos: [Function],
+ * // noop: [Function],
+ * // bos: [Function],
+ * // brace: [Function],
+ * // 'brace.open': [Function],
+ * // text: [Function],
+ * // 'brace.close': [Function] },
+ * // output: [ 'a/(b|c)/d' ],
+ * // ast:
+ * // { ... },
+ * // parsingErrors: [] }
+ * ```
+ * @param {Object|String} `ast` AST from [.parse](#parse). If a string is passed it will be parsed first.
+ * @param {Object} `options`
+ * @return {Object} Returns an object that has an `output` property with the compiled string.
+ * @api public
+ */
+
+braces.compile = function(ast, options) {
+ var proto = new Braces(options);
+ return proto.compile(ast, options);
+};
+
+/**
+ * Clear the regex cache.
+ *
+ * ```js
+ * braces.clearCache();
+ * ```
+ * @api public
+ */
+
+braces.clearCache = function() {
+ cache = braces.cache = {};
+};
+
+/**
+ * Memoize a generated regex or function. A unique key is generated
+ * from the method name, pattern, and user-defined options. Set
+ * options.memoize to false to disable.
+ */
+
+function memoize(type, pattern, options, fn) {
+ var key = utils.createKey(type + ':' + pattern, options);
+ var disabled = options && options.cache === false;
+ if (disabled) {
+ braces.clearCache();
+ return fn(pattern, options);
+ }
+
+ if (cache.hasOwnProperty(key)) {
+ return cache[key];
+ }
+
+ var res = fn(pattern, options);
+ cache[key] = res;
+ return res;
+}
+
+/**
+ * Expose `Braces` constructor and methods
+ * @type {Function}
+ */
+
+braces.Braces = Braces;
+braces.compilers = compilers;
+braces.parsers = parsers;
+braces.cache = cache;
+
+/**
+ * Expose `braces`
+ * @type {Function}
+ */
+
+module.exports = braces;
diff --git a/node_modules/braces/lib/braces.js b/node_modules/braces/lib/braces.js
new file mode 100644
index 0000000..baf6bf1
--- /dev/null
+++ b/node_modules/braces/lib/braces.js
@@ -0,0 +1,104 @@
+'use strict';
+
+var extend = require('extend-shallow');
+var Snapdragon = require('snapdragon');
+var compilers = require('./compilers');
+var parsers = require('./parsers');
+var utils = require('./utils');
+
+/**
+ * Customize Snapdragon parser and renderer
+ */
+
+function Braces(options) {
+ this.options = extend({}, options);
+}
+
+/**
+ * Initialize braces
+ */
+
+Braces.prototype.init = function(options) {
+ if (this.isInitialized) return;
+ this.isInitialized = true;
+ var opts = utils.createOptions({}, this.options, options);
+ this.snapdragon = this.options.snapdragon || new Snapdragon(opts);
+ this.compiler = this.snapdragon.compiler;
+ this.parser = this.snapdragon.parser;
+
+ compilers(this.snapdragon, opts);
+ parsers(this.snapdragon, opts);
+
+ /**
+ * Call Snapdragon `.parse` method. When AST is returned, we check to
+ * see if any unclosed braces are left on the stack and, if so, we iterate
+ * over the stack and correct the AST so that compilers are called in the correct
+ * order and unbalance braces are properly escaped.
+ */
+
+ utils.define(this.snapdragon, 'parse', function(pattern, options) {
+ var parsed = Snapdragon.prototype.parse.apply(this, arguments);
+ this.parser.ast.input = pattern;
+
+ var stack = this.parser.stack;
+ while (stack.length) {
+ addParent({type: 'brace.close', val: ''}, stack.pop());
+ }
+
+ function addParent(node, parent) {
+ utils.define(node, 'parent', parent);
+ parent.nodes.push(node);
+ }
+
+ // add non-enumerable parser reference
+ utils.define(parsed, 'parser', this.parser);
+ return parsed;
+ });
+};
+
+/**
+ * Decorate `.parse` method
+ */
+
+Braces.prototype.parse = function(ast, options) {
+ if (ast && typeof ast === 'object' && ast.nodes) return ast;
+ this.init(options);
+ return this.snapdragon.parse(ast, options);
+};
+
+/**
+ * Decorate `.compile` method
+ */
+
+Braces.prototype.compile = function(ast, options) {
+ if (typeof ast === 'string') {
+ ast = this.parse(ast, options);
+ } else {
+ this.init(options);
+ }
+ return this.snapdragon.compile(ast, options);
+};
+
+/**
+ * Expand
+ */
+
+Braces.prototype.expand = function(pattern) {
+ var ast = this.parse(pattern, {expand: true});
+ return this.compile(ast, {expand: true});
+};
+
+/**
+ * Optimize
+ */
+
+Braces.prototype.optimize = function(pattern) {
+ var ast = this.parse(pattern, {optimize: true});
+ return this.compile(ast, {optimize: true});
+};
+
+/**
+ * Expose `Braces`
+ */
+
+module.exports = Braces;
diff --git a/node_modules/braces/lib/compilers.js b/node_modules/braces/lib/compilers.js
new file mode 100644
index 0000000..a3b820e
--- /dev/null
+++ b/node_modules/braces/lib/compilers.js
@@ -0,0 +1,282 @@
+'use strict';
+
+var utils = require('./utils');
+
+module.exports = function(braces, options) {
+ braces.compiler
+
+ /**
+ * bos
+ */
+
+ .set('bos', function() {
+ if (this.output) return;
+ this.ast.queue = isEscaped(this.ast) ? [this.ast.val] : [];
+ this.ast.count = 1;
+ })
+
+ /**
+ * Square brackets
+ */
+
+ .set('bracket', function(node) {
+ var close = node.close;
+ var open = !node.escaped ? '[' : '\\[';
+ var negated = node.negated;
+ var inner = node.inner;
+
+ inner = inner.replace(/\\(?=[\\\w]|$)/g, '\\\\');
+ if (inner === ']-') {
+ inner = '\\]\\-';
+ }
+
+ if (negated && inner.indexOf('.') === -1) {
+ inner += '.';
+ }
+ if (negated && inner.indexOf('/') === -1) {
+ inner += '/';
+ }
+
+ var val = open + negated + inner + close;
+ var queue = node.parent.queue;
+ var last = utils.arrayify(queue.pop());
+
+ queue.push(utils.join(last, val));
+ queue.push.apply(queue, []);
+ })
+
+ /**
+ * Brace
+ */
+
+ .set('brace', function(node) {
+ node.queue = isEscaped(node) ? [node.val] : [];
+ node.count = 1;
+ return this.mapVisit(node.nodes);
+ })
+
+ /**
+ * Open
+ */
+
+ .set('brace.open', function(node) {
+ node.parent.open = node.val;
+ })
+
+ /**
+ * Inner
+ */
+
+ .set('text', function(node) {
+ var queue = node.parent.queue;
+ var escaped = node.escaped;
+ var segs = [node.val];
+
+ if (node.optimize === false) {
+ options = utils.extend({}, options, {optimize: false});
+ }
+
+ if (node.multiplier > 1) {
+ node.parent.count *= node.multiplier;
+ }
+
+ if (options.quantifiers === true && utils.isQuantifier(node.val)) {
+ escaped = true;
+
+ } else if (node.val.length > 1) {
+ if (isType(node.parent, 'brace') && !isEscaped(node)) {
+ var expanded = utils.expand(node.val, options);
+ segs = expanded.segs;
+
+ if (expanded.isOptimized) {
+ node.parent.isOptimized = true;
+ }
+
+ // if nothing was expanded, we probably have a literal brace
+ if (!segs.length) {
+ var val = (expanded.val || node.val);
+ if (options.unescape !== false) {
+ // unescape unexpanded brace sequence/set separators
+ val = val.replace(/\\([,.])/g, '$1');
+ // strip quotes
+ val = val.replace(/["'`]/g, '');
+ }
+
+ segs = [val];
+ escaped = true;
+ }
+ }
+
+ } else if (node.val === ',') {
+ if (options.expand) {
+ node.parent.queue.push(['']);
+ segs = [''];
+ } else {
+ segs = ['|'];
+ }
+ } else {
+ escaped = true;
+ }
+
+ if (escaped && isType(node.parent, 'brace')) {
+ if (node.parent.nodes.length <= 4 && node.parent.count === 1) {
+ node.parent.escaped = true;
+ } else if (node.parent.length <= 3) {
+ node.parent.escaped = true;
+ }
+ }
+
+ if (!hasQueue(node.parent)) {
+ node.parent.queue = segs;
+ return;
+ }
+
+ var last = utils.arrayify(queue.pop());
+ if (node.parent.count > 1 && options.expand) {
+ last = multiply(last, node.parent.count);
+ node.parent.count = 1;
+ }
+
+ queue.push(utils.join(utils.flatten(last), segs.shift()));
+ queue.push.apply(queue, segs);
+ })
+
+ /**
+ * Close
+ */
+
+ .set('brace.close', function(node) {
+ var queue = node.parent.queue;
+ var prev = node.parent.parent;
+ var last = prev.queue.pop();
+ var open = node.parent.open;
+ var close = node.val;
+
+ if (open && close && isOptimized(node, options)) {
+ open = '(';
+ close = ')';
+ }
+
+ // if a close brace exists, and the previous segment is one character
+ // don't wrap the result in braces or parens
+ var ele = utils.last(queue);
+ if (node.parent.count > 1 && options.expand) {
+ ele = multiply(queue.pop(), node.parent.count);
+ node.parent.count = 1;
+ queue.push(ele);
+ }
+
+ if (close && typeof ele === 'string' && ele.length === 1) {
+ open = '';
+ close = '';
+ }
+
+ if ((isLiteralBrace(node, options) || noInner(node)) && !node.parent.hasEmpty) {
+ queue.push(utils.join(open, queue.pop() || ''));
+ queue = utils.flatten(utils.join(queue, close));
+ }
+
+ if (typeof last === 'undefined') {
+ prev.queue = [queue];
+ } else {
+ prev.queue.push(utils.flatten(utils.join(last, queue)));
+ }
+ })
+
+ /**
+ * eos
+ */
+
+ .set('eos', function(node) {
+ if (this.input) return;
+
+ if (options.optimize !== false) {
+ this.output = utils.last(utils.flatten(this.ast.queue));
+ } else if (Array.isArray(utils.last(this.ast.queue))) {
+ this.output = utils.flatten(this.ast.queue.pop());
+ } else {
+ this.output = utils.flatten(this.ast.queue);
+ }
+
+ if (node.parent.count > 1 && options.expand) {
+ this.output = multiply(this.output, node.parent.count);
+ }
+
+ this.output = utils.arrayify(this.output);
+ this.ast.queue = [];
+ });
+
+};
+
+/**
+ * Multiply the segments in the current brace level
+ */
+
+function multiply(queue, n, options) {
+ return utils.flatten(utils.repeat(utils.arrayify(queue), n));
+}
+
+/**
+ * Return true if `node` is escaped
+ */
+
+function isEscaped(node) {
+ return node.escaped === true;
+}
+
+/**
+ * Returns true if regex parens should be used for sets. If the parent `type`
+ * is not `brace`, then we're on a root node, which means we should never
+ * expand segments and open/close braces should be `{}` (since this indicates
+ * a brace is missing from the set)
+ */
+
+function isOptimized(node, options) {
+ if (node.parent.isOptimized) return true;
+ return isType(node.parent, 'brace')
+ && !isEscaped(node.parent)
+ && options.expand !== true;
+}
+
+/**
+ * Returns true if the value in `node` should be wrapped in a literal brace.
+ * @return {Boolean}
+ */
+
+function isLiteralBrace(node, options) {
+ return isEscaped(node.parent) || options.optimize !== false;
+}
+
+/**
+ * Returns true if the given `node` does not have an inner value.
+ * @return {Boolean}
+ */
+
+function noInner(node, type) {
+ if (node.parent.queue.length === 1) {
+ return true;
+ }
+ var nodes = node.parent.nodes;
+ return nodes.length === 3
+ && isType(nodes[0], 'brace.open')
+ && !isType(nodes[1], 'text')
+ && isType(nodes[2], 'brace.close');
+}
+
+/**
+ * Returns true if the given `node` is the given `type`
+ * @return {Boolean}
+ */
+
+function isType(node, type) {
+ return typeof node !== 'undefined' && node.type === type;
+}
+
+/**
+ * Returns true if the given `node` has a non-empty queue.
+ * @return {Boolean}
+ */
+
+function hasQueue(node) {
+ return Array.isArray(node.queue) && node.queue.length;
+}
diff --git a/node_modules/braces/lib/parsers.js b/node_modules/braces/lib/parsers.js
new file mode 100644
index 0000000..8bf3e92
--- /dev/null
+++ b/node_modules/braces/lib/parsers.js
@@ -0,0 +1,360 @@
+'use strict';
+
+var Node = require('snapdragon-node');
+var utils = require('./utils');
+
+/**
+ * Braces parsers
+ */
+
+module.exports = function(braces, options) {
+ braces.parser
+ .set('bos', function() {
+ if (!this.parsed) {
+ this.ast = this.nodes[0] = new Node(this.ast);
+ }
+ })
+
+ /**
+ * Character parsers
+ */
+
+ .set('escape', function() {
+ var pos = this.position();
+ var m = this.match(/^(?:\\(.)|\$\{)/);
+ if (!m) return;
+
+ var prev = this.prev();
+ var last = utils.last(prev.nodes);
+
+ var node = pos(new Node({
+ type: 'text',
+ multiplier: 1,
+ val: m[0]
+ }));
+
+ if (node.val === '\\\\') {
+ return node;
+ }
+
+ if (node.val === '${') {
+ var str = this.input;
+ var idx = -1;
+ var ch;
+
+ while ((ch = str[++idx])) {
+ this.consume(1);
+ node.val += ch;
+ if (ch === '\\') {
+ node.val += str[++idx];
+ continue;
+ }
+ if (ch === '}') {
+ break;
+ }
+ }
+ }
+
+ if (this.options.unescape !== false) {
+ node.val = node.val.replace(/\\([{}])/g, '$1');
+ }
+
+ if (last.val === '"' && this.input.charAt(0) === '"') {
+ last.val = node.val;
+ this.consume(1);
+ return;
+ }
+
+ return concatNodes.call(this, pos, node, prev, options);
+ })
+
+ /**
+ * Brackets: "[...]" (basic, this is overridden by
+ * other parsers in more advanced implementations)
+ */
+
+ .set('bracket', function() {
+ var isInside = this.isInside('brace');
+ var pos = this.position();
+ var m = this.match(/^(?:\[([!^]?)([^\]]{2,}|\]-)(\]|[^*+?]+)|\[)/);
+ if (!m) return;
+
+ var prev = this.prev();
+ var val = m[0];
+ var negated = m[1] ? '^' : '';
+ var inner = m[2] || '';
+ var close = m[3] || '';
+
+ if (isInside && prev.type === 'brace') {
+ prev.text = prev.text || '';
+ prev.text += val;
+ }
+
+ var esc = this.input.slice(0, 2);
+ if (inner === '' && esc === '\\]') {
+ inner += esc;
+ this.consume(2);
+
+ var str = this.input;
+ var idx = -1;
+ var ch;
+
+ while ((ch = str[++idx])) {
+ this.consume(1);
+ if (ch === ']') {
+ close = ch;
+ break;
+ }
+ inner += ch;
+ }
+ }
+
+ return pos(new Node({
+ type: 'bracket',
+ val: val,
+ escaped: close !== ']',
+ negated: negated,
+ inner: inner,
+ close: close
+ }));
+ })
+
+ /**
+ * Empty braces (we capture these early to
+ * speed up processing in the compiler)
+ */
+
+ .set('multiplier', function() {
+ var isInside = this.isInside('brace');
+ var pos = this.position();
+ var m = this.match(/^\{((?:,|\{,+\})+)\}/);
+ if (!m) return;
+
+ this.multiplier = true;
+ var prev = this.prev();
+ var val = m[0];
+
+ if (isInside && prev.type === 'brace') {
+ prev.text = prev.text || '';
+ prev.text += val;
+ }
+
+ var node = pos(new Node({
+ type: 'text',
+ multiplier: 1,
+ match: m,
+ val: val
+ }));
+
+ return concatNodes.call(this, pos, node, prev, options);
+ })
+
+ /**
+ * Open
+ */
+
+ .set('brace.open', function() {
+ var pos = this.position();
+ var m = this.match(/^\{(?!(?:[^\\}]?|,+)\})/);
+ if (!m) return;
+
+ var prev = this.prev();
+ var last = utils.last(prev.nodes);
+
+ // if the last parsed character was an extglob character
+ // we need to _not optimize_ the brace pattern because
+ // it might be mistaken for an extglob by a downstream parser
+ if (last && last.val && isExtglobChar(last.val.slice(-1))) {
+ last.optimize = false;
+ }
+
+ var open = pos(new Node({
+ type: 'brace.open',
+ val: m[0]
+ }));
+
+ var node = pos(new Node({
+ type: 'brace',
+ nodes: []
+ }));
+
+ node.push(open);
+ prev.push(node);
+ this.push('brace', node);
+ })
+
+ /**
+ * Close
+ */
+
+ .set('brace.close', function() {
+ var pos = this.position();
+ var m = this.match(/^\}/);
+ if (!m || !m[0]) return;
+
+ var brace = this.pop('brace');
+ var node = pos(new Node({
+ type: 'brace.close',
+ val: m[0]
+ }));
+
+ if (!this.isType(brace, 'brace')) {
+ if (this.options.strict) {
+ throw new Error('missing opening "{"');
+ }
+ node.type = 'text';
+ node.multiplier = 0;
+ node.escaped = true;
+ return node;
+ }
+
+ var prev = this.prev();
+ var last = utils.last(prev.nodes);
+ if (last.text) {
+ var lastNode = utils.last(last.nodes);
+ if (lastNode.val === ')' && /[!@*?+]\(/.test(last.text)) {
+ var open = last.nodes[0];
+ var text = last.nodes[1];
+ if (open.type === 'brace.open' && text && text.type === 'text') {
+ text.optimize = false;
+ }
+ }
+ }
+
+ if (brace.nodes.length > 2) {
+ var first = brace.nodes[1];
+ if (first.type === 'text' && first.val === ',') {
+ brace.nodes.splice(1, 1);
+ brace.nodes.push(first);
+ }
+ }
+
+ brace.push(node);
+ })
+
+ /**
+ * Capture boundary characters
+ */
+
+ .set('boundary', function() {
+ var pos = this.position();
+ var m = this.match(/^[$^](?!\{)/);
+ if (!m) return;
+ return pos(new Node({
+ type: 'text',
+ val: m[0]
+ }));
+ })
+
+ /**
+ * One or zero, non-comma characters wrapped in braces
+ */
+
+ .set('nobrace', function() {
+ var isInside = this.isInside('brace');
+ var pos = this.position();
+ var m = this.match(/^\{[^,]?\}/);
+ if (!m) return;
+
+ var prev = this.prev();
+ var val = m[0];
+
+ if (isInside && prev.type === 'brace') {
+ prev.text = prev.text || '';
+ prev.text += val;
+ }
+
+ return pos(new Node({
+ type: 'text',
+ multiplier: 0,
+ val: val
+ }));
+ })
+
+ /**
+ * Text
+ */
+
+ .set('text', function() {
+ var isInside = this.isInside('brace');
+ var pos = this.position();
+ var m = this.match(/^((?!\\)[^${}[\]])+/);
+ if (!m) return;
+
+ var prev = this.prev();
+ var val = m[0];
+
+ if (isInside && prev.type === 'brace') {
+ prev.text = prev.text || '';
+ prev.text += val;
+ }
+
+ var node = pos(new Node({
+ type: 'text',
+ multiplier: 1,
+ val: val
+ }));
+
+ return concatNodes.call(this, pos, node, prev, options);
+ });
+};
+
+/**
+ * Returns true if the character is an extglob character.
+ */
+
+function isExtglobChar(ch) {
+ return ch === '!' || ch === '@' || ch === '*' || ch === '?' || ch === '+';
+}
+
+/**
+ * Combine text nodes, and calculate empty sets (`{,,}`)
+ * @param {Function} `pos` Function to calculate node position
+ * @param {Object} `node` AST node
+ * @return {Object}
+ */
+
+function concatNodes(pos, node, parent, options) {
+ node.orig = node.val;
+ var prev = this.prev();
+ var last = utils.last(prev.nodes);
+ var isEscaped = false;
+
+ if (node.val.length > 1) {
+ var a = node.val.charAt(0);
+ var b = node.val.slice(-1);
+
+ isEscaped = (a === '"' && b === '"')
+ || (a === "'" && b === "'")
+ || (a === '`' && b === '`');
+ }
+
+ if (isEscaped && options.unescape !== false) {
+ node.val = node.val.slice(1, node.val.length - 1);
+ node.escaped = true;
+ }
+
+ if (node.match) {
+ var match = node.match[1];
+ if (!match || match.indexOf('}') === -1) {
+ match = node.match[0];
+ }
+
+ // replace each set with a single ","
+ var val = match.replace(/\{/g, ',').replace(/\}/g, '');
+ node.multiplier *= val.length;
+ node.val = '';
+ }
+
+ var simpleText = last.type === 'text'
+ && last.multiplier === 1
+ && node.multiplier === 1
+ && node.val;
+
+ if (simpleText) {
+ last.val += node.val;
+ return;
+ }
+
+ prev.push(node);
+}
diff --git a/node_modules/braces/lib/utils.js b/node_modules/braces/lib/utils.js
new file mode 100644
index 0000000..4716671
--- /dev/null
+++ b/node_modules/braces/lib/utils.js
@@ -0,0 +1,343 @@
+'use strict';
+
+var splitString = require('split-string');
+var utils = module.exports;
+
+/**
+ * Module dependencies
+ */
+
+utils.extend = require('extend-shallow');
+utils.flatten = require('arr-flatten');
+utils.isObject = require('isobject');
+utils.fillRange = require('fill-range');
+utils.repeat = require('repeat-element');
+utils.unique = require('array-unique');
+
+utils.define = function(obj, key, val) {
+ Object.defineProperty(obj, key, {
+ writable: true,
+ configurable: true,
+ enumerable: false,
+ value: val
+ });
+};
+
+/**
+ * Returns true if the given string contains only empty brace sets.
+ */
+
+utils.isEmptySets = function(str) {
+ return /^(?:\{,\})+$/.test(str);
+};
+
+/**
+ * Returns true if the given string contains only empty brace sets.
+ */
+
+utils.isQuotedString = function(str) {
+ var open = str.charAt(0);
+ if (open === '\'' || open === '"' || open === '`') {
+ return str.slice(-1) === open;
+ }
+ return false;
+};
+
+/**
+ * Create the key to use for memoization. The unique key is generated
+ * by iterating over the options and concatenating key-value pairs
+ * to the pattern string.
+ */
+
+utils.createKey = function(pattern, options) {
+ var id = pattern;
+ if (typeof options === 'undefined') {
+ return id;
+ }
+ var keys = Object.keys(options);
+ for (var i = 0; i < keys.length; i++) {
+ var key = keys[i];
+ id += ';' + key + '=' + String(options[key]);
+ }
+ return id;
+};
+
+/**
+ * Normalize options
+ */
+
+utils.createOptions = function(options) {
+ var opts = utils.extend.apply(null, arguments);
+ if (typeof opts.expand === 'boolean') {
+ opts.optimize = !opts.expand;
+ }
+ if (typeof opts.optimize === 'boolean') {
+ opts.expand = !opts.optimize;
+ }
+ if (opts.optimize === true) {
+ opts.makeRe = true;
+ }
+ return opts;
+};
+
+/**
+ * Join patterns in `a` to patterns in `b`
+ */
+
+utils.join = function(a, b, options) {
+ options = options || {};
+ a = utils.arrayify(a);
+ b = utils.arrayify(b);
+
+ if (!a.length) return b;
+ if (!b.length) return a;
+
+ var len = a.length;
+ var idx = -1;
+ var arr = [];
+
+ while (++idx < len) {
+ var val = a[idx];
+ if (Array.isArray(val)) {
+ for (var i = 0; i < val.length; i++) {
+ val[i] = utils.join(val[i], b, options);
+ }
+ arr.push(val);
+ continue;
+ }
+
+ for (var j = 0; j < b.length; j++) {
+ var bval = b[j];
+
+ if (Array.isArray(bval)) {
+ arr.push(utils.join(val, bval, options));
+ } else {
+ arr.push(val + bval);
+ }
+ }
+ }
+ return arr;
+};
+
+/**
+ * Split the given string on `,` if not escaped.
+ */
+
+utils.split = function(str, options) {
+ var opts = utils.extend({sep: ','}, options);
+ if (typeof opts.keepQuotes !== 'boolean') {
+ opts.keepQuotes = true;
+ }
+ if (opts.unescape === false) {
+ opts.keepEscaping = true;
+ }
+ return splitString(str, opts, utils.escapeBrackets(opts));
+};
+
+/**
+ * Expand ranges or sets in the given `pattern`.
+ *
+ * @param {String} `str`
+ * @param {Object} `options`
+ * @return {Object}
+ */
+
+utils.expand = function(str, options) {
+ var opts = utils.extend({rangeLimit: 10000}, options);
+ var segs = utils.split(str, opts);
+ var tok = { segs: segs };
+
+ if (utils.isQuotedString(str)) {
+ return tok;
+ }
+
+ if (opts.rangeLimit === true) {
+ opts.rangeLimit = 10000;
+ }
+
+ if (segs.length > 1) {
+ if (opts.optimize === false) {
+ tok.val = segs[0];
+ return tok;
+ }
+
+ tok.segs = utils.stringifyArray(tok.segs);
+ } else if (segs.length === 1) {
+ var arr = str.split('..');
+
+ if (arr.length === 1) {
+ tok.val = tok.segs[tok.segs.length - 1] || tok.val || str;
+ tok.segs = [];
+ return tok;
+ }
+
+ if (arr.length === 2 && arr[0] === arr[1]) {
+ tok.escaped = true;
+ tok.val = arr[0];
+ tok.segs = [];
+ return tok;
+ }
+
+ if (arr.length > 1) {
+ if (opts.optimize !== false) {
+ opts.optimize = true;
+ delete opts.expand;
+ }
+
+ if (opts.optimize !== true) {
+ var min = Math.min(arr[0], arr[1]);
+ var max = Math.max(arr[0], arr[1]);
+ var step = arr[2] || 1;
+
+ if (opts.rangeLimit !== false && ((max - min) / step >= opts.rangeLimit)) {
+ throw new RangeError('expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.');
+ }
+ }
+
+ arr.push(opts);
+ tok.segs = utils.fillRange.apply(null, arr);
+
+ if (!tok.segs.length) {
+ tok.escaped = true;
+ tok.val = str;
+ return tok;
+ }
+
+ if (opts.optimize === true) {
+ tok.segs = utils.stringifyArray(tok.segs);
+ }
+
+ if (tok.segs === '') {
+ tok.val = str;
+ } else {
+ tok.val = tok.segs[0];
+ }
+ return tok;
+ }
+ } else {
+ tok.val = str;
+ }
+ return tok;
+};
+
+/**
+ * Ensure commas inside brackets and parens are not split.
+ * @param {Object} `tok` Token from the `split-string` module
+ * @return {undefined}
+ */
+
+utils.escapeBrackets = function(options) {
+ return function(tok) {
+ if (tok.escaped && tok.val === 'b') {
+ tok.val = '\\b';
+ return;
+ }
+
+ if (tok.val !== '(' && tok.val !== '[') return;
+ var opts = utils.extend({}, options);
+ var brackets = [];
+ var parens = [];
+ var stack = [];
+ var val = tok.val;
+ var str = tok.str;
+ var i = tok.idx - 1;
+
+ while (++i < str.length) {
+ var ch = str[i];
+
+ if (ch === '\\') {
+ val += (opts.keepEscaping === false ? '' : ch) + str[++i];
+ continue;
+ }
+
+ if (ch === '(') {
+ parens.push(ch);
+ stack.push(ch);
+ }
+
+ if (ch === '[') {
+ brackets.push(ch);
+ stack.push(ch);
+ }
+
+ if (ch === ')') {
+ parens.pop();
+ stack.pop();
+ if (!stack.length) {
+ val += ch;
+ break;
+ }
+ }
+
+ if (ch === ']') {
+ brackets.pop();
+ stack.pop();
+ if (!stack.length) {
+ val += ch;
+ break;
+ }
+ }
+ val += ch;
+ }
+
+ tok.split = false;
+ tok.val = val.slice(1);
+ tok.idx = i;
+ };
+};
+
+/**
+ * Returns true if the given string looks like a regex quantifier
+ * @return {Boolean}
+ */
+
+utils.isQuantifier = function(str) {
+ return /^(?:[0-9]?,[0-9]|[0-9],)$/.test(str);
+};
+
+/**
+ * Cast `val` to an array.
+ * @param {*} `val`
+ */
+
+utils.stringifyArray = function(arr) {
+ return [utils.arrayify(arr).join('|')];
+};
+
+/**
+ * Cast `val` to an array.
+ * @param {*} `val`
+ */
+
+utils.arrayify = function(arr) {
+ if (typeof arr === 'undefined') {
+ return [];
+ }
+ if (typeof arr === 'string') {
+ return [arr];
+ }
+ return arr;
+};
+
+/**
+ * Returns true if the given `str` is a non-empty string
+ * @return {Boolean}
+ */
+
+utils.isString = function(str) {
+ return str != null && typeof str === 'string';
+};
+
+/**
+ * Get the last element from `array`
+ * @param {Array} `array`
+ * @return {*}
+ */
+
+utils.last = function(arr, n) {
+ return arr[arr.length - (n || 1)];
+};
+
+utils.escapeRegex = function(str) {
+ return str.replace(/\\?([!^*?()[\]{}+?/])/g, '\\$1');
+};
diff --git a/node_modules/braces/node_modules/extend-shallow/LICENSE b/node_modules/braces/node_modules/extend-shallow/LICENSE
new file mode 100644
index 0000000..fa30c4c
--- /dev/null
+++ b/node_modules/braces/node_modules/extend-shallow/LICENSE
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) 2014-2015, Jon Schlinkert.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/node_modules/braces/node_modules/extend-shallow/README.md b/node_modules/braces/node_modules/extend-shallow/README.md
new file mode 100644
index 0000000..cdc45d4
--- /dev/null
+++ b/node_modules/braces/node_modules/extend-shallow/README.md
@@ -0,0 +1,61 @@
+# extend-shallow [](http://badge.fury.io/js/extend-shallow) [](https://travis-ci.org/jonschlinkert/extend-shallow)
+
+> Extend an object with the properties of additional objects. node.js/javascript util.
+
+## Install
+
+Install with [npm](https://www.npmjs.com/)
+
+```sh
+$ npm i extend-shallow --save
+```
+
+## Usage
+
+```js
+var extend = require('extend-shallow');
+
+extend({a: 'b'}, {c: 'd'})
+//=> {a: 'b', c: 'd'}
+```
+
+Pass an empty object to shallow clone:
+
+```js
+var obj = {};
+extend(obj, {a: 'b'}, {c: 'd'})
+//=> {a: 'b', c: 'd'}
+```
+
+## Related
+
+* [extend-shallow](https://github.com/jonschlinkert/extend-shallow): Extend an object with the properties of additional objects. node.js/javascript util.
+* [for-own](https://github.com/jonschlinkert/for-own): Iterate over the own enumerable properties of an object, and return an object with properties… [more](https://github.com/jonschlinkert/for-own)
+* [for-in](https://github.com/jonschlinkert/for-in): Iterate over the own and inherited enumerable properties of an objecte, and return an object… [more](https://github.com/jonschlinkert/for-in)
+* [is-plain-object](https://github.com/jonschlinkert/is-plain-object): Returns true if an object was created by the `Object` constructor.
+* [isobject](https://github.com/jonschlinkert/isobject): Returns true if the value is an object and not an array or null.
+* [kind-of](https://github.com/jonschlinkert/kind-of): Get the native type of a value.
+
+## Running tests
+
+Install dev dependencies:
+
+```sh
+$ npm i -d && npm test
+```
+
+## Author
+
+**Jon Schlinkert**
+
++ [github/jonschlinkert](https://github.com/jonschlinkert)
++ [twitter/jonschlinkert](http://twitter.com/jonschlinkert)
+
+## License
+
+Copyright © 2015 Jon Schlinkert
+Released under the MIT license.
+
+***
+
+_This file was generated by [verb-cli](https://github.com/assemble/verb-cli) on June 29, 2015._
\ No newline at end of file
diff --git a/node_modules/braces/node_modules/extend-shallow/index.js b/node_modules/braces/node_modules/extend-shallow/index.js
new file mode 100644
index 0000000..92a067f
--- /dev/null
+++ b/node_modules/braces/node_modules/extend-shallow/index.js
@@ -0,0 +1,33 @@
+'use strict';
+
+var isObject = require('is-extendable');
+
+module.exports = function extend(o/*, objects*/) {
+ if (!isObject(o)) { o = {}; }
+
+ var len = arguments.length;
+ for (var i = 1; i < len; i++) {
+ var obj = arguments[i];
+
+ if (isObject(obj)) {
+ assign(o, obj);
+ }
+ }
+ return o;
+};
+
+function assign(a, b) {
+ for (var key in b) {
+ if (hasOwn(b, key)) {
+ a[key] = b[key];
+ }
+ }
+}
+
+/**
+ * Returns true if the given `key` is an own property of `obj`.
+ */
+
+function hasOwn(obj, key) {
+ return Object.prototype.hasOwnProperty.call(obj, key);
+}
diff --git a/node_modules/braces/node_modules/extend-shallow/package.json b/node_modules/braces/node_modules/extend-shallow/package.json
new file mode 100644
index 0000000..a0ca9d6
--- /dev/null
+++ b/node_modules/braces/node_modules/extend-shallow/package.json
@@ -0,0 +1,87 @@
+{
+ "_from": "extend-shallow@^2.0.1",
+ "_id": "extend-shallow@2.0.1",
+ "_inBundle": false,
+ "_integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "_location": "/braces/extend-shallow",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "range",
+ "registry": true,
+ "raw": "extend-shallow@^2.0.1",
+ "name": "extend-shallow",
+ "escapedName": "extend-shallow",
+ "rawSpec": "^2.0.1",
+ "saveSpec": null,
+ "fetchSpec": "^2.0.1"
+ },
+ "_requiredBy": [
+ "/braces"
+ ],
+ "_resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "_shasum": "51af7d614ad9a9f610ea1bafbb989d6b1c56890f",
+ "_spec": "extend-shallow@^2.0.1",
+ "_where": "C:\\Users\\Futil\\AppData\\Local\\FoundryVTT\\Data\\systems\\mothership\\node_modules\\braces",
+ "author": {
+ "name": "Jon Schlinkert",
+ "url": "https://github.com/jonschlinkert"
+ },
+ "bugs": {
+ "url": "https://github.com/jonschlinkert/extend-shallow/issues"
+ },
+ "bundleDependencies": false,
+ "dependencies": {
+ "is-extendable": "^0.1.0"
+ },
+ "deprecated": false,
+ "description": "Extend an object with the properties of additional objects. node.js/javascript util.",
+ "devDependencies": {
+ "array-slice": "^0.2.3",
+ "benchmarked": "^0.1.4",
+ "chalk": "^1.0.0",
+ "for-own": "^0.1.3",
+ "glob": "^5.0.12",
+ "is-plain-object": "^2.0.1",
+ "kind-of": "^2.0.0",
+ "minimist": "^1.1.1",
+ "mocha": "^2.2.5",
+ "should": "^7.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ },
+ "files": [
+ "index.js"
+ ],
+ "homepage": "https://github.com/jonschlinkert/extend-shallow",
+ "keywords": [
+ "assign",
+ "extend",
+ "javascript",
+ "js",
+ "keys",
+ "merge",
+ "obj",
+ "object",
+ "prop",
+ "properties",
+ "property",
+ "props",
+ "shallow",
+ "util",
+ "utility",
+ "utils",
+ "value"
+ ],
+ "license": "MIT",
+ "main": "index.js",
+ "name": "extend-shallow",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/jonschlinkert/extend-shallow.git"
+ },
+ "scripts": {
+ "test": "mocha"
+ },
+ "version": "2.0.1"
+}
diff --git a/node_modules/braces/package.json b/node_modules/braces/package.json
new file mode 100644
index 0000000..7f8f6bc
--- /dev/null
+++ b/node_modules/braces/package.json
@@ -0,0 +1,157 @@
+{
+ "_from": "braces@^2.3.1",
+ "_id": "braces@2.3.2",
+ "_inBundle": false,
+ "_integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
+ "_location": "/braces",
+ "_phantomChildren": {
+ "is-extendable": "0.1.1"
+ },
+ "_requested": {
+ "type": "range",
+ "registry": true,
+ "raw": "braces@^2.3.1",
+ "name": "braces",
+ "escapedName": "braces",
+ "rawSpec": "^2.3.1",
+ "saveSpec": null,
+ "fetchSpec": "^2.3.1"
+ },
+ "_requiredBy": [
+ "/chokidar",
+ "/micromatch"
+ ],
+ "_resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
+ "_shasum": "5979fd3f14cd531565e5fa2df1abfff1dfaee729",
+ "_spec": "braces@^2.3.1",
+ "_where": "C:\\Users\\Futil\\AppData\\Local\\FoundryVTT\\Data\\systems\\mothership\\node_modules\\micromatch",
+ "author": {
+ "name": "Jon Schlinkert",
+ "url": "https://github.com/jonschlinkert"
+ },
+ "bugs": {
+ "url": "https://github.com/micromatch/braces/issues"
+ },
+ "bundleDependencies": false,
+ "contributors": [
+ {
+ "name": "Brian Woodward",
+ "url": "https://twitter.com/doowb"
+ },
+ {
+ "name": "Elan Shanker",
+ "url": "https://github.com/es128"
+ },
+ {
+ "name": "Eugene Sharygin",
+ "url": "https://github.com/eush77"
+ },
+ {
+ "name": "hemanth.hm",
+ "url": "http://h3manth.com"
+ },
+ {
+ "name": "Jon Schlinkert",
+ "url": "http://twitter.com/jonschlinkert"
+ }
+ ],
+ "dependencies": {
+ "arr-flatten": "^1.1.0",
+ "array-unique": "^0.3.2",
+ "extend-shallow": "^2.0.1",
+ "fill-range": "^4.0.0",
+ "isobject": "^3.0.1",
+ "repeat-element": "^1.1.2",
+ "snapdragon": "^0.8.1",
+ "snapdragon-node": "^2.0.1",
+ "split-string": "^3.0.2",
+ "to-regex": "^3.0.1"
+ },
+ "deprecated": false,
+ "description": "Bash-like brace expansion, implemented in JavaScript. Safer than other brace expansion libs, with complete support for the Bash 4.3 braces specification, without sacrificing speed.",
+ "devDependencies": {
+ "ansi-cyan": "^0.1.1",
+ "benchmarked": "^2.0.0",
+ "brace-expansion": "^1.1.8",
+ "cross-spawn": "^5.1.0",
+ "gulp": "^3.9.1",
+ "gulp-eslint": "^4.0.0",
+ "gulp-format-md": "^1.0.0",
+ "gulp-istanbul": "^1.1.2",
+ "gulp-mocha": "^3.0.1",
+ "gulp-unused": "^0.2.1",
+ "is-windows": "^1.0.1",
+ "minimatch": "^3.0.4",
+ "mocha": "^3.2.0",
+ "noncharacters": "^1.1.0",
+ "text-table": "^0.2.0",
+ "time-diff": "^0.3.1",
+ "yargs-parser": "^8.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ },
+ "files": [
+ "index.js",
+ "lib"
+ ],
+ "homepage": "https://github.com/micromatch/braces",
+ "keywords": [
+ "alpha",
+ "alphabetical",
+ "bash",
+ "brace",
+ "braces",
+ "expand",
+ "expansion",
+ "filepath",
+ "fill",
+ "fs",
+ "glob",
+ "globbing",
+ "letter",
+ "match",
+ "matches",
+ "matching",
+ "number",
+ "numerical",
+ "path",
+ "range",
+ "ranges",
+ "sh"
+ ],
+ "license": "MIT",
+ "main": "index.js",
+ "name": "braces",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/micromatch/braces.git"
+ },
+ "scripts": {
+ "benchmark": "node benchmark",
+ "test": "mocha"
+ },
+ "verb": {
+ "toc": false,
+ "layout": "default",
+ "tasks": [
+ "readme"
+ ],
+ "lint": {
+ "reflinks": true
+ },
+ "plugins": [
+ "gulp-format-md"
+ ],
+ "related": {
+ "list": [
+ "expand-brackets",
+ "extglob",
+ "fill-range",
+ "micromatch",
+ "nanomatch"
+ ]
+ }
+ },
+ "version": "2.3.2"
+}
diff --git a/node_modules/browserslist/CHANGELOG.md b/node_modules/browserslist/CHANGELOG.md
new file mode 100644
index 0000000..f9c102d
--- /dev/null
+++ b/node_modules/browserslist/CHANGELOG.md
@@ -0,0 +1,499 @@
+# Change Log
+This project adheres to [Semantic Versioning](http://semver.org/).
+
+## 4.14.7
+* Fixed Yarn Workspaces support to `--update-db` (by Fausto Núñez Alberro).
+* Added browser changes to `--update-db` (by @AleksandrSl).
+* Added color output to `--update-db`.
+* Updated `package.funding` to have link to our Open Collective.
+
+## 4.14.6
+* Fixed Yarn support in `--update-db` (by Ivan Storck).
+* Fixed npm 7 support in `--update-db`.
+
+## 4.14.5
+* Fixed `last 2 electron versions` query (by Sergey Melyukov).
+
+## 4.14.4
+* Fixed `Unknown version 59 of op_mob` error.
+
+## 4.14.3
+* Update Firefox ESR.
+
+## 4.14.2
+* Fixed `--update-db` on Windows (by James Ross).
+* Improved `--update-db` output.
+
+## 4.14.1
+* Added `--update-db` explanation (by Justin Zelinsky).
+
+## 4.14
+* Add `BROWSERSLIST_DANGEROUS_EXTEND` support (by Timo Mayer).
+
+## 4.13
+* Added `supports` query to select browsers (by Jesús Leganés-Combarro).
+
+## 4.12.2
+* Update Firefox ESR.
+
+## 4.12.1
+* Update `package.json` scanning tool for `--update-db` (by Luke Edwards).
+* Improve docs (by Mukundan Senthil).
+* Drop Node.js 13.0-13.6 support because of ES modules bug in that versions.
+
+## 4.12
+* Add environments to shared configs (by Yevgeny Petukhov).
+* Fix docs (by Dmitry Statsenko and Thomas Pozzo di Borgo).
+
+## 4.11.1
+* Fix Node.js 6 support.
+
+## 4.11
+* Add `npx browserslist --mobile-to-desktop` (by James Ross).
+
+## 4.10
+* Add `npx browserslist --update-db` (by Ivan Solovev).
+
+## 4.9.1
+* Normalize incorrect Can I Use regional data (by Huáng Jùnliàng).
+
+## 4.9
+* Add `node X-Y` query support (by Yuping Zuo).
+
+## 4.8.7
+* Fix `last N major versions` (by Valeriy Trubachev).
+
+## 4.8.6
+* Fix `Unknown version 10 of op_mob` error in `mobileToDesktop` option.
+
+## 4.8.5
+* Fix `last N browsers` again after new `caniuse-db` API changes.
+
+## 4.8.4
+* Fix released versions detection for queries like `last N browsers`.
+* Add IE 11 Mobile to `dead` browsers.
+
+## 4.8.3
+* Fix warning message (by Anton Ivanov).
+
+## 4.8.2
+* Fix `Cannot convert undefined or null to object` (by Antoine Clausse).
+* Fix `mobileToDesktop` in `defaults` (by Huáng Jùnliàng).
+
+## 4.8.1
+* Fix Chrome and `mobileToDesktop` (by Huáng Jùnliàng).
+
+## 4.8
+* Add `> 5% in browserslist-config-my stats` query (by Andrew Leedham).
+* Improve docs (by Danny van Kooten).
+
+## 4.7.3
+* Add funding link for `npm fund`.
+
+## 4.7.2
+* Add cache for query parsing.
+* Improve config caching (by Kārlis Gaņģis).
+* Update Firefox ESR.
+
+## 4.7.1
+* Improve caching.
+
+## 4.7
+* Add PhantomJS queries.
+* Improve docs (by Dorian Koehring).
+
+## 4.6.6
+* Remove Safari from `dead` query.
+
+## 4.6.5
+* Add Samsung 4 browser to `dead` query.
+* Remove dirty fix for `android all` error.
+
+## 4.6.4
+* Add Firefox 68 to `Firefox ESR` query.
+
+## 4.6.3
+* Dirty fix for `android all` error.
+
+## 4.6.2
+* Fix `last x version` and similar queries for Android (by Tony Ross).
+
+## 4.6.1
+* Fix patch version support for Electron (by Kilian Valkhof).
+
+## 4.6
+* Add `mobileToDesktop` option (by Nicolò Ribaudo).
+
+## 4.5.6
+* Make `Node > 5` and `node > 5` queries case insensitive.
+
+## 4.5.5
+* Fix CLI help (by Marcel Gerber).
+* Add KaiOS browser to docs.
+
+## 4.5.4
+* Update docs (by Andrew Leedham and Dan Onoshko).
+
+## 4.5.3
+* Fix splitting string to queries.
+
+## 4.5.2
+* Show default browsers in CLI on project without config.
+
+## 4.5.1
+* Improve text for the warning about outdated `caniuse-lite`.
+
+## 4.5
+* Add `>=`, `>`, and `<=` support for Node.js version (by Mathspy Terabithian).
+
+## 4.4.2
+* Allow to have string in `package.json` (by @dmarkhas).
+
+## 4.4.1
+* Allow to use `.` in scope name of shareable config (by Gustav Nikolaj).
+
+## 4.4
+* Added `and` and `or` keywords to combine queries (by Jon Ege Ronnenberg).
+
+## 4.3.7
+* Fix fraction years support in `last 1.5 years` (by Clément P).
+* Fix version-less browser support.
+
+## 4.3.6
+* Fix version-less browser support in custom statistics (by Alex Walter).
+
+## 4.3.5
+* Fix `not` query for wrong Can I Use data.
+
+## 4.3.4
+* Allow to update `node-releases` without new Browserslist releases.
+
+## 4.3.3
+* Fix Node.js 11 support.
+
+## 4.3.2
+* Fix `Unknown version 11 of Node.js` error (by Dan Onoshko).
+
+## 4.3.1
+* Fix conflict between `caniuse-lite` and custom browsers statistics.
+
+## 4.3
+* Allow to use `extends browserslist-config-a/file` (by @Schweinepriester).
+
+## 4.2.1
+* Use new `node-releases` support (by Sergey Rubanov).
+
+## 4.2
+* Add `--json` argument for CLI.
+* Allow to pass multiple areas in CLI by `--coverage=US,alt-AS,global`.
+
+## 4.1.2
+* Better `unknow query` error message.
+* Use latest `node-releases`.
+
+## 4.1.1
+* Update Firefox ESR versions.
+
+## 4.1
+* Add `current node` query.
+* Add contributors widget to docs (by Sergey Surkov).
+
+## 4.0.2
+* Fix new `node-releases` support (by Sergey Rubanov).
+* Fix error text (by Josh Smith).
+
+## 4.0.1
+* Reduce npm package size.
+* Fix docs.
+
+## 4.0.0 “Erinaceus amurensis”
+* Add `node X` and `maintained node versions` queries (by Pavel Vostrikov).
+* Remove Node.js 4 support.
+* Show warning if `caniuse-lite` is old (by Anton Tuzhik).
+* Add comma support in config file.
+
+## 3.2.8
+* Add IE 9-5.5 to dead browsers.
+* Remove development configs from npm package.
+
+## 3.2.7
+* Add Firefox 60 as Firefox ESR.
+
+## 3.2.6
+* Add Opera Mini 12 to dead browsers.
+* Update docs (by Jamie Kyle).
+
+## 3.2.5
+* Fix excluding Opera Mini and other browsers with `all` version.
+
+## 3.2.4
+* Resolve shareable config from current working directory.
+
+## 3.2.3
+* Fix `package.json` config validation for single string case.
+* Fix CLI error reporting.
+
+## 3.2.2
+* Add `package.json` config validation.
+* Move project to `browserlist` GitHub organization.
+
+## 3.2.1
+* Fix error text (by Steve Schrab).
+
+## 3.2
+* Add `cover 99%` query (by Vasily Fedoseyev).
+* Add `cover 99% in US` query (by Vasily Fedoseyev).
+* Add `cover 99% in my stats` query (by Vasily Fedoseyev).
+* Add `"my stats"` support to `browserlist.coverage()` (by Vasily Fedoseyev).
+
+## 3.1.2
+* Add more clear error on missed browser version.
+
+## 3.1.1
+* Fix JSDoc (by Sylvain Pollet-Villard).
+
+## 3.1
+* Add `ignoreUnknownVersions` option.
+* Fix docs (by Pascal Duez).
+
+## 3.0 “Atelerix sclateri”
+* Remove country statistics from client-side build of Browserslist.
+* Change `> 1%` to `> 0.5%` in default query.
+* Add `not dead` to default query.
+* Change default environment to `production` (by Marco Fugaro).
+* Add `dead` query support with IE 10 and BlackBerry browser.
+* Add multiple environments in one section support (by Evilebot Tnawi).
+* Add custom statistics support to `browserlist.coverage()`.
+* Fix `path` option check.
+
+## 2.11.3
+* Fix for `path: undefined` option.
+
+## 2.11.2
+* Remove Node.js specific code from webpack build.
+
+## 2.11.1
+* Fix using Browserslist in browser with `path` but without `fs`.
+
+## 2.11
+* Add `last 2 years` query support (by James Harris).
+
+## 2.10.2
+* Fix Browserify support.
+
+## 2.10.1
+* Fix using Browserslist without `process` (by Andrew Patton).
+
+## 2.10
+* Add `< 1%` and `<= 1%` queries support (by August Kaiser).
+
+## 2.9.1
+* Fix unknown query on trailing spaces in query.
+
+## 2.9
+* Add `last Electron versions` and `last Electron major versions` queries
+ (by Louis Mouhat).
+
+## 2.8
+* Add `since 2016-03` and `since 2016-03-20` queries support (by Andrew Blick).
+
+## 2.7
+* Add `since 2016` queries support (by Igor Deryabin).
+
+## 2.6.1
+* Fix `Path must be a string` error.
+
+## 2.6
+* By default load config from current directory in CLI tool.
+
+## 2.5.1
+* Allow `@scope/browserlist-config` config name (by Jamie Connolly).
+
+## 2.5
+* Add `extends` query (by YellowKirby).
+
+## 2.4.1
+* Throw error if `package.json` contain `browserlist` instead of `browserslist`.
+
+## 2.4
+* Add `last n major versions` query (by John Sanders).
+
+## 2.3.3
+* Fix browsers support.
+
+## 2.3.2
+* Fix `> 0` query for browsers with one version (by Nikolay Solovyov).
+
+## 2.3.1
+* Reduce library size.
+
+## 2.3
+* Add `unreleased versions` and `unreleased Chrome versions` queries.
+
+## 2.2.2
+* Fix `Path must be a string` error (by Pieter Beulque).
+
+## 2.2.1
+* Fix security issue with regions dynamic `require`.
+
+## 2.2
+* Add region usage statistics support (by Clément P).
+
+## 2.1.5
+* Remove Firefox 45 from Firefox ESR.
+
+## 2.1.4
+* Use both ESR versions when they actual.
+
+## 2.1.3
+* Add warning on first exclude query.
+
+## 2.1.2
+* Fix non-Node.js environments support.
+
+## 2.1.1
+* Fix CLI arguments parsing.
+
+## 2.1
+* Add `>= 5%`, `>= 5% in US` and `>= 5% in my stats` queries.
+
+## 2.0 “Atelerix frontalis”
+* `last n versions` returns versions for all browsers, not only main browsers.
+* Cache file system operations (by Aarni Koskela).
+* Use `caniuse-lite` 1 MB instead of `caniuse-db` 7 MB (by Ben Briggs).
+* Add `.browserslistrc` config support.
+* Add QQ Browser for Android support.
+* Add tests for CLI (by Zhulduz Zhankenova).
+
+## 1.7.7
+* Update Firefox ESR.
+
+## 1.7.6
+* Fix Android Chrome selection.
+
+## 1.7.5
+* Fix combining `not` query with country based statistics.
+* Fix `--env` argument in CLI (by Tuure Savuoja).
+
+## 1.7.4
+* Speed up browser sorting (by Aarni Koskela).
+
+## 1.7.3
+* Fix config finding when directory was passed to `path` (by Aarni Koskela).
+
+## 1.7.2
+* Fix config finding algorithm (by Aarni Koskela).
+
+## 1.7.1
+* Fix unreleased browsers version detection.
+
+## 1.7
+* Add `--config` and `--env` arguments to CLI (by Jarek Rencz).
+
+## 1.6
+* Convert Electron version to Chrome (by Kilian Valkhof).
+* Fix `0` version mistake in Can I Use data.
+
+## 1.5.2
+* Fix browser versions ordering (by Marco Massarotto).
+
+## 1.5.1
+* Fix error on `package.json` and `browserslist` in same directory.
+
+## 1.5
+* Add `package.json` support (by Stepan Kuzmin).
+* Add environments support (by Maksim Semenov and openlibser).
+* Add `browserslist-stats.json` file support (by Oleh Aloshkin).
+* Add `config` option to CLI (by Evilebot Tnawi).
+* Add JSDoc.
+* Fix tests on Windows (by Anna Stoliar).
+* Don’t set custom usage statistics globally.
+
+## 1.4
+* Add `defaults` keyword.
+
+## 1.3.6
+* Add `UCAndroid` alias to `and_uc` (by Evilebot Tnawi).
+
+## 1.3.5
+* Fix Opera Mini support. Use `op_mini all`.
+
+## 1.3.4
+* Add space-less `>1%` and `>.5%` syntax support (by Andreas Lind).
+
+## 1.3.3
+* Clean `0` versions in some country-based requests.
+
+## 1.3.2
+* Update Firefox ESR.
+
+## 1.3.1
+* Add Safari TP support.
+
+## 1.3
+* Add coverage for specific country (by Joshua Wise).
+
+## 1.2
+* Add `browserslist.coverage()` method.
+* Add `--coverage` and `-c` argument to CLI.
+* Add `-v` argument support to CLI.
+* Better error handling in CLI.
+
+## 1.1.3
+* Fix jspm support (by Sean Anderson).
+
+## 1.1.2
+* Fix jspm support (by Sean Anderson).
+
+## 1.1.1
+* Fix space-less `>10%` and `>10% in my stats` queries.
+* Normalize error messages.
+* Remove development files from npm package.
+
+## 1.1
+* Added query against custom browser usage data (by Daniel Rey).
+
+## 1.0.1
+* Update Firefox ESR (by Rouven Weßling).
+
+## 1.0 “Atelerix algirus”
+* Remove Opera 12.1 from default query.
+* Add `not` keyword and exclude browsers by query.
+* Add Microsoft Edge support (by Andrey Polischuk).
+* Add CLI for debug and non-JS usage (by Luke Horvat).
+* Use own class in Browserslist errors.
+
+## 0.5
+* Add version ranges `IE 6-9` (by Ben Briggs).
+
+## 0.4
+* Add `config` option and `BROWSERSLIST_CONFIG` environment variable support.
+* Add symlink config support.
+
+## 0.3.3
+* Fix DynJS compatibility (by Nick Howes).
+
+## 0.3.2
+* Fix joined versions on versions query (by Vincent De Oliveira).
+
+## 0.3.1
+* Fix global variable leak (by Peter Müller).
+
+## 0.3
+* Takes queries from `BROWSERSLIST` environment variable.
+
+## 0.2
+* Return Can I Use joined versions as `ios_saf 7.0-7.1`.
+
+## 0.1.3
+* Better work with Can I Use joined versions like `ios_saf 7.0-7.1`.
+* Browserslist now understands `ios_saf 7.0` or `ios_saf 7`.
+
+## 0.1.2
+* Do not create global `browserslist` var (by Maxime Thirouin).
+
+## 0.1.1
+* Sort browsers by name and version.
+
+## 0.1 “Atelerix albiventris”
+* Initial release.
diff --git a/node_modules/browserslist/LICENSE b/node_modules/browserslist/LICENSE
new file mode 100644
index 0000000..90b6b91
--- /dev/null
+++ b/node_modules/browserslist/LICENSE
@@ -0,0 +1,20 @@
+The MIT License (MIT)
+
+Copyright 2014 Andrey Sitnik and other contributors
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
+the Software, and to permit persons to whom the Software is furnished to do so,
+subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
+COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/node_modules/browserslist/README.md b/node_modules/browserslist/README.md
new file mode 100644
index 0000000..3ade846
--- /dev/null
+++ b/node_modules/browserslist/README.md
@@ -0,0 +1,694 @@
+# Browserslist [![Cult Of Martians][cult-img]][cult]
+
+
+
+The config to share target browsers and Node.js versions between different
+front-end tools. It is used in:
+
+* [Autoprefixer]
+* [Babel]
+* [postcss-preset-env]
+* [eslint-plugin-compat]
+* [stylelint-no-unsupported-browser-features]
+* [postcss-normalize]
+* [obsolete-webpack-plugin]
+
+All tools will find target browsers automatically,
+when you add the following to `package.json`:
+
+```json
+ "browserslist": [
+ "defaults",
+ "not IE 11",
+ "not IE_Mob 11",
+ "maintained node versions"
+ ]
+```
+
+Or in `.browserslistrc` config:
+
+```yaml
+# Browsers that we support
+
+defaults
+not IE 11
+not IE_Mob 11
+maintained node versions
+```
+
+Developers set their version lists using queries like `last 2 versions`
+to be free from updating versions manually.
+Browserslist will use [`caniuse-lite`] with [Can I Use] data for this queries.
+
+Browserslist will take queries from tool option,
+`browserslist` config, `.browserslistrc` config,
+`browserslist` section in `package.json` or environment variables.
+
+[Browserslist Example] shows how every tool uses Browserslist.
+
+[cult-img]: https://cultofmartians.com/assets/badges/badge.svg
+[cult]: https://cultofmartians.com/done.html
+
+
+
+
+
+[stylelint-no-unsupported-browser-features]: https://github.com/ismay/stylelint-no-unsupported-browser-features
+[eslint-plugin-compat]: https://github.com/amilajack/eslint-plugin-compat
+[Browserslist Example]: https://github.com/browserslist/browserslist-example
+[postcss-preset-env]: https://github.com/jonathantneal/postcss-preset-env
+[postcss-normalize]: https://github.com/jonathantneal/postcss-normalize
+[`caniuse-lite`]: https://github.com/ben-eb/caniuse-lite
+[Autoprefixer]: https://github.com/postcss/autoprefixer
+[Can I Use]: https://caniuse.com/
+[Babel]: https://github.com/babel/babel/tree/master/packages/babel-preset-env
+[obsolete-webpack-plugin]: https://github.com/ElemeFE/obsolete-webpack-plugin
+
+## Table of Contents
+
+* [Tools](#tools)
+* [Best Practices](#best-practices)
+* [Browsers Data Updating](#browsers-data-updating)
+* [Queries](#queries)
+ * [Query Composition](#query-composition)
+ * [Full List](#full-list)
+ * [Debug](#debug)
+ * [Browsers](#browsers)
+* [Config File](#config-file)
+ * [`package.json`](#packagejson)
+ * [`.browserslistrc`](#browserslistrc)
+* [Shareable Configs](#shareable-configs)
+* [Configuring for Different Environments](#configuring-for-different-environments)
+* [Custom Usage Data](#custom-usage-data)
+* [JS API](#js-api)
+* [Environment Variables](#environment-variables)
+* [Cache](#cache)
+* [Security Contact](#security-contact)
+* [For Enterprise](#for-enterprise)
+
+## Tools
+
+* [`browserl.ist`](https://browserl.ist/) is an online tool to check
+ what browsers will be selected by some query.
+* [`browserslist-ga`] and [`browserslist-ga-export`] download your website
+ browsers statistics to use it in `> 0.5% in my stats` query.
+* [`browserslist-useragent-regexp`] compiles Browserslist query to a RegExp
+ to test browser useragent.
+* [`browserslist-useragent-ruby`] is a Ruby library to checks browser
+ by user agent string to match Browserslist.
+* [`browserslist-browserstack`] runs BrowserStack tests for all browsers
+ in Browserslist config.
+* [`browserslist-adobe-analytics`] use Adobe Analytics data to target browsers.
+* [`caniuse-api`] returns browsers which support some specific feature.
+* Run `npx browserslist` in your project directory to see project’s
+ target browsers. This CLI tool is built-in and available in any project
+ with Autoprefixer.
+
+[`browserslist-useragent-regexp`]: https://github.com/browserslist/browserslist-useragent-regexp
+[`browserslist-adobe-analytics`]: https://github.com/xeroxinteractive/browserslist-adobe-analytics
+[`browserslist-useragent-ruby`]: https://github.com/browserslist/browserslist-useragent-ruby
+[`browserslist-browserstack`]: https://github.com/xeroxinteractive/browserslist-browserstack
+[`browserslist-ga-export`]: https://github.com/browserslist/browserslist-ga-export
+[`browserslist-useragent`]: https://github.com/pastelsky/browserslist-useragent
+[`browserslist-ga`]: https://github.com/browserslist/browserslist-ga
+[`caniuse-api`]: https://github.com/Nyalab/caniuse-api
+
+
+## Best Practices
+
+* There is a `defaults` query, which gives a reasonable configuration
+ for most users:
+
+ ```json
+ "browserslist": [
+ "defaults"
+ ]
+ ```
+
+* If you want to change the default set of browsers, we recommend combining
+ `last 2 versions`, `not dead` with a usage number like `> 0.2%`. This is
+ because `last n versions` on its own does not add popular old versions, while
+ only using a percentage above `0.2%` will in the long run make popular
+ browsers even more popular. We might run into a monopoly and stagnation
+ situation, as we had with Internet Explorer 6. Please use this setting
+ with caution.
+* Select browsers directly (`last 2 Chrome versions`) only if you are making
+ a web app for a kiosk with one browser. There are a lot of browsers
+ on the market. If you are making general web app you should respect
+ browsers diversity.
+* Don’t remove browsers just because you don’t know them. Opera Mini has
+ 100 million users in Africa and it is more popular in the global market
+ than Microsoft Edge. Chinese QQ Browsers has more market share than Firefox
+ and desktop Safari combined.
+
+
+## Browsers Data Updating
+
+`npx browserslist@latest --update-db` updates `caniuse-lite` version
+in your npm, yarn or pnpm lock file.
+
+You need to do it regularly for two reasons:
+
+1. To use the latest browser’s versions and statistics in queries like
+ `last 2 versions` or `>1%`. For example, if you created your project
+ 2 years ago and did not update your dependencies, `last 1 version`
+ will return 2 year old browsers.
+2. `caiuse-lite` deduplication: to synchronize version in different tools.
+
+> What is deduplication?
+
+Due to how npm architecture is setup, you may have a situation
+where you have multiple versions of a single dependency required.
+
+Imagine you begin a project, and you add `autoprefixer` as a dependency.
+npm looks for the latest `caniuse-lite` version (1.0.30000700) and adds it to
+`package-lock.json` under `autoprefixer` dependencies.
+
+A year later, you decide to add Babel. At this moment, we have a
+new version of `canuse-lite` (1.0.30000900). npm took the latest version
+and added it to your lock file under `@babel/preset-env` dependencies.
+
+Now your lock file looks like this:
+
+```ocaml
+autoprefixer 7.1.4
+ browserslist 3.1.1
+ caniuse-lite 1.0.30000700
+@babel/preset-env 7.10.0
+ browserslist 4.13.0
+ caniuse-lite 1.0.30000900
+```
+
+As you can see, we now have two versions of `caniuse-lite` installed.
+
+
+## Queries
+
+Browserslist will use browsers and Node.js versions query
+from one of these sources:
+
+1. `browserslist` key in `package.json` file in current or parent directories.
+ **We recommend this way.**
+2. `.browserslistrc` config file in current or parent directories.
+3. `browserslist` config file in current or parent directories.
+4. `BROWSERSLIST` environment variable.
+5. If the above methods did not produce a valid result
+ Browserslist will use defaults:
+ `> 0.5%, last 2 versions, Firefox ESR, not dead`.
+
+
+### Query Composition
+
+An `or` combiner can use the keyword `or` as well as `,`.
+`last 1 version or > 1%` is equal to `last 1 version, > 1%`.
+
+`and` query combinations are also supported to perform an
+intersection of all the previous queries:
+`last 1 version or chrome > 75 and > 1%` will select
+(`browser last version` or `Chrome since 76`) and `more than 1% marketshare`.
+
+There is 3 different ways to combine queries as depicted below. First you start
+with a single query and then we combine the queries to get our final list.
+
+Obviously you can *not* start with a `not` combiner, since there is no left-hand
+side query to combine it with. The left-hand is always resolved as `and`
+combiner even if `or` is used (this is an API implementation specificity).
+
+| Query combiner type | Illustration | Example |
+| ------------------- | :----------: | ------- |
+|`or`/`,` combiner (union) |  | `> .5% or last 2 versions` `> .5%, last 2 versions` |
+| `and` combiner (intersection) |  | `> .5% and last 2 versions` |
+| `not` combiner (relative complement) |  | All those three are equivalent to the first one `> .5% and not last 2 versions` `> .5% or not last 2 versions` `> .5%, not last 2 versions` |
+
+_A quick way to test your query is to do `npx browserslist '> 0.5%, not IE 11'`
+in your terminal._
+
+### Full List
+
+You can specify the browser and Node.js versions by queries (case insensitive):
+
+* `defaults`: Browserslist’s default browsers
+ (`> 0.5%, last 2 versions, Firefox ESR, not dead`).
+* `> 5%`: browsers versions selected by global usage statistics.
+ `>=`, `<` and `<=` work too.
+ * `> 5% in US`: uses USA usage statistics.
+ It accepts [two-letter country code].
+ * `> 5% in alt-AS`: uses Asia region usage statistics.
+ List of all region codes can be found at [`caniuse-lite/data/regions`].
+ * `> 5% in my stats`: uses [custom usage data].
+ * `> 5% in browserslist-config-mycompany stats`: uses [custom usage data]
+ from `browserslist-config-mycompany/browserslist-stats.json`.
+ * `cover 99.5%`: most popular browsers that provide coverage.
+ * `cover 99.5% in US`: same as above, with [two-letter country code].
+ * `cover 99.5% in my stats`: uses [custom usage data].
+* `dead`: browsers without official support or updates for 24 months.
+ Right now it is `IE 10`, `IE_Mob 11`, `BlackBerry 10`, `BlackBerry 7`,
+ `Samsung 4` and `OperaMobile 12.1`.
+* `last 2 versions`: the last 2 versions for *each* browser.
+ * `last 2 Chrome versions`: the last 2 versions of Chrome browser.
+ * `last 2 major versions` or `last 2 iOS major versions`:
+ all minor/patch releases of last 2 major versions.
+* `node 10` and `node 10.4`: selects latest Node.js `10.x.x`
+ or `10.4.x` release.
+ * `current node`: Node.js version used by Browserslist right now.
+ * `maintained node versions`: all Node.js versions, which are [still maintained]
+ by Node.js Foundation.
+* `iOS 7`: the iOS browser version 7 directly.
+ * `Firefox > 20`: versions of Firefox newer than 20.
+ `>=`, `<` and `<=` work too. It also works with Node.js.
+ * `ie 6-8`: selects an inclusive range of versions.
+ * `Firefox ESR`: the latest [Firefox ESR] version.
+ * `PhantomJS 2.1` and `PhantomJS 1.9`: selects Safari versions similar
+ to PhantomJS runtime.
+* `extends browserslist-config-mycompany`: take queries from
+ `browserslist-config-mycompany` npm package.
+* `supports es6-module`: browsers with support for specific features.
+ `es6-module` here is the `feat` parameter at the URL of the [Can I Use]
+ page. A list of all available features can be found at
+ [`caniuse-lite/data/features`].
+* `since 2015` or `last 2 years`: all versions released since year 2015
+ (also `since 2015-03` and `since 2015-03-10`).
+* `unreleased versions` or `unreleased Chrome versions`:
+ alpha and beta versions.
+* `not ie <= 8`: exclude browsers selected by previous queries.
+
+You can add `not ` to any query.
+
+[`caniuse-lite/data/regions`]: https://github.com/ben-eb/caniuse-lite/tree/master/data/regions
+[`caniuse-lite/data/features`]: https://github.com/ben-eb/caniuse-lite/tree/master/data/features
+[two-letter country code]: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements
+[custom usage data]: #custom-usage-data
+[still maintained]: https://github.com/nodejs/Release
+[Can I Use]: https://caniuse.com/
+
+
+### Debug
+
+Run `npx browserslist` in project directory to see what browsers was selected
+by your queries.
+
+```sh
+$ npx browserslist
+and_chr 61
+and_ff 56
+and_qq 1.2
+and_uc 11.4
+android 56
+baidu 7.12
+bb 10
+chrome 62
+edge 16
+firefox 56
+ios_saf 11
+opera 48
+safari 11
+samsung 5
+```
+
+
+### Browsers
+
+Names are case insensitive:
+
+* `Android` for Android WebView.
+* `Baidu` for Baidu Browser.
+* `BlackBerry` or `bb` for Blackberry browser.
+* `Chrome` for Google Chrome.
+* `ChromeAndroid` or `and_chr` for Chrome for Android
+* `Edge` for Microsoft Edge.
+* `Electron` for Electron framework. It will be converted to Chrome version.
+* `Explorer` or `ie` for Internet Explorer.
+* `ExplorerMobile` or `ie_mob` for Internet Explorer Mobile.
+* `Firefox` or `ff` for Mozilla Firefox.
+* `FirefoxAndroid` or `and_ff` for Firefox for Android.
+* `iOS` or `ios_saf` for iOS Safari.
+* `Node` for Node.js.
+* `Opera` for Opera.
+* `OperaMini` or `op_mini` for Opera Mini.
+* `OperaMobile` or `op_mob` for Opera Mobile.
+* `QQAndroid` or `and_qq` for QQ Browser for Android.
+* `Safari` for desktop Safari.
+* `Samsung` for Samsung Internet.
+* `UCAndroid` or `and_uc` for UC Browser for Android.
+* `kaios` for KaiOS Browser.
+
+
+## Config File
+
+### `package.json`
+
+If you want to reduce config files in project root, you can specify
+browsers in `package.json` with `browserslist` key:
+
+```json
+{
+ "private": true,
+ "dependencies": {
+ "autoprefixer": "^6.5.4"
+ },
+ "browserslist": [
+ "last 1 version",
+ "> 1%",
+ "IE 10"
+ ]
+}
+```
+
+
+### `.browserslistrc`
+
+Separated Browserslist config should be named `.browserslistrc`
+and have browsers queries split by a new line.
+Each line is combined with the `or` combiner. Comments starts with `#` symbol:
+
+```yaml
+# Browsers that we support
+
+last 1 version
+> 1%
+IE 10 # sorry
+```
+
+Browserslist will check config in every directory in `path`.
+So, if tool process `app/styles/main.css`, you can put config to root,
+`app/` or `app/styles`.
+
+You can specify direct path in `BROWSERSLIST_CONFIG` environment variables.
+
+
+## Shareable Configs
+
+You can use the following query to reference an exported Browserslist config
+from another package:
+
+```json
+ "browserslist": [
+ "extends browserslist-config-mycompany"
+ ]
+```
+
+For security reasons, external configuration only supports packages that have
+the `browserslist-config-` prefix. npm scoped packages are also supported, by
+naming or prefixing the module with `@scope/browserslist-config`, such as
+`@scope/browserslist-config` or `@scope/browserslist-config-mycompany`.
+
+If you don’t accept Browserslist queries from users, you can disable the
+validation by using the or `BROWSERSLIST_DANGEROUS_EXTEND` environment variable
+or `dangerousExtend` option.
+
+```sh
+BROWSERSLIST_DANGEROUS_EXTEND=1 npx webpack
+```
+
+Because this uses `npm`'s resolution, you can also reference specific files
+in a package:
+
+```json
+ "browserslist": [
+ "extends browserslist-config-mycompany/desktop",
+ "extends browserslist-config-mycompany/mobile"
+ ]
+```
+
+When writing a shared Browserslist package, just export an array.
+`browserslist-config-mycompany/index.js`:
+
+```js
+module.exports = [
+ 'last 1 version',
+ '> 1%',
+ 'ie 10'
+]
+```
+
+You can also include a `browserslist-stats.json` file as part of your shareable
+config at the root and query it using
+`> 5% in browserslist-config-mycompany stats`. It uses the same format
+as `extends` and the `dangerousExtend` property as above.
+
+You can export configs for different environments and select environment
+by `BROWSERSLIST_ENV` or `env` option in your tool:
+
+```js
+module.exports = {
+ development: [
+ 'last 1 version'
+ ],
+ production: [
+ 'last 1 version',
+ '> 1%',
+ 'ie 10'
+ ]
+}
+```
+
+
+## Configuring for Different Environments
+
+You can also specify different browser queries for various environments.
+Browserslist will choose query according to `BROWSERSLIST_ENV` or `NODE_ENV`
+variables. If none of them is declared, Browserslist will firstly look
+for `production` queries and then use defaults.
+
+In `package.json`:
+
+```js
+ "browserslist": {
+ "production": [
+ "> 1%",
+ "ie 10"
+ ],
+ "modern": [
+ "last 1 chrome version",
+ "last 1 firefox version"
+ ],
+ "ssr": [
+ "node 12"
+ ]
+ }
+```
+
+In `.browserslistrc` config:
+
+```ini
+[production]
+> 1%
+ie 10
+
+[modern]
+last 1 chrome version
+last 1 firefox version
+
+[ssr]
+node 12
+```
+
+
+## Custom Usage Data
+
+If you have a website, you can query against the usage statistics of your site.
+[`browserslist-ga`] will ask access to Google Analytics and then generate
+`browserslist-stats.json`:
+
+```
+npx browserslist-ga
+```
+
+Or you can use [`browserslist-ga-export`] to convert Google Analytics data without giving a password for Google account.
+
+You can generate usage statistics file by any other method. File format should
+be like:
+
+```js
+{
+ "ie": {
+ "6": 0.01,
+ "7": 0.4,
+ "8": 1.5
+ },
+ "chrome": {
+ …
+ },
+ …
+}
+```
+
+Note that you can query against your custom usage data while also querying
+against global or regional data. For example, the query
+`> 1% in my stats, > 5% in US, 10%` is permitted.
+
+[`browserslist-ga-export`]: https://github.com/browserslist/browserslist-ga-export
+[`browserslist-ga`]: https://github.com/browserslist/browserslist-ga
+[Can I Use]: https://caniuse.com/
+
+
+## JS API
+
+```js
+const browserslist = require('browserslist')
+
+// Your CSS/JS build tool code
+function process (source, opts) {
+ const browsers = browserslist(opts.overrideBrowserslist, {
+ stats: opts.stats,
+ path: opts.file,
+ env: opts.env
+ })
+ // Your code to add features for selected browsers
+}
+```
+
+Queries can be a string `"> 1%, IE 10"`
+or an array `['> 1%', 'IE 10']`.
+
+If a query is missing, Browserslist will look for a config file.
+You can provide a `path` option (that can be a file) to find the config file
+relatively to it.
+
+Options:
+
+* `path`: file or a directory path to look for config file. Default is `.`.
+* `env`: what environment section use from config. Default is `production`.
+* `stats`: custom usage statistics data.
+* `config`: path to config if you want to set it manually.
+* `ignoreUnknownVersions`: do not throw on direct query (like `ie 12`).
+ Default is `false.`
+* `dangerousExtend`: Disable security checks for `extend` query.
+ Default is `false.`
+* `mobileToDesktop`: Use desktop browsers if Can I Use doesn’t have data
+ about this mobile version. For instance, Browserslist will return
+ `chrome 20` on `and_chr 20` query (Can I Use has only data only about
+ latest versions of mobile browsers). Default is `false`.
+
+For non-JS environment and debug purpose you can use CLI tool:
+
+```sh
+browserslist "> 1%, IE 10"
+```
+
+You can get total users coverage for selected browsers by JS API:
+
+```js
+browserslist.coverage(browserslist('> 1%'))
+//=> 81.4
+```
+
+```js
+browserslist.coverage(browserslist('> 1% in US'), 'US')
+//=> 83.1
+```
+
+```js
+browserslist.coverage(browserslist('> 1% in my stats'), 'my stats')
+//=> 83.1
+```
+
+```js
+browserslist.coverage(browserslist('> 1% in my stats', { stats }), stats)
+//=> 82.2
+```
+
+Or by CLI:
+
+```sh
+$ browserslist --coverage "> 1%"
+These browsers account for 81.4% of all users globally
+```
+
+```sh
+$ browserslist --coverage=US "> 1% in US"
+These browsers account for 83.1% of all users in the US
+```
+
+```sh
+$ browserslist --coverage "> 1% in my stats"
+These browsers account for 83.1% of all users in custom statistics
+```
+
+```sh
+$ browserslist --coverage "> 1% in my stats" --stats=./stats.json
+These browsers account for 83.1% of all users in custom statistics
+```
+
+
+## Environment Variables
+
+If a tool uses Browserslist inside, you can change the Browserslist settings
+with [environment variables]:
+
+* `BROWSERSLIST` with browsers queries.
+
+ ```sh
+ BROWSERSLIST="> 5%" npx webpack
+ ```
+
+* `BROWSERSLIST_CONFIG` with path to config file.
+
+ ```sh
+ BROWSERSLIST_CONFIG=./config/browserslist npx webpack
+ ```
+
+* `BROWSERSLIST_ENV` with environments string.
+
+ ```sh
+ BROWSERSLIST_ENV="development" npx webpack
+ ```
+
+* `BROWSERSLIST_STATS` with path to the custom usage data
+ for `> 1% in my stats` query.
+
+ ```sh
+ BROWSERSLIST_STATS=./config/usage_data.json npx webpack
+ ```
+
+* `BROWSERSLIST_DISABLE_CACHE` if you want to disable config reading cache.
+
+ ```sh
+ BROWSERSLIST_DISABLE_CACHE=1 npx webpack
+ ```
+
+* `BROWSERSLIST_DANGEROUS_EXTEND` to disable security shareable config
+ name check.
+
+ ```sh
+ BROWSERSLIST_DANGEROUS_EXTEND=1 npx webpack
+ ```
+
+[environment variables]: https://en.wikipedia.org/wiki/Environment_variable
+
+
+## Cache
+
+Browserslist caches the configuration it reads from `package.json` and
+`browserslist` files, as well as knowledge about the existence of files,
+for the duration of the hosting process.
+
+To clear these caches, use:
+
+```js
+browserslist.clearCaches()
+```
+
+To disable the caching altogether, set the `BROWSERSLIST_DISABLE_CACHE`
+environment variable.
+
+
+## Security Contact
+
+To report a security vulnerability, please use the [Tidelift security contact].
+Tidelift will coordinate the fix and disclosure.
+
+[Tidelift security contact]: https://tidelift.com/security
+
+
+## For Enterprise
+
+Available as part of the Tidelift Subscription.
+
+The maintainers of `browserslist` and thousands of other packages are working
+with Tidelift to deliver commercial support and maintenance for the open source
+dependencies you use to build your applications. Save time, reduce risk,
+and improve code health, while paying the maintainers of the exact dependencies
+you use. [Learn more.](https://tidelift.com/subscription/pkg/npm-browserslist?utm_source=npm-browserslist&utm_medium=referral&utm_campaign=enterprise&utm_term=repo)
diff --git a/node_modules/browserslist/browser.js b/node_modules/browserslist/browser.js
new file mode 100644
index 0000000..39e9ec3
--- /dev/null
+++ b/node_modules/browserslist/browser.js
@@ -0,0 +1,46 @@
+var BrowserslistError = require('./error')
+
+function noop () { }
+
+module.exports = {
+ loadQueries: function loadQueries () {
+ throw new BrowserslistError(
+ 'Sharable configs are not supported in client-side build of Browserslist')
+ },
+
+ getStat: function getStat (opts) {
+ return opts.stats
+ },
+
+ loadConfig: function loadConfig (opts) {
+ if (opts.config) {
+ throw new BrowserslistError(
+ 'Browserslist config are not supported in client-side build')
+ }
+ },
+
+ loadCountry: function loadCountry () {
+ throw new BrowserslistError(
+ 'Country statistics are not supported ' +
+ 'in client-side build of Browserslist')
+ },
+
+ loadFeature: function loadFeature () {
+ throw new BrowserslistError(
+ 'Supports queries are not available in client-side build of Browserslist')
+ },
+
+ currentNode: function currentNode (resolve, context) {
+ return resolve(['maintained node versions'], context)[0]
+ },
+
+ parseConfig: noop,
+
+ readConfig: noop,
+
+ findConfig: noop,
+
+ clearCaches: noop,
+
+ oldDataWarning: noop
+}
diff --git a/node_modules/browserslist/cli.js b/node_modules/browserslist/cli.js
new file mode 100644
index 0000000..526885f
--- /dev/null
+++ b/node_modules/browserslist/cli.js
@@ -0,0 +1,145 @@
+#!/usr/bin/env node
+
+var fs = require('fs')
+
+var browserslist = require('./')
+var updateDb = require('./update-db')
+var pkg = require('./package.json')
+
+var args = process.argv.slice(2)
+
+var USAGE = 'Usage:\n' +
+ ' npx browserslist\n' +
+ ' npx browserslist "QUERIES"\n' +
+ ' npx browserslist --json "QUERIES"\n' +
+ ' npx browserslist --config="path/to/browserlist/file"\n' +
+ ' npx browserslist --coverage "QUERIES"\n' +
+ ' npx browserslist --coverage=US "QUERIES"\n' +
+ ' npx browserslist --coverage=US,RU,global "QUERIES"\n' +
+ ' npx browserslist --env="environment name defined in config"\n' +
+ ' npx browserslist --stats="path/to/browserlist/stats/file"\n' +
+ ' npx browserslist --mobile-to-desktop\n' +
+ ' npx browserslist --update-db'
+
+function isArg (arg) {
+ return args.some(function (str) {
+ return str === arg || str.indexOf(arg + '=') === 0
+ })
+}
+
+function error (msg) {
+ process.stderr.write('browserslist: ' + msg + '\n')
+ process.exit(1)
+}
+
+if (isArg('--help') || isArg('-h')) {
+ process.stdout.write(pkg.description + '.\n\n' + USAGE + '\n')
+} else if (isArg('--version') || isArg('-v')) {
+ process.stdout.write('browserslist ' + pkg.version + '\n')
+} else if (isArg('--update-db')) {
+ updateDb(function (str) {
+ process.stdout.write(str)
+ })
+} else {
+ var mode = 'browsers'
+ var opts = { }
+ var queries
+ var areas
+
+ for (var i = 0; i < args.length; i++) {
+ if (args[i][0] !== '-') {
+ queries = args[i].replace(/^["']|["']$/g, '')
+ continue
+ }
+
+ var arg = args[i].split('=')
+ var name = arg[0]
+ var value = arg[1]
+
+ if (value) value = value.replace(/^["']|["']$/g, '')
+
+ if (name === '--config' || name === '-b') {
+ opts.config = value
+ } else if (name === '--env' || name === '-e') {
+ opts.env = value
+ } else if (name === '--stats' || name === '-s') {
+ opts.stats = value
+ } else if (name === '--coverage' || name === '-c') {
+ if (mode !== 'json') mode = 'coverage'
+ if (value) {
+ areas = value.split(',')
+ } else {
+ areas = ['global']
+ }
+ } else if (name === '--json') {
+ mode = 'json'
+ } else if (name === '--mobile-to-desktop') {
+ opts.mobileToDesktop = true
+ } else {
+ error('Unknown arguments ' + args[i] + '.\n\n' + USAGE)
+ }
+ }
+
+ var browsers
+ try {
+ browsers = browserslist(queries, opts)
+ } catch (e) {
+ if (e.name === 'BrowserslistError') {
+ error(e.message)
+ } else {
+ throw e
+ }
+ }
+
+ var coverage
+ if (mode === 'browsers') {
+ browsers.forEach(function (browser) {
+ process.stdout.write(browser + '\n')
+ })
+ } else if (areas) {
+ coverage = areas.map(function (area) {
+ var stats
+ if (area !== 'global') {
+ stats = area
+ } else if (opts.stats) {
+ stats = JSON.parse(fs.readFileSync(opts.stats))
+ }
+ var result = browserslist.coverage(browsers, stats)
+ var round = Math.round(result * 100) / 100.0
+
+ return [area, round]
+ })
+
+ if (mode === 'coverage') {
+ var prefix = 'These browsers account for '
+ process.stdout.write(prefix)
+ coverage.forEach(function (data, index) {
+ var area = data[0]
+ var round = data[1]
+ var end = 'globally'
+ if (area && area !== 'global') {
+ end = 'in the ' + area.toUpperCase()
+ } else if (opts.stats) {
+ end = 'in custom statistics'
+ }
+
+ if (index !== 0) {
+ process.stdout.write(prefix.replace(/./g, ' '))
+ }
+
+ process.stdout.write(round + '% of all users ' + end + '\n')
+ })
+ }
+ }
+
+ if (mode === 'json') {
+ var data = { browsers: browsers }
+ if (coverage) {
+ data.coverage = coverage.reduce(function (object, j) {
+ object[j[0]] = j[1]
+ return object
+ }, { })
+ }
+ process.stdout.write(JSON.stringify(data, null, ' ') + '\n')
+ }
+}
diff --git a/node_modules/browserslist/error.js b/node_modules/browserslist/error.js
new file mode 100644
index 0000000..b3bc0fe
--- /dev/null
+++ b/node_modules/browserslist/error.js
@@ -0,0 +1,12 @@
+function BrowserslistError (message) {
+ this.name = 'BrowserslistError'
+ this.message = message
+ this.browserslist = true
+ if (Error.captureStackTrace) {
+ Error.captureStackTrace(this, BrowserslistError)
+ }
+}
+
+BrowserslistError.prototype = Error.prototype
+
+module.exports = BrowserslistError
diff --git a/node_modules/browserslist/index.js b/node_modules/browserslist/index.js
new file mode 100644
index 0000000..ca13da6
--- /dev/null
+++ b/node_modules/browserslist/index.js
@@ -0,0 +1,1176 @@
+var jsReleases = require('node-releases/data/processed/envs.json')
+var agents = require('caniuse-lite/dist/unpacker/agents').agents
+var jsEOL = require('node-releases/data/release-schedule/release-schedule.json')
+var path = require('path')
+var e2c = require('electron-to-chromium/versions')
+
+var BrowserslistError = require('./error')
+var env = require('./node') // Will load browser.js in webpack
+
+var YEAR = 365.259641 * 24 * 60 * 60 * 1000
+var ANDROID_EVERGREEN_FIRST = 37
+
+var QUERY_OR = 1
+var QUERY_AND = 2
+
+function isVersionsMatch (versionA, versionB) {
+ return (versionA + '.').indexOf(versionB + '.') === 0
+}
+
+function isEolReleased (name) {
+ var version = name.slice(1)
+ return jsReleases.some(function (i) {
+ return isVersionsMatch(i.version, version)
+ })
+}
+
+function normalize (versions) {
+ return versions.filter(function (version) {
+ return typeof version === 'string'
+ })
+}
+
+function normalizeElectron (version) {
+ var versionToUse = version
+ if (version.split('.').length === 3) {
+ versionToUse = version
+ .split('.')
+ .slice(0, -1)
+ .join('.')
+ }
+ return versionToUse
+}
+
+function nameMapper (name) {
+ return function mapName (version) {
+ return name + ' ' + version
+ }
+}
+
+function getMajor (version) {
+ return parseInt(version.split('.')[0])
+}
+
+function getMajorVersions (released, number) {
+ if (released.length === 0) return []
+ var majorVersions = uniq(released.map(getMajor))
+ var minimum = majorVersions[majorVersions.length - number]
+ if (!minimum) {
+ return released
+ }
+ var selected = []
+ for (var i = released.length - 1; i >= 0; i--) {
+ if (minimum > getMajor(released[i])) break
+ selected.unshift(released[i])
+ }
+ return selected
+}
+
+function uniq (array) {
+ var filtered = []
+ for (var i = 0; i < array.length; i++) {
+ if (filtered.indexOf(array[i]) === -1) filtered.push(array[i])
+ }
+ return filtered
+}
+
+// Helpers
+
+function fillUsage (result, name, data) {
+ for (var i in data) {
+ result[name + ' ' + i] = data[i]
+ }
+}
+
+function generateFilter (sign, version) {
+ version = parseFloat(version)
+ if (sign === '>') {
+ return function (v) {
+ return parseFloat(v) > version
+ }
+ } else if (sign === '>=') {
+ return function (v) {
+ return parseFloat(v) >= version
+ }
+ } else if (sign === '<') {
+ return function (v) {
+ return parseFloat(v) < version
+ }
+ } else {
+ return function (v) {
+ return parseFloat(v) <= version
+ }
+ }
+}
+
+function generateSemverFilter (sign, version) {
+ version = version.split('.').map(parseSimpleInt)
+ version[1] = version[1] || 0
+ version[2] = version[2] || 0
+ if (sign === '>') {
+ return function (v) {
+ v = v.split('.').map(parseSimpleInt)
+ return compareSemver(v, version) > 0
+ }
+ } else if (sign === '>=') {
+ return function (v) {
+ v = v.split('.').map(parseSimpleInt)
+ return compareSemver(v, version) >= 0
+ }
+ } else if (sign === '<') {
+ return function (v) {
+ v = v.split('.').map(parseSimpleInt)
+ return compareSemver(version, v) > 0
+ }
+ } else {
+ return function (v) {
+ v = v.split('.').map(parseSimpleInt)
+ return compareSemver(version, v) >= 0
+ }
+ }
+}
+
+function parseSimpleInt (x) {
+ return parseInt(x)
+}
+
+function compare (a, b) {
+ if (a < b) return -1
+ if (a > b) return +1
+ return 0
+}
+
+function compareSemver (a, b) {
+ return (
+ compare(parseInt(a[0]), parseInt(b[0])) ||
+ compare(parseInt(a[1] || '0'), parseInt(b[1] || '0')) ||
+ compare(parseInt(a[2] || '0'), parseInt(b[2] || '0'))
+ )
+}
+
+// this follows the npm-like semver behavior
+function semverFilterLoose (operator, range) {
+ range = range.split('.').map(parseSimpleInt)
+ if (typeof range[1] === 'undefined') {
+ range[1] = 'x'
+ }
+ // ignore any patch version because we only return minor versions
+ // range[2] = 'x'
+ switch (operator) {
+ case '<=':
+ return function (version) {
+ version = version.split('.').map(parseSimpleInt)
+ return compareSemverLoose(version, range) <= 0
+ }
+ default:
+ case '>=':
+ return function (version) {
+ version = version.split('.').map(parseSimpleInt)
+ return compareSemverLoose(version, range) >= 0
+ }
+ }
+}
+
+// this follows the npm-like semver behavior
+function compareSemverLoose (version, range) {
+ if (version[0] !== range[0]) {
+ return version[0] < range[0] ? -1 : +1
+ }
+ if (range[1] === 'x') {
+ return 0
+ }
+ if (version[1] !== range[1]) {
+ return version[1] < range[1] ? -1 : +1
+ }
+ return 0
+}
+
+function resolveVersion (data, version) {
+ if (data.versions.indexOf(version) !== -1) {
+ return version
+ } else if (browserslist.versionAliases[data.name][version]) {
+ return browserslist.versionAliases[data.name][version]
+ } else {
+ return false
+ }
+}
+
+function normalizeVersion (data, version) {
+ var resolved = resolveVersion(data, version)
+ if (resolved) {
+ return resolved
+ } else if (data.versions.length === 1) {
+ return data.versions[0]
+ } else {
+ return false
+ }
+}
+
+function filterByYear (since, context) {
+ since = since / 1000
+ return Object.keys(agents).reduce(function (selected, name) {
+ var data = byName(name, context)
+ if (!data) return selected
+ var versions = Object.keys(data.releaseDate).filter(function (v) {
+ return data.releaseDate[v] >= since
+ })
+ return selected.concat(versions.map(nameMapper(data.name)))
+ }, [])
+}
+
+function cloneData (data) {
+ return {
+ name: data.name,
+ versions: data.versions,
+ released: data.released,
+ releaseDate: data.releaseDate
+ }
+}
+
+function mapVersions (data, map) {
+ data.versions = data.versions.map(function (i) {
+ return map[i] || i
+ })
+ data.released = data.versions.map(function (i) {
+ return map[i] || i
+ })
+ var fixedDate = { }
+ for (var i in data.releaseDate) {
+ fixedDate[map[i] || i] = data.releaseDate[i]
+ }
+ data.releaseDate = fixedDate
+ return data
+}
+
+function byName (name, context) {
+ name = name.toLowerCase()
+ name = browserslist.aliases[name] || name
+ if (context.mobileToDesktop && browserslist.desktopNames[name]) {
+ var desktop = browserslist.data[browserslist.desktopNames[name]]
+ if (name === 'android') {
+ return normalizeAndroidData(cloneData(browserslist.data[name]), desktop)
+ } else {
+ var cloned = cloneData(desktop)
+ cloned.name = name
+ if (name === 'op_mob') {
+ cloned = mapVersions(cloned, { '10.0-10.1': '10' })
+ }
+ return cloned
+ }
+ }
+ return browserslist.data[name]
+}
+
+function normalizeAndroidVersions (androidVersions, chromeVersions) {
+ var firstEvergreen = ANDROID_EVERGREEN_FIRST
+ var last = chromeVersions[chromeVersions.length - 1]
+ return androidVersions
+ .filter(function (version) { return /^(?:[2-4]\.|[34]$)/.test(version) })
+ .concat(chromeVersions.slice(firstEvergreen - last - 1))
+}
+
+function normalizeAndroidData (android, chrome) {
+ android.released = normalizeAndroidVersions(android.released, chrome.released)
+ android.versions = normalizeAndroidVersions(android.versions, chrome.versions)
+ return android
+}
+
+function checkName (name, context) {
+ var data = byName(name, context)
+ if (!data) throw new BrowserslistError('Unknown browser ' + name)
+ return data
+}
+
+function unknownQuery (query) {
+ return new BrowserslistError(
+ 'Unknown browser query `' + query + '`. ' +
+ 'Maybe you are using old Browserslist or made typo in query.'
+ )
+}
+
+function filterAndroid (list, versions, context) {
+ if (context.mobileToDesktop) return list
+ var released = browserslist.data.android.released
+ var last = released[released.length - 1]
+ var diff = last - ANDROID_EVERGREEN_FIRST - versions
+ if (diff > 0) {
+ return list.slice(-1)
+ } else {
+ return list.slice(diff - 1)
+ }
+}
+
+/**
+ * Resolves queries into a browser list.
+ * @param {string|string[]} queries Queries to combine.
+ * Either an array of queries or a long string of queries.
+ * @param {object} [context] Optional arguments to
+ * the select function in `queries`.
+ * @returns {string[]} A list of browsers
+ */
+function resolve (queries, context) {
+ if (Array.isArray(queries)) {
+ queries = flatten(queries.map(parse))
+ } else {
+ queries = parse(queries)
+ }
+
+ return queries.reduce(function (result, query, index) {
+ var selection = query.queryString
+
+ var isExclude = selection.indexOf('not ') === 0
+ if (isExclude) {
+ if (index === 0) {
+ throw new BrowserslistError(
+ 'Write any browsers query (for instance, `defaults`) ' +
+ 'before `' + selection + '`')
+ }
+ selection = selection.slice(4)
+ }
+
+ for (var i = 0; i < QUERIES.length; i++) {
+ var type = QUERIES[i]
+ var match = selection.match(type.regexp)
+ if (match) {
+ var args = [context].concat(match.slice(1))
+ var array = type.select.apply(browserslist, args).map(function (j) {
+ var parts = j.split(' ')
+ if (parts[1] === '0') {
+ return parts[0] + ' ' + byName(parts[0], context).versions[0]
+ } else {
+ return j
+ }
+ })
+
+ switch (query.type) {
+ case QUERY_AND:
+ if (isExclude) {
+ return result.filter(function (j) {
+ return array.indexOf(j) === -1
+ })
+ } else {
+ return result.filter(function (j) {
+ return array.indexOf(j) !== -1
+ })
+ }
+ case QUERY_OR:
+ default:
+ if (isExclude) {
+ var filter = { }
+ array.forEach(function (j) {
+ filter[j] = true
+ })
+ return result.filter(function (j) {
+ return !filter[j]
+ })
+ }
+ return result.concat(array)
+ }
+ }
+ }
+
+ throw unknownQuery(selection)
+ }, [])
+}
+
+var cache = { }
+
+/**
+ * Return array of browsers by selection queries.
+ *
+ * @param {(string|string[])} [queries=browserslist.defaults] Browser queries.
+ * @param {object} [opts] Options.
+ * @param {string} [opts.path="."] Path to processed file.
+ * It will be used to find config files.
+ * @param {string} [opts.env="production"] Processing environment.
+ * It will be used to take right
+ * queries from config file.
+ * @param {string} [opts.config] Path to config file with queries.
+ * @param {object} [opts.stats] Custom browser usage statistics
+ * for "> 1% in my stats" query.
+ * @param {boolean} [opts.ignoreUnknownVersions=false] Do not throw on unknown
+ * version in direct query.
+ * @param {boolean} [opts.dangerousExtend] Disable security checks
+ * for extend query.
+ * @param {boolean} [opts.mobileToDesktop] Alias mobile browsers to the desktop
+ * version when Can I Use doesn't have
+ * data about the specified version.
+ * @returns {string[]} Array with browser names in Can I Use.
+ *
+ * @example
+ * browserslist('IE >= 10, IE 8') //=> ['ie 11', 'ie 10', 'ie 8']
+ */
+function browserslist (queries, opts) {
+ if (typeof opts === 'undefined') opts = { }
+
+ if (typeof opts.path === 'undefined') {
+ opts.path = path.resolve ? path.resolve('.') : '.'
+ }
+
+ if (typeof queries === 'undefined' || queries === null) {
+ var config = browserslist.loadConfig(opts)
+ if (config) {
+ queries = config
+ } else {
+ queries = browserslist.defaults
+ }
+ }
+
+ if (!(typeof queries === 'string' || Array.isArray(queries))) {
+ throw new BrowserslistError(
+ 'Browser queries must be an array or string. Got ' + typeof queries + '.')
+ }
+
+ var context = {
+ ignoreUnknownVersions: opts.ignoreUnknownVersions,
+ dangerousExtend: opts.dangerousExtend,
+ mobileToDesktop: opts.mobileToDesktop,
+ env: opts.env
+ }
+
+ env.oldDataWarning(browserslist.data)
+ var stats = env.getStat(opts, browserslist.data)
+ if (stats) {
+ context.customUsage = { }
+ for (var browser in stats) {
+ fillUsage(context.customUsage, browser, stats[browser])
+ }
+ }
+
+ var cacheKey = JSON.stringify([queries, context])
+ if (cache[cacheKey]) return cache[cacheKey]
+
+ var result = uniq(resolve(queries, context)).sort(function (name1, name2) {
+ name1 = name1.split(' ')
+ name2 = name2.split(' ')
+ if (name1[0] === name2[0]) {
+ // assumptions on caniuse data
+ // 1) version ranges never overlaps
+ // 2) if version is not a range, it never contains `-`
+ var version1 = name1[1].split('-')[0]
+ var version2 = name2[1].split('-')[0]
+ return compareSemver(version2.split('.'), version1.split('.'))
+ } else {
+ return compare(name1[0], name2[0])
+ }
+ })
+ if (!process.env.BROWSERSLIST_DISABLE_CACHE) {
+ cache[cacheKey] = result
+ }
+ return result
+}
+
+function parse (queries) {
+ var qs = []
+ do {
+ queries = doMatch(queries, qs)
+ } while (queries)
+ return qs
+}
+
+function doMatch (string, qs) {
+ var or = /^(?:,\s*|\s+or\s+)(.*)/i
+ var and = /^\s+and\s+(.*)/i
+
+ return find(string, function (parsed, n, max) {
+ if (and.test(parsed)) {
+ qs.unshift({ type: QUERY_AND, queryString: parsed.match(and)[1] })
+ return true
+ } else if (or.test(parsed)) {
+ qs.unshift({ type: QUERY_OR, queryString: parsed.match(or)[1] })
+ return true
+ } else if (n === max) {
+ qs.unshift({ type: QUERY_OR, queryString: parsed.trim() })
+ return true
+ }
+ return false
+ })
+}
+
+function find (string, predicate) {
+ for (var n = 1, max = string.length; n <= max; n++) {
+ var parsed = string.substr(-n, n)
+ if (predicate(parsed, n, max)) {
+ return string.slice(0, -n)
+ }
+ }
+ return ''
+}
+
+function flatten (array) {
+ if (!Array.isArray(array)) return [array]
+ return array.reduce(function (a, b) {
+ return a.concat(flatten(b))
+ }, [])
+}
+
+// Will be filled by Can I Use data below
+browserslist.cache = { }
+browserslist.data = { }
+browserslist.usage = {
+ global: { },
+ custom: null
+}
+
+// Default browsers query
+browserslist.defaults = [
+ '> 0.5%',
+ 'last 2 versions',
+ 'Firefox ESR',
+ 'not dead'
+]
+
+// Browser names aliases
+browserslist.aliases = {
+ fx: 'firefox',
+ ff: 'firefox',
+ ios: 'ios_saf',
+ explorer: 'ie',
+ blackberry: 'bb',
+ explorermobile: 'ie_mob',
+ operamini: 'op_mini',
+ operamobile: 'op_mob',
+ chromeandroid: 'and_chr',
+ firefoxandroid: 'and_ff',
+ ucandroid: 'and_uc',
+ qqandroid: 'and_qq'
+}
+
+// Can I Use only provides a few versions for some browsers (e.g. and_chr).
+// Fallback to a similar browser for unknown versions
+browserslist.desktopNames = {
+ and_chr: 'chrome',
+ and_ff: 'firefox',
+ ie_mob: 'ie',
+ op_mob: 'opera',
+ android: 'chrome' // has extra processing logic
+}
+
+// Aliases to work with joined versions like `ios_saf 7.0-7.1`
+browserslist.versionAliases = { }
+
+browserslist.clearCaches = env.clearCaches
+browserslist.parseConfig = env.parseConfig
+browserslist.readConfig = env.readConfig
+browserslist.findConfig = env.findConfig
+browserslist.loadConfig = env.loadConfig
+
+/**
+ * Return browsers market coverage.
+ *
+ * @param {string[]} browsers Browsers names in Can I Use.
+ * @param {string|object} [stats="global"] Which statistics should be used.
+ * Country code or custom statistics.
+ * Pass `"my stats"` to load statistics
+ * from Browserslist files.
+ *
+ * @return {number} Total market coverage for all selected browsers.
+ *
+ * @example
+ * browserslist.coverage(browserslist('> 1% in US'), 'US') //=> 83.1
+ */
+browserslist.coverage = function (browsers, stats) {
+ var data
+ if (typeof stats === 'undefined') {
+ data = browserslist.usage.global
+ } else if (stats === 'my stats') {
+ var opts = {}
+ opts.path = path.resolve ? path.resolve('.') : '.'
+ var customStats = env.getStat(opts)
+ if (!customStats) {
+ throw new BrowserslistError('Custom usage statistics was not provided')
+ }
+ data = {}
+ for (var browser in customStats) {
+ fillUsage(data, browser, customStats[browser])
+ }
+ } else if (typeof stats === 'string') {
+ if (stats.length > 2) {
+ stats = stats.toLowerCase()
+ } else {
+ stats = stats.toUpperCase()
+ }
+ env.loadCountry(browserslist.usage, stats, browserslist.data)
+ data = browserslist.usage[stats]
+ } else {
+ if ('dataByBrowser' in stats) {
+ stats = stats.dataByBrowser
+ }
+ data = { }
+ for (var name in stats) {
+ for (var version in stats[name]) {
+ data[name + ' ' + version] = stats[name][version]
+ }
+ }
+ }
+
+ return browsers.reduce(function (all, i) {
+ var usage = data[i]
+ if (usage === undefined) {
+ usage = data[i.replace(/ \S+$/, ' 0')]
+ }
+ return all + (usage || 0)
+ }, 0)
+}
+
+var QUERIES = [
+ {
+ regexp: /^last\s+(\d+)\s+major\s+versions?$/i,
+ select: function (context, versions) {
+ return Object.keys(agents).reduce(function (selected, name) {
+ var data = byName(name, context)
+ if (!data) return selected
+ var list = getMajorVersions(data.released, versions)
+ list = list.map(nameMapper(data.name))
+ if (data.name === 'android') {
+ list = filterAndroid(list, versions, context)
+ }
+ return selected.concat(list)
+ }, [])
+ }
+ },
+ {
+ regexp: /^last\s+(\d+)\s+versions?$/i,
+ select: function (context, versions) {
+ return Object.keys(agents).reduce(function (selected, name) {
+ var data = byName(name, context)
+ if (!data) return selected
+ var list = data.released.slice(-versions)
+ list = list.map(nameMapper(data.name))
+ if (data.name === 'android') {
+ list = filterAndroid(list, versions, context)
+ }
+ return selected.concat(list)
+ }, [])
+ }
+ },
+ {
+ regexp: /^last\s+(\d+)\s+electron\s+major\s+versions?$/i,
+ select: function (context, versions) {
+ var validVersions = getMajorVersions(Object.keys(e2c), versions)
+ return validVersions.map(function (i) {
+ return 'chrome ' + e2c[i]
+ })
+ }
+ },
+ {
+ regexp: /^last\s+(\d+)\s+(\w+)\s+major\s+versions?$/i,
+ select: function (context, versions, name) {
+ var data = checkName(name, context)
+ var validVersions = getMajorVersions(data.released, versions)
+ var list = validVersions.map(nameMapper(data.name))
+ if (data.name === 'android') {
+ list = filterAndroid(list, versions, context)
+ }
+ return list
+ }
+ },
+ {
+ regexp: /^last\s+(\d+)\s+electron\s+versions?$/i,
+ select: function (context, versions) {
+ return Object.keys(e2c).slice(-versions).map(function (i) {
+ return 'chrome ' + e2c[i]
+ })
+ }
+ },
+ {
+ regexp: /^last\s+(\d+)\s+(\w+)\s+versions?$/i,
+ select: function (context, versions, name) {
+ var data = checkName(name, context)
+ var list = data.released.slice(-versions).map(nameMapper(data.name))
+ if (data.name === 'android') {
+ list = filterAndroid(list, versions, context)
+ }
+ return list
+ }
+ },
+ {
+ regexp: /^unreleased\s+versions$/i,
+ select: function (context) {
+ return Object.keys(agents).reduce(function (selected, name) {
+ var data = byName(name, context)
+ if (!data) return selected
+ var list = data.versions.filter(function (v) {
+ return data.released.indexOf(v) === -1
+ })
+ list = list.map(nameMapper(data.name))
+ return selected.concat(list)
+ }, [])
+ }
+ },
+ {
+ regexp: /^unreleased\s+electron\s+versions?$/i,
+ select: function () {
+ return []
+ }
+ },
+ {
+ regexp: /^unreleased\s+(\w+)\s+versions?$/i,
+ select: function (context, name) {
+ var data = checkName(name, context)
+ return data.versions.filter(function (v) {
+ return data.released.indexOf(v) === -1
+ }).map(nameMapper(data.name))
+ }
+ },
+ {
+ regexp: /^last\s+(\d*.?\d+)\s+years?$/i,
+ select: function (context, years) {
+ return filterByYear(Date.now() - YEAR * years, context)
+ }
+ },
+ {
+ regexp: /^since (\d+)(?:-(\d+))?(?:-(\d+))?$/i,
+ select: function (context, year, month, date) {
+ year = parseInt(year)
+ month = parseInt(month || '01') - 1
+ date = parseInt(date || '01')
+ return filterByYear(Date.UTC(year, month, date, 0, 0, 0), context)
+ }
+ },
+ {
+ regexp: /^(>=?|<=?)\s*(\d*\.?\d+)%$/,
+ select: function (context, sign, popularity) {
+ popularity = parseFloat(popularity)
+ var usage = browserslist.usage.global
+ return Object.keys(usage).reduce(function (result, version) {
+ if (sign === '>') {
+ if (usage[version] > popularity) {
+ result.push(version)
+ }
+ } else if (sign === '<') {
+ if (usage[version] < popularity) {
+ result.push(version)
+ }
+ } else if (sign === '<=') {
+ if (usage[version] <= popularity) {
+ result.push(version)
+ }
+ } else if (usage[version] >= popularity) {
+ result.push(version)
+ }
+ return result
+ }, [])
+ }
+ },
+ {
+ regexp: /^(>=?|<=?)\s*(\d*\.?\d+)%\s+in\s+my\s+stats$/,
+ select: function (context, sign, popularity) {
+ popularity = parseFloat(popularity)
+ if (!context.customUsage) {
+ throw new BrowserslistError('Custom usage statistics was not provided')
+ }
+ var usage = context.customUsage
+ return Object.keys(usage).reduce(function (result, version) {
+ if (sign === '>') {
+ if (usage[version] > popularity) {
+ result.push(version)
+ }
+ } else if (sign === '<') {
+ if (usage[version] < popularity) {
+ result.push(version)
+ }
+ } else if (sign === '<=') {
+ if (usage[version] <= popularity) {
+ result.push(version)
+ }
+ } else if (usage[version] >= popularity) {
+ result.push(version)
+ }
+ return result
+ }, [])
+ }
+ },
+ {
+ regexp: /^(>=?|<=?)\s*(\d*\.?\d+)%\s+in\s+(\S+)\s+stats$/,
+ select: function (context, sign, popularity, name) {
+ popularity = parseFloat(popularity)
+ var stats = env.loadStat(context, name, browserslist.data)
+ if (stats) {
+ context.customUsage = { }
+ for (var browser in stats) {
+ fillUsage(context.customUsage, browser, stats[browser])
+ }
+ }
+ if (!context.customUsage) {
+ throw new BrowserslistError('Custom usage statistics was not provided')
+ }
+ var usage = context.customUsage
+ return Object.keys(usage).reduce(function (result, version) {
+ if (sign === '>') {
+ if (usage[version] > popularity) {
+ result.push(version)
+ }
+ } else if (sign === '<') {
+ if (usage[version] < popularity) {
+ result.push(version)
+ }
+ } else if (sign === '<=') {
+ if (usage[version] <= popularity) {
+ result.push(version)
+ }
+ } else if (usage[version] >= popularity) {
+ result.push(version)
+ }
+ return result
+ }, [])
+ }
+ },
+ {
+ regexp: /^(>=?|<=?)\s*(\d*\.?\d+)%\s+in\s+((alt-)?\w\w)$/,
+ select: function (context, sign, popularity, place) {
+ popularity = parseFloat(popularity)
+ if (place.length === 2) {
+ place = place.toUpperCase()
+ } else {
+ place = place.toLowerCase()
+ }
+ env.loadCountry(browserslist.usage, place, browserslist.data)
+ var usage = browserslist.usage[place]
+ return Object.keys(usage).reduce(function (result, version) {
+ if (sign === '>') {
+ if (usage[version] > popularity) {
+ result.push(version)
+ }
+ } else if (sign === '<') {
+ if (usage[version] < popularity) {
+ result.push(version)
+ }
+ } else if (sign === '<=') {
+ if (usage[version] <= popularity) {
+ result.push(version)
+ }
+ } else if (usage[version] >= popularity) {
+ result.push(version)
+ }
+ return result
+ }, [])
+ }
+ },
+ {
+ regexp: /^cover\s+(\d*\.?\d+)%(\s+in\s+(my\s+stats|(alt-)?\w\w))?$/,
+ select: function (context, coverage, statMode) {
+ coverage = parseFloat(coverage)
+ var usage = browserslist.usage.global
+ if (statMode) {
+ if (statMode.match(/^\s+in\s+my\s+stats$/)) {
+ if (!context.customUsage) {
+ throw new BrowserslistError(
+ 'Custom usage statistics was not provided'
+ )
+ }
+ usage = context.customUsage
+ } else {
+ var match = statMode.match(/\s+in\s+((alt-)?\w\w)/)
+ var place = match[1]
+ if (place.length === 2) {
+ place = place.toUpperCase()
+ } else {
+ place = place.toLowerCase()
+ }
+ env.loadCountry(browserslist.usage, place, browserslist.data)
+ usage = browserslist.usage[place]
+ }
+ }
+ var versions = Object.keys(usage).sort(function (a, b) {
+ return usage[b] - usage[a]
+ })
+ var coveraged = 0
+ var result = []
+ var version
+ for (var i = 0; i <= versions.length; i++) {
+ version = versions[i]
+ if (usage[version] === 0) break
+ coveraged += usage[version]
+ result.push(version)
+ if (coveraged >= coverage) break
+ }
+ return result
+ }
+ },
+ {
+ regexp: /^supports\s+([\w-]+)$/,
+ select: function (context, feature) {
+ env.loadFeature(browserslist.cache, feature)
+ var features = browserslist.cache[feature]
+ return Object.keys(features).reduce(function (result, version) {
+ var flags = features[version]
+ if (flags.indexOf('y') >= 0 || flags.indexOf('a') >= 0) {
+ result.push(version)
+ }
+ return result
+ }, [])
+ }
+ },
+ {
+ regexp: /^electron\s+([\d.]+)\s*-\s*([\d.]+)$/i,
+ select: function (context, from, to) {
+ var fromToUse = normalizeElectron(from)
+ var toToUse = normalizeElectron(to)
+ if (!e2c[fromToUse]) {
+ throw new BrowserslistError('Unknown version ' + from + ' of electron')
+ }
+ if (!e2c[toToUse]) {
+ throw new BrowserslistError('Unknown version ' + to + ' of electron')
+ }
+ from = parseFloat(from)
+ to = parseFloat(to)
+ return Object.keys(e2c).filter(function (i) {
+ var parsed = parseFloat(i)
+ return parsed >= from && parsed <= to
+ }).map(function (i) {
+ return 'chrome ' + e2c[i]
+ })
+ }
+ },
+ {
+ regexp: /^node\s+([\d.]+)\s*-\s*([\d.]+)$/i,
+ select: function (context, from, to) {
+ var nodeVersions = jsReleases.filter(function (i) {
+ return i.name === 'nodejs'
+ }).map(function (i) {
+ return i.version
+ })
+ var semverRegExp = /^(0|[1-9]\d*)(\.(0|[1-9]\d*)){0,2}$/
+ if (!semverRegExp.test(from)) {
+ throw new BrowserslistError(
+ 'Unknown version ' + from + ' of Node.js')
+ }
+ if (!semverRegExp.test(to)) {
+ throw new BrowserslistError(
+ 'Unknown version ' + to + ' of Node.js')
+ }
+ return nodeVersions
+ .filter(semverFilterLoose('>=', from))
+ .filter(semverFilterLoose('<=', to))
+ .map(function (v) {
+ return 'node ' + v
+ })
+ }
+ },
+ {
+ regexp: /^(\w+)\s+([\d.]+)\s*-\s*([\d.]+)$/i,
+ select: function (context, name, from, to) {
+ var data = checkName(name, context)
+ from = parseFloat(normalizeVersion(data, from) || from)
+ to = parseFloat(normalizeVersion(data, to) || to)
+ function filter (v) {
+ var parsed = parseFloat(v)
+ return parsed >= from && parsed <= to
+ }
+ return data.released.filter(filter).map(nameMapper(data.name))
+ }
+ },
+ {
+ regexp: /^electron\s*(>=?|<=?)\s*([\d.]+)$/i,
+ select: function (context, sign, version) {
+ var versionToUse = normalizeElectron(version)
+ return Object.keys(e2c)
+ .filter(generateFilter(sign, versionToUse))
+ .map(function (i) {
+ return 'chrome ' + e2c[i]
+ })
+ }
+ },
+ {
+ regexp: /^node\s*(>=?|<=?)\s*([\d.]+)$/i,
+ select: function (context, sign, version) {
+ var nodeVersions = jsReleases.filter(function (i) {
+ return i.name === 'nodejs'
+ }).map(function (i) {
+ return i.version
+ })
+ return nodeVersions
+ .filter(generateSemverFilter(sign, version))
+ .map(function (v) {
+ return 'node ' + v
+ })
+ }
+ },
+ {
+ regexp: /^(\w+)\s*(>=?|<=?)\s*([\d.]+)$/,
+ select: function (context, name, sign, version) {
+ var data = checkName(name, context)
+ var alias = browserslist.versionAliases[data.name][version]
+ if (alias) {
+ version = alias
+ }
+ return data.released
+ .filter(generateFilter(sign, version))
+ .map(function (v) {
+ return data.name + ' ' + v
+ })
+ }
+ },
+ {
+ regexp: /^(firefox|ff|fx)\s+esr$/i,
+ select: function () {
+ return ['firefox 78']
+ }
+ },
+ {
+ regexp: /(operamini|op_mini)\s+all/i,
+ select: function () {
+ return ['op_mini all']
+ }
+ },
+ {
+ regexp: /^electron\s+([\d.]+)$/i,
+ select: function (context, version) {
+ var versionToUse = normalizeElectron(version)
+ var chrome = e2c[versionToUse]
+ if (!chrome) {
+ throw new BrowserslistError(
+ 'Unknown version ' + version + ' of electron')
+ }
+ return ['chrome ' + chrome]
+ }
+ },
+ {
+ regexp: /^node\s+(\d+(\.\d+)?(\.\d+)?)$/i,
+ select: function (context, version) {
+ var nodeReleases = jsReleases.filter(function (i) {
+ return i.name === 'nodejs'
+ })
+ var matched = nodeReleases.filter(function (i) {
+ return isVersionsMatch(i.version, version)
+ })
+ if (matched.length === 0) {
+ if (context.ignoreUnknownVersions) {
+ return []
+ } else {
+ throw new BrowserslistError(
+ 'Unknown version ' + version + ' of Node.js')
+ }
+ }
+ return ['node ' + matched[matched.length - 1].version]
+ }
+ },
+ {
+ regexp: /^current\s+node$/i,
+ select: function (context) {
+ return [env.currentNode(resolve, context)]
+ }
+ },
+ {
+ regexp: /^maintained\s+node\s+versions$/i,
+ select: function (context) {
+ var now = Date.now()
+ var queries = Object.keys(jsEOL).filter(function (key) {
+ return now < Date.parse(jsEOL[key].end) &&
+ now > Date.parse(jsEOL[key].start) &&
+ isEolReleased(key)
+ }).map(function (key) {
+ return 'node ' + key.slice(1)
+ })
+ return resolve(queries, context)
+ }
+ },
+ {
+ regexp: /^phantomjs\s+1.9$/i,
+ select: function () {
+ return ['safari 5']
+ }
+ },
+ {
+ regexp: /^phantomjs\s+2.1$/i,
+ select: function () {
+ return ['safari 6']
+ }
+ },
+ {
+ regexp: /^(\w+)\s+(tp|[\d.]+)$/i,
+ select: function (context, name, version) {
+ if (/^tp$/i.test(version)) version = 'TP'
+ var data = checkName(name, context)
+ var alias = normalizeVersion(data, version)
+ if (alias) {
+ version = alias
+ } else {
+ if (version.indexOf('.') === -1) {
+ alias = version + '.0'
+ } else {
+ alias = version.replace(/\.0$/, '')
+ }
+ alias = normalizeVersion(data, alias)
+ if (alias) {
+ version = alias
+ } else if (context.ignoreUnknownVersions) {
+ return []
+ } else {
+ throw new BrowserslistError(
+ 'Unknown version ' + version + ' of ' + name)
+ }
+ }
+ return [data.name + ' ' + version]
+ }
+ },
+ {
+ regexp: /^extends (.+)$/i,
+ select: function (context, name) {
+ return resolve(env.loadQueries(context, name), context)
+ }
+ },
+ {
+ regexp: /^defaults$/i,
+ select: function (context) {
+ return resolve(browserslist.defaults, context)
+ }
+ },
+ {
+ regexp: /^dead$/i,
+ select: function (context) {
+ var dead = [
+ 'ie <= 10',
+ 'ie_mob <= 11',
+ 'bb <= 10',
+ 'op_mob <= 12.1',
+ 'samsung 4'
+ ]
+ return resolve(dead, context)
+ }
+ },
+ {
+ regexp: /^(\w+)$/i,
+ select: function (context, name) {
+ if (byName(name, context)) {
+ throw new BrowserslistError(
+ 'Specify versions in Browserslist query for browser ' + name)
+ } else {
+ throw unknownQuery(name)
+ }
+ }
+ }
+];
+
+// Get and convert Can I Use data
+
+(function () {
+ for (var name in agents) {
+ var browser = agents[name]
+ browserslist.data[name] = {
+ name: name,
+ versions: normalize(agents[name].versions),
+ released: normalize(agents[name].versions.slice(0, -3)),
+ releaseDate: agents[name].release_date
+ }
+ fillUsage(browserslist.usage.global, name, browser.usage_global)
+
+ browserslist.versionAliases[name] = { }
+ for (var i = 0; i < browser.versions.length; i++) {
+ var full = browser.versions[i]
+ if (!full) continue
+
+ if (full.indexOf('-') !== -1) {
+ var interval = full.split('-')
+ for (var j = 0; j < interval.length; j++) {
+ browserslist.versionAliases[name][interval[j]] = full
+ }
+ }
+ }
+ }
+
+ browserslist.versionAliases.op_mob['59'] = '58'
+}())
+
+module.exports = browserslist
diff --git a/node_modules/browserslist/node.js b/node_modules/browserslist/node.js
new file mode 100644
index 0000000..0971532
--- /dev/null
+++ b/node_modules/browserslist/node.js
@@ -0,0 +1,386 @@
+var feature = require('caniuse-lite/dist/unpacker/feature').default
+var region = require('caniuse-lite/dist/unpacker/region').default
+var path = require('path')
+var fs = require('fs')
+
+var BrowserslistError = require('./error')
+
+var IS_SECTION = /^\s*\[(.+)]\s*$/
+var CONFIG_PATTERN = /^browserslist-config-/
+var SCOPED_CONFIG__PATTERN = /@[^/]+\/browserslist-config(-|$|\/)/
+var TIME_TO_UPDATE_CANIUSE = 6 * 30 * 24 * 60 * 60 * 1000
+var FORMAT = 'Browserslist config should be a string or an array ' +
+ 'of strings with browser queries'
+
+var dataTimeChecked = false
+var filenessCache = { }
+var configCache = { }
+function checkExtend (name) {
+ var use = ' Use `dangerousExtend` option to disable.'
+ if (!CONFIG_PATTERN.test(name) && !SCOPED_CONFIG__PATTERN.test(name)) {
+ throw new BrowserslistError(
+ 'Browserslist config needs `browserslist-config-` prefix. ' + use)
+ }
+ if (name.replace(/^@[^/]+\//, '').indexOf('.') !== -1) {
+ throw new BrowserslistError(
+ '`.` not allowed in Browserslist config name. ' + use)
+ }
+ if (name.indexOf('node_modules') !== -1) {
+ throw new BrowserslistError(
+ '`node_modules` not allowed in Browserslist config.' + use)
+ }
+}
+
+function isFile (file) {
+ if (file in filenessCache) {
+ return filenessCache[file]
+ }
+ var result = fs.existsSync(file) && fs.statSync(file).isFile()
+ if (!process.env.BROWSERSLIST_DISABLE_CACHE) {
+ filenessCache[file] = result
+ }
+ return result
+}
+
+function eachParent (file, callback) {
+ var dir = isFile(file) ? path.dirname(file) : file
+ var loc = path.resolve(dir)
+ do {
+ var result = callback(loc)
+ if (typeof result !== 'undefined') return result
+ } while (loc !== (loc = path.dirname(loc)))
+ return undefined
+}
+
+function check (section) {
+ if (Array.isArray(section)) {
+ for (var i = 0; i < section.length; i++) {
+ if (typeof section[i] !== 'string') {
+ throw new BrowserslistError(FORMAT)
+ }
+ }
+ } else if (typeof section !== 'string') {
+ throw new BrowserslistError(FORMAT)
+ }
+}
+
+function pickEnv (config, opts) {
+ if (typeof config !== 'object') return config
+
+ var name
+ if (typeof opts.env === 'string') {
+ name = opts.env
+ } else if (process.env.BROWSERSLIST_ENV) {
+ name = process.env.BROWSERSLIST_ENV
+ } else if (process.env.NODE_ENV) {
+ name = process.env.NODE_ENV
+ } else {
+ name = 'production'
+ }
+
+ return config[name] || config.defaults
+}
+
+function parsePackage (file) {
+ var config = JSON.parse(fs.readFileSync(file))
+ if (config.browserlist && !config.browserslist) {
+ throw new BrowserslistError(
+ '`browserlist` key instead of `browserslist` in ' + file
+ )
+ }
+ var list = config.browserslist
+ if (Array.isArray(list) || typeof list === 'string') {
+ list = { defaults: list }
+ }
+ for (var i in list) {
+ check(list[i])
+ }
+
+ return list
+}
+
+function latestReleaseTime (agents) {
+ var latest = 0
+ for (var name in agents) {
+ var dates = agents[name].releaseDate || { }
+ for (var key in dates) {
+ if (latest < dates[key]) {
+ latest = dates[key]
+ }
+ }
+ }
+ return latest * 1000
+}
+
+function normalizeStats (data, stats) {
+ if (stats && 'dataByBrowser' in stats) {
+ stats = stats.dataByBrowser
+ }
+
+ if (typeof stats !== 'object') return undefined
+
+ var normalized = { }
+ for (var i in stats) {
+ var versions = Object.keys(stats[i])
+ if (
+ versions.length === 1 &&
+ data[i] &&
+ data[i].versions.length === 1
+ ) {
+ var normal = Object.keys(data[i].versions)[0]
+ normalized[i] = { }
+ normalized[i][normal] = stats[i][versions[0]]
+ } else {
+ normalized[i] = stats[i]
+ }
+ }
+
+ return normalized
+}
+
+function normalizeUsageData (usageData, data) {
+ for (var browser in usageData) {
+ var browserUsage = usageData[browser]
+ // eslint-disable-next-line max-len
+ // https://github.com/browserslist/browserslist/issues/431#issuecomment-565230615
+ // caniuse-db returns { 0: "percentage" } for `and_*` regional stats
+ if ('0' in browserUsage) {
+ var versions = data[browser].versions
+ browserUsage[versions[versions.length - 1]] = browserUsage[0]
+ delete browserUsage[0]
+ }
+ }
+}
+
+module.exports = {
+ loadQueries: function loadQueries (ctx, name) {
+ if (!ctx.dangerousExtend && !process.env.BROWSERSLIST_DANGEROUS_EXTEND) {
+ checkExtend(name)
+ }
+ // eslint-disable-next-line security/detect-non-literal-require
+ var queries = require(require.resolve(name, { paths: ['.'] }))
+ if (queries) {
+ if (Array.isArray(queries)) {
+ return queries
+ } else if (typeof queries === 'object') {
+ if (!queries.defaults) queries.defaults = []
+ return pickEnv(queries, ctx, name)
+ }
+ }
+ throw new BrowserslistError(
+ '`' + name + '` config exports not an array of queries' +
+ ' or an object of envs'
+ )
+ },
+
+ loadStat: function loadStat (ctx, name, data) {
+ if (!ctx.dangerousExtend && !process.env.BROWSERSLIST_DANGEROUS_EXTEND) {
+ checkExtend(name)
+ }
+ // eslint-disable-next-line security/detect-non-literal-require
+ var stats = require(
+ require.resolve(
+ path.join(name, 'browserslist-stats.json'),
+ { paths: ['.'] }
+ )
+ )
+ return normalizeStats(data, stats)
+ },
+
+ getStat: function getStat (opts, data) {
+ var stats
+ if (opts.stats) {
+ stats = opts.stats
+ } else if (process.env.BROWSERSLIST_STATS) {
+ stats = process.env.BROWSERSLIST_STATS
+ } else if (opts.path && path.resolve && fs.existsSync) {
+ stats = eachParent(opts.path, function (dir) {
+ var file = path.join(dir, 'browserslist-stats.json')
+ return isFile(file) ? file : undefined
+ })
+ }
+ if (typeof stats === 'string') {
+ try {
+ stats = JSON.parse(fs.readFileSync(stats))
+ } catch (e) {
+ throw new BrowserslistError('Can\'t read ' + stats)
+ }
+ }
+ return normalizeStats(data, stats)
+ },
+
+ loadConfig: function loadConfig (opts) {
+ if (process.env.BROWSERSLIST) {
+ return process.env.BROWSERSLIST
+ } else if (opts.config || process.env.BROWSERSLIST_CONFIG) {
+ var file = opts.config || process.env.BROWSERSLIST_CONFIG
+ if (path.basename(file) === 'package.json') {
+ return pickEnv(parsePackage(file), opts)
+ } else {
+ return pickEnv(module.exports.readConfig(file), opts)
+ }
+ } else if (opts.path) {
+ return pickEnv(module.exports.findConfig(opts.path), opts)
+ } else {
+ return undefined
+ }
+ },
+
+ loadCountry: function loadCountry (usage, country, data) {
+ var code = country.replace(/[^\w-]/g, '')
+ if (!usage[code]) {
+ // eslint-disable-next-line security/detect-non-literal-require
+ var compressed = require('caniuse-lite/data/regions/' + code + '.js')
+ var usageData = region(compressed)
+ normalizeUsageData(usageData, data)
+ usage[country] = { }
+ for (var i in usageData) {
+ for (var j in usageData[i]) {
+ usage[country][i + ' ' + j] = usageData[i][j]
+ }
+ }
+ }
+ },
+
+ loadFeature: function loadFeature (features, name) {
+ name = name.replace(/[^\w-]/g, '')
+ if (features[name]) return
+
+ // eslint-disable-next-line security/detect-non-literal-require
+ var compressed = require('caniuse-lite/data/features/' + name + '.js')
+ var stats = feature(compressed).stats
+ features[name] = { }
+ for (var i in stats) {
+ for (var j in stats[i]) {
+ features[name][i + ' ' + j] = stats[i][j]
+ }
+ }
+ },
+
+ parseConfig: function parseConfig (string) {
+ var result = { defaults: [] }
+ var sections = ['defaults']
+
+ string.toString()
+ .replace(/#[^\n]*/g, '')
+ .split(/\n|,/)
+ .map(function (line) {
+ return line.trim()
+ })
+ .filter(function (line) {
+ return line !== ''
+ })
+ .forEach(function (line) {
+ if (IS_SECTION.test(line)) {
+ sections = line.match(IS_SECTION)[1].trim().split(' ')
+ sections.forEach(function (section) {
+ if (result[section]) {
+ throw new BrowserslistError(
+ 'Duplicate section ' + section + ' in Browserslist config'
+ )
+ }
+ result[section] = []
+ })
+ } else {
+ sections.forEach(function (section) {
+ result[section].push(line)
+ })
+ }
+ })
+
+ return result
+ },
+
+ readConfig: function readConfig (file) {
+ if (!isFile(file)) {
+ throw new BrowserslistError('Can\'t read ' + file + ' config')
+ }
+ return module.exports.parseConfig(fs.readFileSync(file))
+ },
+
+ findConfig: function findConfig (from) {
+ from = path.resolve(from)
+
+ var passed = []
+ var resolved = eachParent(from, function (dir) {
+ if (dir in configCache) {
+ return configCache[dir]
+ }
+
+ passed.push(dir)
+
+ var config = path.join(dir, 'browserslist')
+ var pkg = path.join(dir, 'package.json')
+ var rc = path.join(dir, '.browserslistrc')
+
+ var pkgBrowserslist
+ if (isFile(pkg)) {
+ try {
+ pkgBrowserslist = parsePackage(pkg)
+ } catch (e) {
+ if (e.name === 'BrowserslistError') throw e
+ console.warn(
+ '[Browserslist] Could not parse ' + pkg + '. Ignoring it.'
+ )
+ }
+ }
+
+ if (isFile(config) && pkgBrowserslist) {
+ throw new BrowserslistError(
+ dir + ' contains both browserslist and package.json with browsers'
+ )
+ } else if (isFile(rc) && pkgBrowserslist) {
+ throw new BrowserslistError(
+ dir + ' contains both .browserslistrc and package.json with browsers'
+ )
+ } else if (isFile(config) && isFile(rc)) {
+ throw new BrowserslistError(
+ dir + ' contains both .browserslistrc and browserslist'
+ )
+ } else if (isFile(config)) {
+ return module.exports.readConfig(config)
+ } else if (isFile(rc)) {
+ return module.exports.readConfig(rc)
+ } else {
+ return pkgBrowserslist
+ }
+ })
+ if (!process.env.BROWSERSLIST_DISABLE_CACHE) {
+ passed.forEach(function (dir) {
+ configCache[dir] = resolved
+ })
+ }
+ return resolved
+ },
+
+ clearCaches: function clearCaches () {
+ dataTimeChecked = false
+ filenessCache = { }
+ configCache = { }
+
+ this.cache = { }
+ },
+
+ oldDataWarning: function oldDataWarning (agentsObj) {
+ if (dataTimeChecked) return
+ dataTimeChecked = true
+ if (process.env.BROWSERSLIST_IGNORE_OLD_DATA) return
+
+ var latest = latestReleaseTime(agentsObj)
+ var halfYearAgo = Date.now() - TIME_TO_UPDATE_CANIUSE
+
+ if (latest !== 0 && latest < halfYearAgo) {
+ console.warn(
+ 'Browserslist: caniuse-lite is outdated. Please run:\n' +
+ 'npx browserslist@latest --update-db\n' +
+ '\n' +
+ 'Why you should do it regularly:\n' +
+ 'https://github.com/browserslist/browserslist#browsers-data-updating'
+ )
+ }
+ },
+
+ currentNode: function currentNode () {
+ return 'node ' + process.versions.node
+ }
+}
diff --git a/node_modules/browserslist/package.json b/node_modules/browserslist/package.json
new file mode 100644
index 0000000..abd77c7
--- /dev/null
+++ b/node_modules/browserslist/package.json
@@ -0,0 +1,69 @@
+{
+ "_from": "browserslist@^4.12.0",
+ "_id": "browserslist@4.14.7",
+ "_inBundle": false,
+ "_integrity": "sha512-BSVRLCeG3Xt/j/1cCGj1019Wbty0H+Yvu2AOuZSuoaUWn3RatbL33Cxk+Q4jRMRAbOm0p7SLravLjpnT6s0vzQ==",
+ "_location": "/browserslist",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "range",
+ "registry": true,
+ "raw": "browserslist@^4.12.0",
+ "name": "browserslist",
+ "escapedName": "browserslist",
+ "rawSpec": "^4.12.0",
+ "saveSpec": null,
+ "fetchSpec": "^4.12.0"
+ },
+ "_requiredBy": [
+ "/autoprefixer"
+ ],
+ "_resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.14.7.tgz",
+ "_shasum": "c071c1b3622c1c2e790799a37bb09473a4351cb6",
+ "_spec": "browserslist@^4.12.0",
+ "_where": "C:\\Users\\Futil\\AppData\\Local\\FoundryVTT\\Data\\systems\\mothership\\node_modules\\autoprefixer",
+ "author": {
+ "name": "Andrey Sitnik",
+ "email": "andrey@sitnik.ru"
+ },
+ "bin": {
+ "browserslist": "cli.js"
+ },
+ "browser": {
+ "./node.js": "./browser.js",
+ "path": false
+ },
+ "bugs": {
+ "url": "https://github.com/browserslist/browserslist/issues"
+ },
+ "bundleDependencies": false,
+ "dependencies": {
+ "caniuse-lite": "^1.0.30001157",
+ "colorette": "^1.2.1",
+ "electron-to-chromium": "^1.3.591",
+ "escalade": "^3.1.1",
+ "node-releases": "^1.1.66"
+ },
+ "deprecated": false,
+ "description": "Share target browsers between different front-end tools, like Autoprefixer, Stylelint and babel-env-preset",
+ "engines": {
+ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ "homepage": "https://github.com/browserslist/browserslist#readme",
+ "keywords": [
+ "caniuse",
+ "browsers",
+ "target"
+ ],
+ "license": "MIT",
+ "name": "browserslist",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/browserslist/browserslist.git"
+ },
+ "version": "4.14.7"
+}
diff --git a/node_modules/browserslist/update-db.js b/node_modules/browserslist/update-db.js
new file mode 100644
index 0000000..0a61a77
--- /dev/null
+++ b/node_modules/browserslist/update-db.js
@@ -0,0 +1,257 @@
+var childProcess = require('child_process')
+var colorette = require('colorette')
+var escalade = require('escalade/sync')
+var path = require('path')
+var fs = require('fs')
+
+var BrowserslistError = require('./error')
+
+var red = colorette.red
+var bold = colorette.bold
+var green = colorette.green
+var yellow = colorette.yellow
+
+function detectLockfile () {
+ var packageDir = escalade('.', function (dir, names) {
+ return names.indexOf('package.json') !== -1 ? dir : ''
+ })
+
+ if (!packageDir) {
+ throw new BrowserslistError(
+ 'Cannot find package.json. ' +
+ 'Is it a right project to run npx browserslist --update-db?'
+ )
+ }
+
+ var lockfileNpm = path.join(packageDir, 'package-lock.json')
+ var lockfileYarn = path.join(packageDir, 'yarn.lock')
+ var lockfilePnpm = path.join(packageDir, 'pnpm-lock.yaml')
+
+ /* istanbul ignore next */
+ if (fs.existsSync(lockfilePnpm)) {
+ return { mode: 'pnpm', file: lockfilePnpm }
+ } else if (fs.existsSync(lockfileNpm)) {
+ return { mode: 'npm', file: lockfileNpm }
+ } else if (fs.existsSync(lockfileYarn)) {
+ return { mode: 'yarn', file: lockfileYarn }
+ } else {
+ throw new BrowserslistError(
+ 'No lockfile found. Run "npm install", "yarn install" or "pnpm install"'
+ )
+ }
+}
+
+function getCurrentVersion (lock) {
+ var match
+ /* istanbul ignore if */
+ if (lock.mode === 'pnpm') {
+ match = /\/caniuse-lite\/([^:]+):/.exec(lock.content)
+ if (match[1]) return match[1]
+ } else if (lock.mode === 'npm') {
+ var dependencies = JSON.parse(lock.content).dependencies
+ if (dependencies && dependencies['caniuse-lite']) {
+ return dependencies['caniuse-lite'].version
+ }
+ } else if (lock.mode === 'yarn') {
+ match = /caniuse-lite@[^:]+:\r?\n\s+version\s+"([^"]+)"/.exec(lock.content)
+ if (match[1]) return match[1]
+ }
+ return null
+}
+
+function getLatestInfo (lock) {
+ if (lock.mode !== 'yarn') {
+ return JSON.parse(
+ childProcess.execSync('npm show caniuse-lite --json').toString()
+ )
+ } else {
+ return JSON.parse(
+ childProcess.execSync('yarn info caniuse-lite --json').toString()
+ ).data
+ }
+}
+
+function getBrowsersList () {
+ return childProcess.execSync('npx browserslist').toString()
+ .trim()
+ .split('\n')
+ .map(function (line) {
+ return line.trim().split(' ')
+ })
+ .reduce(function (result, entry) {
+ if (!result[entry[0]]) {
+ result[entry[0]] = []
+ }
+ result[entry[0]].push(entry[1])
+ return result
+ }, {})
+}
+
+function diffBrowsersLists (old, current) {
+ var browsers = Object.keys(old).concat(
+ Object.keys(current).filter(function (browser) {
+ return old[browser] === undefined
+ })
+ )
+ return browsers.map(function (browser) {
+ var oldVersions = old[browser] || []
+ var currentVersions = current[browser] || []
+ var intersection = oldVersions.filter(function (version) {
+ return currentVersions.indexOf(version) !== -1
+ })
+ var addedVersions = currentVersions.filter(function (version) {
+ return intersection.indexOf(version) === -1
+ })
+ var removedVersions = oldVersions.filter(function (version) {
+ return intersection.indexOf(version) === -1
+ })
+ return removedVersions.map(function (version) {
+ return red('- ' + browser + ' ' + version)
+ }).concat(addedVersions.map(function (version) {
+ return green('+ ' + browser + ' ' + version)
+ }))
+ })
+ .reduce(function (result, array) {
+ return result.concat(array)
+ }, [])
+ .join('\n')
+}
+
+function updateLockfile (lock, latest) {
+ if (lock.mode === 'npm') {
+ var fixed = deletePackage(JSON.parse(lock.content))
+ return JSON.stringify(fixed, null, ' ')
+ } else {
+ var lines = lock.content.split('\n')
+ var i
+ /* istanbul ignore if */
+ if (lock.mode === 'pnpm') {
+ for (i = 0; i < lines.length; i++) {
+ if (lines[i].indexOf('caniuse-lite:') >= 0) {
+ lines[i] = lines[i].replace(/: .*$/, ': ' + latest.version)
+ } else if (lines[i].indexOf('/caniuse-lite') >= 0) {
+ lines[i] = lines[i].replace(/\/[^/:]+:/, '/' + latest.version + ':')
+ for (i = i + 1; i < lines.length; i++) {
+ if (lines[i].indexOf('integrity: ') !== -1) {
+ lines[i] = lines[i].replace(
+ /integrity: .+/, 'integrity: ' + latest.dist.integrity
+ )
+ } else if (lines[i].indexOf(' /') !== -1) {
+ break
+ }
+ }
+ }
+ }
+ } else if (lock.mode === 'yarn') {
+ for (i = 0; i < lines.length; i++) {
+ if (lines[i].indexOf('caniuse-lite@') !== -1) {
+ lines[i + 1] = lines[i + 1].replace(
+ /version "[^"]+"/, 'version "' + latest.version + '"'
+ )
+ lines[i + 2] = lines[i + 2].replace(
+ /resolved "[^"]+"/, 'resolved "' + latest.dist.tarball + '"'
+ )
+ lines[i + 3] = lines[i + 3].replace(
+ /integrity .+/, 'integrity ' + latest.dist.integrity
+ )
+ i += 4
+ }
+ }
+ }
+ return lines.join('\n')
+ }
+}
+
+function deletePackage (node) {
+ if (node.dependencies) {
+ delete node.dependencies['caniuse-lite']
+ for (var i in node.dependencies) {
+ node.dependencies[i] = deletePackage(node.dependencies[i])
+ }
+ }
+ return node
+}
+
+module.exports = function updateDB (print) {
+ var lock = detectLockfile()
+ lock.content = fs.readFileSync(lock.file).toString()
+
+ var current = getCurrentVersion(lock)
+ var latest = getLatestInfo(lock)
+ var browsersListRetrievalError
+ var oldBrowsersList
+ try {
+ oldBrowsersList = getBrowsersList()
+ } catch (e) {
+ browsersListRetrievalError = e
+ }
+
+ if (typeof current === 'string') {
+ print('Current version: ' + bold(red(current)) + '\n')
+ }
+ print(
+ 'New version: ' + bold(green(latest.version)) + '\n' +
+ 'Removing old caniuse-lite from lock file\n'
+ )
+
+ fs.writeFileSync(lock.file, updateLockfile(lock, latest))
+
+ var install = lock.mode === 'yarn' ? 'yarn add -W' : lock.mode + ' install'
+ print(
+ 'Installing new caniuse-lite version\n' +
+ yellow('$ ' + install + ' caniuse-lite') + '\n'
+ )
+ try {
+ childProcess.execSync(install + ' caniuse-lite')
+ } catch (e) /* istanbul ignore next */ {
+ print(
+ red(
+ '\n' +
+ e.stack + '\n\n' +
+ 'Problem with `' + install + ' caniuse-lite` call. ' +
+ 'Run it manually.\n'
+ )
+ )
+ process.exit(1)
+ }
+
+ var del = lock.mode === 'yarn' ? 'yarn remove -W' : lock.mode + ' uninstall'
+ print(
+ 'Cleaning package.json dependencies from caniuse-lite\n' +
+ yellow('$ ' + del + ' caniuse-lite') + '\n'
+ )
+ childProcess.execSync(del + ' caniuse-lite')
+
+ print('caniuse-lite has been successfully updated\n')
+
+ var currentBrowsersList
+ if (!browsersListRetrievalError) {
+ try {
+ currentBrowsersList = getBrowsersList()
+ } catch (e) /* istanbul ignore next */ {
+ browsersListRetrievalError = e
+ }
+ }
+
+ if (browsersListRetrievalError) {
+ print(
+ red(
+ '\n' +
+ browsersListRetrievalError.stack + '\n\n' +
+ 'Problem with browsers list retrieval.\n' +
+ 'Target browser changes won’t be shown.\n'
+ )
+ )
+ } else {
+ var targetBrowserChanges = diffBrowsersLists(
+ oldBrowsersList,
+ currentBrowsersList
+ )
+ if (targetBrowserChanges) {
+ print('\nTarget browser changes:\n')
+ print(targetBrowserChanges + '\n')
+ } else {
+ print('\n' + green('No target browser changes') + '\n')
+ }
+ }
+}
diff --git a/node_modules/buffer-equal/.travis.yml b/node_modules/buffer-equal/.travis.yml
new file mode 100644
index 0000000..dad2273
--- /dev/null
+++ b/node_modules/buffer-equal/.travis.yml
@@ -0,0 +1,4 @@
+language: node_js
+node_js:
+ - 0.8
+ - "0.10"
diff --git a/node_modules/buffer-equal/LICENSE b/node_modules/buffer-equal/LICENSE
new file mode 100644
index 0000000..ee27ba4
--- /dev/null
+++ b/node_modules/buffer-equal/LICENSE
@@ -0,0 +1,18 @@
+This software is released under the MIT license:
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
+the Software, and to permit persons to whom the Software is furnished to do so,
+subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
+COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/node_modules/buffer-equal/README.markdown b/node_modules/buffer-equal/README.markdown
new file mode 100644
index 0000000..8c062fd
--- /dev/null
+++ b/node_modules/buffer-equal/README.markdown
@@ -0,0 +1,62 @@
+buffer-equal
+============
+
+Return whether two buffers are equal.
+
+[](http://travis-ci.org/substack/node-buffer-equal)
+
+example
+=======
+
+``` js
+var bufferEqual = require('buffer-equal');
+
+console.dir(bufferEqual(
+ new Buffer([253,254,255]),
+ new Buffer([253,254,255])
+));
+console.dir(bufferEqual(
+ new Buffer('abc'),
+ new Buffer('abcd')
+));
+console.dir(bufferEqual(
+ new Buffer('abc'),
+ 'abc'
+));
+```
+
+output:
+
+```
+true
+false
+undefined
+```
+
+methods
+=======
+
+``` js
+var bufferEqual = require('buffer-equal')
+```
+
+bufferEqual(a, b)
+-----------------
+
+Return whether the two buffers `a` and `b` are equal.
+
+If `a` or `b` is not a buffer, return `undefined`.
+
+install
+=======
+
+With [npm](http://npmjs.org) do:
+
+```
+npm install buffer-equal
+```
+
+license
+=======
+
+MIT
diff --git a/node_modules/buffer-equal/example/eq.js b/node_modules/buffer-equal/example/eq.js
new file mode 100644
index 0000000..1eb0509
--- /dev/null
+++ b/node_modules/buffer-equal/example/eq.js
@@ -0,0 +1,14 @@
+var bufferEqual = require('../');
+
+console.dir(bufferEqual(
+ new Buffer([253,254,255]),
+ new Buffer([253,254,255])
+));
+console.dir(bufferEqual(
+ new Buffer('abc'),
+ new Buffer('abcd')
+));
+console.dir(bufferEqual(
+ new Buffer('abc'),
+ 'abc'
+));
diff --git a/node_modules/buffer-equal/index.js b/node_modules/buffer-equal/index.js
new file mode 100644
index 0000000..e640d4e
--- /dev/null
+++ b/node_modules/buffer-equal/index.js
@@ -0,0 +1,14 @@
+var Buffer = require('buffer').Buffer; // for use with browserify
+
+module.exports = function (a, b) {
+ if (!Buffer.isBuffer(a)) return undefined;
+ if (!Buffer.isBuffer(b)) return undefined;
+ if (typeof a.equals === 'function') return a.equals(b);
+ if (a.length !== b.length) return false;
+
+ for (var i = 0; i < a.length; i++) {
+ if (a[i] !== b[i]) return false;
+ }
+
+ return true;
+};
diff --git a/node_modules/buffer-equal/package.json b/node_modules/buffer-equal/package.json
new file mode 100644
index 0000000..ebe1e62
--- /dev/null
+++ b/node_modules/buffer-equal/package.json
@@ -0,0 +1,62 @@
+{
+ "_from": "buffer-equal@^1.0.0",
+ "_id": "buffer-equal@1.0.0",
+ "_inBundle": false,
+ "_integrity": "sha1-WWFrSYME1Var1GaWayLu2j7KX74=",
+ "_location": "/buffer-equal",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "range",
+ "registry": true,
+ "raw": "buffer-equal@^1.0.0",
+ "name": "buffer-equal",
+ "escapedName": "buffer-equal",
+ "rawSpec": "^1.0.0",
+ "saveSpec": null,
+ "fetchSpec": "^1.0.0"
+ },
+ "_requiredBy": [
+ "/append-buffer"
+ ],
+ "_resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.0.tgz",
+ "_shasum": "59616b498304d556abd466966b22eeda3eca5fbe",
+ "_spec": "buffer-equal@^1.0.0",
+ "_where": "C:\\Users\\Futil\\AppData\\Local\\FoundryVTT\\Data\\systems\\mothership\\node_modules\\append-buffer",
+ "author": {
+ "name": "James Halliday",
+ "email": "mail@substack.net",
+ "url": "http://substack.net"
+ },
+ "bugs": {
+ "url": "https://github.com/substack/node-buffer-equal/issues"
+ },
+ "bundleDependencies": false,
+ "deprecated": false,
+ "description": "return whether two buffers are equal",
+ "devDependencies": {
+ "tap": "0.2.4"
+ },
+ "directories": {
+ "example": "example",
+ "test": "test"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ },
+ "homepage": "https://github.com/substack/node-buffer-equal#readme",
+ "keywords": [
+ "buffer",
+ "equal"
+ ],
+ "license": "MIT",
+ "main": "index.js",
+ "name": "buffer-equal",
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/substack/node-buffer-equal.git"
+ },
+ "scripts": {
+ "test": "tap test/*.js"
+ },
+ "version": "1.0.0"
+}
diff --git a/node_modules/buffer-equal/test/eq.js b/node_modules/buffer-equal/test/eq.js
new file mode 100644
index 0000000..3d34006
--- /dev/null
+++ b/node_modules/buffer-equal/test/eq.js
@@ -0,0 +1,35 @@
+var bufferEqual = require('../');
+var test = require('tap').test;
+
+test('equal', function (t) {
+ var eq = bufferEqual(
+ new Buffer([253,254,255]),
+ new Buffer([253,254,255])
+ );
+ t.strictEqual(eq, true);
+ t.end();
+});
+
+test('not equal', function (t) {
+ var eq = bufferEqual(
+ new Buffer('abc'),
+ new Buffer('abcd')
+ );
+ t.strictEqual(eq, false);
+ t.end();
+});
+
+test('not equal not buffer', function (t) {
+ var eq = bufferEqual(
+ new Buffer('abc'),
+ 'abc'
+ );
+ t.strictEqual(eq, undefined);
+ t.end();
+});
+
+test('equal not buffer', function (t) {
+ var eq = bufferEqual('abc', 'abc');
+ t.strictEqual(eq, undefined);
+ t.end();
+});
diff --git a/node_modules/buffer-from/LICENSE b/node_modules/buffer-from/LICENSE
new file mode 100644
index 0000000..e4bf1d6
--- /dev/null
+++ b/node_modules/buffer-from/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2016, 2018 Linus Unnebäck
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/node_modules/buffer-from/index.js b/node_modules/buffer-from/index.js
new file mode 100644
index 0000000..d92a83d
--- /dev/null
+++ b/node_modules/buffer-from/index.js
@@ -0,0 +1,69 @@
+var toString = Object.prototype.toString
+
+var isModern = (
+ typeof Buffer.alloc === 'function' &&
+ typeof Buffer.allocUnsafe === 'function' &&
+ typeof Buffer.from === 'function'
+)
+
+function isArrayBuffer (input) {
+ return toString.call(input).slice(8, -1) === 'ArrayBuffer'
+}
+
+function fromArrayBuffer (obj, byteOffset, length) {
+ byteOffset >>>= 0
+
+ var maxLength = obj.byteLength - byteOffset
+
+ if (maxLength < 0) {
+ throw new RangeError("'offset' is out of bounds")
+ }
+
+ if (length === undefined) {
+ length = maxLength
+ } else {
+ length >>>= 0
+
+ if (length > maxLength) {
+ throw new RangeError("'length' is out of bounds")
+ }
+ }
+
+ return isModern
+ ? Buffer.from(obj.slice(byteOffset, byteOffset + length))
+ : new Buffer(new Uint8Array(obj.slice(byteOffset, byteOffset + length)))
+}
+
+function fromString (string, encoding) {
+ if (typeof encoding !== 'string' || encoding === '') {
+ encoding = 'utf8'
+ }
+
+ if (!Buffer.isEncoding(encoding)) {
+ throw new TypeError('"encoding" must be a valid string encoding')
+ }
+
+ return isModern
+ ? Buffer.from(string, encoding)
+ : new Buffer(string, encoding)
+}
+
+function bufferFrom (value, encodingOrOffset, length) {
+ if (typeof value === 'number') {
+ throw new TypeError('"value" argument must not be a number')
+ }
+
+ if (isArrayBuffer(value)) {
+ return fromArrayBuffer(value, encodingOrOffset, length)
+ }
+
+ if (typeof value === 'string') {
+ return fromString(value, encodingOrOffset)
+ }
+
+ return isModern
+ ? Buffer.from(value)
+ : new Buffer(value)
+}
+
+module.exports = bufferFrom
diff --git a/node_modules/buffer-from/package.json b/node_modules/buffer-from/package.json
new file mode 100644
index 0000000..11c4763
--- /dev/null
+++ b/node_modules/buffer-from/package.json
@@ -0,0 +1,52 @@
+{
+ "_from": "buffer-from@^1.0.0",
+ "_id": "buffer-from@1.1.1",
+ "_inBundle": false,
+ "_integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
+ "_location": "/buffer-from",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "range",
+ "registry": true,
+ "raw": "buffer-from@^1.0.0",
+ "name": "buffer-from",
+ "escapedName": "buffer-from",
+ "rawSpec": "^1.0.0",
+ "saveSpec": null,
+ "fetchSpec": "^1.0.0"
+ },
+ "_requiredBy": [
+ "/concat-stream"
+ ],
+ "_resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
+ "_shasum": "32713bc028f75c02fdb710d7c7bcec1f2c6070ef",
+ "_spec": "buffer-from@^1.0.0",
+ "_where": "C:\\Users\\Futil\\AppData\\Local\\FoundryVTT\\Data\\systems\\mothership\\node_modules\\concat-stream",
+ "bugs": {
+ "url": "https://github.com/LinusU/buffer-from/issues"
+ },
+ "bundleDependencies": false,
+ "deprecated": false,
+ "description": "A [ponyfill](https://ponyfill.com) for `Buffer.from`, uses native implementation if available.",
+ "devDependencies": {
+ "standard": "^7.1.2"
+ },
+ "files": [
+ "index.js"
+ ],
+ "homepage": "https://github.com/LinusU/buffer-from#readme",
+ "keywords": [
+ "buffer",
+ "buffer from"
+ ],
+ "license": "MIT",
+ "name": "buffer-from",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/LinusU/buffer-from.git"
+ },
+ "scripts": {
+ "test": "standard && node test"
+ },
+ "version": "1.1.1"
+}
diff --git a/node_modules/buffer-from/readme.md b/node_modules/buffer-from/readme.md
new file mode 100644
index 0000000..9880a55
--- /dev/null
+++ b/node_modules/buffer-from/readme.md
@@ -0,0 +1,69 @@
+# Buffer From
+
+A [ponyfill](https://ponyfill.com) for `Buffer.from`, uses native implementation if available.
+
+## Installation
+
+```sh
+npm install --save buffer-from
+```
+
+## Usage
+
+```js
+const bufferFrom = require('buffer-from')
+
+console.log(bufferFrom([1, 2, 3, 4]))
+//=>
+
+const arr = new Uint8Array([1, 2, 3, 4])
+console.log(bufferFrom(arr.buffer, 1, 2))
+//=>
+
+console.log(bufferFrom('test', 'utf8'))
+//=>
+
+const buf = bufferFrom('test')
+console.log(bufferFrom(buf))
+//=>
+```
+
+## API
+
+### bufferFrom(array)
+
+- `array` <Array>
+
+Allocates a new `Buffer` using an `array` of octets.
+
+### bufferFrom(arrayBuffer[, byteOffset[, length]])
+
+- `arrayBuffer` <ArrayBuffer> The `.buffer` property of a TypedArray or ArrayBuffer
+- `byteOffset` <Integer> Where to start copying from `arrayBuffer`. **Default:** `0`
+- `length` <Integer> How many bytes to copy from `arrayBuffer`. **Default:** `arrayBuffer.length - byteOffset`
+
+When passed a reference to the `.buffer` property of a TypedArray instance, the
+newly created `Buffer` will share the same allocated memory as the TypedArray.
+
+The optional `byteOffset` and `length` arguments specify a memory range within
+the `arrayBuffer` that will be shared by the `Buffer`.
+
+### bufferFrom(buffer)
+
+- `buffer` <Buffer> An existing `Buffer` to copy data from
+
+Copies the passed `buffer` data onto a new `Buffer` instance.
+
+### bufferFrom(string[, encoding])
+
+- `string` <String> A string to encode.
+- `encoding` <String> The encoding of `string`. **Default:** `'utf8'`
+
+Creates a new `Buffer` containing the given JavaScript string `string`. If
+provided, the `encoding` parameter identifies the character encoding of
+`string`.
+
+## See also
+
+- [buffer-alloc](https://github.com/LinusU/buffer-alloc) A ponyfill for `Buffer.alloc`
+- [buffer-alloc-unsafe](https://github.com/LinusU/buffer-alloc-unsafe) A ponyfill for `Buffer.allocUnsafe`
diff --git a/node_modules/cache-base/LICENSE b/node_modules/cache-base/LICENSE
new file mode 100644
index 0000000..943e71d
--- /dev/null
+++ b/node_modules/cache-base/LICENSE
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) 2014-2017, Jon Schlinkert.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
\ No newline at end of file
diff --git a/node_modules/cache-base/README.md b/node_modules/cache-base/README.md
new file mode 100644
index 0000000..62c6ffe
--- /dev/null
+++ b/node_modules/cache-base/README.md
@@ -0,0 +1,291 @@
+# cache-base [](https://www.npmjs.com/package/cache-base) [](https://npmjs.org/package/cache-base) [](https://npmjs.org/package/cache-base) [](https://travis-ci.org/jonschlinkert/cache-base)
+
+> Basic object cache with `get`, `set`, `del`, and `has` methods for node.js/javascript projects.
+
+## Install
+
+Install with [npm](https://www.npmjs.com/):
+
+```sh
+$ npm install --save cache-base
+```
+
+## Usage
+
+```js
+var Cache = require('cache-base');
+
+// instantiate
+var app = new Cache();
+
+// set values
+app.set('a', 'b');
+app.set('c.d', 'e');
+
+// get values
+app.get('a');
+//=> 'b'
+app.get('c');
+//=> {d: 'e'}
+
+console.log(app.cache);
+//=> {a: 'b'}
+```
+
+**Inherit**
+
+```js
+var util = require('util');
+var Cache = require('cache-base');
+
+function MyApp() {
+ Cache.call(this);
+}
+util.inherits(MyApp, Cache);
+
+var app = new MyApp();
+app.set('a', 'b');
+app.get('a');
+//=> 'b'
+```
+
+**Namespace**
+
+Define a custom property for storing values.
+
+```js
+var Cache = require('cache-base').namespace('data');
+var app = new Cache();
+app.set('a', 'b');
+console.log(app.data);
+//=> {a: 'b'}
+```
+
+## API
+
+### [namespace](index.js#L29)
+
+Create a `Cache` constructor that when instantiated will store values on the given `prop`.
+
+**Params**
+
+* `prop` **{String}**: The property name to use for storing values.
+* `returns` **{Function}**: Returns a custom `Cache` constructor
+
+**Example**
+
+```js
+var Cache = require('cache-base').namespace('data');
+var cache = new Cache();
+
+cache.set('foo', 'bar');
+//=> {data: {foo: 'bar'}}
+```
+
+### [Cache](index.js#L43)
+
+Create a new `Cache`. Internally the `Cache` constructor is created using the `namespace` function, with `cache` defined as the storage object.
+
+**Params**
+
+* `cache` **{Object}**: Optionally pass an object to initialize with.
+
+**Example**
+
+```js
+var app = new Cache();
+```
+
+### [.set](index.js#L84)
+
+Assign `value` to `key`. Also emits `set` with the key and value.
+
+**Params**
+
+* `key` **{String}**
+* `value` **{any}**
+* `returns` **{Object}**: Returns the instance for chaining.
+
+**Events**
+
+* `emits`: `set` with `key` and `value` as arguments.
+
+**Example**
+
+```js
+app.on('set', function(key, val) {
+ // do something when `set` is emitted
+});
+
+app.set(key, value);
+
+// also takes an object or array
+app.set({name: 'Halle'});
+app.set([{foo: 'bar'}, {baz: 'quux'}]);
+console.log(app);
+//=> {name: 'Halle', foo: 'bar', baz: 'quux'}
+```
+
+### [.union](index.js#L114)
+
+Union `array` to `key`. Also emits `set` with the key and value.
+
+**Params**
+
+* `key` **{String}**
+* `value` **{any}**
+* `returns` **{Object}**: Returns the instance for chaining.
+
+**Example**
+
+```js
+app.union('a.b', ['foo']);
+app.union('a.b', ['bar']);
+console.log(app.get('a'));
+//=> {b: ['foo', 'bar']}
+```
+
+### [.get](index.js#L144)
+
+Return the value of `key`. Dot notation may be used to get [nested property values](https://github.com/jonschlinkert/get-value).
+
+**Params**
+
+* `key` **{String}**: The name of the property to get. Dot-notation may be used.
+* `returns` **{any}**: Returns the value of `key`
+
+**Events**
+
+* `emits`: `get` with `key` and `value` as arguments.
+
+**Example**
+
+```js
+app.set('a.b.c', 'd');
+app.get('a.b');
+//=> {c: 'd'}
+
+app.get(['a', 'b']);
+//=> {c: 'd'}
+```
+
+### [.has](index.js#L171)
+
+Return true if app has a stored value for `key`, false only if value is `undefined`.
+
+**Params**
+
+* `key` **{String}**
+* `returns` **{Boolean}**
+
+**Events**
+
+* `emits`: `has` with `key` and true or false as arguments.
+
+**Example**
+
+```js
+app.set('foo', 'bar');
+app.has('foo');
+//=> true
+```
+
+### [.del](index.js#L199)
+
+Delete one or more properties from the instance.
+
+**Params**
+
+* `key` **{String|Array}**: Property name or array of property names.
+* `returns` **{Object}**: Returns the instance for chaining.
+
+**Events**
+
+* `emits`: `del` with the `key` as the only argument.
+
+**Example**
+
+```js
+app.del(); // delete all
+// or
+app.del('foo');
+// or
+app.del(['foo', 'bar']);
+```
+
+### [.clear](index.js#L218)
+
+Reset the entire cache to an empty object.
+
+**Example**
+
+```js
+app.clear();
+```
+
+### [.visit](index.js#L235)
+
+Visit `method` over the properties in the given object, or map
+visit over the object-elements in an array.
+
+**Params**
+
+* `method` **{String}**: The name of the `base` method to call.
+* `val` **{Object|Array}**: The object or array to iterate over.
+* `returns` **{Object}**: Returns the instance for chaining.
+
+## About
+
+### Related projects
+
+* [base-methods](https://www.npmjs.com/package/base-methods): base-methods is the foundation for creating modular, unit testable and highly pluggable node.js applications, starting… [more](https://github.com/jonschlinkert/base-methods) | [homepage](https://github.com/jonschlinkert/base-methods "base-methods is the foundation for creating modular, unit testable and highly pluggable node.js applications, starting with a handful of common methods, like `set`, `get`, `del` and `use`.")
+* [get-value](https://www.npmjs.com/package/get-value): Use property paths (`a.b.c`) to get a nested value from an object. | [homepage](https://github.com/jonschlinkert/get-value "Use property paths (`a.b.c`) to get a nested value from an object.")
+* [has-value](https://www.npmjs.com/package/has-value): Returns true if a value exists, false if empty. Works with deeply nested values using… [more](https://github.com/jonschlinkert/has-value) | [homepage](https://github.com/jonschlinkert/has-value "Returns true if a value exists, false if empty. Works with deeply nested values using object paths.")
+* [option-cache](https://www.npmjs.com/package/option-cache): Simple API for managing options in JavaScript applications. | [homepage](https://github.com/jonschlinkert/option-cache "Simple API for managing options in JavaScript applications.")
+* [set-value](https://www.npmjs.com/package/set-value): Create nested values and any intermediaries using dot notation (`'a.b.c'`) paths. | [homepage](https://github.com/jonschlinkert/set-value "Create nested values and any intermediaries using dot notation (`'a.b.c'`) paths.")
+* [unset-value](https://www.npmjs.com/package/unset-value): Delete nested properties from an object using dot notation. | [homepage](https://github.com/jonschlinkert/unset-value "Delete nested properties from an object using dot notation.")
+
+### Contributing
+
+Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new).
+
+### Contributors
+
+| **Commits** | **Contributor** |
+| --- | --- |
+| 54 | [jonschlinkert](https://github.com/jonschlinkert) |
+| 2 | [wtgtybhertgeghgtwtg](https://github.com/wtgtybhertgeghgtwtg) |
+
+### Building docs
+
+_(This project's readme.md is generated by [verb](https://github.com/verbose/verb-generate-readme), please don't edit the readme directly. Any changes to the readme must be made in the [.verb.md](.verb.md) readme template.)_
+
+To generate the readme, run the following command:
+
+```sh
+$ npm install -g verbose/verb#dev verb-generate-readme && verb
+```
+
+### Running tests
+
+Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command:
+
+```sh
+$ npm install && npm test
+```
+
+### Author
+
+**Jon Schlinkert**
+
+* [github/jonschlinkert](https://github.com/jonschlinkert)
+* [twitter/jonschlinkert](https://twitter.com/jonschlinkert)
+
+### License
+
+Copyright © 2017, [Jon Schlinkert](https://github.com/jonschlinkert).
+Released under the [MIT License](LICENSE).
+
+***
+
+_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.6.0, on July 22, 2017._
\ No newline at end of file
diff --git a/node_modules/cache-base/index.js b/node_modules/cache-base/index.js
new file mode 100644
index 0000000..4128024
--- /dev/null
+++ b/node_modules/cache-base/index.js
@@ -0,0 +1,261 @@
+'use strict';
+
+var isObject = require('isobject');
+var Emitter = require('component-emitter');
+var visit = require('collection-visit');
+var toPath = require('to-object-path');
+var union = require('union-value');
+var del = require('unset-value');
+var get = require('get-value');
+var has = require('has-value');
+var set = require('set-value');
+
+/**
+ * Create a `Cache` constructor that when instantiated will
+ * store values on the given `prop`.
+ *
+ * ```js
+ * var Cache = require('cache-base').namespace('data');
+ * var cache = new Cache();
+ *
+ * cache.set('foo', 'bar');
+ * //=> {data: {foo: 'bar'}}
+ * ```
+ * @param {String} `prop` The property name to use for storing values.
+ * @return {Function} Returns a custom `Cache` constructor
+ * @api public
+ */
+
+function namespace(prop) {
+
+ /**
+ * Create a new `Cache`. Internally the `Cache` constructor is created using
+ * the `namespace` function, with `cache` defined as the storage object.
+ *
+ * ```js
+ * var app = new Cache();
+ * ```
+ * @param {Object} `cache` Optionally pass an object to initialize with.
+ * @constructor
+ * @api public
+ */
+
+ function Cache(cache) {
+ if (prop) {
+ this[prop] = {};
+ }
+ if (cache) {
+ this.set(cache);
+ }
+ }
+
+ /**
+ * Inherit Emitter
+ */
+
+ Emitter(Cache.prototype);
+
+ /**
+ * Assign `value` to `key`. Also emits `set` with
+ * the key and value.
+ *
+ * ```js
+ * app.on('set', function(key, val) {
+ * // do something when `set` is emitted
+ * });
+ *
+ * app.set(key, value);
+ *
+ * // also takes an object or array
+ * app.set({name: 'Halle'});
+ * app.set([{foo: 'bar'}, {baz: 'quux'}]);
+ * console.log(app);
+ * //=> {name: 'Halle', foo: 'bar', baz: 'quux'}
+ * ```
+ *
+ * @name .set
+ * @emits `set` with `key` and `value` as arguments.
+ * @param {String} `key`
+ * @param {any} `value`
+ * @return {Object} Returns the instance for chaining.
+ * @api public
+ */
+
+ Cache.prototype.set = function(key, val) {
+ if (Array.isArray(key) && arguments.length === 2) {
+ key = toPath(key);
+ }
+ if (isObject(key) || Array.isArray(key)) {
+ this.visit('set', key);
+ } else {
+ set(prop ? this[prop] : this, key, val);
+ this.emit('set', key, val);
+ }
+ return this;
+ };
+
+ /**
+ * Union `array` to `key`. Also emits `set` with
+ * the key and value.
+ *
+ * ```js
+ * app.union('a.b', ['foo']);
+ * app.union('a.b', ['bar']);
+ * console.log(app.get('a'));
+ * //=> {b: ['foo', 'bar']}
+ * ```
+ * @name .union
+ * @param {String} `key`
+ * @param {any} `value`
+ * @return {Object} Returns the instance for chaining.
+ * @api public
+ */
+
+ Cache.prototype.union = function(key, val) {
+ if (Array.isArray(key) && arguments.length === 2) {
+ key = toPath(key);
+ }
+ var ctx = prop ? this[prop] : this;
+ union(ctx, key, arrayify(val));
+ this.emit('union', val);
+ return this;
+ };
+
+ /**
+ * Return the value of `key`. Dot notation may be used
+ * to get [nested property values][get-value].
+ *
+ * ```js
+ * app.set('a.b.c', 'd');
+ * app.get('a.b');
+ * //=> {c: 'd'}
+ *
+ * app.get(['a', 'b']);
+ * //=> {c: 'd'}
+ * ```
+ *
+ * @name .get
+ * @emits `get` with `key` and `value` as arguments.
+ * @param {String} `key` The name of the property to get. Dot-notation may be used.
+ * @return {any} Returns the value of `key`
+ * @api public
+ */
+
+ Cache.prototype.get = function(key) {
+ key = toPath(arguments);
+
+ var ctx = prop ? this[prop] : this;
+ var val = get(ctx, key);
+
+ this.emit('get', key, val);
+ return val;
+ };
+
+ /**
+ * Return true if app has a stored value for `key`,
+ * false only if value is `undefined`.
+ *
+ * ```js
+ * app.set('foo', 'bar');
+ * app.has('foo');
+ * //=> true
+ * ```
+ *
+ * @name .has
+ * @emits `has` with `key` and true or false as arguments.
+ * @param {String} `key`
+ * @return {Boolean}
+ * @api public
+ */
+
+ Cache.prototype.has = function(key) {
+ key = toPath(arguments);
+
+ var ctx = prop ? this[prop] : this;
+ var val = get(ctx, key);
+
+ var has = typeof val !== 'undefined';
+ this.emit('has', key, has);
+ return has;
+ };
+
+ /**
+ * Delete one or more properties from the instance.
+ *
+ * ```js
+ * app.del(); // delete all
+ * // or
+ * app.del('foo');
+ * // or
+ * app.del(['foo', 'bar']);
+ * ```
+ * @name .del
+ * @emits `del` with the `key` as the only argument.
+ * @param {String|Array} `key` Property name or array of property names.
+ * @return {Object} Returns the instance for chaining.
+ * @api public
+ */
+
+ Cache.prototype.del = function(key) {
+ if (Array.isArray(key)) {
+ this.visit('del', key);
+ } else {
+ del(prop ? this[prop] : this, key);
+ this.emit('del', key);
+ }
+ return this;
+ };
+
+ /**
+ * Reset the entire cache to an empty object.
+ *
+ * ```js
+ * app.clear();
+ * ```
+ * @api public
+ */
+
+ Cache.prototype.clear = function() {
+ if (prop) {
+ this[prop] = {};
+ }
+ };
+
+ /**
+ * Visit `method` over the properties in the given object, or map
+ * visit over the object-elements in an array.
+ *
+ * @name .visit
+ * @param {String} `method` The name of the `base` method to call.
+ * @param {Object|Array} `val` The object or array to iterate over.
+ * @return {Object} Returns the instance for chaining.
+ * @api public
+ */
+
+ Cache.prototype.visit = function(method, val) {
+ visit(this, method, val);
+ return this;
+ };
+
+ return Cache;
+}
+
+/**
+ * Cast val to an array
+ */
+
+function arrayify(val) {
+ return val ? (Array.isArray(val) ? val : [val]) : [];
+}
+
+/**
+ * Expose `Cache`
+ */
+
+module.exports = namespace();
+
+/**
+ * Expose `Cache.namespace`
+ */
+
+module.exports.namespace = namespace;
diff --git a/node_modules/cache-base/package.json b/node_modules/cache-base/package.json
new file mode 100644
index 0000000..9e78948
--- /dev/null
+++ b/node_modules/cache-base/package.json
@@ -0,0 +1,118 @@
+{
+ "_from": "cache-base@^1.0.1",
+ "_id": "cache-base@1.0.1",
+ "_inBundle": false,
+ "_integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
+ "_location": "/cache-base",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "range",
+ "registry": true,
+ "raw": "cache-base@^1.0.1",
+ "name": "cache-base",
+ "escapedName": "cache-base",
+ "rawSpec": "^1.0.1",
+ "saveSpec": null,
+ "fetchSpec": "^1.0.1"
+ },
+ "_requiredBy": [
+ "/base"
+ ],
+ "_resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
+ "_shasum": "0a7f46416831c8b662ee36fe4e7c59d76f666ab2",
+ "_spec": "cache-base@^1.0.1",
+ "_where": "C:\\Users\\Futil\\AppData\\Local\\FoundryVTT\\Data\\systems\\mothership\\node_modules\\base",
+ "author": {
+ "name": "Jon Schlinkert",
+ "url": "https://github.com/jonschlinkert"
+ },
+ "bugs": {
+ "url": "https://github.com/jonschlinkert/cache-base/issues"
+ },
+ "bundleDependencies": false,
+ "contributors": [
+ {
+ "name": "Jon Schlinkert",
+ "url": "http://twitter.com/jonschlinkert"
+ },
+ {
+ "url": "https://github.com/wtgtybhertgeghgtwtg"
+ }
+ ],
+ "dependencies": {
+ "collection-visit": "^1.0.0",
+ "component-emitter": "^1.2.1",
+ "get-value": "^2.0.6",
+ "has-value": "^1.0.0",
+ "isobject": "^3.0.1",
+ "set-value": "^2.0.0",
+ "to-object-path": "^0.3.0",
+ "union-value": "^1.0.0",
+ "unset-value": "^1.0.0"
+ },
+ "deprecated": false,
+ "description": "Basic object cache with `get`, `set`, `del`, and `has` methods for node.js/javascript projects.",
+ "devDependencies": {
+ "gulp-format-md": "^1.0.0",
+ "mocha": "^3.4.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ },
+ "files": [
+ "index.js"
+ ],
+ "homepage": "https://github.com/jonschlinkert/cache-base",
+ "keywords": [
+ "base",
+ "cache",
+ "config",
+ "data",
+ "get",
+ "has",
+ "hash",
+ "hasown",
+ "object",
+ "set",
+ "store"
+ ],
+ "license": "MIT",
+ "main": "index.js",
+ "name": "cache-base",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/jonschlinkert/cache-base.git"
+ },
+ "scripts": {
+ "test": "mocha"
+ },
+ "verb": {
+ "run": true,
+ "toc": false,
+ "layout": "default",
+ "tasks": [
+ "readme"
+ ],
+ "plugins": [
+ "gulp-format-md"
+ ],
+ "related": {
+ "highligh": "base",
+ "list": [
+ "base-methods",
+ "get-value",
+ "has-value",
+ "option-cache",
+ "set-value",
+ "unset-value"
+ ]
+ },
+ "reflinks": [
+ "verb"
+ ],
+ "lint": {
+ "reflinks": true
+ }
+ },
+ "version": "1.0.1"
+}
diff --git a/node_modules/call-bind/.eslintrc b/node_modules/call-bind/.eslintrc
new file mode 100644
index 0000000..559f191
--- /dev/null
+++ b/node_modules/call-bind/.eslintrc
@@ -0,0 +1,15 @@
+{
+ "root": true,
+
+ "extends": "@ljharb",
+
+ "rules": {
+ "func-name-matching": 0,
+ "new-cap": [2, {
+ "capIsNewExceptions": [
+ "GetIntrinsic",
+ ],
+ }],
+ "no-magic-numbers": 0,
+ },
+}
diff --git a/node_modules/call-bind/.github/FUNDING.yml b/node_modules/call-bind/.github/FUNDING.yml
new file mode 100644
index 0000000..8e8da0d
--- /dev/null
+++ b/node_modules/call-bind/.github/FUNDING.yml
@@ -0,0 +1,12 @@
+# These are supported funding model platforms
+
+github: [ljharb]
+patreon: # Replace with a single Patreon username
+open_collective: # Replace with a single Open Collective username
+ko_fi: # Replace with a single Ko-fi username
+tidelift: npm/get-intrinsic
+community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
+liberapay: # Replace with a single Liberapay username
+issuehunt: # Replace with a single IssueHunt username
+otechie: # Replace with a single Otechie username
+custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
diff --git a/node_modules/call-bind/.github/rebase.yml b/node_modules/call-bind/.github/rebase.yml
new file mode 100644
index 0000000..027aed0
--- /dev/null
+++ b/node_modules/call-bind/.github/rebase.yml
@@ -0,0 +1,15 @@
+name: Automatic Rebase
+
+on: [pull_request_target]
+
+jobs:
+ _:
+ name: "Automatic Rebase"
+
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v2
+ - uses: ljharb/rebase@master
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
diff --git a/node_modules/call-bind/.github/require-allow-edits.yml b/node_modules/call-bind/.github/require-allow-edits.yml
new file mode 100644
index 0000000..549d7b4
--- /dev/null
+++ b/node_modules/call-bind/.github/require-allow-edits.yml
@@ -0,0 +1,12 @@
+name: Require “Allow Edits”
+
+on: [pull_request_target]
+
+jobs:
+ _:
+ name: "Require “Allow Edits”"
+
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: ljharb/require-allow-edits@main
diff --git a/node_modules/call-bind/.travis.yml b/node_modules/call-bind/.travis.yml
new file mode 100644
index 0000000..9c37f1b
--- /dev/null
+++ b/node_modules/call-bind/.travis.yml
@@ -0,0 +1,9 @@
+version: ~> 1.0
+language: node_js
+os:
+ - linux
+import:
+ - ljharb/travis-ci:node/all.yml
+ - ljharb/travis-ci:node/pretest.yml
+ - ljharb/travis-ci:node/posttest.yml
+ - ljharb/travis-ci:node/coverage.yml
diff --git a/node_modules/call-bind/CHANGELOG.md b/node_modules/call-bind/CHANGELOG.md
new file mode 100644
index 0000000..4e76026
--- /dev/null
+++ b/node_modules/call-bind/CHANGELOG.md
@@ -0,0 +1,21 @@
+# Changelog
+
+All notable changes to this project will be documented in this file.
+
+The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
+and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
+
+## v1.0.0 - 2020-10-30
+
+### Commits
+
+- Initial commit [`306cf98`](https://github.com/ljharb/call-bind/commit/306cf98c7ec9e7ef66b653ec152277ac1381eb50)
+- Tests [`e10d0bb`](https://github.com/ljharb/call-bind/commit/e10d0bbdadc7a10ecedc9a1c035112d3e368b8df)
+- Implementation [`43852ed`](https://github.com/ljharb/call-bind/commit/43852eda0f187327b7fad2423ca972149a52bd65)
+- npm init [`408f860`](https://github.com/ljharb/call-bind/commit/408f860b773a2f610805fd3613d0d71bac1b6249)
+- [meta] add Automatic Rebase and Require Allow Edits workflows [`fb349b2`](https://github.com/ljharb/call-bind/commit/fb349b2e48defbec8b5ec8a8395cc8f69f220b13)
+- [meta] add `auto-changelog` [`c4001fc`](https://github.com/ljharb/call-bind/commit/c4001fc43031799ef908211c98d3b0fb2b60fde4)
+- [meta] add "funding"; create `FUNDING.yml` [`d4d6d29`](https://github.com/ljharb/call-bind/commit/d4d6d2974a14bc2e98830468eda7fe6d6a776717)
+- [Tests] add `npm run lint` [`dedfb98`](https://github.com/ljharb/call-bind/commit/dedfb98bd0ecefb08ddb9a94061bd10cde4332af)
+- Only apps should have lockfiles [`54ac776`](https://github.com/ljharb/call-bind/commit/54ac77653db45a7361dc153d2f478e743f110650)
+- [meta] add `safe-publish-latest` [`9ea8e43`](https://github.com/ljharb/call-bind/commit/9ea8e435b950ce9b705559cd651039f9bf40140f)
diff --git a/node_modules/call-bind/LICENSE b/node_modules/call-bind/LICENSE
new file mode 100644
index 0000000..48f05d0
--- /dev/null
+++ b/node_modules/call-bind/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2020 Jordan Harband
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/node_modules/call-bind/README.md b/node_modules/call-bind/README.md
new file mode 100644
index 0000000..53649eb
--- /dev/null
+++ b/node_modules/call-bind/README.md
@@ -0,0 +1,2 @@
+# call-bind
+Robustly `.call.bind()` a function.
diff --git a/node_modules/call-bind/callBound.js b/node_modules/call-bind/callBound.js
new file mode 100644
index 0000000..8374adf
--- /dev/null
+++ b/node_modules/call-bind/callBound.js
@@ -0,0 +1,15 @@
+'use strict';
+
+var GetIntrinsic = require('get-intrinsic');
+
+var callBind = require('./');
+
+var $indexOf = callBind(GetIntrinsic('String.prototype.indexOf'));
+
+module.exports = function callBoundIntrinsic(name, allowMissing) {
+ var intrinsic = GetIntrinsic(name, !!allowMissing);
+ if (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {
+ return callBind(intrinsic);
+ }
+ return intrinsic;
+};
diff --git a/node_modules/call-bind/index.js b/node_modules/call-bind/index.js
new file mode 100644
index 0000000..bae91c1
--- /dev/null
+++ b/node_modules/call-bind/index.js
@@ -0,0 +1,33 @@
+'use strict';
+
+var bind = require('function-bind');
+var GetIntrinsic = require('get-intrinsic');
+
+var $apply = GetIntrinsic('%Function.prototype.apply%');
+var $call = GetIntrinsic('%Function.prototype.call%');
+var $reflectApply = GetIntrinsic('%Reflect.apply%', true) || bind.call($call, $apply);
+
+var $defineProperty = GetIntrinsic('%Object.defineProperty%', true);
+
+if ($defineProperty) {
+ try {
+ $defineProperty({}, 'a', { value: 1 });
+ } catch (e) {
+ // IE 8 has a broken defineProperty
+ $defineProperty = null;
+ }
+}
+
+module.exports = function callBind() {
+ return $reflectApply(bind, $call, arguments);
+};
+
+var applyBind = function applyBind() {
+ return $reflectApply(bind, $apply, arguments);
+};
+
+if ($defineProperty) {
+ $defineProperty(module.exports, 'apply', { value: applyBind });
+} else {
+ module.exports.apply = applyBind;
+}
diff --git a/node_modules/call-bind/package.json b/node_modules/call-bind/package.json
new file mode 100644
index 0000000..5d81133
--- /dev/null
+++ b/node_modules/call-bind/package.json
@@ -0,0 +1,107 @@
+{
+ "_from": "call-bind@^1.0.0",
+ "_id": "call-bind@1.0.0",
+ "_inBundle": false,
+ "_integrity": "sha512-AEXsYIyyDY3MCzbwdhzG3Jx1R0J2wetQyUynn6dYHAO+bg8l1k7jwZtRv4ryryFs7EP+NDlikJlVe59jr0cM2w==",
+ "_location": "/call-bind",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "range",
+ "registry": true,
+ "raw": "call-bind@^1.0.0",
+ "name": "call-bind",
+ "escapedName": "call-bind",
+ "rawSpec": "^1.0.0",
+ "saveSpec": null,
+ "fetchSpec": "^1.0.0"
+ },
+ "_requiredBy": [
+ "/object.assign"
+ ],
+ "_resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.0.tgz",
+ "_shasum": "24127054bb3f9bdcb4b1fb82418186072f77b8ce",
+ "_spec": "call-bind@^1.0.0",
+ "_where": "C:\\Users\\Futil\\AppData\\Local\\FoundryVTT\\Data\\systems\\mothership\\node_modules\\object.assign",
+ "author": {
+ "name": "Jordan Harband",
+ "email": "ljharb@gmail.com"
+ },
+ "auto-changelog": {
+ "output": "CHANGELOG.md",
+ "template": "keepachangelog",
+ "unreleased": false,
+ "commitLimit": false,
+ "backfillLimit": false,
+ "hideCredit": true
+ },
+ "bugs": {
+ "url": "https://github.com/ljharb/call-bind/issues"
+ },
+ "bundleDependencies": false,
+ "dependencies": {
+ "function-bind": "^1.1.1",
+ "get-intrinsic": "^1.0.0"
+ },
+ "deprecated": false,
+ "description": "Robustly `.call.bind()` a function",
+ "devDependencies": {
+ "@ljharb/eslint-config": "^17.2.0",
+ "aud": "^1.1.2",
+ "auto-changelog": "^2.2.1",
+ "eslint": "^7.12.1",
+ "safe-publish-latest": "^1.1.4",
+ "tape": "^5.0.1"
+ },
+ "exports": {
+ ".": [
+ {
+ "default": "./index.js"
+ },
+ "./index.js"
+ ],
+ "./callBound": [
+ {
+ "default": "./callBound.js"
+ },
+ "./callBound.js"
+ ],
+ "./package.json": "./package.json"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ },
+ "homepage": "https://github.com/ljharb/call-bind#readme",
+ "keywords": [
+ "javascript",
+ "ecmascript",
+ "es",
+ "js",
+ "callbind",
+ "callbound",
+ "call",
+ "bind",
+ "bound",
+ "call-bind",
+ "call-bound",
+ "function",
+ "es-abstract"
+ ],
+ "license": "MIT",
+ "main": "index.js",
+ "name": "call-bind",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/ljharb/call-bind.git"
+ },
+ "scripts": {
+ "lint": "eslint --ext=.js,.mjs .",
+ "posttest": "aud --production",
+ "postversion": "auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\"",
+ "prepublish": "safe-publish-latest",
+ "pretest": "npm run lint",
+ "test": "npm run tests-only",
+ "tests-only": "tape 'test/*'",
+ "version": "auto-changelog && git add CHANGELOG.md"
+ },
+ "version": "1.0.0"
+}
diff --git a/node_modules/call-bind/test/callBound.js b/node_modules/call-bind/test/callBound.js
new file mode 100644
index 0000000..209ce3c
--- /dev/null
+++ b/node_modules/call-bind/test/callBound.js
@@ -0,0 +1,55 @@
+'use strict';
+
+var test = require('tape');
+
+var callBound = require('../callBound');
+
+test('callBound', function (t) {
+ // static primitive
+ t.equal(callBound('Array.length'), Array.length, 'Array.length yields itself');
+ t.equal(callBound('%Array.length%'), Array.length, '%Array.length% yields itself');
+
+ // static non-function object
+ t.equal(callBound('Array.prototype'), Array.prototype, 'Array.prototype yields itself');
+ t.equal(callBound('%Array.prototype%'), Array.prototype, '%Array.prototype% yields itself');
+ t.equal(callBound('Array.constructor'), Array.constructor, 'Array.constructor yields itself');
+ t.equal(callBound('%Array.constructor%'), Array.constructor, '%Array.constructor% yields itself');
+
+ // static function
+ t.equal(callBound('Date.parse'), Date.parse, 'Date.parse yields itself');
+ t.equal(callBound('%Date.parse%'), Date.parse, '%Date.parse% yields itself');
+
+ // prototype primitive
+ t.equal(callBound('Error.prototype.message'), Error.prototype.message, 'Error.prototype.message yields itself');
+ t.equal(callBound('%Error.prototype.message%'), Error.prototype.message, '%Error.prototype.message% yields itself');
+
+ // prototype function
+ t.notEqual(callBound('Object.prototype.toString'), Object.prototype.toString, 'Object.prototype.toString does not yield itself');
+ t.notEqual(callBound('%Object.prototype.toString%'), Object.prototype.toString, '%Object.prototype.toString% does not yield itself');
+ t.equal(callBound('Object.prototype.toString')(true), Object.prototype.toString.call(true), 'call-bound Object.prototype.toString calls into the original');
+ t.equal(callBound('%Object.prototype.toString%')(true), Object.prototype.toString.call(true), 'call-bound %Object.prototype.toString% calls into the original');
+
+ t['throws'](
+ function () { callBound('does not exist'); },
+ SyntaxError,
+ 'nonexistent intrinsic throws'
+ );
+ t['throws'](
+ function () { callBound('does not exist', true); },
+ SyntaxError,
+ 'allowMissing arg still throws for unknown intrinsic'
+ );
+
+ /* globals WeakRef: false */
+ t.test('real but absent intrinsic', { skip: typeof WeakRef !== 'undefined' }, function (st) {
+ st['throws'](
+ function () { callBound('WeakRef'); },
+ TypeError,
+ 'real but absent intrinsic throws'
+ );
+ st.equal(callBound('WeakRef', true), undefined, 'allowMissing arg avoids exception');
+ st.end();
+ });
+
+ t.end();
+});
diff --git a/node_modules/call-bind/test/index.js b/node_modules/call-bind/test/index.js
new file mode 100644
index 0000000..2b79974
--- /dev/null
+++ b/node_modules/call-bind/test/index.js
@@ -0,0 +1,52 @@
+'use strict';
+
+var callBind = require('../');
+
+var test = require('tape');
+
+test('callBind', function (t) {
+ var sentinel = { sentinel: true };
+ var func = function (a, b) {
+ // eslint-disable-next-line no-invalid-this
+ return [this, a, b];
+ };
+ t.deepEqual(func(), [undefined, undefined, undefined], 'unbound func with too few args');
+ t.deepEqual(func(1, 2), [undefined, 1, 2], 'unbound func with right args');
+ t.deepEqual(func(1, 2, 3), [undefined, 1, 2], 'unbound func with too many args');
+
+ var bound = callBind(func);
+ t.deepEqual(bound(), [undefined, undefined, undefined], 'bound func with too few args');
+ t.deepEqual(bound(1, 2), [1, 2, undefined], 'bound func with right args');
+ t.deepEqual(bound(1, 2, 3), [1, 2, 3], 'bound func with too many args');
+
+ var boundR = callBind(func, sentinel);
+ t.deepEqual(boundR(), [sentinel, undefined, undefined], 'bound func with receiver, with too few args');
+ t.deepEqual(boundR(1, 2), [sentinel, 1, 2], 'bound func with receiver, with right args');
+ t.deepEqual(boundR(1, 2, 3), [sentinel, 1, 2], 'bound func with receiver, with too many args');
+
+ var boundArg = callBind(func, sentinel, 1);
+ t.deepEqual(boundArg(), [sentinel, 1, undefined], 'bound func with receiver and arg, with too few args');
+ t.deepEqual(boundArg(2), [sentinel, 1, 2], 'bound func with receiver and arg, with right arg');
+ t.deepEqual(boundArg(2, 3), [sentinel, 1, 2], 'bound func with receiver and arg, with too many args');
+
+ t.test('callBind.apply', function (st) {
+ var aBound = callBind.apply(func);
+ st.deepEqual(aBound(sentinel), [sentinel, undefined, undefined], 'apply-bound func with no args');
+ st.deepEqual(aBound(sentinel, [1], 4), [sentinel, 1, undefined], 'apply-bound func with too few args');
+ st.deepEqual(aBound(sentinel, [1, 2], 4), [sentinel, 1, 2], 'apply-bound func with right args');
+
+ var aBoundArg = callBind.apply(func);
+ st.deepEqual(aBoundArg(sentinel, [1, 2, 3], 4), [sentinel, 1, 2], 'apply-bound func with too many args');
+ st.deepEqual(aBoundArg(sentinel, [1, 2], 4), [sentinel, 1, 2], 'apply-bound func with right args');
+ st.deepEqual(aBoundArg(sentinel, [1], 4), [sentinel, 1, undefined], 'apply-bound func with too few args');
+
+ var aBoundR = callBind.apply(func, sentinel);
+ st.deepEqual(aBoundR([1, 2, 3], 4), [sentinel, 1, 2], 'apply-bound func with receiver and too many args');
+ st.deepEqual(aBoundR([1, 2], 4), [sentinel, 1, 2], 'apply-bound func with receiver and right args');
+ st.deepEqual(aBoundR([1], 4), [sentinel, 1, undefined], 'apply-bound func with receiver and too few args');
+
+ st.end();
+ });
+
+ t.end();
+});
diff --git a/node_modules/camelcase-keys/index.js b/node_modules/camelcase-keys/index.js
new file mode 100644
index 0000000..0eca08c
--- /dev/null
+++ b/node_modules/camelcase-keys/index.js
@@ -0,0 +1,12 @@
+'use strict';
+var mapObj = require('map-obj');
+var camelCase = require('camelcase');
+
+module.exports = function (input, options) {
+ options = options || {};
+ var exclude = options.exclude || [];
+ return mapObj(input, function (key, val) {
+ key = exclude.indexOf(key) === -1 ? camelCase(key) : key;
+ return [key, val];
+ });
+};
diff --git a/node_modules/camelcase-keys/license b/node_modules/camelcase-keys/license
new file mode 100644
index 0000000..654d0bf
--- /dev/null
+++ b/node_modules/camelcase-keys/license
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) Sindre Sorhus (sindresorhus.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/node_modules/camelcase-keys/node_modules/camelcase/index.js b/node_modules/camelcase-keys/node_modules/camelcase/index.js
new file mode 100644
index 0000000..929facb
--- /dev/null
+++ b/node_modules/camelcase-keys/node_modules/camelcase/index.js
@@ -0,0 +1,56 @@
+'use strict';
+
+function preserveCamelCase(str) {
+ var isLastCharLower = false;
+
+ for (var i = 0; i < str.length; i++) {
+ var c = str.charAt(i);
+
+ if (isLastCharLower && (/[a-zA-Z]/).test(c) && c.toUpperCase() === c) {
+ str = str.substr(0, i) + '-' + str.substr(i);
+ isLastCharLower = false;
+ i++;
+ } else {
+ isLastCharLower = (c.toLowerCase() === c);
+ }
+ }
+
+ return str;
+}
+
+module.exports = function () {
+ var str = [].map.call(arguments, function (str) {
+ return str.trim();
+ }).filter(function (str) {
+ return str.length;
+ }).join('-');
+
+ if (!str.length) {
+ return '';
+ }
+
+ if (str.length === 1) {
+ return str;
+ }
+
+ if (!(/[_.\- ]+/).test(str)) {
+ if (str === str.toUpperCase()) {
+ return str.toLowerCase();
+ }
+
+ if (str[0] !== str[0].toLowerCase()) {
+ return str[0].toLowerCase() + str.slice(1);
+ }
+
+ return str;
+ }
+
+ str = preserveCamelCase(str);
+
+ return str
+ .replace(/^[_.\- ]+/, '')
+ .toLowerCase()
+ .replace(/[_.\- ]+(\w|$)/g, function (m, p1) {
+ return p1.toUpperCase();
+ });
+};
diff --git a/node_modules/camelcase-keys/node_modules/camelcase/license b/node_modules/camelcase-keys/node_modules/camelcase/license
new file mode 100644
index 0000000..654d0bf
--- /dev/null
+++ b/node_modules/camelcase-keys/node_modules/camelcase/license
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) Sindre Sorhus (sindresorhus.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/node_modules/camelcase-keys/node_modules/camelcase/package.json b/node_modules/camelcase-keys/node_modules/camelcase/package.json
new file mode 100644
index 0000000..f7f90cd
--- /dev/null
+++ b/node_modules/camelcase-keys/node_modules/camelcase/package.json
@@ -0,0 +1,71 @@
+{
+ "_from": "camelcase@^2.0.0",
+ "_id": "camelcase@2.1.1",
+ "_inBundle": false,
+ "_integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=",
+ "_location": "/camelcase-keys/camelcase",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "range",
+ "registry": true,
+ "raw": "camelcase@^2.0.0",
+ "name": "camelcase",
+ "escapedName": "camelcase",
+ "rawSpec": "^2.0.0",
+ "saveSpec": null,
+ "fetchSpec": "^2.0.0"
+ },
+ "_requiredBy": [
+ "/camelcase-keys"
+ ],
+ "_resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz",
+ "_shasum": "7c1d16d679a1bbe59ca02cacecfb011e201f5a1f",
+ "_spec": "camelcase@^2.0.0",
+ "_where": "C:\\Users\\Futil\\AppData\\Local\\FoundryVTT\\Data\\systems\\mothership\\node_modules\\camelcase-keys",
+ "author": {
+ "name": "Sindre Sorhus",
+ "email": "sindresorhus@gmail.com",
+ "url": "http://sindresorhus.com"
+ },
+ "bugs": {
+ "url": "https://github.com/sindresorhus/camelcase/issues"
+ },
+ "bundleDependencies": false,
+ "deprecated": false,
+ "description": "Convert a dash/dot/underscore/space separated string to camelCase: foo-bar → fooBar",
+ "devDependencies": {
+ "ava": "*",
+ "xo": "*"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ },
+ "files": [
+ "index.js"
+ ],
+ "homepage": "https://github.com/sindresorhus/camelcase#readme",
+ "keywords": [
+ "camelcase",
+ "camel-case",
+ "camel",
+ "case",
+ "dash",
+ "hyphen",
+ "dot",
+ "underscore",
+ "separator",
+ "string",
+ "text",
+ "convert"
+ ],
+ "license": "MIT",
+ "name": "camelcase",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/sindresorhus/camelcase.git"
+ },
+ "scripts": {
+ "test": "xo && ava"
+ },
+ "version": "2.1.1"
+}
diff --git a/node_modules/camelcase-keys/node_modules/camelcase/readme.md b/node_modules/camelcase-keys/node_modules/camelcase/readme.md
new file mode 100644
index 0000000..080b2a1
--- /dev/null
+++ b/node_modules/camelcase-keys/node_modules/camelcase/readme.md
@@ -0,0 +1,57 @@
+# camelcase [](https://travis-ci.org/sindresorhus/camelcase)
+
+> Convert a dash/dot/underscore/space separated string to camelCase: `foo-bar` → `fooBar`
+
+
+## Install
+
+```
+$ npm install --save camelcase
+```
+
+
+## Usage
+
+```js
+const camelCase = require('camelcase');
+
+camelCase('foo-bar');
+//=> 'fooBar'
+
+camelCase('foo_bar');
+//=> 'fooBar'
+
+camelCase('Foo-Bar');
+//=> 'fooBar'
+
+camelCase('--foo.bar');
+//=> 'fooBar'
+
+camelCase('__foo__bar__');
+//=> 'fooBar'
+
+camelCase('foo bar');
+//=> 'fooBar'
+
+console.log(process.argv[3]);
+//=> '--foo-bar'
+camelCase(process.argv[3]);
+//=> 'fooBar'
+
+camelCase('foo', 'bar');
+//=> 'fooBar'
+
+camelCase('__foo__', '--bar');
+//=> 'fooBar'
+```
+
+
+## Related
+
+- [decamelize](https://github.com/sindresorhus/decamelize) - The inverse of this module
+- [uppercamelcase](https://github.com/SamVerschueren/uppercamelcase) - Like this module, but to PascalCase instead of camelCase
+
+
+## License
+
+MIT © [Sindre Sorhus](http://sindresorhus.com)
diff --git a/node_modules/camelcase-keys/package.json b/node_modules/camelcase-keys/package.json
new file mode 100644
index 0000000..f23ed21
--- /dev/null
+++ b/node_modules/camelcase-keys/package.json
@@ -0,0 +1,84 @@
+{
+ "_from": "camelcase-keys@^2.0.0",
+ "_id": "camelcase-keys@2.1.0",
+ "_inBundle": false,
+ "_integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=",
+ "_location": "/camelcase-keys",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "range",
+ "registry": true,
+ "raw": "camelcase-keys@^2.0.0",
+ "name": "camelcase-keys",
+ "escapedName": "camelcase-keys",
+ "rawSpec": "^2.0.0",
+ "saveSpec": null,
+ "fetchSpec": "^2.0.0"
+ },
+ "_requiredBy": [
+ "/meow"
+ ],
+ "_resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz",
+ "_shasum": "308beeaffdf28119051efa1d932213c91b8f92e7",
+ "_spec": "camelcase-keys@^2.0.0",
+ "_where": "C:\\Users\\Futil\\AppData\\Local\\FoundryVTT\\Data\\systems\\mothership\\node_modules\\meow",
+ "author": {
+ "name": "Sindre Sorhus",
+ "email": "sindresorhus@gmail.com",
+ "url": "http://sindresorhus.com"
+ },
+ "bugs": {
+ "url": "https://github.com/sindresorhus/camelcase-keys/issues"
+ },
+ "bundleDependencies": false,
+ "dependencies": {
+ "camelcase": "^2.0.0",
+ "map-obj": "^1.0.0"
+ },
+ "deprecated": false,
+ "description": "Convert object keys to camelCase",
+ "devDependencies": {
+ "ava": "*",
+ "xo": "*"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ },
+ "files": [
+ "index.js"
+ ],
+ "homepage": "https://github.com/sindresorhus/camelcase-keys#readme",
+ "keywords": [
+ "map",
+ "obj",
+ "object",
+ "key",
+ "keys",
+ "value",
+ "values",
+ "val",
+ "iterate",
+ "camelcase",
+ "camel-case",
+ "camel",
+ "case",
+ "dash",
+ "hyphen",
+ "dot",
+ "underscore",
+ "separator",
+ "string",
+ "text",
+ "convert"
+ ],
+ "license": "MIT",
+ "name": "camelcase-keys",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/sindresorhus/camelcase-keys.git"
+ },
+ "scripts": {
+ "test": "xo && ava"
+ },
+ "version": "2.1.0"
+}
diff --git a/node_modules/camelcase-keys/readme.md b/node_modules/camelcase-keys/readme.md
new file mode 100644
index 0000000..ca37328
--- /dev/null
+++ b/node_modules/camelcase-keys/readme.md
@@ -0,0 +1,54 @@
+# camelcase-keys [](https://travis-ci.org/sindresorhus/camelcase-keys)
+
+> Convert object keys to camelCase using [`camelcase`](https://github.com/sindresorhus/camelcase)
+
+
+## Install
+
+```
+$ npm install --save camelcase-keys
+```
+
+
+## Usage
+
+```js
+const camelcaseKeys = require('camelcase-keys');
+
+camelcaseKeys({'foo-bar': true});
+//=> {fooBar: true}
+
+
+const argv = require('minimist')(process.argv.slice(2));
+//=> {_: [], 'foo-bar': true}
+
+camelcaseKeys(argv);
+//=> {_: [], fooBar: true}
+```
+
+
+## API
+
+### camelcaseKeys(input, [options])
+
+#### input
+
+Type: `object`
+
+Object to camelCase.
+
+#### options
+
+Type: `object`
+
+##### exclude
+
+Type: `array`
+Default: `[]`
+
+Exclude keys from being camelCased.
+
+
+## License
+
+MIT © [Sindre Sorhus](http://sindresorhus.com)
diff --git a/node_modules/camelcase/index.js b/node_modules/camelcase/index.js
new file mode 100644
index 0000000..5670f73
--- /dev/null
+++ b/node_modules/camelcase/index.js
@@ -0,0 +1,56 @@
+'use strict';
+
+function preserveCamelCase(str) {
+ var isLastCharLower = false;
+
+ for (var i = 0; i < str.length; i++) {
+ var c = str.charAt(i);
+
+ if (isLastCharLower && (/[a-zA-Z]/).test(c) && c.toUpperCase() === c) {
+ str = str.substr(0, i) + '-' + str.substr(i);
+ isLastCharLower = false;
+ i++;
+ } else {
+ isLastCharLower = (c.toLowerCase() === c);
+ }
+ }
+
+ return str;
+}
+
+module.exports = function () {
+ var str = [].map.call(arguments, function (str) {
+ return str.trim();
+ }).filter(function (str) {
+ return str.length;
+ }).join('-');
+
+ if (!str.length) {
+ return '';
+ }
+
+ if (str.length === 1) {
+ return str.toLowerCase();
+ }
+
+ if (!(/[_.\- ]+/).test(str)) {
+ if (str === str.toUpperCase()) {
+ return str.toLowerCase();
+ }
+
+ if (str[0] !== str[0].toLowerCase()) {
+ return str[0].toLowerCase() + str.slice(1);
+ }
+
+ return str;
+ }
+
+ str = preserveCamelCase(str);
+
+ return str
+ .replace(/^[_.\- ]+/, '')
+ .toLowerCase()
+ .replace(/[_.\- ]+(\w|$)/g, function (m, p1) {
+ return p1.toUpperCase();
+ });
+};
diff --git a/node_modules/camelcase/license b/node_modules/camelcase/license
new file mode 100644
index 0000000..654d0bf
--- /dev/null
+++ b/node_modules/camelcase/license
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) Sindre Sorhus (sindresorhus.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/node_modules/camelcase/package.json b/node_modules/camelcase/package.json
new file mode 100644
index 0000000..504ff6c
--- /dev/null
+++ b/node_modules/camelcase/package.json
@@ -0,0 +1,72 @@
+{
+ "_from": "camelcase@^3.0.0",
+ "_id": "camelcase@3.0.0",
+ "_inBundle": false,
+ "_integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=",
+ "_location": "/camelcase",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "range",
+ "registry": true,
+ "raw": "camelcase@^3.0.0",
+ "name": "camelcase",
+ "escapedName": "camelcase",
+ "rawSpec": "^3.0.0",
+ "saveSpec": null,
+ "fetchSpec": "^3.0.0"
+ },
+ "_requiredBy": [
+ "/yargs",
+ "/yargs-parser"
+ ],
+ "_resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
+ "_shasum": "32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a",
+ "_spec": "camelcase@^3.0.0",
+ "_where": "C:\\Users\\Futil\\AppData\\Local\\FoundryVTT\\Data\\systems\\mothership\\node_modules\\yargs",
+ "author": {
+ "name": "Sindre Sorhus",
+ "email": "sindresorhus@gmail.com",
+ "url": "http://sindresorhus.com"
+ },
+ "bugs": {
+ "url": "https://github.com/sindresorhus/camelcase/issues"
+ },
+ "bundleDependencies": false,
+ "deprecated": false,
+ "description": "Convert a dash/dot/underscore/space separated string to camelCase: foo-bar → fooBar",
+ "devDependencies": {
+ "ava": "*",
+ "xo": "*"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ },
+ "files": [
+ "index.js"
+ ],
+ "homepage": "https://github.com/sindresorhus/camelcase#readme",
+ "keywords": [
+ "camelcase",
+ "camel-case",
+ "camel",
+ "case",
+ "dash",
+ "hyphen",
+ "dot",
+ "underscore",
+ "separator",
+ "string",
+ "text",
+ "convert"
+ ],
+ "license": "MIT",
+ "name": "camelcase",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/sindresorhus/camelcase.git"
+ },
+ "scripts": {
+ "test": "xo && ava"
+ },
+ "version": "3.0.0"
+}
diff --git a/node_modules/camelcase/readme.md b/node_modules/camelcase/readme.md
new file mode 100644
index 0000000..080b2a1
--- /dev/null
+++ b/node_modules/camelcase/readme.md
@@ -0,0 +1,57 @@
+# camelcase [](https://travis-ci.org/sindresorhus/camelcase)
+
+> Convert a dash/dot/underscore/space separated string to camelCase: `foo-bar` → `fooBar`
+
+
+## Install
+
+```
+$ npm install --save camelcase
+```
+
+
+## Usage
+
+```js
+const camelCase = require('camelcase');
+
+camelCase('foo-bar');
+//=> 'fooBar'
+
+camelCase('foo_bar');
+//=> 'fooBar'
+
+camelCase('Foo-Bar');
+//=> 'fooBar'
+
+camelCase('--foo.bar');
+//=> 'fooBar'
+
+camelCase('__foo__bar__');
+//=> 'fooBar'
+
+camelCase('foo bar');
+//=> 'fooBar'
+
+console.log(process.argv[3]);
+//=> '--foo-bar'
+camelCase(process.argv[3]);
+//=> 'fooBar'
+
+camelCase('foo', 'bar');
+//=> 'fooBar'
+
+camelCase('__foo__', '--bar');
+//=> 'fooBar'
+```
+
+
+## Related
+
+- [decamelize](https://github.com/sindresorhus/decamelize) - The inverse of this module
+- [uppercamelcase](https://github.com/SamVerschueren/uppercamelcase) - Like this module, but to PascalCase instead of camelCase
+
+
+## License
+
+MIT © [Sindre Sorhus](http://sindresorhus.com)
diff --git a/node_modules/caniuse-lite/CHANGELOG.md b/node_modules/caniuse-lite/CHANGELOG.md
new file mode 100644
index 0000000..fa24e06
--- /dev/null
+++ b/node_modules/caniuse-lite/CHANGELOG.md
@@ -0,0 +1,445 @@
+# 1.x releases
+
+The contents of this section have been generated automatically; each version
+tracks the `caniuse-db` package at the same version.
+
+- **1.0.30001157** was released on November 9th, 2020 at 05:33.
+- **1.0.30001156** was released on November 5th, 2020 at 06:33.
+- **1.0.30001155** was released on November 5th, 2020 at 05:34.
+- **1.0.30001154** was released on October 29th, 2020 at 20:33.
+- **1.0.30001153** was released on October 29th, 2020 at 06:33.
+- **1.0.30001151** was released on October 24th, 2020 at 05:33.
+- **1.0.30001150** was released on October 21st, 2020 at 06:34.
+- **1.0.30001148** was released on October 12th, 2020 at 06:33.
+- **1.0.30001147** was released on October 11th, 2020 at 06:33.
+- **1.0.30001146** was released on October 8th, 2020 at 05:33.
+- **1.0.30001144** was released on October 6th, 2020 at 06:33.
+- **1.0.30001143** was released on October 3rd, 2020 at 19:33.
+- **1.0.30001142** was released on October 2nd, 2020 at 04:33.
+- **1.0.30001141** was released on October 1st, 2020 at 01:33.
+- **1.0.30001140** was released on September 30th, 2020 at 06:33.
+- **1.0.30001138** was released on September 30th, 2020 at 05:33.
+- **1.0.30001137** was released on September 25th, 2020 at 05:33.
+- **1.0.30001136** was released on September 25th, 2020 at 04:33.
+- **1.0.30001135** was released on September 22nd, 2020 at 06:33.
+- **1.0.30001133** was released on September 19th, 2020 at 19:34.
+- **1.0.30001132** was released on September 19th, 2020 at 05:34.
+- **1.0.30001131** was released on September 15th, 2020 at 06:33.
+- **1.0.30001129** was released on September 13th, 2020 at 19:33.
+- **1.0.30001128** was released on September 13th, 2020 at 06:32.
+- **1.0.30001127** was released on September 13th, 2020 at 05:33.
+- **1.0.30001126** was released on September 12th, 2020 at 23:33.
+- **1.0.30001125** was released on September 9th, 2020 at 06:32.
+- **1.0.30001124** was released on September 4th, 2020 at 05:33.
+- **1.0.30001123** was released on September 3rd, 2020 at 06:32.
+- **1.0.30001122** was released on September 1st, 2020 at 06:32.
+- **1.0.30001121** was released on September 1st, 2020 at 05:32.
+- **1.0.30001120** was released on August 30th, 2020 at 04:32.
+- **1.0.30001119** was released on August 28th, 2020 at 04:32.
+- **1.0.30001118** was released on August 26th, 2020 at 05:32.
+- **1.0.30001117** was released on August 21st, 2020 at 04:32.
+- **1.0.30001116** was released on August 18th, 2020 at 20:32.
+- **1.0.30001115** was released on August 18th, 2020 at 02:32.
+- **1.0.30001114** was released on August 14th, 2020 at 05:32.
+- **1.0.30001113** was released on August 11th, 2020 at 05:33.
+- **1.0.30001112** was released on August 7th, 2020 at 04:32.
+- **1.0.30001111** was released on August 5th, 2020 at 03:32.
+- **1.0.30001110** was released on August 4th, 2020 at 06:33.
+- **1.0.30001109** was released on July 30th, 2020 at 05:33.
+- **1.0.30001107** was released on July 26th, 2020 at 23:32.
+- **1.0.30001106** was released on July 25th, 2020 at 22:33.
+- **1.0.30001105** was released on July 22nd, 2020 at 05:33.
+- **1.0.30001104** was released on July 20th, 2020 at 06:32.
+- **1.0.30001103** was released on July 19th, 2020 at 05:32.
+- **1.0.30001102** was released on July 17th, 2020 at 04:33.
+- **1.0.30001101** was released on July 17th, 2020 at 02:32.
+- **1.0.30001100** was released on July 15th, 2020 at 02:32.
+- **1.0.30001099** was released on July 11th, 2020 at 19:32.
+- **1.0.30001097** was released on July 10th, 2020 at 03:32.
+- **1.0.30001096** was released on July 8th, 2020 at 05:32.
+- **1.0.30001094** was released on July 5th, 2020 at 05:33.
+- **1.0.30001093** was released on July 1st, 2020 at 22:33.
+- **1.0.30001092** was released on July 1st, 2020 at 21:33.
+- **1.0.30001091** was released on June 30th, 2020 at 22:32.
+- **1.0.30001090** was released on June 27th, 2020 at 19:32.
+- **1.0.30001089** was released on June 27th, 2020 at 06:32.
+- **1.0.30001088** was released on June 24th, 2020 at 05:32.
+- **1.0.30001087** was released on June 23rd, 2020 at 05:33.
+- **1.0.30001085** was released on June 21st, 2020 at 05:32.
+- **1.0.30001084** was released on June 16th, 2020 at 06:33.
+- **1.0.30001083** was released on June 13th, 2020 at 19:32.
+- **1.0.30001081** was released on June 10th, 2020 at 03:33.
+- **1.0.30001079** was released on June 8th, 2020 at 06:32.
+- **1.0.30001078** was released on June 5th, 2020 at 06:32.
+- **1.0.30001077** was released on June 3rd, 2020 at 04:32.
+- **1.0.30001076** was released on June 2nd, 2020 at 03:32.
+- **1.0.30001074** was released on June 1st, 2020 at 06:32.
+- **1.0.30001072** was released on May 31st, 2020 at 05:32.
+- **1.0.30001070** was released on May 30th, 2020 at 06:32.
+- **1.0.30001069** was released on May 29th, 2020 at 06:32.
+- **1.0.30001068** was released on May 28th, 2020 at 06:32.
+- **1.0.30001067** was released on May 26th, 2020 at 05:32.
+- **1.0.30001066** was released on May 25th, 2020 at 21:32.
+- **1.0.30001065** was released on May 24th, 2020 at 23:32.
+- **1.0.30001064** was released on May 23rd, 2020 at 05:32.
+- **1.0.30001063** was released on May 20th, 2020 at 04:32.
+- **1.0.30001062** was released on May 19th, 2020 at 06:32.
+- **1.0.30001061** was released on May 16th, 2020 at 04:32.
+- **1.0.30001059** was released on May 15th, 2020 at 02:32.
+- **1.0.30001058** was released on May 14th, 2020 at 02:32.
+- **1.0.30001057** was released on May 14th, 2020 at 01:32.
+- **1.0.30001055** was released on May 11th, 2020 at 00:32.
+- **1.0.30001054** was released on May 8th, 2020 at 03:32.
+- **1.0.30001053** was released on May 7th, 2020 at 04:32.
+- **1.0.30001052** was released on May 6th, 2020 at 00:32.
+- **1.0.30001051** was released on May 5th, 2020 at 04:32.
+- **1.0.30001050** was released on May 4th, 2020 at 04:32.
+- **1.0.30001049** was released on May 4th, 2020 at 03:32.
+- **1.0.30001048** was released on April 25th, 2020 at 17:32.
+- **1.0.30001047** was released on April 25th, 2020 at 16:32.
+- **1.0.30001046** was released on April 23rd, 2020 at 06:32.
+- **1.0.30001045** was released on April 21st, 2020 at 06:32.
+- **1.0.30001043** was released on April 19th, 2020 at 04:32.
+- **1.0.30001042** was released on April 15th, 2020 at 04:32.
+- **1.0.30001041** was released on April 13th, 2020 at 03:32.
+- **1.0.30001040** was released on April 9th, 2020 at 05:32.
+- **1.0.30001039** was released on April 4th, 2020 at 04:32.
+- **1.0.30001038** was released on March 26th, 2020 at 05:32.
+- **1.0.30001037** was released on March 25th, 2020 at 05:32.
+- **1.0.30001036** was released on March 23rd, 2020 at 06:32.
+- **1.0.30001035** was released on March 12th, 2020 at 06:32.
+- **1.0.30001034** was released on March 12th, 2020 at 05:32.
+- **1.0.30001033** was released on March 9th, 2020 at 05:32.
+- **1.0.30001032** was released on March 5th, 2020 at 05:33.
+- **1.0.30001031** was released on March 2nd, 2020 at 05:32.
+- **1.0.30001030** was released on February 24th, 2020 at 07:32.
+- **1.0.30001029** was released on February 24th, 2020 at 05:32.
+- **1.0.30001028** was released on February 18th, 2020 at 05:32.
+- **1.0.30001027** was released on February 10th, 2020 at 05:32.
+- **1.0.30001026** was released on February 10th, 2020 at 04:32.
+- **1.0.30001025** was released on February 4th, 2020 at 06:32.
+- **1.0.30001024** was released on February 3rd, 2020 at 22:10.
+- **1.0.30001023** was released on January 25th, 2020 at 07:32.
+- **1.0.30001022** was released on January 21st, 2020 at 02:32.
+- **1.0.30001021** was released on January 15th, 2020 at 05:32.
+- **1.0.30001020** was released on January 9th, 2020 at 05:32.
+- **1.0.30001019** was released on January 5th, 2020 at 01:32.
+- **1.0.30001018** was released on January 3rd, 2020 at 23:32.
+- **1.0.30001017** was released on December 27th, 2019 at 18:32.
+- **1.0.30001016** was released on December 16th, 2019 at 06:32.
+- **1.0.30001015** was released on December 4th, 2019 at 07:32.
+- **1.0.30001013** was released on December 2nd, 2019 at 06:32.
+- **1.0.30001012** was released on November 25th, 2019 at 06:32.
+- **1.0.30001011** was released on November 20th, 2019 at 05:32.
+- **1.0.30001010** was released on November 14th, 2019 at 07:32.
+- **1.0.30001009** was released on November 13th, 2019 at 05:32.
+- **1.0.30001008** was released on November 4th, 2019 at 06:32.
+- **1.0.30001006** was released on October 30th, 2019 at 03:32.
+- **1.0.30001005** was released on October 27th, 2019 at 05:32.
+- **1.0.30001004** was released on October 24th, 2019 at 06:32.
+- **1.0.30001002** was released on October 21st, 2019 at 06:32.
+- **1.0.30001001** was released on October 21st, 2019 at 04:32.
+- **1.0.30000999** was released on October 6th, 2019 at 00:32.
+- **1.0.30000998** was released on October 2nd, 2019 at 06:32.
+- **1.0.30000997** was released on September 24th, 2019 at 04:32.
+- **1.0.30000996** was released on September 20th, 2019 at 05:32.
+- **1.0.30000995** was released on September 16th, 2019 at 04:32.
+- **1.0.30000994** was released on September 11th, 2019 at 05:32.
+- **1.0.30000992** was released on September 5th, 2019 at 05:32.
+- **1.0.30000990** was released on September 4th, 2019 at 05:32.
+- **1.0.30000989** was released on August 6th, 2019 at 04:32.
+- **1.0.30000988** was released on July 31st, 2019 at 03:32.
+- **1.0.30000987** was released on July 30th, 2019 at 05:32.
+- **1.0.30000986** was released on July 27th, 2019 at 05:32.
+- **1.0.30000985** was released on July 21st, 2019 at 05:32.
+- **1.0.30000984** was released on July 13th, 2019 at 05:32.
+- **1.0.30000983** was released on July 10th, 2019 at 06:32.
+- **1.0.30000981** was released on July 8th, 2019 at 06:32.
+- **1.0.30000980** was released on July 5th, 2019 at 17:32.
+- **1.0.30000979** was released on July 1st, 2019 at 06:32.
+- **1.0.30000978** was released on June 26th, 2019 at 06:32.
+- **1.0.30000977** was released on June 25th, 2019 at 06:32.
+- **1.0.30000976** was released on June 21st, 2019 at 06:32.
+- **1.0.30000975** was released on June 18th, 2019 at 06:32.
+- **1.0.30000974** was released on June 6th, 2019 at 06:32.
+- **1.0.30000973** was released on June 4th, 2019 at 06:32.
+- **1.0.30000971** was released on May 22nd, 2019 at 04:32.
+- **1.0.30000969** was released on May 16th, 2019 at 03:32.
+- **1.0.30000967** was released on May 7th, 2019 at 05:32.
+- **1.0.30000966** was released on May 3rd, 2019 at 05:32.
+- **1.0.30000965** was released on May 3rd, 2019 at 04:32.
+- **1.0.30000963** was released on April 24th, 2019 at 04:32.
+- **1.0.30000962** was released on April 19th, 2019 at 04:32.
+- **1.0.30000960** was released on April 16th, 2019 at 06:32.
+- **1.0.30000959** was released on April 15th, 2019 at 03:32.
+- **1.0.30000958** was released on April 14th, 2019 at 21:32.
+- **1.0.30000957** was released on April 3rd, 2019 at 06:32.
+- **1.0.30000956** was released on April 3rd, 2019 at 04:32.
+- **1.0.30000955** was released on March 28th, 2019 at 06:32.
+- **1.0.30000954** was released on March 27th, 2019 at 05:32.
+- **1.0.30000953** was released on March 26th, 2019 at 05:32.
+- **1.0.30000952** was released on March 26th, 2019 at 02:32.
+- **1.0.30000951** was released on March 20th, 2019 at 04:32.
+- **1.0.30000950** was released on March 17th, 2019 at 06:32.
+- **1.0.30000949** was released on March 16th, 2019 at 03:32.
+- **1.0.30000948** was released on March 15th, 2019 at 06:32.
+- **1.0.30000947** was released on March 14th, 2019 at 05:32.
+- **1.0.30000946** was released on March 13th, 2019 at 05:32.
+- **1.0.30000945** was released on March 12th, 2019 at 06:32.
+- **1.0.30000944** was released on March 12th, 2019 at 05:32.
+- **1.0.30000943** was released on March 10th, 2019 at 03:32.
+- **1.0.30000942** was released on March 7th, 2019 at 04:32.
+- **1.0.30000941** was released on March 5th, 2019 at 04:32.
+- **1.0.30000940** was released on March 3rd, 2019 at 20:32.
+- **1.0.30000939** was released on February 23rd, 2019 at 04:32.
+- **1.0.30000938** was released on February 15th, 2019 at 05:32.
+- **1.0.30000937** was released on February 15th, 2019 at 04:32.
+- **1.0.30000936** was released on February 11th, 2019 at 04:32.
+- **1.0.30000935** was released on February 5th, 2019 at 05:32.
+- **1.0.30000934** was released on February 3rd, 2019 at 07:32.
+- **1.0.30000933** was released on January 31st, 2019 at 05:32.
+- **1.0.30000932** was released on January 25th, 2019 at 07:32.
+- **1.0.30000931** was released on January 25th, 2019 at 06:32.
+- **1.0.30000930** was released on January 23rd, 2019 at 05:32.
+- **1.0.30000929** was released on January 16th, 2019 at 05:32.
+- **1.0.30000928** was released on January 10th, 2019 at 06:32.
+- **1.0.30000927** was released on January 4th, 2019 at 03:32.
+- **1.0.30000926** was released on January 2nd, 2019 at 02:32.
+- **1.0.30000925** was released on December 28th, 2018 at 03:32.
+- **1.0.30000923** was released on December 20th, 2018 at 00:32.
+- **1.0.30000921** was released on December 14th, 2018 at 05:32.
+- **1.0.30000919** was released on December 14th, 2018 at 04:32.
+- **1.0.30000918** was released on December 10th, 2018 at 05:32.
+- **1.0.30000917** was released on December 10th, 2018 at 01:32.
+- **1.0.30000916** was released on December 6th, 2018 at 06:32.
+- **1.0.30000915** was released on December 6th, 2018 at 05:32.
+- **1.0.30000914** was released on December 4th, 2018 at 06:32.
+- **1.0.30000913** was released on December 3rd, 2018 at 07:32.
+- **1.0.30000912** was released on November 27th, 2018 at 15:32.
+- **1.0.30000911** was released on November 27th, 2018 at 06:32.
+- **1.0.30000910** was released on November 21st, 2018 at 06:32.
+- **1.0.30000909** was released on November 18th, 2018 at 06:32.
+- **1.0.30000908** was released on November 18th, 2018 at 05:32.
+- **1.0.30000907** was released on November 8th, 2018 at 07:32.
+- **1.0.30000906** was released on November 6th, 2018 at 05:32.
+- **1.0.30000905** was released on November 5th, 2018 at 05:32.
+- **1.0.30000904** was released on November 3rd, 2018 at 06:32.
+- **1.0.30000903** was released on October 31st, 2018 at 05:32.
+- **1.0.30000902** was released on October 30th, 2018 at 04:32.
+- **1.0.30000901** was released on October 30th, 2018 at 03:32.
+- **1.0.30000900** was released on October 29th, 2018 at 01:32.
+- **1.0.30000899** was released on October 25th, 2018 at 04:32.
+- **1.0.30000898** was released on October 23rd, 2018 at 05:32.
+- **1.0.30000893** was released on October 18th, 2018 at 05:32.
+- **1.0.30000892** was released on October 15th, 2018 at 06:32.
+- **1.0.30000890** was released on October 8th, 2018 at 03:32.
+- **1.0.30000889** was released on October 3rd, 2018 at 04:32.
+- **1.0.30000888** was released on September 28th, 2018 at 02:32.
+- **1.0.30000887** was released on September 23rd, 2018 at 04:32.
+- **1.0.30000886** was released on September 21st, 2018 at 06:32.
+- **1.0.30000885** was released on September 6th, 2018 at 05:32.
+- **1.0.30000884** was released on September 4th, 2018 at 04:32.
+- **1.0.30000883** was released on August 30th, 2018 at 04:32.
+- **1.0.30000882** was released on August 29th, 2018 at 05:32.
+- **1.0.30000880** was released on August 28th, 2018 at 06:32.
+- **1.0.30000878** was released on August 21st, 2018 at 06:32.
+- **1.0.30000877** was released on August 14th, 2018 at 05:32.
+- **1.0.30000876** was released on August 13th, 2018 at 01:32.
+- **1.0.30000874** was released on August 3rd, 2018 at 06:47.
+- **1.0.30000872** was released on August 2nd, 2018 at 22:47.
+- **1.0.30000865** was released on July 10th, 2018 at 05:00.
+- **1.0.30000864** was released on July 5th, 2018 at 03:01.
+- **1.0.30000862** was released on July 3rd, 2018 at 06:00.
+- **1.0.30000861** was released on June 29th, 2018 at 05:00.
+- **1.0.30000860** was released on June 28th, 2018 at 06:00.
+- **1.0.30000859** was released on June 26th, 2018 at 06:00.
+- **1.0.30000858** was released on June 24th, 2018 at 00:01.
+- **1.0.30000857** was released on June 23rd, 2018 at 23:00.
+- **1.0.30000856** was released on June 15th, 2018 at 06:01.
+- **1.0.30000855** was released on June 14th, 2018 at 06:00.
+- **1.0.30000854** was released on June 14th, 2018 at 05:00.
+- **1.0.30000853** was released on June 13th, 2018 at 07:00.
+- **1.0.30000852** was released on June 12th, 2018 at 07:00.
+- **1.0.30000851** was released on June 8th, 2018 at 06:00.
+- **1.0.30000850** was released on June 7th, 2018 at 07:00.
+- **1.0.30000849** was released on June 5th, 2018 at 07:00.
+- **1.0.30000848** was released on June 4th, 2018 at 15:01.
+- **1.0.30000847** was released on May 31st, 2018 at 07:00.
+- **1.0.30000846** was released on May 24th, 2018 at 07:00.
+- **1.0.30000845** was released on May 23rd, 2018 at 23:00.
+- **1.0.30000844** was released on May 22nd, 2018 at 11:00.
+- **1.0.30000845** was released on May 22nd, 2018 at 06:02.
+- **1.0.30000844** was released on May 21st, 2018 at 04:00.
+- **1.0.30000843** was released on May 18th, 2018 at 07:01.
+- **1.0.30000842** was released on May 17th, 2018 at 06:00.
+- **1.0.30000841** was released on May 16th, 2018 at 06:00.
+- **1.0.30000840** was released on May 14th, 2018 at 06:00.
+- **1.0.30000839** was released on May 10th, 2018 at 07:00.
+- **1.0.30000838** was released on May 10th, 2018 at 06:01.
+- **1.0.30000836** was released on May 8th, 2018 at 05:00.
+- **1.0.30000835** was released on May 6th, 2018 at 05:00.
+- **1.0.30000834** was released on May 6th, 2018 at 04:00.
+- **1.0.30000833** was released on May 2nd, 2018 at 04:01.
+- **1.0.30000832** was released on April 28th, 2018 at 04:00.
+- **1.0.30000831** was released on April 28th, 2018 at 03:00.
+- **1.0.30000830** was released on April 14th, 2018 at 05:00.
+- **1.0.30000828** was released on April 12th, 2018 at 06:00.
+- **1.0.30000827** was released on April 10th, 2018 at 05:00.
+- **1.0.30000826** was released on April 10th, 2018 at 04:00.
+- **1.0.30000824** was released on April 6th, 2018 at 05:00.
+- **1.0.30000823** was released on April 3rd, 2018 at 06:01.
+- **1.0.30000822** was released on April 3rd, 2018 at 05:00.
+- **1.0.30000821** was released on March 28th, 2018 at 04:00.
+- **1.0.30000820** was released on March 25th, 2018 at 05:01.
+- **1.0.30000819** was released on March 22nd, 2018 at 06:01.
+- **1.0.30000817** was released on March 21st, 2018 at 06:01.
+- **1.0.30000815** was released on March 15th, 2018 at 06:01.
+- **1.0.30000814** was released on March 13th, 2018 at 06:01.
+- **1.0.30000813** was released on March 6th, 2018 at 07:00.
+- **1.0.30000812** was released on March 5th, 2018 at 05:01.
+- **1.0.30000811** was released on March 3rd, 2018 at 08:01.
+- **1.0.30000810** was released on February 20th, 2018 at 00:00.
+- **1.0.30000809** was released on February 18th, 2018 at 02:01.
+- **1.0.30000808** was released on February 11th, 2018 at 07:00.
+- **1.0.30000807** was released on February 10th, 2018 at 06:00.
+- **1.0.30000805** was released on February 9th, 2018 at 05:00.
+- **1.0.30000804** was released on February 7th, 2018 at 07:00.
+- **1.0.30000803** was released on February 6th, 2018 at 07:00.
+- **1.0.30000802** was released on February 5th, 2018 at 23:14.
+- **1.0.30000792** was released on January 15th, 2018 at 06:01.
+- **1.0.30000791** was released on January 12th, 2018 at 06:01.
+- **1.0.30000790** was released on January 11th, 2018 at 08:00.
+- **1.0.30000789** was released on January 7th, 2018 at 05:00.
+- **1.0.30000788** was released on January 7th, 2018 at 04:00.
+- **1.0.30000787** was released on January 3rd, 2018 at 23:00.
+- **1.0.30000786** was released on January 3rd, 2018 at 19:00.
+- **1.0.30000785** was released on January 3rd, 2018 at 18:01.
+- **1.0.30000784** was released on December 20th, 2017 at 05:01.
+- **1.0.30000783** was released on December 13th, 2017 at 06:01.
+- **1.0.30000782** was released on December 10th, 2017 at 07:01.
+- **1.0.30000781** was released on December 10th, 2017 at 06:01.
+- **1.0.30000780** was released on December 6th, 2017 at 06:01.
+- **1.0.30000779** was released on December 6th, 2017 at 05:01.
+- **1.0.30000778** was released on December 4th, 2017 at 07:01.
+- **1.0.30000777** was released on December 1st, 2017 at 07:00.
+- **1.0.30000776** was released on December 1st, 2017 at 05:01.
+- **1.0.30000775** was released on November 29th, 2017 at 06:00.
+- **1.0.30000774** was released on November 29th, 2017 at 05:01.
+- **1.0.30000772** was released on November 26th, 2017 at 07:01.
+- **1.0.30000770** was released on November 23rd, 2017 at 06:01.
+- **1.0.30000769** was released on November 21st, 2017 at 06:01.
+- **1.0.30000766** was released on November 17th, 2017 at 06:01.
+- **1.0.30000765** was released on November 16th, 2017 at 05:00.
+- **1.0.30000764** was released on November 14th, 2017 at 07:00.
+- **1.0.30000762** was released on November 14th, 2017 at 06:00.
+- **1.0.30000760** was released on November 8th, 2017 at 04:00.
+- **1.0.30000758** was released on November 3rd, 2017 at 06:01.
+- **1.0.30000757** was released on November 2nd, 2017 at 06:00.
+- **1.0.30000756** was released on October 30th, 2017 at 06:00.
+- **1.0.30000755** was released on October 28th, 2017 at 07:00.
+- **1.0.30000753** was released on October 28th, 2017 at 06:00.
+- **1.0.30000752** was released on October 27th, 2017 at 05:00.
+- **1.0.30000751** was released on October 26th, 2017 at 05:00.
+- **1.0.30000750** was released on October 25th, 2017 at 05:00.
+- **1.0.30000749** was released on October 22nd, 2017 at 23:00.
+- **1.0.30000748** was released on October 19th, 2017 at 06:00.
+- **1.0.30000747** was released on October 18th, 2017 at 06:00.
+- **1.0.30000746** was released on October 11th, 2017 at 05:00.
+- **1.0.30000745** was released on October 9th, 2017 at 03:00.
+- **1.0.30000744** was released on October 5th, 2017 at 06:01.
+- **1.0.30000743** was released on October 4th, 2017 at 06:00.
+- **1.0.30000742** was released on October 4th, 2017 at 05:01.
+- **1.0.30000741** was released on October 3rd, 2017 at 04:00.
+- **1.0.30000740** was released on September 29th, 2017 at 05:00.
+- **1.0.30000739** was released on September 28th, 2017 at 05:00.
+- **1.0.30000738** was released on September 25th, 2017 at 07:00.
+- **1.0.30000737** was released on September 24th, 2017 at 06:00.
+- **1.0.30000736** was released on September 24th, 2017 at 05:00.
+- **1.0.30000735** was released on September 22nd, 2017 at 05:00.
+- **1.0.30000734** was released on September 22nd, 2017 at 01:00.
+- **1.0.30000733** was released on September 18th, 2017 at 05:00.
+- **1.0.30000732** was released on September 17th, 2017 at 06:00.
+- **1.0.30000731** was released on September 16th, 2017 at 06:00.
+- **1.0.30000730** was released on September 15th, 2017 at 06:00.
+- **1.0.30000727** was released on September 11th, 2017 at 07:00.
+- **1.0.30000726** was released on September 6th, 2017 at 04:00.
+- **1.0.30000725** was released on September 5th, 2017 at 06:00.
+- **1.0.30000724** was released on September 5th, 2017 at 05:00.
+- **1.0.30000723** was released on September 4th, 2017 at 20:00.
+- **1.0.30000722** was released on September 4th, 2017 at 05:00.
+- **1.0.30000721** was released on August 30th, 2017 at 06:00.
+- **1.0.30000720** was released on August 30th, 2017 at 05:00.
+- **1.0.30000718** was released on August 25th, 2017 at 07:00.
+- **1.0.30000717** was released on August 22nd, 2017 at 04:00.
+- **1.0.30000716** was released on August 20th, 2017 at 07:00.
+- **1.0.30000715** was released on August 11th, 2017 at 06:00.
+- **1.0.30000714** was released on August 11th, 2017 at 05:00.
+- **1.0.30000713** was released on August 9th, 2017 at 06:00.
+- **1.0.30000712** was released on August 7th, 2017 at 04:00.
+- **1.0.30000711** was released on August 7th, 2017 at 01:00.
+- **1.0.30000710** was released on August 4th, 2017 at 03:00.
+- **1.0.30000709** was released on August 1st, 2017 at 05:00.
+- **1.0.30000708** was released on July 27th, 2017 at 07:01.
+- **1.0.30000706** was released on July 25th, 2017 at 16:06.
+- **1.0.30000704** was released on July 20th, 2017 at 07:01.
+- **1.0.30000703** was released on July 19th, 2017 at 06:01.
+- **1.0.30000702** was released on July 18th, 2017 at 08:01.
+- **1.0.30000701** was released on July 14th, 2017 at 06:01.
+- **1.0.30000700** was released on July 12th, 2017 at 07:01.
+- **1.0.30000699** was released on July 11th, 2017 at 06:02.
+- **1.0.30000698** was released on July 10th, 2017 at 06:01.
+- **1.0.30000697** was released on July 5th, 2017 at 06:01.
+- **1.0.30000696** was released on June 27th, 2017 at 07:01.
+- **1.0.30000695** was released on June 27th, 2017 at 05:01.
+- **1.0.30000694** was released on June 24th, 2017 at 05:01.
+- **1.0.30000693** was released on June 22nd, 2017 at 04:01.
+- **1.0.30000692** was released on June 19th, 2017 at 07:01.
+- **1.0.30000690** was released on June 18th, 2017 at 07:01.
+- **1.0.30000689** was released on June 18th, 2017 at 06:01.
+- **1.0.30000688** was released on June 18th, 2017 at 05:01.
+- **1.0.30000687** was released on June 18th, 2017 at 04:01.
+- **1.0.30000686** was released on June 15th, 2017 at 07:01.
+- **1.0.30000684** was released on June 13th, 2017 at 05:01.
+- **1.0.30000683** was released on June 10th, 2017 at 05:01.
+- **1.0.30000680** was released on June 8th, 2017 at 08:01.
+- **1.0.30000679** was released on June 6th, 2017 at 06:01.
+- **1.0.30000677** was released on June 5th, 2017 at 00:01.
+- **1.0.30000676** was released on May 30th, 2017 at 06:01.
+- **1.0.30000674** was released on May 28th, 2017 at 06:01.
+- **1.0.30000673** was released on May 27th, 2017 at 06:01.
+- **1.0.30000672** was released on May 26th, 2017 at 06:01.
+- **1.0.30000671** was released on May 25th, 2017 at 07:01.
+- **1.0.30000670** was released on May 15th, 2017 at 07:01.
+- **1.0.30000669** was released on May 14th, 2017 at 06:01.
+- **1.0.30000668** was released on May 14th, 2017 at 05:01.
+- **1.0.30000667** was released on May 12th, 2017 at 07:01.
+- **1.0.30000666** was released on May 8th, 2017 at 06:01.
+- **1.0.30000665** was released on May 3rd, 2017 at 08:01.
+- **1.0.30000664** was released on April 28th, 2017 at 06:01.
+- **1.0.30000663** was released on April 28th, 2017 at 05:01.
+- **1.0.30000662** was released on April 26th, 2017 at 07:01.
+- **1.0.30000661** was released on April 26th, 2017 at 06:01.
+- **1.0.30000660** was released on April 24th, 2017 at 17:01.
+- **1.0.30000659** was released on April 24th, 2017 at 00:01.
+- **1.0.30000657** was released on April 21st, 2017 at 06:01.
+- **1.0.30000656** was released on April 20th, 2017 at 12:16.
+- **1.0.30000655** was released on April 17th, 2017 at 17:06.
+
+# 0.3.0
+
+- Add the `title` key to each feature.
+- Update `caniuse-db` to `1.0.30000653`.
+- Test automated publish script.
+
+# 0.2.0
+
+- Rewrite of the module. Now tries to be less clever with version merging,
+ instead opting for base62 identifiers for versions, and it is now tested
+ for accuracy against the original data.
+- `null` versions are now preserved to be consistent with caniuse-db.
+- All data is now stored as JS objects rather than JSON.
+- The browser map is now automatically generated.
+
+# 0.1.0
+
+- Initial release.
diff --git a/node_modules/caniuse-lite/LICENSE b/node_modules/caniuse-lite/LICENSE
new file mode 100644
index 0000000..06c608d
--- /dev/null
+++ b/node_modules/caniuse-lite/LICENSE
@@ -0,0 +1,395 @@
+Attribution 4.0 International
+
+=======================================================================
+
+Creative Commons Corporation ("Creative Commons") is not a law firm and
+does not provide legal services or legal advice. Distribution of
+Creative Commons public licenses does not create a lawyer-client or
+other relationship. Creative Commons makes its licenses and related
+information available on an "as-is" basis. Creative Commons gives no
+warranties regarding its licenses, any material licensed under their
+terms and conditions, or any related information. Creative Commons
+disclaims all liability for damages resulting from their use to the
+fullest extent possible.
+
+Using Creative Commons Public Licenses
+
+Creative Commons public licenses provide a standard set of terms and
+conditions that creators and other rights holders may use to share
+original works of authorship and other material subject to copyright
+and certain other rights specified in the public license below. The
+following considerations are for informational purposes only, are not
+exhaustive, and do not form part of our licenses.
+
+ Considerations for licensors: Our public licenses are
+ intended for use by those authorized to give the public
+ permission to use material in ways otherwise restricted by
+ copyright and certain other rights. Our licenses are
+ irrevocable. Licensors should read and understand the terms
+ and conditions of the license they choose before applying it.
+ Licensors should also secure all rights necessary before
+ applying our licenses so that the public can reuse the
+ material as expected. Licensors should clearly mark any
+ material not subject to the license. This includes other CC-
+ licensed material, or material used under an exception or
+ limitation to copyright. More considerations for licensors:
+ wiki.creativecommons.org/Considerations_for_licensors
+
+ Considerations for the public: By using one of our public
+ licenses, a licensor grants the public permission to use the
+ licensed material under specified terms and conditions. If
+ the licensor's permission is not necessary for any reason--for
+ example, because of any applicable exception or limitation to
+ copyright--then that use is not regulated by the license. Our
+ licenses grant only permissions under copyright and certain
+ other rights that a licensor has authority to grant. Use of
+ the licensed material may still be restricted for other
+ reasons, including because others have copyright or other
+ rights in the material. A licensor may make special requests,
+ such as asking that all changes be marked or described.
+ Although not required by our licenses, you are encouraged to
+ respect those requests where reasonable. More_considerations
+ for the public:
+ wiki.creativecommons.org/Considerations_for_licensees
+
+=======================================================================
+
+Creative Commons Attribution 4.0 International Public License
+
+By exercising the Licensed Rights (defined below), You accept and agree
+to be bound by the terms and conditions of this Creative Commons
+Attribution 4.0 International Public License ("Public License"). To the
+extent this Public License may be interpreted as a contract, You are
+granted the Licensed Rights in consideration of Your acceptance of
+these terms and conditions, and the Licensor grants You such rights in
+consideration of benefits the Licensor receives from making the
+Licensed Material available under these terms and conditions.
+
+
+Section 1 -- Definitions.
+
+ a. Adapted Material means material subject to Copyright and Similar
+ Rights that is derived from or based upon the Licensed Material
+ and in which the Licensed Material is translated, altered,
+ arranged, transformed, or otherwise modified in a manner requiring
+ permission under the Copyright and Similar Rights held by the
+ Licensor. For purposes of this Public License, where the Licensed
+ Material is a musical work, performance, or sound recording,
+ Adapted Material is always produced where the Licensed Material is
+ synched in timed relation with a moving image.
+
+ b. Adapter's License means the license You apply to Your Copyright
+ and Similar Rights in Your contributions to Adapted Material in
+ accordance with the terms and conditions of this Public License.
+
+ c. Copyright and Similar Rights means copyright and/or similar rights
+ closely related to copyright including, without limitation,
+ performance, broadcast, sound recording, and Sui Generis Database
+ Rights, without regard to how the rights are labeled or
+ categorized. For purposes of this Public License, the rights
+ specified in Section 2(b)(1)-(2) are not Copyright and Similar
+ Rights.
+
+ d. Effective Technological Measures means those measures that, in the
+ absence of proper authority, may not be circumvented under laws
+ fulfilling obligations under Article 11 of the WIPO Copyright
+ Treaty adopted on December 20, 1996, and/or similar international
+ agreements.
+
+ e. Exceptions and Limitations means fair use, fair dealing, and/or
+ any other exception or limitation to Copyright and Similar Rights
+ that applies to Your use of the Licensed Material.
+
+ f. Licensed Material means the artistic or literary work, database,
+ or other material to which the Licensor applied this Public
+ License.
+
+ g. Licensed Rights means the rights granted to You subject to the
+ terms and conditions of this Public License, which are limited to
+ all Copyright and Similar Rights that apply to Your use of the
+ Licensed Material and that the Licensor has authority to license.
+
+ h. Licensor means the individual(s) or entity(ies) granting rights
+ under this Public License.
+
+ i. Share means to provide material to the public by any means or
+ process that requires permission under the Licensed Rights, such
+ as reproduction, public display, public performance, distribution,
+ dissemination, communication, or importation, and to make material
+ available to the public including in ways that members of the
+ public may access the material from a place and at a time
+ individually chosen by them.
+
+ j. Sui Generis Database Rights means rights other than copyright
+ resulting from Directive 96/9/EC of the European Parliament and of
+ the Council of 11 March 1996 on the legal protection of databases,
+ as amended and/or succeeded, as well as other essentially
+ equivalent rights anywhere in the world.
+
+ k. You means the individual or entity exercising the Licensed Rights
+ under this Public License. Your has a corresponding meaning.
+
+
+Section 2 -- Scope.
+
+ a. License grant.
+
+ 1. Subject to the terms and conditions of this Public License,
+ the Licensor hereby grants You a worldwide, royalty-free,
+ non-sublicensable, non-exclusive, irrevocable license to
+ exercise the Licensed Rights in the Licensed Material to:
+
+ a. reproduce and Share the Licensed Material, in whole or
+ in part; and
+
+ b. produce, reproduce, and Share Adapted Material.
+
+ 2. Exceptions and Limitations. For the avoidance of doubt, where
+ Exceptions and Limitations apply to Your use, this Public
+ License does not apply, and You do not need to comply with
+ its terms and conditions.
+
+ 3. Term. The term of this Public License is specified in Section
+ 6(a).
+
+ 4. Media and formats; technical modifications allowed. The
+ Licensor authorizes You to exercise the Licensed Rights in
+ all media and formats whether now known or hereafter created,
+ and to make technical modifications necessary to do so. The
+ Licensor waives and/or agrees not to assert any right or
+ authority to forbid You from making technical modifications
+ necessary to exercise the Licensed Rights, including
+ technical modifications necessary to circumvent Effective
+ Technological Measures. For purposes of this Public License,
+ simply making modifications authorized by this Section 2(a)
+ (4) never produces Adapted Material.
+
+ 5. Downstream recipients.
+
+ a. Offer from the Licensor -- Licensed Material. Every
+ recipient of the Licensed Material automatically
+ receives an offer from the Licensor to exercise the
+ Licensed Rights under the terms and conditions of this
+ Public License.
+
+ b. No downstream restrictions. You may not offer or impose
+ any additional or different terms or conditions on, or
+ apply any Effective Technological Measures to, the
+ Licensed Material if doing so restricts exercise of the
+ Licensed Rights by any recipient of the Licensed
+ Material.
+
+ 6. No endorsement. Nothing in this Public License constitutes or
+ may be construed as permission to assert or imply that You
+ are, or that Your use of the Licensed Material is, connected
+ with, or sponsored, endorsed, or granted official status by,
+ the Licensor or others designated to receive attribution as
+ provided in Section 3(a)(1)(A)(i).
+
+ b. Other rights.
+
+ 1. Moral rights, such as the right of integrity, are not
+ licensed under this Public License, nor are publicity,
+ privacy, and/or other similar personality rights; however, to
+ the extent possible, the Licensor waives and/or agrees not to
+ assert any such rights held by the Licensor to the limited
+ extent necessary to allow You to exercise the Licensed
+ Rights, but not otherwise.
+
+ 2. Patent and trademark rights are not licensed under this
+ Public License.
+
+ 3. To the extent possible, the Licensor waives any right to
+ collect royalties from You for the exercise of the Licensed
+ Rights, whether directly or through a collecting society
+ under any voluntary or waivable statutory or compulsory
+ licensing scheme. In all other cases the Licensor expressly
+ reserves any right to collect such royalties.
+
+
+Section 3 -- License Conditions.
+
+Your exercise of the Licensed Rights is expressly made subject to the
+following conditions.
+
+ a. Attribution.
+
+ 1. If You Share the Licensed Material (including in modified
+ form), You must:
+
+ a. retain the following if it is supplied by the Licensor
+ with the Licensed Material:
+
+ i. identification of the creator(s) of the Licensed
+ Material and any others designated to receive
+ attribution, in any reasonable manner requested by
+ the Licensor (including by pseudonym if
+ designated);
+
+ ii. a copyright notice;
+
+ iii. a notice that refers to this Public License;
+
+ iv. a notice that refers to the disclaimer of
+ warranties;
+
+ v. a URI or hyperlink to the Licensed Material to the
+ extent reasonably practicable;
+
+ b. indicate if You modified the Licensed Material and
+ retain an indication of any previous modifications; and
+
+ c. indicate the Licensed Material is licensed under this
+ Public License, and include the text of, or the URI or
+ hyperlink to, this Public License.
+
+ 2. You may satisfy the conditions in Section 3(a)(1) in any
+ reasonable manner based on the medium, means, and context in
+ which You Share the Licensed Material. For example, it may be
+ reasonable to satisfy the conditions by providing a URI or
+ hyperlink to a resource that includes the required
+ information.
+
+ 3. If requested by the Licensor, You must remove any of the
+ information required by Section 3(a)(1)(A) to the extent
+ reasonably practicable.
+
+ 4. If You Share Adapted Material You produce, the Adapter's
+ License You apply must not prevent recipients of the Adapted
+ Material from complying with this Public License.
+
+
+Section 4 -- Sui Generis Database Rights.
+
+Where the Licensed Rights include Sui Generis Database Rights that
+apply to Your use of the Licensed Material:
+
+ a. for the avoidance of doubt, Section 2(a)(1) grants You the right
+ to extract, reuse, reproduce, and Share all or a substantial
+ portion of the contents of the database;
+
+ b. if You include all or a substantial portion of the database
+ contents in a database in which You have Sui Generis Database
+ Rights, then the database in which You have Sui Generis Database
+ Rights (but not its individual contents) is Adapted Material; and
+
+ c. You must comply with the conditions in Section 3(a) if You Share
+ all or a substantial portion of the contents of the database.
+
+For the avoidance of doubt, this Section 4 supplements and does not
+replace Your obligations under this Public License where the Licensed
+Rights include other Copyright and Similar Rights.
+
+
+Section 5 -- Disclaimer of Warranties and Limitation of Liability.
+
+ a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE
+ EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS
+ AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF
+ ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS,
+ IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION,
+ WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR
+ PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS,
+ ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT
+ KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT
+ ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU.
+
+ b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE
+ TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION,
+ NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT,
+ INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES,
+ COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR
+ USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN
+ ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR
+ DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR
+ IN PART, THIS LIMITATION MAY NOT APPLY TO YOU.
+
+ c. The disclaimer of warranties and limitation of liability provided
+ above shall be interpreted in a manner that, to the extent
+ possible, most closely approximates an absolute disclaimer and
+ waiver of all liability.
+
+
+Section 6 -- Term and Termination.
+
+ a. This Public License applies for the term of the Copyright and
+ Similar Rights licensed here. However, if You fail to comply with
+ this Public License, then Your rights under this Public License
+ terminate automatically.
+
+ b. Where Your right to use the Licensed Material has terminated under
+ Section 6(a), it reinstates:
+
+ 1. automatically as of the date the violation is cured, provided
+ it is cured within 30 days of Your discovery of the
+ violation; or
+
+ 2. upon express reinstatement by the Licensor.
+
+ For the avoidance of doubt, this Section 6(b) does not affect any
+ right the Licensor may have to seek remedies for Your violations
+ of this Public License.
+
+ c. For the avoidance of doubt, the Licensor may also offer the
+ Licensed Material under separate terms or conditions or stop
+ distributing the Licensed Material at any time; however, doing so
+ will not terminate this Public License.
+
+ d. Sections 1, 5, 6, 7, and 8 survive termination of this Public
+ License.
+
+
+Section 7 -- Other Terms and Conditions.
+
+ a. The Licensor shall not be bound by any additional or different
+ terms or conditions communicated by You unless expressly agreed.
+
+ b. Any arrangements, understandings, or agreements regarding the
+ Licensed Material not stated herein are separate from and
+ independent of the terms and conditions of this Public License.
+
+
+Section 8 -- Interpretation.
+
+ a. For the avoidance of doubt, this Public License does not, and
+ shall not be interpreted to, reduce, limit, restrict, or impose
+ conditions on any use of the Licensed Material that could lawfully
+ be made without permission under this Public License.
+
+ b. To the extent possible, if any provision of this Public License is
+ deemed unenforceable, it shall be automatically reformed to the
+ minimum extent necessary to make it enforceable. If the provision
+ cannot be reformed, it shall be severed from this Public License
+ without affecting the enforceability of the remaining terms and
+ conditions.
+
+ c. No term or condition of this Public License will be waived and no
+ failure to comply consented to unless expressly agreed to by the
+ Licensor.
+
+ d. Nothing in this Public License constitutes or may be interpreted
+ as a limitation upon, or waiver of, any privileges and immunities
+ that apply to the Licensor or You, including from the legal
+ processes of any jurisdiction or authority.
+
+
+=======================================================================
+
+Creative Commons is not a party to its public
+licenses. Notwithstanding, Creative Commons may elect to apply one of
+its public licenses to material it publishes and in those instances
+will be considered the “Licensor.” The text of the Creative Commons
+public licenses is dedicated to the public domain under the CC0 Public
+Domain Dedication. Except for the limited purpose of indicating that
+material is shared under a Creative Commons public license or as
+otherwise permitted by the Creative Commons policies published at
+creativecommons.org/policies, Creative Commons does not authorize the
+use of the trademark "Creative Commons" or any other trademark or logo
+of Creative Commons without its prior written consent including,
+without limitation, in connection with any unauthorized modifications
+to any of its public licenses or any other arrangements,
+understandings, or agreements concerning use of licensed material. For
+the avoidance of doubt, this paragraph does not form part of the
+public licenses.
+
+Creative Commons may be contacted at creativecommons.org.
diff --git a/node_modules/caniuse-lite/README.md b/node_modules/caniuse-lite/README.md
new file mode 100644
index 0000000..84e471c
--- /dev/null
+++ b/node_modules/caniuse-lite/README.md
@@ -0,0 +1,103 @@
+# caniuse-lite
+
+> A smaller version of caniuse-db, with only the essentials!
+
+## Why?
+
+The full data behind [Can I use][1] is incredibly useful for any front end
+developer, and on the website all of the details from the database are displayed
+to the user. However in automated tools, [many of these fields go unused][2];
+it's not a problem for server side consumption but client side, the less
+JavaScript that we send to the end user the better.
+
+caniuse-lite then, is a smaller dataset that keeps essential parts of the data
+in a compact format. It does this in multiple ways, such as converting `null`
+array entries into empty strings, representing support data as an integer rather
+than a string, and using base62 references instead of longer human-readable
+keys.
+
+This packed data is then reassembled (via functions exposed by this module) into
+a larger format which is mostly compatible with caniuse-db, and so it can be
+used as an almost drop-in replacement for caniuse-db for contexts where size on
+disk is important; for example, usage in web browsers. The API differences are
+very small and are detailed in the section below.
+
+
+## API
+
+```js
+import * as lite from 'caniuse-lite';
+```
+
+### `lite.agents`
+
+caniuse-db provides a full `data.json` file which contains all of the features
+data. Instead of this large file, caniuse-lite provides this data subset
+instead, which has the `browser`, `prefix`, `prefix_exceptions`, `usage_global`
+and `versions` keys from the original.
+
+In addition, the subset contains the `release_date` key with release dates (as timestamps) for each version:
+```json
+{
+ "release_date": {
+ "6": 998870400,
+ "7": 1161129600,
+ "8": 1237420800,
+ "9": 1300060800,
+ "10": 1346716800,
+ "11": 1381968000,
+ "5.5": 962323200
+ }
+}
+```
+
+### `lite.feature(js)`
+
+The `feature` method takes a file from `data/features` and converts it into
+something that more closely represents the `caniuse-db` format. Note that only
+the `title`, `stats` and `status` keys are kept from the original data.
+
+### `lite.features`
+
+The `features` index is provided as a way to query all of the features that
+are listed in the `caniuse-db` dataset. Note that you will need to use the
+`feature` method on values from this index to get a human-readable format.
+
+### `lite.region(js)`
+
+The `region` method takes a file from `data/regions` and converts it into
+something that more closely represents the `caniuse-db` format. Note that *only*
+the usage data is exposed here (the `data` key in the original files).
+
+
+## Contributors
+
+Thanks goes to these wonderful people ([emoji key](https://github.com/kentcdodds/all-contributors#emoji-key)):
+
+
+
+| [Ben Briggs ](http://beneb.info) [💻](https://github.com/ben-eb/caniuse-lite/commits?author=ben-eb "Code") [📖](https://github.com/ben-eb/caniuse-lite/commits?author=ben-eb "Documentation") [👀](#review-ben-eb "Reviewed Pull Requests") [⚠️](https://github.com/ben-eb/caniuse-lite/commits?author=ben-eb "Tests") | [Andy Jansson ](https://github.com/andyjansson) [💻](https://github.com/ben-eb/caniuse-lite/commits?author=andyjansson "Code") | [Andrey Sitnik ](http://twitter.com/sitnikcode) [💻](https://github.com/ben-eb/caniuse-lite/commits?author=ai "Code") | Igor Deryabin [💻](https://github.com/ben-eb/caniuse-lite/commits?author=rodweb "Code") |
+| :---: | :---: | :---: | :---: |
+
+
+This project follows the [all-contributors](https://github.com/kentcdodds/all-contributors) specification. Contributions of any kind welcome!
+
+
+
+Big thanks to [DigitalOcean](https://www.digitalocean.com/?utm_source=opensource&utm_campaign=caniuse-lite) for supporting this project by providing their great infrastructure for us.
+
+## License
+
+The data in this repo is available for use under a CC BY 4.0 license
+(http://creativecommons.org/licenses/by/4.0/). For attribution just mention
+somewhere that the source is caniuse.com. If you have any questions about using
+the data for your project please contact me here: http://a.deveria.com/contact
+
+[1]: http://caniuse.com/
+[2]: https://github.com/Fyrd/caniuse/issues/1827
+
+## Security contact information
+
+To report a security vulnerability, please use the
+[Tidelift security contact](https://tidelift.com/security).
+Tidelift will coordinate the fix and disclosure.
diff --git a/node_modules/caniuse-lite/data/agents.js b/node_modules/caniuse-lite/data/agents.js
new file mode 100644
index 0000000..08e1fac
--- /dev/null
+++ b/node_modules/caniuse-lite/data/agents.js
@@ -0,0 +1 @@
+module.exports={A:{A:{O:0.0130886,F:0.00621152,H:0.065443,E:0.209417,A:0.0196329,B:1.08635,lB:0.009298},B:"ms",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","lB","O","F","H","E","A","B","","",""],E:"IE",F:{lB:962323200,O:998870400,F:1161129600,H:1237420800,E:1300060800,A:1346716800,B:1381968000}},B:{A:{C:0.009782,N:0.004891,D:0.009782,I:0.009782,J:0.014673,K:0.04891,L:0.29346,KB:0,P:0.009782,M:0.00944,R:0.004891,S:0.019564,YB:0.973309,U:1.82923},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","C","N","D","I","J","K","L","KB","P","M","R","S","YB","U","","",""],E:"Edge",F:{C:1438128000,N:1447286400,D:1470096000,I:1491868800,J:1508198400,K:1525046400,L:1542067200,KB:1579046400,P:1581033600,M:1586736000,R:1590019200,S:1594857600,YB:1598486400,U:1602201600},D:{C:"ms",N:"ms",D:"ms",I:"ms",J:"ms",K:"ms",L:"ms"}},C:{A:{"0":0.004525,"1":0.009782,"2":0.014673,"3":0.004538,"4":0.00472,"5":0.004642,"6":0.092929,"7":0.004335,"8":0.004891,"9":0.004891,eB:0.004827,bB:0.004538,G:0.014673,Y:0.004879,O:0.020136,F:0.005725,H:0.004525,E:0.00533,A:0.004283,B:0.004711,C:0.004471,N:0.004486,D:0.00453,I:0.004465,J:0.004417,K:0.008922,L:0.004393,Z:0.004443,a:0.004283,b:0.013596,c:0.013698,d:0.013614,e:0.008786,f:0.004403,g:0.004317,h:0.004393,i:0.004418,j:0.008834,k:0.004403,l:0.008928,m:0.004471,n:0.009284,o:0.004707,p:0.009076,q:0.004891,r:0.004783,s:0.00472,t:0.004783,u:0.00487,v:0.005029,w:0.0047,x:0.04891,y:0.004891,z:0.004891,AB:0.019564,BB:0.004891,CB:0.00944,DB:0.004891,EB:0.014673,PB:0.00472,GB:0.004891,HB:0.019564,IB:0.009782,JB:0.009782,X:0.014673,LB:0.004891,MB:0.039128,NB:0.004891,FB:0.004891,W:0.004891,V:0.019564,VB:0.004891,QB:0.009782,RB:0.009782,SB:0.009782,TB:0.019564,UB:0.166294,KB:0.029346,P:0.107602,M:2.50908,OB:0.396171,R:0.014673,S:0,kB:0.008786,sB:0.00487},B:"moz",C:["eB","bB","kB","sB","G","Y","O","F","H","E","A","B","C","N","D","I","J","K","L","Z","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","0","1","2","3","4","5","6","7","8","9","AB","BB","CB","DB","EB","PB","GB","HB","IB","JB","X","LB","MB","NB","FB","W","V","VB","QB","RB","SB","TB","UB","KB","P","M","OB","R","S",""],E:"Firefox",F:{"0":1461628800,"1":1465257600,"2":1470096000,"3":1474329600,"4":1479168000,"5":1485216000,"6":1488844800,"7":1492560000,"8":1497312000,"9":1502150400,eB:1161648000,bB:1213660800,kB:1246320000,sB:1264032000,G:1300752000,Y:1308614400,O:1313452800,F:1317081600,H:1317081600,E:1320710400,A:1324339200,B:1327968000,C:1331596800,N:1335225600,D:1338854400,I:1342483200,J:1346112000,K:1349740800,L:1353628800,Z:1357603200,a:1361232000,b:1364860800,c:1368489600,d:1372118400,e:1375747200,f:1379376000,g:1386633600,h:1391472000,i:1395100800,j:1398729600,k:1402358400,l:1405987200,m:1409616000,n:1413244800,o:1417392000,p:1421107200,q:1424736000,r:1428278400,s:1431475200,t:1435881600,u:1439251200,v:1442880000,w:1446508800,x:1450137600,y:1453852800,z:1457395200,AB:1506556800,BB:1510617600,CB:1516665600,DB:1520985600,EB:1525824000,PB:1529971200,GB:1536105600,HB:1540252800,IB:1544486400,JB:1548720000,X:1552953600,LB:1558396800,MB:1562630400,NB:1567468800,FB:1571788800,W:1575331200,V:1578355200,VB:1581379200,QB:1583798400,RB:1586304000,SB:1588636800,TB:1591056000,UB:1593475200,KB:1595894400,P:1598313600,M:1600732800,OB:1603152000,R:null,S:null}},D:{A:{"0":0.004891,"1":0.009782,"2":0.019564,"3":0.24455,"4":0.004891,"5":0.004891,"6":0.004891,"7":0.039128,"8":0.014673,"9":0.009782,G:0.004706,Y:0.004879,O:0.004879,F:0.005591,H:0.005591,E:0.005591,A:0.004534,B:0.004464,C:0.010424,N:0.009782,D:0.004706,I:0.015087,J:0.004393,K:0.004393,L:0.008652,Z:0.004418,a:0.004393,b:0.004317,c:0.009782,d:0.008786,e:0.004538,f:0.004461,g:0.004711,h:0.004326,i:0.0047,j:0.004538,k:0.004335,l:0.009782,m:0.004566,n:0.009422,o:0.009782,p:0.004335,q:0.004335,r:0.004464,s:0.024455,t:0.004464,u:0.009782,v:0.0236,w:0.004403,x:0.009782,y:0.004465,z:0.004642,AB:0.029346,BB:0.019564,CB:0.014673,DB:0.009782,EB:0.014673,PB:0.039128,GB:0.014673,HB:0.034237,IB:0.014673,JB:0.034237,X:0.024455,LB:0.039128,MB:0.029346,NB:0.088038,FB:0.088038,W:0.107602,V:0.088038,VB:0.063583,QB:0.092929,RB:0.078256,SB:0.092929,TB:0.068474,UB:0.107602,KB:0.161403,P:0.224986,M:0.151621,R:0.303242,S:0.503773,YB:12.1199,U:17.9255,vB:0.034237,wB:0.019564,cB:0},B:"webkit",C:["","G","Y","O","F","H","E","A","B","C","N","D","I","J","K","L","Z","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","0","1","2","3","4","5","6","7","8","9","AB","BB","CB","DB","EB","PB","GB","HB","IB","JB","X","LB","MB","NB","FB","W","V","VB","QB","RB","SB","TB","UB","KB","P","M","R","S","YB","U","vB","wB","cB"],E:"Chrome",F:{"0":1444780800,"1":1449014400,"2":1453248000,"3":1456963200,"4":1460592000,"5":1464134400,"6":1469059200,"7":1472601600,"8":1476230400,"9":1480550400,G:1264377600,Y:1274745600,O:1283385600,F:1287619200,H:1291248000,E:1296777600,A:1299542400,B:1303862400,C:1307404800,N:1312243200,D:1316131200,I:1316131200,J:1319500800,K:1323734400,L:1328659200,Z:1332892800,a:1337040000,b:1340668800,c:1343692800,d:1348531200,e:1352246400,f:1357862400,g:1361404800,h:1364428800,i:1369094400,j:1374105600,k:1376956800,l:1384214400,m:1389657600,n:1392940800,o:1397001600,p:1400544000,q:1405468800,r:1409011200,s:1412640000,t:1416268800,u:1421798400,v:1425513600,w:1429401600,x:1432080000,y:1437523200,z:1441152000,AB:1485302400,BB:1489017600,CB:1492560000,DB:1496707200,EB:1500940800,PB:1504569600,GB:1508198400,HB:1512518400,IB:1516752000,JB:1520294400,X:1523923200,LB:1527552000,MB:1532390400,NB:1536019200,FB:1539648000,W:1543968000,V:1548720000,VB:1552348800,QB:1555977600,RB:1559606400,SB:1564444800,TB:1568073600,UB:1571702400,KB:1575936000,P:1580860800,M:1586304000,R:1589846400,S:1594684800,YB:1598313600,U:1601942400,vB:null,wB:null,cB:null}},E:{A:{G:0,Y:0.004566,O:0.004656,F:0.004465,H:0.004891,E:0.004891,A:0.004891,B:0.014673,C:0.039128,N:0.224986,D:1.50154,dB:0,WB:0.008692,fB:0.136948,gB:0.00456,hB:0.004283,iB:0.029346,XB:0.039128,T:0.102711,Q:0.180967,mB:2.0102,nB:0},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","dB","WB","G","Y","fB","O","gB","F","hB","H","E","iB","A","XB","B","T","C","Q","N","mB","D","nB","",""],E:"Safari",F:{dB:1205798400,WB:1226534400,G:1244419200,Y:1275868800,fB:1311120000,O:1343174400,gB:1382400000,F:1382400000,hB:1410998400,H:1413417600,E:1443657600,iB:1458518400,A:1474329600,XB:1490572800,B:1505779200,T:1522281600,C:1537142400,Q:1553472000,N:1568851200,mB:1585008000,D:1600214400,nB:null}},F:{A:{"0":0.004417,"1":0.008942,"2":0.004707,"3":0.004827,"4":0.004707,"5":0.004707,"6":0.004326,"7":0.008922,"8":0.014349,"9":0.004725,E:0.0082,B:0.016581,C:0.004317,I:0.00685,J:0.00685,K:0.00685,L:0.005014,Z:0.006015,a:0.004879,b:0.006597,c:0.006597,d:0.013434,e:0.006702,f:0.006015,g:0.005595,h:0.004393,i:0.008652,j:0.004879,k:0.004879,l:0.004711,m:0.005152,n:0.005014,o:0.009758,p:0.004879,q:0.009782,r:0.004283,s:0.004367,t:0.004534,u:0.004367,v:0.004227,w:0.004418,x:0.009042,y:0.004227,z:0.004725,AB:0.00472,BB:0.00472,CB:0.00944,EB:0.00472,GB:0.004532,HB:0.004566,IB:0.02283,JB:0.00867,X:0.004656,LB:0.004642,MB:0.009782,NB:0.00944,FB:0.122275,W:0.92929,V:0.019564,oB:0.00685,pB:0,qB:0.008392,rB:0.004706,T:0.006229,ZB:0.004879,tB:0.008786,Q:0.00472},B:"webkit",C:["","","","","","","","","","","","","","","","","E","oB","pB","qB","rB","B","T","ZB","tB","C","Q","I","J","K","L","Z","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","0","1","2","3","4","5","6","7","8","9","AB","BB","CB","EB","GB","HB","IB","JB","X","LB","MB","NB","FB","W","V","","",""],E:"Opera",F:{"0":1498003200,"1":1502236800,"2":1506470400,"3":1510099200,"4":1515024000,"5":1517961600,"6":1521676800,"7":1525910400,"8":1530144000,"9":1534982400,E:1150761600,oB:1223424000,pB:1251763200,qB:1267488000,rB:1277942400,B:1292457600,T:1302566400,ZB:1309219200,tB:1323129600,C:1323129600,Q:1352073600,I:1372723200,J:1377561600,K:1381104000,L:1386288000,Z:1390867200,a:1393891200,b:1399334400,c:1401753600,d:1405987200,e:1409616000,f:1413331200,g:1417132800,h:1422316800,i:1425945600,j:1430179200,k:1433808000,l:1438646400,m:1442448000,n:1445904000,o:1449100800,p:1454371200,q:1457308800,r:1462320000,s:1465344000,t:1470096000,u:1474329600,v:1477267200,w:1481587200,x:1486425600,y:1490054400,z:1494374400,AB:1537833600,BB:1543363200,CB:1548201600,EB:1554768000,GB:1561593600,HB:1566259200,IB:1570406400,JB:1573689600,X:1578441600,LB:1583971200,MB:1587513600,NB:1592956800,FB:1595894400,W:1600128000,V:1603238400},D:{E:"o",B:"o",C:"o",oB:"o",pB:"o",qB:"o",rB:"o",T:"o",ZB:"o",tB:"o",Q:"o"}},G:{A:{H:0,D:5.38701,WB:0.0129052,uB:0.0110616,aB:0.0018436,TC:0.00921801,xB:0.00553081,yB:0.0129052,zB:0.0424029,"0B":0.0239668,"1B":0.306038,"2B":0.0516209,"3B":0.283915,"4B":0.106929,"5B":0.182517,"6B":0.186204,"7B":1.85651,"8B":0.153019,"9B":0.0755877,AC:0.575204,BC:3.06407},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","WB","uB","aB","TC","xB","yB","H","zB","0B","1B","2B","3B","4B","5B","6B","7B","8B","9B","AC","BC","D","","",""],E:"iOS Safari",F:{WB:1270252800,uB:1283904000,aB:1299628800,TC:1331078400,xB:1359331200,yB:1394409600,H:1410912000,zB:1413763200,"0B":1442361600,"1B":1458518400,"2B":1473724800,"3B":1490572800,"4B":1505779200,"5B":1522281600,"6B":1537142400,"7B":1553472000,"8B":1568851200,"9B":1572220800,AC:1580169600,BC:1585008000,D:1600214400}},H:{A:{CC:0.875474},B:"o",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","CC","","",""],E:"Opera Mini",F:{CC:1426464000}},I:{A:{bB:0,G:0.0373129,M:0,DC:0,EC:0,FC:0.000298503,GC:0.0188057,aB:0.00835809,HC:0,IC:0.0680588},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","DC","EC","FC","bB","G","GC","aB","HC","IC","M","","",""],E:"Android Browser",F:{DC:1256515200,EC:1274313600,FC:1291593600,bB:1298332800,G:1318896000,GC:1341792000,aB:1374624000,HC:1386547200,IC:1401667200,M:1587427200}},J:{A:{F:0,A:0},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","F","A","","",""],E:"Blackberry Browser",F:{F:1325376000,A:1359504000}},K:{A:{A:0,B:0,C:0,DB:0.0111391,T:0,ZB:0,Q:0},B:"o",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","A","B","T","ZB","C","Q","DB","","",""],E:"Opera Mobile",F:{A:1287100800,B:1300752000,T:1314835200,ZB:1318291200,C:1330300800,Q:1349740800,DB:1593475200},D:{DB:"webkit"}},L:{A:{U:33.5525},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","U","","",""],E:"Chrome for Android",F:{U:1602028800}},M:{A:{OB:0.229905},B:"moz",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","OB","","",""],E:"Firefox for Android",F:{OB:1601596800}},N:{A:{A:0.0115934,B:0.022664},B:"ms",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","A","B","","",""],E:"IE Mobile",F:{A:1340150400,B:1353456000}},O:{A:{JC:1.21083},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","JC","","",""],E:"UC Browser for Android",F:{JC:1471392000},D:{JC:"webkit"}},P:{A:{G:0.251766,KC:0.0104903,LC:0.010304,MC:0.0629416,NC:0.0209805,OC:0.115393,XB:0.0734319,PC:0.178335,QC:2.63306},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","G","KC","LC","MC","NC","OC","XB","PC","QC","","",""],E:"Samsung Internet",F:{G:1461024000,KC:1481846400,LC:1509408000,MC:1528329600,NC:1546128000,OC:1554163200,XB:1567900800,PC:1582588800,QC:1593475200}},Q:{A:{RC:0.199251},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","RC","","",""],E:"QQ Browser",F:{RC:1589846400}},R:{A:{SC:0},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","SC","","",""],E:"Baidu Browser",F:{SC:1491004800}},S:{A:{jB:0.035763},B:"moz",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","jB","","",""],E:"KaiOS Browser",F:{jB:1527811200}}};
diff --git a/node_modules/caniuse-lite/data/browserVersions.js b/node_modules/caniuse-lite/data/browserVersions.js
new file mode 100644
index 0000000..6d70d15
--- /dev/null
+++ b/node_modules/caniuse-lite/data/browserVersions.js
@@ -0,0 +1 @@
+module.exports={"0":"46","1":"47","2":"48","3":"49","4":"50","5":"51","6":"52","7":"53","8":"54","9":"55",A:"10",B:"11",C:"12",D:"14",E:"9",F:"7",G:"4",H:"8",I:"15",J:"16",K:"17",L:"18",M:"81",N:"13",O:"6",P:"80",Q:"12.1",R:"83",S:"84",T:"11.1",U:"86",V:"72",W:"71",X:"66",Y:"5",Z:"19",a:"20",b:"21",c:"22",d:"23",e:"24",f:"25",g:"26",h:"27",i:"28",j:"29",k:"30",l:"31",m:"32",n:"33",o:"34",p:"35",q:"36",r:"37",s:"38",t:"39",u:"40",v:"41",w:"42",x:"43",y:"44",z:"45",AB:"56",BB:"57",CB:"58",DB:"59",EB:"60",FB:"70",GB:"62",HB:"63",IB:"64",JB:"65",KB:"79",LB:"67",MB:"68",NB:"69",OB:"82",PB:"61",QB:"74",RB:"75",SB:"76",TB:"77",UB:"78",VB:"73",WB:"3.2",XB:"10.1",YB:"85",ZB:"11.5",aB:"4.2-4.3",bB:"3",cB:"89",dB:"3.1",eB:"2",fB:"5.1",gB:"6.1",hB:"7.1",iB:"9.1",jB:"2.5",kB:"3.5",lB:"5.5",mB:"13.1",nB:"TP",oB:"9.5-9.6",pB:"10.0-10.1",qB:"10.5",rB:"10.6",sB:"3.6",tB:"11.6",uB:"4.0-4.1",vB:"87",wB:"88",xB:"6.0-6.1",yB:"7.0-7.1",zB:"8.1-8.4","0B":"9.0-9.2","1B":"9.3","2B":"10.0-10.2","3B":"10.3","4B":"11.0-11.2","5B":"11.3-11.4","6B":"12.0-12.1","7B":"12.2-12.4","8B":"13.0-13.1","9B":"13.2",AC:"13.3",BC:"13.4-13.7",CC:"all",DC:"2.1",EC:"2.2",FC:"2.3",GC:"4.1",HC:"4.4",IC:"4.4.3-4.4.4",JC:"12.12",KC:"5.0-5.4",LC:"6.2-6.4",MC:"7.2-7.4",NC:"8.2",OC:"9.2",PC:"11.1-11.2",QC:"12.0",RC:"10.4",SC:"7.12",TC:"5.0-5.1"};
diff --git a/node_modules/caniuse-lite/data/browsers.js b/node_modules/caniuse-lite/data/browsers.js
new file mode 100644
index 0000000..04fbb50
--- /dev/null
+++ b/node_modules/caniuse-lite/data/browsers.js
@@ -0,0 +1 @@
+module.exports={A:"ie",B:"edge",C:"firefox",D:"chrome",E:"safari",F:"opera",G:"ios_saf",H:"op_mini",I:"android",J:"bb",K:"op_mob",L:"and_chr",M:"and_ff",N:"ie_mob",O:"and_uc",P:"samsung",Q:"and_qq",R:"baidu",S:"kaios"};
diff --git a/node_modules/caniuse-lite/data/features.js b/node_modules/caniuse-lite/data/features.js
new file mode 100644
index 0000000..1e8e09e
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features.js
@@ -0,0 +1 @@
+module.exports={"aac":require("./features/aac"),"abortcontroller":require("./features/abortcontroller"),"ac3-ec3":require("./features/ac3-ec3"),"accelerometer":require("./features/accelerometer"),"addeventlistener":require("./features/addeventlistener"),"alternate-stylesheet":require("./features/alternate-stylesheet"),"ambient-light":require("./features/ambient-light"),"apng":require("./features/apng"),"array-find-index":require("./features/array-find-index"),"array-find":require("./features/array-find"),"array-flat":require("./features/array-flat"),"array-includes":require("./features/array-includes"),"arrow-functions":require("./features/arrow-functions"),"asmjs":require("./features/asmjs"),"async-clipboard":require("./features/async-clipboard"),"async-functions":require("./features/async-functions"),"async-iterations-and-generators":require("./features/async-iterations-and-generators"),"atob-btoa":require("./features/atob-btoa"),"audio-api":require("./features/audio-api"),"audio":require("./features/audio"),"audiotracks":require("./features/audiotracks"),"autofocus":require("./features/autofocus"),"auxclick":require("./features/auxclick"),"av1":require("./features/av1"),"avif":require("./features/avif"),"background-attachment":require("./features/background-attachment"),"background-clip-text":require("./features/background-clip-text"),"background-img-opts":require("./features/background-img-opts"),"background-position-x-y":require("./features/background-position-x-y"),"background-repeat-round-space":require("./features/background-repeat-round-space"),"background-sync":require("./features/background-sync"),"battery-status":require("./features/battery-status"),"beacon":require("./features/beacon"),"beforeafterprint":require("./features/beforeafterprint"),"bigint":require("./features/bigint"),"blobbuilder":require("./features/blobbuilder"),"bloburls":require("./features/bloburls"),"border-image":require("./features/border-image"),"border-radius":require("./features/border-radius"),"broadcastchannel":require("./features/broadcastchannel"),"brotli":require("./features/brotli"),"calc":require("./features/calc"),"canvas-blending":require("./features/canvas-blending"),"canvas-text":require("./features/canvas-text"),"canvas":require("./features/canvas"),"ch-unit":require("./features/ch-unit"),"chacha20-poly1305":require("./features/chacha20-poly1305"),"channel-messaging":require("./features/channel-messaging"),"childnode-remove":require("./features/childnode-remove"),"classlist":require("./features/classlist"),"clear-site-data-header":require("./features/clear-site-data-header"),"client-hints-dpr-width-viewport":require("./features/client-hints-dpr-width-viewport"),"clipboard":require("./features/clipboard"),"comparedocumentposition":require("./features/comparedocumentposition"),"console-basic":require("./features/console-basic"),"console-time":require("./features/console-time"),"const":require("./features/const"),"constraint-validation":require("./features/constraint-validation"),"contenteditable":require("./features/contenteditable"),"contentsecuritypolicy":require("./features/contentsecuritypolicy"),"contentsecuritypolicy2":require("./features/contentsecuritypolicy2"),"cookie-store-api":require("./features/cookie-store-api"),"cors":require("./features/cors"),"createimagebitmap":require("./features/createimagebitmap"),"credential-management":require("./features/credential-management"),"cryptography":require("./features/cryptography"),"css-all":require("./features/css-all"),"css-animation":require("./features/css-animation"),"css-any-link":require("./features/css-any-link"),"css-appearance":require("./features/css-appearance"),"css-apply-rule":require("./features/css-apply-rule"),"css-at-counter-style":require("./features/css-at-counter-style"),"css-backdrop-filter":require("./features/css-backdrop-filter"),"css-background-offsets":require("./features/css-background-offsets"),"css-backgroundblendmode":require("./features/css-backgroundblendmode"),"css-boxdecorationbreak":require("./features/css-boxdecorationbreak"),"css-boxshadow":require("./features/css-boxshadow"),"css-canvas":require("./features/css-canvas"),"css-caret-color":require("./features/css-caret-color"),"css-case-insensitive":require("./features/css-case-insensitive"),"css-clip-path":require("./features/css-clip-path"),"css-color-adjust":require("./features/css-color-adjust"),"css-color-function":require("./features/css-color-function"),"css-conic-gradients":require("./features/css-conic-gradients"),"css-containment":require("./features/css-containment"),"css-content-visibility":require("./features/css-content-visibility"),"css-counters":require("./features/css-counters"),"css-crisp-edges":require("./features/css-crisp-edges"),"css-cross-fade":require("./features/css-cross-fade"),"css-default-pseudo":require("./features/css-default-pseudo"),"css-descendant-gtgt":require("./features/css-descendant-gtgt"),"css-deviceadaptation":require("./features/css-deviceadaptation"),"css-dir-pseudo":require("./features/css-dir-pseudo"),"css-display-contents":require("./features/css-display-contents"),"css-element-function":require("./features/css-element-function"),"css-env-function":require("./features/css-env-function"),"css-exclusions":require("./features/css-exclusions"),"css-featurequeries":require("./features/css-featurequeries"),"css-filter-function":require("./features/css-filter-function"),"css-filters":require("./features/css-filters"),"css-first-letter":require("./features/css-first-letter"),"css-first-line":require("./features/css-first-line"),"css-fixed":require("./features/css-fixed"),"css-focus-visible":require("./features/css-focus-visible"),"css-focus-within":require("./features/css-focus-within"),"css-font-rendering-controls":require("./features/css-font-rendering-controls"),"css-font-stretch":require("./features/css-font-stretch"),"css-gencontent":require("./features/css-gencontent"),"css-gradients":require("./features/css-gradients"),"css-grid":require("./features/css-grid"),"css-hanging-punctuation":require("./features/css-hanging-punctuation"),"css-has":require("./features/css-has"),"css-hyphenate":require("./features/css-hyphenate"),"css-hyphens":require("./features/css-hyphens"),"css-image-orientation":require("./features/css-image-orientation"),"css-image-set":require("./features/css-image-set"),"css-in-out-of-range":require("./features/css-in-out-of-range"),"css-indeterminate-pseudo":require("./features/css-indeterminate-pseudo"),"css-initial-letter":require("./features/css-initial-letter"),"css-initial-value":require("./features/css-initial-value"),"css-letter-spacing":require("./features/css-letter-spacing"),"css-line-clamp":require("./features/css-line-clamp"),"css-logical-props":require("./features/css-logical-props"),"css-marker-pseudo":require("./features/css-marker-pseudo"),"css-masks":require("./features/css-masks"),"css-matches-pseudo":require("./features/css-matches-pseudo"),"css-math-functions":require("./features/css-math-functions"),"css-media-interaction":require("./features/css-media-interaction"),"css-media-resolution":require("./features/css-media-resolution"),"css-media-scripting":require("./features/css-media-scripting"),"css-mediaqueries":require("./features/css-mediaqueries"),"css-mixblendmode":require("./features/css-mixblendmode"),"css-motion-paths":require("./features/css-motion-paths"),"css-namespaces":require("./features/css-namespaces"),"css-not-sel-list":require("./features/css-not-sel-list"),"css-nth-child-of":require("./features/css-nth-child-of"),"css-opacity":require("./features/css-opacity"),"css-optional-pseudo":require("./features/css-optional-pseudo"),"css-overflow-anchor":require("./features/css-overflow-anchor"),"css-overflow":require("./features/css-overflow"),"css-overscroll-behavior":require("./features/css-overscroll-behavior"),"css-page-break":require("./features/css-page-break"),"css-paged-media":require("./features/css-paged-media"),"css-paint-api":require("./features/css-paint-api"),"css-placeholder-shown":require("./features/css-placeholder-shown"),"css-placeholder":require("./features/css-placeholder"),"css-read-only-write":require("./features/css-read-only-write"),"css-rebeccapurple":require("./features/css-rebeccapurple"),"css-reflections":require("./features/css-reflections"),"css-regions":require("./features/css-regions"),"css-repeating-gradients":require("./features/css-repeating-gradients"),"css-resize":require("./features/css-resize"),"css-revert-value":require("./features/css-revert-value"),"css-rrggbbaa":require("./features/css-rrggbbaa"),"css-scroll-behavior":require("./features/css-scroll-behavior"),"css-scrollbar":require("./features/css-scrollbar"),"css-sel2":require("./features/css-sel2"),"css-sel3":require("./features/css-sel3"),"css-selection":require("./features/css-selection"),"css-shapes":require("./features/css-shapes"),"css-snappoints":require("./features/css-snappoints"),"css-sticky":require("./features/css-sticky"),"css-subgrid":require("./features/css-subgrid"),"css-supports-api":require("./features/css-supports-api"),"css-table":require("./features/css-table"),"css-text-align-last":require("./features/css-text-align-last"),"css-text-indent":require("./features/css-text-indent"),"css-text-justify":require("./features/css-text-justify"),"css-text-orientation":require("./features/css-text-orientation"),"css-text-spacing":require("./features/css-text-spacing"),"css-textshadow":require("./features/css-textshadow"),"css-touch-action-2":require("./features/css-touch-action-2"),"css-touch-action":require("./features/css-touch-action"),"css-transitions":require("./features/css-transitions"),"css-unicode-bidi":require("./features/css-unicode-bidi"),"css-unset-value":require("./features/css-unset-value"),"css-variables":require("./features/css-variables"),"css-widows-orphans":require("./features/css-widows-orphans"),"css-writing-mode":require("./features/css-writing-mode"),"css-zoom":require("./features/css-zoom"),"css3-attr":require("./features/css3-attr"),"css3-boxsizing":require("./features/css3-boxsizing"),"css3-colors":require("./features/css3-colors"),"css3-cursors-grab":require("./features/css3-cursors-grab"),"css3-cursors-newer":require("./features/css3-cursors-newer"),"css3-cursors":require("./features/css3-cursors"),"css3-tabsize":require("./features/css3-tabsize"),"currentcolor":require("./features/currentcolor"),"custom-elements":require("./features/custom-elements"),"custom-elementsv1":require("./features/custom-elementsv1"),"customevent":require("./features/customevent"),"datalist":require("./features/datalist"),"dataset":require("./features/dataset"),"datauri":require("./features/datauri"),"date-tolocaledatestring":require("./features/date-tolocaledatestring"),"details":require("./features/details"),"deviceorientation":require("./features/deviceorientation"),"devicepixelratio":require("./features/devicepixelratio"),"dialog":require("./features/dialog"),"dispatchevent":require("./features/dispatchevent"),"dnssec":require("./features/dnssec"),"do-not-track":require("./features/do-not-track"),"document-currentscript":require("./features/document-currentscript"),"document-evaluate-xpath":require("./features/document-evaluate-xpath"),"document-execcommand":require("./features/document-execcommand"),"document-policy":require("./features/document-policy"),"document-scrollingelement":require("./features/document-scrollingelement"),"documenthead":require("./features/documenthead"),"dom-manip-convenience":require("./features/dom-manip-convenience"),"dom-range":require("./features/dom-range"),"domcontentloaded":require("./features/domcontentloaded"),"domfocusin-domfocusout-events":require("./features/domfocusin-domfocusout-events"),"dommatrix":require("./features/dommatrix"),"download":require("./features/download"),"dragndrop":require("./features/dragndrop"),"element-closest":require("./features/element-closest"),"element-from-point":require("./features/element-from-point"),"element-scroll-methods":require("./features/element-scroll-methods"),"eme":require("./features/eme"),"eot":require("./features/eot"),"es5":require("./features/es5"),"es6-class":require("./features/es6-class"),"es6-generators":require("./features/es6-generators"),"es6-module-dynamic-import":require("./features/es6-module-dynamic-import"),"es6-module":require("./features/es6-module"),"es6-number":require("./features/es6-number"),"es6-string-includes":require("./features/es6-string-includes"),"es6":require("./features/es6"),"eventsource":require("./features/eventsource"),"extended-system-fonts":require("./features/extended-system-fonts"),"feature-policy":require("./features/feature-policy"),"fetch":require("./features/fetch"),"fieldset-disabled":require("./features/fieldset-disabled"),"fileapi":require("./features/fileapi"),"filereader":require("./features/filereader"),"filereadersync":require("./features/filereadersync"),"filesystem":require("./features/filesystem"),"flac":require("./features/flac"),"flexbox-gap":require("./features/flexbox-gap"),"flexbox":require("./features/flexbox"),"flow-root":require("./features/flow-root"),"focusin-focusout-events":require("./features/focusin-focusout-events"),"focusoptions-preventscroll":require("./features/focusoptions-preventscroll"),"font-family-system-ui":require("./features/font-family-system-ui"),"font-feature":require("./features/font-feature"),"font-kerning":require("./features/font-kerning"),"font-loading":require("./features/font-loading"),"font-size-adjust":require("./features/font-size-adjust"),"font-smooth":require("./features/font-smooth"),"font-unicode-range":require("./features/font-unicode-range"),"font-variant-alternates":require("./features/font-variant-alternates"),"font-variant-east-asian":require("./features/font-variant-east-asian"),"font-variant-numeric":require("./features/font-variant-numeric"),"fontface":require("./features/fontface"),"form-attribute":require("./features/form-attribute"),"form-submit-attributes":require("./features/form-submit-attributes"),"form-validation":require("./features/form-validation"),"forms":require("./features/forms"),"fullscreen":require("./features/fullscreen"),"gamepad":require("./features/gamepad"),"geolocation":require("./features/geolocation"),"getboundingclientrect":require("./features/getboundingclientrect"),"getcomputedstyle":require("./features/getcomputedstyle"),"getelementsbyclassname":require("./features/getelementsbyclassname"),"getrandomvalues":require("./features/getrandomvalues"),"gyroscope":require("./features/gyroscope"),"hardwareconcurrency":require("./features/hardwareconcurrency"),"hashchange":require("./features/hashchange"),"heif":require("./features/heif"),"hevc":require("./features/hevc"),"hidden":require("./features/hidden"),"high-resolution-time":require("./features/high-resolution-time"),"history":require("./features/history"),"html-media-capture":require("./features/html-media-capture"),"html5semantic":require("./features/html5semantic"),"http-live-streaming":require("./features/http-live-streaming"),"http2":require("./features/http2"),"http3":require("./features/http3"),"iframe-sandbox":require("./features/iframe-sandbox"),"iframe-seamless":require("./features/iframe-seamless"),"iframe-srcdoc":require("./features/iframe-srcdoc"),"imagecapture":require("./features/imagecapture"),"ime":require("./features/ime"),"img-naturalwidth-naturalheight":require("./features/img-naturalwidth-naturalheight"),"imports":require("./features/imports"),"indeterminate-checkbox":require("./features/indeterminate-checkbox"),"indexeddb":require("./features/indexeddb"),"indexeddb2":require("./features/indexeddb2"),"inline-block":require("./features/inline-block"),"innertext":require("./features/innertext"),"input-autocomplete-onoff":require("./features/input-autocomplete-onoff"),"input-color":require("./features/input-color"),"input-datetime":require("./features/input-datetime"),"input-email-tel-url":require("./features/input-email-tel-url"),"input-event":require("./features/input-event"),"input-file-accept":require("./features/input-file-accept"),"input-file-directory":require("./features/input-file-directory"),"input-file-multiple":require("./features/input-file-multiple"),"input-inputmode":require("./features/input-inputmode"),"input-minlength":require("./features/input-minlength"),"input-number":require("./features/input-number"),"input-pattern":require("./features/input-pattern"),"input-placeholder":require("./features/input-placeholder"),"input-range":require("./features/input-range"),"input-search":require("./features/input-search"),"input-selection":require("./features/input-selection"),"insert-adjacent":require("./features/insert-adjacent"),"insertadjacenthtml":require("./features/insertadjacenthtml"),"internationalization":require("./features/internationalization"),"intersectionobserver-v2":require("./features/intersectionobserver-v2"),"intersectionobserver":require("./features/intersectionobserver"),"intl-pluralrules":require("./features/intl-pluralrules"),"intrinsic-width":require("./features/intrinsic-width"),"jpeg2000":require("./features/jpeg2000"),"jpegxr":require("./features/jpegxr"),"js-regexp-lookbehind":require("./features/js-regexp-lookbehind"),"json":require("./features/json"),"justify-content-space-evenly":require("./features/justify-content-space-evenly"),"kerning-pairs-ligatures":require("./features/kerning-pairs-ligatures"),"keyboardevent-charcode":require("./features/keyboardevent-charcode"),"keyboardevent-code":require("./features/keyboardevent-code"),"keyboardevent-getmodifierstate":require("./features/keyboardevent-getmodifierstate"),"keyboardevent-key":require("./features/keyboardevent-key"),"keyboardevent-location":require("./features/keyboardevent-location"),"keyboardevent-which":require("./features/keyboardevent-which"),"lazyload":require("./features/lazyload"),"let":require("./features/let"),"link-icon-png":require("./features/link-icon-png"),"link-icon-svg":require("./features/link-icon-svg"),"link-rel-dns-prefetch":require("./features/link-rel-dns-prefetch"),"link-rel-modulepreload":require("./features/link-rel-modulepreload"),"link-rel-preconnect":require("./features/link-rel-preconnect"),"link-rel-prefetch":require("./features/link-rel-prefetch"),"link-rel-preload":require("./features/link-rel-preload"),"link-rel-prerender":require("./features/link-rel-prerender"),"loading-lazy-attr":require("./features/loading-lazy-attr"),"localecompare":require("./features/localecompare"),"magnetometer":require("./features/magnetometer"),"matchesselector":require("./features/matchesselector"),"matchmedia":require("./features/matchmedia"),"mathml":require("./features/mathml"),"maxlength":require("./features/maxlength"),"media-attribute":require("./features/media-attribute"),"media-fragments":require("./features/media-fragments"),"media-session-api":require("./features/media-session-api"),"mediacapture-fromelement":require("./features/mediacapture-fromelement"),"mediarecorder":require("./features/mediarecorder"),"mediasource":require("./features/mediasource"),"menu":require("./features/menu"),"meta-theme-color":require("./features/meta-theme-color"),"meter":require("./features/meter"),"midi":require("./features/midi"),"minmaxwh":require("./features/minmaxwh"),"mp3":require("./features/mp3"),"mpeg-dash":require("./features/mpeg-dash"),"mpeg4":require("./features/mpeg4"),"multibackgrounds":require("./features/multibackgrounds"),"multicolumn":require("./features/multicolumn"),"mutation-events":require("./features/mutation-events"),"mutationobserver":require("./features/mutationobserver"),"namevalue-storage":require("./features/namevalue-storage"),"native-filesystem-api":require("./features/native-filesystem-api"),"nav-timing":require("./features/nav-timing"),"navigator-language":require("./features/navigator-language"),"netinfo":require("./features/netinfo"),"node-contains":require("./features/node-contains"),"node-parentelement":require("./features/node-parentelement"),"notifications":require("./features/notifications"),"object-entries":require("./features/object-entries"),"object-fit":require("./features/object-fit"),"object-observe":require("./features/object-observe"),"object-values":require("./features/object-values"),"objectrtc":require("./features/objectrtc"),"offline-apps":require("./features/offline-apps"),"offscreencanvas":require("./features/offscreencanvas"),"ogg-vorbis":require("./features/ogg-vorbis"),"ogv":require("./features/ogv"),"ol-reversed":require("./features/ol-reversed"),"once-event-listener":require("./features/once-event-listener"),"online-status":require("./features/online-status"),"opus":require("./features/opus"),"orientation-sensor":require("./features/orientation-sensor"),"outline":require("./features/outline"),"pad-start-end":require("./features/pad-start-end"),"page-transition-events":require("./features/page-transition-events"),"pagevisibility":require("./features/pagevisibility"),"passive-event-listener":require("./features/passive-event-listener"),"passwordrules":require("./features/passwordrules"),"path2d":require("./features/path2d"),"payment-request":require("./features/payment-request"),"pdf-viewer":require("./features/pdf-viewer"),"permissions-api":require("./features/permissions-api"),"permissions-policy":require("./features/permissions-policy"),"picture-in-picture":require("./features/picture-in-picture"),"picture":require("./features/picture"),"ping":require("./features/ping"),"png-alpha":require("./features/png-alpha"),"pointer-events":require("./features/pointer-events"),"pointer":require("./features/pointer"),"pointerlock":require("./features/pointerlock"),"portals":require("./features/portals"),"prefers-color-scheme":require("./features/prefers-color-scheme"),"prefers-reduced-motion":require("./features/prefers-reduced-motion"),"private-class-fields":require("./features/private-class-fields"),"private-methods-and-accessors":require("./features/private-methods-and-accessors"),"progress":require("./features/progress"),"promise-finally":require("./features/promise-finally"),"promises":require("./features/promises"),"proximity":require("./features/proximity"),"proxy":require("./features/proxy"),"public-class-fields":require("./features/public-class-fields"),"publickeypinning":require("./features/publickeypinning"),"push-api":require("./features/push-api"),"queryselector":require("./features/queryselector"),"readonly-attr":require("./features/readonly-attr"),"referrer-policy":require("./features/referrer-policy"),"registerprotocolhandler":require("./features/registerprotocolhandler"),"rel-noopener":require("./features/rel-noopener"),"rel-noreferrer":require("./features/rel-noreferrer"),"rellist":require("./features/rellist"),"rem":require("./features/rem"),"replace-all":require("./features/replace-all"),"requestanimationframe":require("./features/requestanimationframe"),"requestidlecallback":require("./features/requestidlecallback"),"resizeobserver":require("./features/resizeobserver"),"resource-timing":require("./features/resource-timing"),"rest-parameters":require("./features/rest-parameters"),"rtcpeerconnection":require("./features/rtcpeerconnection"),"ruby":require("./features/ruby"),"run-in":require("./features/run-in"),"same-site-cookie-attribute":require("./features/same-site-cookie-attribute"),"screen-orientation":require("./features/screen-orientation"),"script-async":require("./features/script-async"),"script-defer":require("./features/script-defer"),"scrollintoview":require("./features/scrollintoview"),"scrollintoviewifneeded":require("./features/scrollintoviewifneeded"),"sdch":require("./features/sdch"),"selection-api":require("./features/selection-api"),"server-timing":require("./features/server-timing"),"serviceworkers":require("./features/serviceworkers"),"setimmediate":require("./features/setimmediate"),"sha-2":require("./features/sha-2"),"shadowdom":require("./features/shadowdom"),"shadowdomv1":require("./features/shadowdomv1"),"sharedarraybuffer":require("./features/sharedarraybuffer"),"sharedworkers":require("./features/sharedworkers"),"sni":require("./features/sni"),"spdy":require("./features/spdy"),"speech-recognition":require("./features/speech-recognition"),"speech-synthesis":require("./features/speech-synthesis"),"spellcheck-attribute":require("./features/spellcheck-attribute"),"sql-storage":require("./features/sql-storage"),"srcset":require("./features/srcset"),"stopimmediatepropagation":require("./features/stopimmediatepropagation"),"stream":require("./features/stream"),"streams":require("./features/streams"),"stricttransportsecurity":require("./features/stricttransportsecurity"),"style-scoped":require("./features/style-scoped"),"subresource-integrity":require("./features/subresource-integrity"),"svg-css":require("./features/svg-css"),"svg-filters":require("./features/svg-filters"),"svg-fonts":require("./features/svg-fonts"),"svg-fragment":require("./features/svg-fragment"),"svg-html":require("./features/svg-html"),"svg-html5":require("./features/svg-html5"),"svg-img":require("./features/svg-img"),"svg-smil":require("./features/svg-smil"),"svg":require("./features/svg"),"sxg":require("./features/sxg"),"symbols":require("./features/symbols"),"tabindex-attr":require("./features/tabindex-attr"),"template-literals":require("./features/template-literals"),"template":require("./features/template"),"testfeat":require("./features/testfeat"),"text-decoration":require("./features/text-decoration"),"text-emphasis":require("./features/text-emphasis"),"text-overflow":require("./features/text-overflow"),"text-size-adjust":require("./features/text-size-adjust"),"text-stroke":require("./features/text-stroke"),"text-underline-offset":require("./features/text-underline-offset"),"textcontent":require("./features/textcontent"),"textencoder":require("./features/textencoder"),"tls1-1":require("./features/tls1-1"),"tls1-2":require("./features/tls1-2"),"tls1-3":require("./features/tls1-3"),"token-binding":require("./features/token-binding"),"touch":require("./features/touch"),"transforms2d":require("./features/transforms2d"),"transforms3d":require("./features/transforms3d"),"trusted-types":require("./features/trusted-types"),"ttf":require("./features/ttf"),"typedarrays":require("./features/typedarrays"),"u2f":require("./features/u2f"),"unhandledrejection":require("./features/unhandledrejection"),"upgradeinsecurerequests":require("./features/upgradeinsecurerequests"),"url-scroll-to-text-fragment":require("./features/url-scroll-to-text-fragment"),"url":require("./features/url"),"urlsearchparams":require("./features/urlsearchparams"),"use-strict":require("./features/use-strict"),"user-select-none":require("./features/user-select-none"),"user-timing":require("./features/user-timing"),"variable-fonts":require("./features/variable-fonts"),"vibration":require("./features/vibration"),"video":require("./features/video"),"videotracks":require("./features/videotracks"),"viewport-units":require("./features/viewport-units"),"wai-aria":require("./features/wai-aria"),"wake-lock":require("./features/wake-lock"),"wasm":require("./features/wasm"),"wav":require("./features/wav"),"wbr-element":require("./features/wbr-element"),"web-animation":require("./features/web-animation"),"web-app-manifest":require("./features/web-app-manifest"),"web-bluetooth":require("./features/web-bluetooth"),"web-share":require("./features/web-share"),"webauthn":require("./features/webauthn"),"webgl":require("./features/webgl"),"webgl2":require("./features/webgl2"),"webgpu":require("./features/webgpu"),"webhid":require("./features/webhid"),"webm":require("./features/webm"),"webnfc":require("./features/webnfc"),"webp":require("./features/webp"),"websockets":require("./features/websockets"),"webusb":require("./features/webusb"),"webvr":require("./features/webvr"),"webvtt":require("./features/webvtt"),"webworkers":require("./features/webworkers"),"webxr":require("./features/webxr"),"will-change":require("./features/will-change"),"woff":require("./features/woff"),"woff2":require("./features/woff2"),"word-break":require("./features/word-break"),"wordwrap":require("./features/wordwrap"),"x-doc-messaging":require("./features/x-doc-messaging"),"x-frame-options":require("./features/x-frame-options"),"xhr2":require("./features/xhr2"),"xhtml":require("./features/xhtml"),"xhtmlsmil":require("./features/xhtmlsmil"),"xml-serializer":require("./features/xml-serializer")};
diff --git a/node_modules/caniuse-lite/data/features/aac.js b/node_modules/caniuse-lite/data/features/aac.js
new file mode 100644
index 0000000..7d303d9
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/aac.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"E A B","2":"O F H lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"2":"eB bB G Y O F H E A B C N D I J K L Z a b kB sB","132":"0 1 2 3 4 5 6 7 8 9 c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S"},D:{"1":"0 1 2 3 4 5 6 7 8 9 C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E","16":"A B"},E:{"1":"G Y O F H E A B C N D fB gB hB iB XB T Q mB nB","2":"dB WB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C oB pB qB rB T ZB tB Q"},G:{"1":"H D uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","16":"WB"},H:{"2":"CC"},I:{"1":"bB G M GC aB HC IC","2":"DC EC FC"},J:{"1":"A","2":"F"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"132":"OB"},N:{"1":"A","2":"B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"132":"jB"}},B:6,C:"AAC audio file format"};
diff --git a/node_modules/caniuse-lite/data/features/abortcontroller.js b/node_modules/caniuse-lite/data/features/abortcontroller.js
new file mode 100644
index 0000000..eed2573
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/abortcontroller.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"J K L KB P M R S YB U","2":"C N D I"},C:{"1":"BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB kB sB"},D:{"1":"X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB"},E:{"1":"N D Q mB nB","2":"G Y O F H E A B dB WB fB gB hB iB XB","130":"C T"},F:{"1":"7 8 9 AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"0 1 2 3 4 5 6 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z oB pB qB rB T ZB tB Q"},G:{"1":"D 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB 0B 1B 2B 3B 4B"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"OC XB PC QC","2":"G KC LC MC NC"},Q:{"1":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:1,C:"AbortController & AbortSignal"};
diff --git a/node_modules/caniuse-lite/data/features/ac3-ec3.js b/node_modules/caniuse-lite/data/features/ac3-ec3.js
new file mode 100644
index 0000000..8e9212a
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/ac3-ec3.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"C N D I J K L","2":"KB P M R S YB U"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"2":"H WB uB aB TC xB yB zB","132":"D 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F","132":"A"},K:{"2":"A B C DB T ZB","132":"Q"},L:{"2":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"132":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:6,C:"AC-3 (Dolby Digital) and EC-3 (Dolby Digital Plus) codecs"};
diff --git a/node_modules/caniuse-lite/data/features/accelerometer.js b/node_modules/caniuse-lite/data/features/accelerometer.js
new file mode 100644
index 0000000..f9eb34d
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/accelerometer.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"1":"LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB","194":"CB DB EB PB GB HB IB JB X"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"1":"8 9 AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"0 1 2 3 4 5 6 7 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z oB pB qB rB T ZB tB Q"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"1":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:4,C:"Accelerometer"};
diff --git a/node_modules/caniuse-lite/data/features/addeventlistener.js b/node_modules/caniuse-lite/data/features/addeventlistener.js
new file mode 100644
index 0000000..0987752
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/addeventlistener.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"E A B","130":"O F H lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","257":"eB bB G Y O kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"1":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"1":"CC"},I:{"1":"bB G M DC EC FC GC aB HC IC"},J:{"1":"F A"},K:{"1":"A B C DB T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:1,C:"EventTarget.addEventListener()"};
diff --git a/node_modules/caniuse-lite/data/features/alternate-stylesheet.js b/node_modules/caniuse-lite/data/features/alternate-stylesheet.js
new file mode 100644
index 0000000..c1bac6d
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/alternate-stylesheet.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"H E A B","2":"O F lB"},B:{"2":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"1":"E B C oB pB qB rB T ZB tB Q","16":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"16":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"16":"F A"},K:{"16":"A B C DB T ZB Q"},L:{"16":"U"},M:{"16":"OB"},N:{"16":"A B"},O:{"16":"JC"},P:{"16":"G KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"16":"SC"},S:{"1":"jB"}},B:1,C:"Alternate stylesheet"};
diff --git a/node_modules/caniuse-lite/data/features/ambient-light.js b/node_modules/caniuse-lite/data/features/ambient-light.js
new file mode 100644
index 0000000..72a4cc5
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/ambient-light.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"2":"C N","132":"D I J K L","322":"KB P M R S YB U"},C:{"2":"eB bB G Y O F H E A B C N D I J K L Z a b kB sB","132":"0 1 2 3 4 5 6 7 8 9 c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB","194":"EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB","322":"CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"2":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"132":"jB"}},B:4,C:"Ambient Light Sensor"};
diff --git a/node_modules/caniuse-lite/data/features/apng.js b/node_modules/caniuse-lite/data/features/apng.js
new file mode 100644
index 0000000..83eb1df
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/apng.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB","2":"eB"},D:{"1":"DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB"},E:{"1":"H E A B C N D iB XB T Q mB nB","2":"G Y O F dB WB fB gB hB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q","2":"E I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z"},G:{"1":"H D zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB uB aB TC xB yB"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"A B C DB T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"MC NC OC XB PC QC","2":"G KC LC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"1":"jB"}},B:7,C:"Animated PNG (APNG)"};
diff --git a/node_modules/caniuse-lite/data/features/array-find-index.js b/node_modules/caniuse-lite/data/features/array-find-index.js
new file mode 100644
index 0000000..9cf5465
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/array-find-index.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y"},E:{"1":"H E A B C N D hB iB XB T Q mB nB","2":"G Y O F dB WB fB gB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e f g h i j k l oB pB qB rB T ZB tB Q"},G:{"1":"H D zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB uB aB TC xB yB"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F","16":"A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC XB PC QC","2":"G"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:6,C:"Array.prototype.findIndex"};
diff --git a/node_modules/caniuse-lite/data/features/array-find.js b/node_modules/caniuse-lite/data/features/array-find.js
new file mode 100644
index 0000000..f369b0b
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/array-find.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"I J K L KB P M R S YB U","16":"C N D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y"},E:{"1":"H E A B C N D hB iB XB T Q mB nB","2":"G Y O F dB WB fB gB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e f g h i j k l oB pB qB rB T ZB tB Q"},G:{"1":"H D zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB uB aB TC xB yB"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F","16":"A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC XB PC QC","2":"G"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:6,C:"Array.prototype.find"};
diff --git a/node_modules/caniuse-lite/data/features/array-flat.js b/node_modules/caniuse-lite/data/features/array-flat.js
new file mode 100644
index 0000000..65eab58
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/array-flat.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"1":"GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB kB sB"},D:{"1":"NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB"},E:{"1":"C N D Q mB nB","2":"G Y O F H E A B dB WB fB gB hB iB XB T"},F:{"1":"AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z oB pB qB rB T ZB tB Q"},G:{"1":"D 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"XB PC QC","2":"G KC LC MC NC OC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:6,C:"flat & flatMap array methods"};
diff --git a/node_modules/caniuse-lite/data/features/array-includes.js b/node_modules/caniuse-lite/data/features/array-includes.js
new file mode 100644
index 0000000..4036bca
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/array-includes.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"D I J K L KB P M R S YB U","2":"C N"},C:{"1":"0 1 2 3 4 5 6 7 8 9 x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w kB sB"},D:{"1":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"E A B C N D iB XB T Q mB nB","2":"G Y O F H dB WB fB gB hB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e f g h i j k l m n oB pB qB rB T ZB tB Q"},G:{"1":"D 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC XB PC QC","2":"G"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:6,C:"Array.prototype.includes"};
diff --git a/node_modules/caniuse-lite/data/features/arrow-functions.js b/node_modules/caniuse-lite/data/features/arrow-functions.js
new file mode 100644
index 0000000..15677ba
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/arrow-functions.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z a b kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y"},E:{"1":"A B C N D XB T Q mB nB","2":"G Y O F H E dB WB fB gB hB iB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e f g h i j k l oB pB qB rB T ZB tB Q"},G:{"1":"D 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB 0B 1B"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC XB PC QC","2":"G"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:6,C:"Arrow functions"};
diff --git a/node_modules/caniuse-lite/data/features/asmjs.js b/node_modules/caniuse-lite/data/features/asmjs.js
new file mode 100644
index 0000000..b66a707
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/asmjs.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"N D I J K L","132":"KB P M R S YB U","322":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 9 c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z a b kB sB"},D:{"2":"G Y O F H E A B C N D I J K L Z a b c d e f g h","132":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"2":"E B C oB pB qB rB T ZB tB Q","132":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G DC EC FC GC aB HC IC","132":"M"},J:{"2":"F A"},K:{"2":"A B C T ZB Q","132":"DB"},L:{"132":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G","132":"KC LC MC NC OC XB PC QC"},Q:{"132":"RC"},R:{"132":"SC"},S:{"1":"jB"}},B:6,C:"asm.js"};
diff --git a/node_modules/caniuse-lite/data/features/async-clipboard.js b/node_modules/caniuse-lite/data/features/async-clipboard.js
new file mode 100644
index 0000000..6fb6216
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/async-clipboard.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB kB sB","132":"HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S"},D:{"1":"GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB","66":"CB DB EB PB"},E:{"1":"D mB nB","2":"G Y O F H E A B C N dB WB fB gB hB iB XB T Q"},F:{"1":"3 4 5 6 7 8 9 AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"0 1 2 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z oB pB qB rB T ZB tB Q"},G:{"2":"H WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","260":"D"},H:{"2":"CC"},I:{"2":"bB G DC EC FC GC aB HC IC","260":"M"},J:{"2":"F A"},K:{"2":"A B C T ZB Q","260":"DB"},L:{"1":"U"},M:{"132":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC","260":"OC XB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:5,C:"Asynchronous Clipboard API"};
diff --git a/node_modules/caniuse-lite/data/features/async-functions.js b/node_modules/caniuse-lite/data/features/async-functions.js
new file mode 100644
index 0000000..0cd198e
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/async-functions.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"I J K L KB P M R S YB U","2":"C N","194":"D"},C:{"1":"6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"0 1 2 3 4 5 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z kB sB"},D:{"1":"9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 1 2 3 4 5 6 7 8 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"B C N D T Q mB nB","2":"G Y O F H E A dB WB fB gB hB iB","514":"XB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v oB pB qB rB T ZB tB Q"},G:{"1":"D 4B 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB 0B 1B 2B","514":"3B"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"LC MC NC OC XB PC QC","2":"G KC"},Q:{"1":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:6,C:"Async functions"};
diff --git a/node_modules/caniuse-lite/data/features/async-iterations-and-generators.js b/node_modules/caniuse-lite/data/features/async-iterations-and-generators.js
new file mode 100644
index 0000000..0d0cf90
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/async-iterations-and-generators.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"1":"BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB kB sB"},D:{"1":"HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB"},E:{"1":"C N D Q mB nB","2":"G Y O F H E A B dB WB fB gB hB iB XB T"},F:{"1":"4 5 6 7 8 9 AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"0 1 2 3 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z oB pB qB rB T ZB tB Q"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:6,C:"Async iterators and generators"};
diff --git a/node_modules/caniuse-lite/data/features/atob-btoa.js b/node_modules/caniuse-lite/data/features/atob-btoa.js
new file mode 100644
index 0000000..a5997cd
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/atob-btoa.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"A B","2":"O F H E lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V rB T ZB tB Q","2":"E oB pB","16":"qB"},G:{"1":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"1":"CC"},I:{"1":"bB G M DC EC FC GC aB HC IC"},J:{"1":"F A"},K:{"1":"B C DB T ZB Q","16":"A"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:1,C:"Base64 encoding and decoding"};
diff --git a/node_modules/caniuse-lite/data/features/audio-api.js b/node_modules/caniuse-lite/data/features/audio-api.js
new file mode 100644
index 0000000..72c8f2e
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/audio-api.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E","33":"A B C N D I J K L Z a b c d e f g h i j k l m n"},E:{"1":"nB","2":"G Y dB WB fB","33":"O F H E A B C N D gB hB iB XB T Q mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C oB pB qB rB T ZB tB Q","33":"I J K L Z a b"},G:{"2":"WB uB aB TC","33":"H D xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:5,C:"Web Audio API"};
diff --git a/node_modules/caniuse-lite/data/features/audio.js b/node_modules/caniuse-lite/data/features/audio.js
new file mode 100644
index 0000000..24c11a1
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/audio.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"E A B","2":"O F H lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB","132":"G Y O F H E A B C N D I J K L Z kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"G Y O F H E A B C N D fB gB hB iB XB T Q mB nB","2":"dB WB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V qB rB T ZB tB Q","2":"E","4":"oB pB"},G:{"1":"H D uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB"},H:{"2":"CC"},I:{"1":"bB G M FC GC aB HC IC","2":"DC EC"},J:{"1":"F A"},K:{"1":"B C DB T ZB Q","2":"A"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:1,C:"Audio element"};
diff --git a/node_modules/caniuse-lite/data/features/audiotracks.js b/node_modules/caniuse-lite/data/features/audiotracks.js
new file mode 100644
index 0000000..54a6ddb
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/audiotracks.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"A B","2":"O F H E lB"},B:{"1":"C N D I J K L","322":"KB P M R S YB U"},C:{"2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m kB sB","194":"0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S"},D:{"2":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y","322":"0 1 2 3 4 5 6 7 8 9 z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"F H E A B C N D gB hB iB XB T Q mB nB","2":"G Y O dB WB fB"},F:{"2":"E B C I J K L Z a b c d e f g h i j k l oB pB qB rB T ZB tB Q","322":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V"},G:{"1":"H D yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB uB aB TC xB"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C T ZB Q","322":"DB"},L:{"322":"U"},M:{"2":"OB"},N:{"1":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"194":"jB"}},B:1,C:"Audio Tracks"};
diff --git a/node_modules/caniuse-lite/data/features/autofocus.js b/node_modules/caniuse-lite/data/features/autofocus.js
new file mode 100644
index 0000000..1000029
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/autofocus.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"A B","2":"O F H E lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G"},E:{"1":"Y O F H E A B C N D fB gB hB iB XB T Q mB nB","2":"G dB WB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q","2":"E"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"bB G M GC aB HC IC","2":"DC EC FC"},J:{"1":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"2":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"2":"jB"}},B:1,C:"Autofocus attribute"};
diff --git a/node_modules/caniuse-lite/data/features/aux-click.js b/node_modules/caniuse-lite/data/features/aux-click.js
new file mode 100644
index 0000000..6f32888
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/aux-click.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D v Z I M H"},C:{"2":"VB y F J K C G E A B D v Z I M H N O P Q R S T U V W X Y x a b c d e f L h i j k l m n o p q r s t u z TB SB","129":"0 1 2 3 5 6 7 w"},D:{"1":"2 3 5 6 7 w HB g DB XB EB FB","2":"0 1 F J K C G E A B D v Z I M H N O P Q R S T U V W X Y x a b c d e f L h i j k l m n o p q r s t u z"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"1":"l m n o p q r s t u","2":"8 9 E B D I M H N O P Q R S T U V W X Y x a b c d e f L h i j k OB PB QB RB UB BB"},G:{"2":"4 G AB WB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"1":"g","2":"4 y F iB jB kB lB mB nB"},J:{"2":"C","16":"A"},K:{"2":"8 9 A B D L BB"},L:{"1":"g"},M:{"2":"w"},N:{"2":"A B"},O:{"16":"oB"},P:{"1":"J pB","16":"F"},Q:{"16":"qB"},R:{"1":"rB"}},B:5,C:"Auxclick"};
diff --git a/node_modules/caniuse-lite/data/features/auxclick.js b/node_modules/caniuse-lite/data/features/auxclick.js
new file mode 100644
index 0000000..c7bb1a1
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/auxclick.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"2":"0 1 2 3 4 5 6 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z kB sB","129":"7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S"},D:{"1":"9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 1 2 3 4 5 6 7 8 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v oB pB qB rB T ZB tB Q"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C T ZB Q","16":"DB"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC XB PC QC","2":"G"},Q:{"1":"RC"},R:{"1":"SC"},S:{"2":"jB"}},B:5,C:"Auxclick"};
diff --git a/node_modules/caniuse-lite/data/features/av1.js b/node_modules/caniuse-lite/data/features/av1.js
new file mode 100644
index 0000000..29105e7
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/av1.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K","194":"L"},C:{"1":"LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"0 1 2 3 4 5 6 7 8 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z kB sB","66":"9 AB BB CB DB EB","1090":"PB GB HB IB","1284":"JB","1540":"X"},D:{"1":"FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X","66":"LB MB NB"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"1":"BB CB EB GB HB IB JB X LB MB NB FB W V","2":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB oB pB qB rB T ZB tB Q"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"2":"U"},M:{"1090":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:6,C:"AV1 video format"};
diff --git a/node_modules/caniuse-lite/data/features/avif.js b/node_modules/caniuse-lite/data/features/avif.js
new file mode 100644
index 0000000..d0b9697
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/avif.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"2":"C N D I J K L KB P M R S YB U"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB kB sB","194":"TB UB KB P M OB R S"},D:{"1":"YB U vB wB cB","2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"1":"W V","2":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB oB pB qB rB T ZB tB Q"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"2":"U"},M:{"194":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:6,C:"AVIF image format"};
diff --git a/node_modules/caniuse-lite/data/features/background-attachment.js b/node_modules/caniuse-lite/data/features/background-attachment.js
new file mode 100644
index 0000000..8f8f7b7
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/background-attachment.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"E A B","132":"O F H lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","132":"eB bB G Y O F H E A B C N D I J K L Z a b c d e kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"Y O F H E A B C N D fB gB hB iB XB T Q mB nB","132":"G dB WB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V qB rB T ZB tB Q","132":"E oB pB"},G:{"2":"WB uB aB","772":"H D TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC HC IC","132":"GC aB"},J:{"260":"F A"},K:{"1":"B C DB T ZB Q","132":"A"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"2":"G","1028":"KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1028":"SC"},S:{"1":"jB"}},B:4,C:"CSS background-attachment"};
diff --git a/node_modules/caniuse-lite/data/features/background-clip-text.js b/node_modules/caniuse-lite/data/features/background-clip-text.js
new file mode 100644
index 0000000..e329597
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/background-clip-text.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"36":"KB P M R S YB U","257":"I J K L","548":"C N D"},C:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","16":"0 1 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z kB sB","130":"2"},D:{"36":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"16":"dB WB","36":"G Y O F H E A B C N D fB gB hB iB XB T Q mB nB"},F:{"16":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"16":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"16":"CC"},I:{"16":"bB G M DC EC FC GC aB HC IC"},J:{"16":"F A"},K:{"16":"A B C DB T ZB Q"},L:{"16":"U"},M:{"16":"OB"},N:{"16":"A B"},O:{"16":"JC"},P:{"16":"G KC LC MC NC OC XB PC QC"},Q:{"16":"RC"},R:{"16":"SC"},S:{"130":"jB"}},B:1,C:"CSS3 Background-clip: text"};
diff --git a/node_modules/caniuse-lite/data/features/background-img-opts.js b/node_modules/caniuse-lite/data/features/background-img-opts.js
new file mode 100644
index 0000000..df17844
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/background-img-opts.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"E A B","2":"O F H lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB kB","36":"sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","516":"G Y O F H E A B C N D"},E:{"1":"F H E A B C N D hB iB XB T Q mB nB","772":"G Y O dB WB fB gB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V qB rB T ZB tB Q","2":"E oB","36":"pB"},G:{"1":"H D yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","4":"WB uB aB xB","516":"TC"},H:{"132":"CC"},I:{"1":"M HC IC","36":"DC","516":"bB G GC aB","548":"EC FC"},J:{"1":"F A"},K:{"1":"A B C DB T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:4,C:"CSS3 Background-image options"};
diff --git a/node_modules/caniuse-lite/data/features/background-position-x-y.js b/node_modules/caniuse-lite/data/features/background-position-x-y.js
new file mode 100644
index 0000000..57d49e1
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/background-position-x-y.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"O F H E A B lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"0 1 2 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C oB pB qB rB T ZB tB Q"},G:{"1":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"bB G M DC EC FC GC aB HC IC"},J:{"1":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"2":"jB"}},B:7,C:"background-position-x & background-position-y"};
diff --git a/node_modules/caniuse-lite/data/features/background-repeat-round-space.js b/node_modules/caniuse-lite/data/features/background-repeat-round-space.js
new file mode 100644
index 0000000..654113f
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/background-repeat-round-space.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"A B","2":"O F H lB","132":"E"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"0 1 2 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l"},E:{"1":"F H E A B C N D hB iB XB T Q mB nB","2":"G Y O dB WB fB gB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V qB rB T ZB tB Q","2":"E I J K L oB pB"},G:{"1":"H D yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB uB aB TC xB"},H:{"1":"CC"},I:{"1":"M HC IC","2":"bB G DC EC FC GC aB"},J:{"1":"A","2":"F"},K:{"1":"B C DB T ZB Q","2":"A"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"2":"jB"}},B:4,C:"CSS background-repeat round and space"};
diff --git a/node_modules/caniuse-lite/data/features/background-sync.js b/node_modules/caniuse-lite/data/features/background-sync.js
new file mode 100644
index 0000000..b6b6b2e
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/background-sync.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB kB sB","16":"R S"},D:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 1 2 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v oB pB qB rB T ZB tB Q"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC XB PC QC","2":"G"},Q:{"1":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:7,C:"Background Sync API"};
diff --git a/node_modules/caniuse-lite/data/features/battery-status.js b/node_modules/caniuse-lite/data/features/battery-status.js
new file mode 100644
index 0000000..d65769a
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/battery-status.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"1":"0 1 2 3 4 5 x y z","2":"6 7 8 9 eB bB G Y O F H E AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB","132":"J K L Z a b c d e f g h i j k l m n o p q r s t u v w","164":"A B C N D I"},D:{"1":"0 1 2 3 4 5 6 7 8 9 s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q","66":"r"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e oB pB qB rB T ZB tB Q"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:4,C:"Battery Status API"};
diff --git a/node_modules/caniuse-lite/data/features/beacon.js b/node_modules/caniuse-lite/data/features/beacon.js
new file mode 100644
index 0000000..a3cbc0e
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/beacon.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"D I J K L KB P M R S YB U","2":"C N"},C:{"1":"0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s"},E:{"1":"C N D T Q mB nB","2":"G Y O F H E A B dB WB fB gB hB iB XB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e f oB pB qB rB T ZB tB Q"},G:{"1":"D 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB 0B 1B 2B 3B 4B"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:5,C:"Beacon API"};
diff --git a/node_modules/caniuse-lite/data/features/beforeafterprint.js b/node_modules/caniuse-lite/data/features/beforeafterprint.js
new file mode 100644
index 0000000..c9c60b3
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/beforeafterprint.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"O F H E A B","16":"lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y kB sB"},D:{"1":"HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"1":"4 5 6 7 8 9 AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"0 1 2 3 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z oB pB qB rB T ZB tB Q"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"16":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"16":"A B"},O:{"16":"JC"},P:{"2":"KC LC MC NC OC XB PC QC","16":"G"},Q:{"1":"RC"},R:{"2":"SC"},S:{"1":"jB"}},B:1,C:"Printing Events"};
diff --git a/node_modules/caniuse-lite/data/features/bigint.js b/node_modules/caniuse-lite/data/features/bigint.js
new file mode 100644
index 0000000..758c52f
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/bigint.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"1":"MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB kB sB","194":"JB X LB"},D:{"1":"LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X"},E:{"1":"D nB","2":"G Y O F H E A B C N dB WB fB gB hB iB XB T Q mB"},F:{"1":"8 9 AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"0 1 2 3 4 5 6 7 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z oB pB qB rB T ZB tB Q"},G:{"1":"D","2":"H WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"OC XB PC QC","2":"G KC LC MC NC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:6,C:"BigInt"};
diff --git a/node_modules/caniuse-lite/data/features/blobbuilder.js b/node_modules/caniuse-lite/data/features/blobbuilder.js
new file mode 100644
index 0000000..1a8fd1e
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/blobbuilder.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"A B","2":"O F H E lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y kB sB","36":"O F H E A B C"},D:{"1":"0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F","36":"H E A B C N D I J K L Z"},E:{"1":"O F H E A B C N D gB hB iB XB T Q mB nB","2":"G Y dB WB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V Q","2":"E B C oB pB qB rB T ZB tB"},G:{"1":"H D xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB uB aB TC"},H:{"2":"CC"},I:{"1":"M","2":"DC EC FC","36":"bB G GC aB HC IC"},J:{"1":"A","2":"F"},K:{"1":"DB Q","2":"A B C T ZB"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:5,C:"Blob constructing"};
diff --git a/node_modules/caniuse-lite/data/features/bloburls.js b/node_modules/caniuse-lite/data/features/bloburls.js
new file mode 100644
index 0000000..f2a59c2
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/bloburls.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E lB","129":"A B"},B:{"1":"I J K L KB P M R S YB U","129":"C N D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F","33":"H E A B C N D I J K L Z a b c"},E:{"1":"F H E A B C N D gB hB iB XB T Q mB nB","2":"G Y dB WB fB","33":"O"},F:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C oB pB qB rB T ZB tB Q"},G:{"1":"H D yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB uB aB TC","33":"xB"},H:{"2":"CC"},I:{"1":"M HC IC","2":"bB DC EC FC","33":"G GC aB"},J:{"1":"A","2":"F"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"B","2":"A"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:5,C:"Blob URLs"};
diff --git a/node_modules/caniuse-lite/data/features/border-image.js b/node_modules/caniuse-lite/data/features/border-image.js
new file mode 100644
index 0000000..55b6473
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/border-image.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"B","2":"O F H E A lB"},B:{"1":"D I J K L KB P M R S YB U","129":"C N"},C:{"1":"4 5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB","260":"0 1 2 3 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z","804":"G Y O F H E A B C N D kB sB"},D:{"1":"AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","260":"5 6 7 8 9","388":"0 1 2 3 4 k l m n o p q r s t u v w x y z","1412":"I J K L Z a b c d e f g h i j","1956":"G Y O F H E A B C N D"},E:{"129":"A B C N D iB XB T Q mB nB","1412":"O F H E gB hB","1956":"G Y dB WB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E oB pB","260":"s t u v w","388":"I J K L Z a b c d e f g h i j k l m n o p q r","1796":"qB rB","1828":"B C T ZB tB Q"},G:{"129":"D 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","1412":"H xB yB zB 0B","1956":"WB uB aB TC"},H:{"1828":"CC"},I:{"388":"M HC IC","1956":"bB G DC EC FC GC aB"},J:{"1412":"A","1924":"F"},K:{"1":"DB","2":"A","1828":"B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"B","2":"A"},O:{"388":"JC"},P:{"1":"MC NC OC XB PC QC","260":"KC LC","388":"G"},Q:{"260":"RC"},R:{"260":"SC"},S:{"260":"jB"}},B:4,C:"CSS3 Border images"};
diff --git a/node_modules/caniuse-lite/data/features/border-radius.js b/node_modules/caniuse-lite/data/features/border-radius.js
new file mode 100644
index 0000000..b2712d8
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/border-radius.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"E A B","2":"O F H lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"4 5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","257":"0 1 2 3 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z","289":"bB kB sB","292":"eB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","33":"G"},E:{"1":"Y F H E A B C N D hB iB XB T Q mB nB","33":"G dB WB","129":"O fB gB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V qB rB T ZB tB Q","2":"E oB pB"},G:{"1":"H D uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","33":"WB"},H:{"2":"CC"},I:{"1":"bB G M EC FC GC aB HC IC","33":"DC"},J:{"1":"F A"},K:{"1":"B C DB T ZB Q","2":"A"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"257":"jB"}},B:4,C:"CSS3 Border-radius (rounded corners)"};
diff --git a/node_modules/caniuse-lite/data/features/broadcastchannel.js b/node_modules/caniuse-lite/data/features/broadcastchannel.js
new file mode 100644
index 0000000..e43d90c
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/broadcastchannel.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r kB sB"},D:{"1":"8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 1 2 3 4 5 6 7 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u oB pB qB rB T ZB tB Q"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"MC NC OC XB PC QC","2":"G KC LC"},Q:{"1":"RC"},R:{"2":"SC"},S:{"1":"jB"}},B:1,C:"BroadcastChannel"};
diff --git a/node_modules/caniuse-lite/data/features/brotli.js b/node_modules/caniuse-lite/data/features/brotli.js
new file mode 100644
index 0000000..6802262
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/brotli.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"I J K L KB P M R S YB U","2":"C N D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x kB sB"},D:{"1":"5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 1 2 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z","194":"3","257":"4"},E:{"1":"N D mB nB","2":"G Y O F H E A dB WB fB gB hB iB XB","513":"B C T Q"},F:{"1":"0 1 2 3 4 5 6 7 8 9 s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e f g h i j k l m n o p oB pB qB rB T ZB tB Q","194":"q r"},G:{"1":"D 4B 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB 0B 1B 2B 3B"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC XB PC QC","2":"G"},Q:{"1":"RC"},R:{"2":"SC"},S:{"1":"jB"}},B:6,C:"Brotli Accept-Encoding/Content-Encoding"};
diff --git a/node_modules/caniuse-lite/data/features/calc.js b/node_modules/caniuse-lite/data/features/calc.js
new file mode 100644
index 0000000..5455e9b
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/calc.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H lB","260":"E","516":"A B"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB kB sB","33":"G Y O F H E A B C N D I"},D:{"1":"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L","33":"Z a b c d e f"},E:{"1":"F H E A B C N D gB hB iB XB T Q mB nB","2":"G Y dB WB fB","33":"O"},F:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C oB pB qB rB T ZB tB Q"},G:{"1":"H D yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB uB aB TC","33":"xB"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB","132":"HC IC"},J:{"1":"A","2":"F"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:4,C:"calc() as CSS unit value"};
diff --git a/node_modules/caniuse-lite/data/features/canvas-blending.js b/node_modules/caniuse-lite/data/features/canvas-blending.js
new file mode 100644
index 0000000..01d6b8b
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/canvas-blending.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"N D I J K L KB P M R S YB U","2":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j"},E:{"1":"F H E A B C N D gB hB iB XB T Q mB nB","2":"G Y O dB WB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J oB pB qB rB T ZB tB Q"},G:{"1":"H D yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB uB aB TC xB"},H:{"2":"CC"},I:{"1":"M HC IC","2":"bB G DC EC FC GC aB"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:4,C:"Canvas blend modes"};
diff --git a/node_modules/caniuse-lite/data/features/canvas-text.js b/node_modules/caniuse-lite/data/features/canvas-text.js
new file mode 100644
index 0000000..6510d11
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/canvas-text.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"E A B","2":"lB","8":"O F H"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB","8":"eB bB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"G Y O F H E A B C N D fB gB hB iB XB T Q mB nB","8":"dB WB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V qB rB T ZB tB Q","8":"E oB pB"},G:{"1":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"bB G M DC EC FC GC aB HC IC"},J:{"1":"F A"},K:{"1":"B C DB T ZB Q","8":"A"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:1,C:"Text API for Canvas"};
diff --git a/node_modules/caniuse-lite/data/features/canvas.js b/node_modules/caniuse-lite/data/features/canvas.js
new file mode 100644
index 0000000..d14e4b3
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/canvas.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"E A B","2":"lB","8":"O F H"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S sB","132":"eB bB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"G Y O F H E A B C N D fB gB hB iB XB T Q mB nB","132":"dB WB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"1":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"260":"CC"},I:{"1":"bB G M GC aB HC IC","132":"DC EC FC"},J:{"1":"F A"},K:{"1":"A B C DB T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:1,C:"Canvas (basic support)"};
diff --git a/node_modules/caniuse-lite/data/features/ch-unit.js b/node_modules/caniuse-lite/data/features/ch-unit.js
new file mode 100644
index 0000000..7c85864
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/ch-unit.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H lB","132":"E A B"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z a b c d e f g"},E:{"1":"F H E A B C N D hB iB XB T Q mB nB","2":"G Y O dB WB fB gB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C oB pB qB rB T ZB tB Q"},G:{"1":"H D yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB uB aB TC xB"},H:{"2":"CC"},I:{"1":"M HC IC","2":"bB G DC EC FC GC aB"},J:{"1":"A","2":"F"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:4,C:"ch (character) unit"};
diff --git a/node_modules/caniuse-lite/data/features/chacha20-poly1305.js b/node_modules/caniuse-lite/data/features/chacha20-poly1305.js
new file mode 100644
index 0000000..2965d0b
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/chacha20-poly1305.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"1":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"0 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z kB sB"},D:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m","129":"0 1 2 n o p q r s t u v w x y z"},E:{"1":"C N D T Q mB nB","2":"G Y O F H E A B dB WB fB gB hB iB XB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e f g h i j k l m n o p oB pB qB rB T ZB tB Q"},G:{"1":"D 4B 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB 0B 1B 2B 3B"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC","16":"IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:6,C:"ChaCha20-Poly1305 cipher suites for TLS"};
diff --git a/node_modules/caniuse-lite/data/features/channel-messaging.js b/node_modules/caniuse-lite/data/features/channel-messaging.js
new file mode 100644
index 0000000..0224a2e
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/channel-messaging.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"A B","2":"O F H E lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f kB sB","194":"g h i j k l m n o p q r s t u"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"Y O F H E A B C N D fB gB hB iB XB T Q mB nB","2":"G dB WB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V rB T ZB tB Q","2":"E oB pB","16":"qB"},G:{"1":"H D TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB uB aB"},H:{"2":"CC"},I:{"1":"M HC IC","2":"bB G DC EC FC GC aB"},J:{"1":"F A"},K:{"1":"B C DB T ZB Q","2":"A"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:1,C:"Channel messaging"};
diff --git a/node_modules/caniuse-lite/data/features/childnode-remove.js b/node_modules/caniuse-lite/data/features/childnode-remove.js
new file mode 100644
index 0000000..b72e6a2
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/childnode-remove.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"N D I J K L KB P M R S YB U","16":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z a b c kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z a b c d"},E:{"1":"F H E A B C N D gB hB iB XB T Q mB nB","2":"G Y dB WB fB","16":"O"},F:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C oB pB qB rB T ZB tB Q"},G:{"1":"H D yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB uB aB TC xB"},H:{"2":"CC"},I:{"1":"M HC IC","2":"bB G DC EC FC GC aB"},J:{"1":"A","2":"F"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:1,C:"ChildNode.remove()"};
diff --git a/node_modules/caniuse-lite/data/features/classlist.js b/node_modules/caniuse-lite/data/features/classlist.js
new file mode 100644
index 0000000..a501e08
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/classlist.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"8":"O F H E lB","1924":"A B"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","8":"eB bB kB","516":"e f","772":"G Y O F H E A B C N D I J K L Z a b c d sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","8":"G Y O F","516":"e f g h","772":"d","900":"H E A B C N D I J K L Z a b c"},E:{"1":"F H E A B C N D hB iB XB T Q mB nB","8":"G Y dB WB","900":"O fB gB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","8":"E B oB pB qB rB T","900":"C ZB tB Q"},G:{"1":"H D yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","8":"WB uB aB","900":"TC xB"},H:{"900":"CC"},I:{"1":"M HC IC","8":"DC EC FC","900":"bB G GC aB"},J:{"1":"A","900":"F"},K:{"1":"DB","8":"A B","900":"C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"900":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:1,C:"classList (DOMTokenList)"};
diff --git a/node_modules/caniuse-lite/data/features/clear-site-data-header.js b/node_modules/caniuse-lite/data/features/clear-site-data-header.js
new file mode 100644
index 0000000..8dbed72
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/clear-site-data-header.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"16":"O F H E A B lB"},B:{"1":"KB P M R S YB U","16":"C N D I J K L"},C:{"1":"HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","16":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB kB sB"},D:{"1":"PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","16":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB"},E:{"16":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"1":"2 3 4 5 6 7 8 9 AB BB CB EB GB HB IB JB X LB MB NB FB W V","16":"0 1 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z oB pB qB rB T ZB tB Q"},G:{"16":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"16":"CC"},I:{"1":"M","16":"bB G DC EC FC GC aB HC IC"},J:{"16":"F A"},K:{"16":"A B C DB T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"16":"A B"},O:{"16":"JC"},P:{"16":"G KC LC MC NC OC XB PC QC"},Q:{"16":"RC"},R:{"16":"SC"},S:{"16":"jB"}},B:5,C:"Clear-Site-Data Header"};
diff --git a/node_modules/caniuse-lite/data/features/client-hints-dpr-width-viewport.js b/node_modules/caniuse-lite/data/features/client-hints-dpr-width-viewport.js
new file mode 100644
index 0000000..95ae2ef
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/client-hints-dpr-width-viewport.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e f g h i j k l m oB pB qB rB T ZB tB Q"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC XB PC QC","2":"G"},Q:{"2":"RC"},R:{"1":"SC"},S:{"2":"jB"}},B:6,C:"Client Hints: DPR, Width, Viewport-Width"};
diff --git a/node_modules/caniuse-lite/data/features/clipboard.js b/node_modules/caniuse-lite/data/features/clipboard.js
new file mode 100644
index 0000000..70fda4d
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/clipboard.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2436":"O F H E A B lB"},B:{"260":"K L","2436":"C N D I J","8196":"KB P M R S YB U"},C:{"2":"eB bB G Y O F H E A B C N D I J K L Z a b kB sB","772":"c d e f g h i j k l m n o p q r s t u","4100":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S"},D:{"2":"G Y O F H E A B C","2564":"N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w","8196":"CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","10244":"0 1 2 3 4 5 6 7 8 9 x y z AB BB"},E:{"1":"C N D Q mB nB","16":"dB WB","2308":"A B XB T","2820":"G Y O F H E fB gB hB iB"},F:{"2":"E B oB pB qB rB T ZB tB","16":"C","516":"Q","2564":"I J K L Z a b c d e f g h i j","8196":"0 1 2 3 4 5 6 7 8 9 z AB BB CB EB GB HB IB JB X LB MB NB FB W V","10244":"k l m n o p q r s t u v w x y"},G:{"1":"D 6B 7B 8B 9B AC BC","2":"WB uB aB","2820":"H TC xB yB zB 0B 1B 2B 3B 4B 5B"},H:{"2":"CC"},I:{"2":"bB G DC EC FC GC aB","260":"M","2308":"HC IC"},J:{"2":"F","2308":"A"},K:{"2":"A B C T ZB","16":"Q","1028":"DB"},L:{"8196":"U"},M:{"1028":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"2052":"KC LC","2308":"G","8196":"MC NC OC XB PC QC"},Q:{"10244":"RC"},R:{"2052":"SC"},S:{"4100":"jB"}},B:5,C:"Synchronous Clipboard API"};
diff --git a/node_modules/caniuse-lite/data/features/comparedocumentposition.js b/node_modules/caniuse-lite/data/features/comparedocumentposition.js
new file mode 100644
index 0000000..d265984
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/comparedocumentposition.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"E A B","2":"O F H lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","16":"eB bB kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","16":"G Y O F H E A B C N D","132":"I J K L Z a b c d e f g h i j"},E:{"1":"A B C N D XB T Q mB nB","16":"G Y O dB WB","132":"F H E gB hB iB","260":"fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V tB Q","16":"E B oB pB qB rB T ZB","132":"I J"},G:{"1":"D 2B 3B 4B 5B 6B 7B 8B 9B AC BC","16":"WB","132":"H uB aB TC xB yB zB 0B 1B"},H:{"1":"CC"},I:{"1":"M HC IC","16":"DC EC","132":"bB G FC GC aB"},J:{"132":"F A"},K:{"1":"C DB Q","16":"A B T ZB"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:1,C:"Node.compareDocumentPosition()"};
diff --git a/node_modules/caniuse-lite/data/features/console-basic.js b/node_modules/caniuse-lite/data/features/console-basic.js
new file mode 100644
index 0000000..d7b6738
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/console-basic.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"A B","2":"O F lB","132":"H E"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V T ZB tB Q","2":"E oB pB qB rB"},G:{"1":"WB uB aB TC","513":"H D xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"4097":"CC"},I:{"1025":"bB G M DC EC FC GC aB HC IC"},J:{"258":"F A"},K:{"2":"A","258":"B C DB T ZB Q"},L:{"1025":"U"},M:{"2049":"OB"},N:{"258":"A B"},O:{"258":"JC"},P:{"1025":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1025":"SC"},S:{"1":"jB"}},B:1,C:"Basic console logging functions"};
diff --git a/node_modules/caniuse-lite/data/features/console-time.js b/node_modules/caniuse-lite/data/features/console-time.js
new file mode 100644
index 0000000..4f7a354
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/console-time.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"B","2":"O F H E A lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"G Y O F H E A B C N D fB gB hB iB XB T Q mB nB","2":"dB WB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V T ZB tB Q","2":"E oB pB qB rB","16":"B"},G:{"1":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"1":"CC"},I:{"1":"bB G M DC EC FC GC aB HC IC"},J:{"1":"F A"},K:{"1":"DB","16":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"B","2":"A"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:1,C:"console.time and console.timeEnd"};
diff --git a/node_modules/caniuse-lite/data/features/const.js b/node_modules/caniuse-lite/data/features/const.js
new file mode 100644
index 0000000..ed97c9b
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/const.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A lB","2052":"B"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","132":"eB bB G Y O F H E A B C kB sB","260":"N D I J K L Z a b c d e f g h i j k l m n o p"},D:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","260":"G Y O F H E A B C N D I J K L Z a","772":"b c d e f g h i j k l m n o p q r s t u","1028":"0 1 2 v w x y z"},E:{"1":"A B C N D XB T Q mB nB","260":"G Y dB WB","772":"O F H E fB gB hB iB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E oB","132":"B pB qB rB T ZB","644":"C tB Q","772":"I J K L Z a b c d e f g h","1028":"i j k l m n o p"},G:{"1":"D 2B 3B 4B 5B 6B 7B 8B 9B AC BC","260":"WB uB aB","772":"H TC xB yB zB 0B 1B"},H:{"644":"CC"},I:{"1":"M","16":"DC EC","260":"FC","772":"bB G GC aB HC IC"},J:{"772":"F A"},K:{"1":"DB","132":"A B T ZB","644":"C Q"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"B","2":"A"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC XB PC QC","1028":"G"},Q:{"1":"RC"},R:{"1028":"SC"},S:{"1":"jB"}},B:6,C:"const"};
diff --git a/node_modules/caniuse-lite/data/features/constraint-validation.js b/node_modules/caniuse-lite/data/features/constraint-validation.js
new file mode 100644
index 0000000..bb9b870
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/constraint-validation.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E lB","900":"A B"},B:{"1":"K L KB P M R S YB U","388":"D I J","900":"C N"},C:{"1":"5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB kB sB","260":"3 4","388":"0 1 2 j k l m n o p q r s t u v w x y z","900":"G Y O F H E A B C N D I J K L Z a b c d e f g h i"},D:{"1":"0 1 2 3 4 5 6 7 8 9 u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","16":"G Y O F H E A B C N D","388":"f g h i j k l m n o p q r s t","900":"I J K L Z a b c d e"},E:{"1":"A B C N D XB T Q mB nB","16":"G Y dB WB","388":"H E hB iB","900":"O F fB gB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","16":"E B oB pB qB rB T ZB","388":"I J K L Z a b c d e f g","900":"C tB Q"},G:{"1":"D 2B 3B 4B 5B 6B 7B 8B 9B AC BC","16":"WB uB aB","388":"H yB zB 0B 1B","900":"TC xB"},H:{"2":"CC"},I:{"1":"M","16":"bB DC EC FC","388":"HC IC","900":"G GC aB"},J:{"16":"F","388":"A"},K:{"1":"DB","16":"A B T ZB","900":"C Q"},L:{"1":"U"},M:{"1":"OB"},N:{"900":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"388":"jB"}},B:1,C:"Constraint Validation API"};
diff --git a/node_modules/caniuse-lite/data/features/contenteditable.js b/node_modules/caniuse-lite/data/features/contenteditable.js
new file mode 100644
index 0000000..ac4393a
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/contenteditable.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"O F H E A B lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB","2":"eB","4":"bB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"1":"H D TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB uB aB"},H:{"2":"CC"},I:{"1":"bB G M GC aB HC IC","2":"DC EC FC"},J:{"1":"F A"},K:{"1":"DB Q","2":"A B C T ZB"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:1,C:"contenteditable attribute (basic support)"};
diff --git a/node_modules/caniuse-lite/data/features/contentsecuritypolicy.js b/node_modules/caniuse-lite/data/features/contentsecuritypolicy.js
new file mode 100644
index 0000000..90345b7
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/contentsecuritypolicy.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E lB","132":"A B"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB kB sB","129":"G Y O F H E A B C N D I J K L Z a b c"},D:{"1":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N","257":"D I J K L Z a b c d e"},E:{"1":"F H E A B C N D hB iB XB T Q mB nB","2":"G Y dB WB","257":"O gB","260":"fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C oB pB qB rB T ZB tB Q"},G:{"1":"H D yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB uB aB","257":"xB","260":"TC"},H:{"2":"CC"},I:{"1":"M HC IC","2":"bB G DC EC FC GC aB"},J:{"2":"F","257":"A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"132":"A B"},O:{"257":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:4,C:"Content Security Policy 1.0"};
diff --git a/node_modules/caniuse-lite/data/features/contentsecuritypolicy2.js b/node_modules/caniuse-lite/data/features/contentsecuritypolicy2.js
new file mode 100644
index 0000000..80a8ff7
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/contentsecuritypolicy2.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D","32772":"I J K L"},C:{"2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k kB sB","132":"l m n o","260":"p","516":"q r s t u v w x y","8196":"0 1 2 3 4 5 6 7 8 9 z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S"},D:{"1":"0 1 2 3 4 5 6 7 8 9 u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p","1028":"q r s","2052":"t"},E:{"1":"A B C N D XB T Q mB nB","2":"G Y O F H E dB WB fB gB hB iB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c oB pB qB rB T ZB tB Q","1028":"d e f","2052":"g"},G:{"1":"D 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB 0B 1B"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"4100":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"8196":"jB"}},B:2,C:"Content Security Policy Level 2"};
diff --git a/node_modules/caniuse-lite/data/features/cookie-store-api.js b/node_modules/caniuse-lite/data/features/cookie-store-api.js
new file mode 100644
index 0000000..50437da
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/cookie-store-api.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"2":"C N D I J K L","194":"KB P M R S YB U"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"1":"vB wB cB","2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB","194":"IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"2":"0 1 2 3 4 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z oB pB qB rB T ZB tB Q","194":"5 6 7 8 9 AB BB CB EB GB HB IB JB X LB MB NB FB W V"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"194":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:7,C:"Cookie Store API"};
diff --git a/node_modules/caniuse-lite/data/features/cors.js b/node_modules/caniuse-lite/data/features/cors.js
new file mode 100644
index 0000000..29e3f35
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/cors.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"B","2":"O F lB","132":"A","260":"H E"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB W V VB QB RB SB TB UB KB P M OB R S kB sB","2":"eB bB","1025":"PB GB HB IB JB X LB MB NB FB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","132":"G Y O F H E A B C"},E:{"2":"dB WB","513":"O F H E A B C N D gB hB iB XB T Q mB nB","644":"G Y fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V Q","2":"E B oB pB qB rB T ZB tB"},G:{"513":"H D xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","644":"WB uB aB TC"},H:{"2":"CC"},I:{"1":"M HC IC","132":"bB G DC EC FC GC aB"},J:{"1":"A","132":"F"},K:{"1":"C DB Q","2":"A B T ZB"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"B","132":"A"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:1,C:"Cross-Origin Resource Sharing"};
diff --git a/node_modules/caniuse-lite/data/features/createimagebitmap.js b/node_modules/caniuse-lite/data/features/createimagebitmap.js
new file mode 100644
index 0000000..6b68ee7
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/createimagebitmap.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v kB sB","3076":"0 1 2 3 4 5 6 7 8 9 w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S"},D:{"1":"DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 1 2 3 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z","132":"4 5","260":"6 7","516":"8 9 AB BB CB"},E:{"2":"G Y O F H E A B C N dB WB fB gB hB iB XB T Q","16":"D mB nB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e f g h i j k l m n o p q oB pB qB rB T ZB tB Q","132":"r s","260":"t u","516":"v w x y z"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"3076":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"LC MC NC OC XB PC QC","16":"G KC"},Q:{"1":"RC"},R:{"2":"SC"},S:{"3076":"jB"}},B:1,C:"createImageBitmap"};
diff --git a/node_modules/caniuse-lite/data/features/credential-management.js b/node_modules/caniuse-lite/data/features/credential-management.js
new file mode 100644
index 0000000..b114eec
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/credential-management.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"1":"BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 1 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z","66":"2 3 4","129":"5 6 7 8 9 AB"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y oB pB qB rB T ZB tB Q"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"1":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"MC NC OC XB PC QC","2":"G KC LC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:5,C:"Credential Management API"};
diff --git a/node_modules/caniuse-lite/data/features/cryptography.js b/node_modules/caniuse-lite/data/features/cryptography.js
new file mode 100644
index 0000000..5dea925
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/cryptography.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"lB","8":"O F H E A","164":"B"},B:{"1":"KB P M R S YB U","513":"C N D I J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","8":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l kB sB","66":"m n"},D:{"1":"0 1 2 3 4 5 6 7 8 9 r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","8":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q"},E:{"1":"B C N D T Q mB nB","8":"G Y O F dB WB fB gB","289":"H E A hB iB XB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","8":"E B C I J K L Z a b c d oB pB qB rB T ZB tB Q"},G:{"1":"D 4B 5B 6B 7B 8B 9B AC BC","8":"WB uB aB TC xB yB","289":"H zB 0B 1B 2B 3B"},H:{"2":"CC"},I:{"1":"M","8":"bB G DC EC FC GC aB HC IC"},J:{"8":"F A"},K:{"1":"DB","8":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"8":"A","164":"B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:2,C:"Web Cryptography"};
diff --git a/node_modules/caniuse-lite/data/features/css-all.js b/node_modules/caniuse-lite/data/features/css-all.js
new file mode 100644
index 0000000..4a6b65c
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-all.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q"},E:{"1":"A B C N D iB XB T Q mB nB","2":"G Y O F H E dB WB fB gB hB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d oB pB qB rB T ZB tB Q"},G:{"1":"D 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB 0B"},H:{"2":"CC"},I:{"1":"M IC","2":"bB G DC EC FC GC aB HC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:4,C:"CSS all property"};
diff --git a/node_modules/caniuse-lite/data/features/css-animation.js b/node_modules/caniuse-lite/data/features/css-animation.js
new file mode 100644
index 0000000..780a04b
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-animation.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"A B","2":"O F H E lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G kB sB","33":"Y O F H E A B C N D I"},D:{"1":"0 1 2 3 4 5 6 7 8 9 x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","33":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w"},E:{"1":"E A B C N D iB XB T Q mB nB","2":"dB WB","33":"O F H fB gB hB","292":"G Y"},F:{"1":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V Q","2":"E B oB pB qB rB T ZB tB","33":"C I J K L Z a b c d e f g h i j"},G:{"1":"D 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","33":"H xB yB zB","164":"WB uB aB TC"},H:{"2":"CC"},I:{"1":"M","33":"G GC aB HC IC","164":"bB DC EC FC"},J:{"33":"F A"},K:{"1":"DB Q","2":"A B C T ZB"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"33":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:5,C:"CSS Animation"};
diff --git a/node_modules/caniuse-lite/data/features/css-any-link.js b/node_modules/caniuse-lite/data/features/css-any-link.js
new file mode 100644
index 0000000..b5843f4
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-any-link.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"1":"4 5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","16":"eB","33":"0 1 2 3 bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z kB sB"},D:{"1":"JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","16":"G Y O F H E A B C N D","33":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB"},E:{"1":"E A B C N D iB XB T Q mB nB","16":"G Y O dB WB fB","33":"F H gB hB"},F:{"1":"6 7 8 9 AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C oB pB qB rB T ZB tB Q","33":"0 1 2 3 4 5 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z"},G:{"1":"D 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","16":"WB uB aB TC","33":"H xB yB zB"},H:{"2":"CC"},I:{"1":"M","16":"bB G DC EC FC GC aB","33":"HC IC"},J:{"16":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"33":"JC"},P:{"1":"OC XB PC QC","16":"G","33":"KC LC MC NC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"33":"jB"}},B:5,C:"CSS :any-link selector"};
diff --git a/node_modules/caniuse-lite/data/features/css-appearance.js b/node_modules/caniuse-lite/data/features/css-appearance.js
new file mode 100644
index 0000000..0d30bf3
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-appearance.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"S YB U","33":"R","164":"KB P M","388":"C N D I J K L"},C:{"1":"P M OB R S","164":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB","676":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o kB sB"},D:{"1":"S YB U vB wB cB","33":"R","164":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M"},E:{"164":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"2":"E B C oB pB qB rB T ZB tB Q","33":"FB W V","164":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB"},G:{"164":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"164":"bB G M DC EC FC GC aB HC IC"},J:{"164":"F A"},K:{"2":"A B C T ZB Q","164":"DB"},L:{"1":"U"},M:{"164":"OB"},N:{"2":"A","388":"B"},O:{"164":"JC"},P:{"164":"G KC LC MC NC OC XB PC QC"},Q:{"164":"RC"},R:{"164":"SC"},S:{"164":"jB"}},B:5,C:"CSS Appearance"};
diff --git a/node_modules/caniuse-lite/data/features/css-apply-rule.js b/node_modules/caniuse-lite/data/features/css-apply-rule.js
new file mode 100644
index 0000000..402edb2
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-apply-rule.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"2":"C N D I J K L","194":"KB P M R S YB U"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"2":"0 1 2 3 4 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z","194":"5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"2":"E B C I J K L Z a b c d e f g h i j k l m n o p q r oB pB qB rB T ZB tB Q","194":"0 1 2 3 4 5 6 7 8 9 s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C T ZB Q","194":"DB"},L:{"194":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G","194":"KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"194":"SC"},S:{"2":"jB"}},B:7,C:"CSS @apply rule"};
diff --git a/node_modules/caniuse-lite/data/features/css-at-counter-style.js b/node_modules/caniuse-lite/data/features/css-at-counter-style.js
new file mode 100644
index 0000000..ca32fa6
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-at-counter-style.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"2":"C N D I J K L KB P M R S YB U"},C:{"2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m kB sB","132":"0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"2":"U"},M:{"132":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"132":"jB"}},B:4,C:"CSS Counter Styles"};
diff --git a/node_modules/caniuse-lite/data/features/css-backdrop-filter.js b/node_modules/caniuse-lite/data/features/css-backdrop-filter.js
new file mode 100644
index 0000000..25fa9ec
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-backdrop-filter.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J","257":"K L"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB kB sB","578":"FB W V VB QB RB SB TB UB KB P M OB R S"},D:{"1":"SB TB UB KB P M R S YB U vB wB cB","2":"0 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z","194":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB"},E:{"2":"G Y O F H dB WB fB gB hB","33":"E A B C N D iB XB T Q mB nB"},F:{"1":"IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e f g h i j k l m n oB pB qB rB T ZB tB Q","194":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x y z AB BB CB EB GB HB"},G:{"2":"H WB uB aB TC xB yB zB","33":"D 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"578":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"QC","2":"G","194":"KC LC MC NC OC XB PC"},Q:{"194":"RC"},R:{"194":"SC"},S:{"2":"jB"}},B:7,C:"CSS Backdrop Filter"};
diff --git a/node_modules/caniuse-lite/data/features/css-background-offsets.js b/node_modules/caniuse-lite/data/features/css-background-offsets.js
new file mode 100644
index 0000000..e044751
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-background-offsets.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"E A B","2":"O F H lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z a b c d e"},E:{"1":"F H E A B C N D hB iB XB T Q mB nB","2":"G Y O dB WB fB gB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V qB rB T ZB tB Q","2":"E oB pB"},G:{"1":"H D yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB uB aB TC xB"},H:{"1":"CC"},I:{"1":"M HC IC","2":"bB G DC EC FC GC aB"},J:{"1":"A","2":"F"},K:{"1":"B C DB T ZB Q","2":"A"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:4,C:"CSS background-position edge offsets"};
diff --git a/node_modules/caniuse-lite/data/features/css-backgroundblendmode.js b/node_modules/caniuse-lite/data/features/css-backgroundblendmode.js
new file mode 100644
index 0000000..7028f72
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-backgroundblendmode.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j kB sB"},D:{"1":"1 2 3 4 5 6 7 8 9 p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o","260":"0"},E:{"1":"B C N D XB T Q mB nB","2":"G Y O F dB WB fB gB","132":"H E A hB iB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 c d e f g h i j k l m o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b oB pB qB rB T ZB tB Q","260":"n"},G:{"1":"D 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB uB aB TC xB yB","132":"H zB 0B 1B 2B"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:4,C:"CSS background-blend-mode"};
diff --git a/node_modules/caniuse-lite/data/features/css-boxdecorationbreak.js b/node_modules/caniuse-lite/data/features/css-boxdecorationbreak.js
new file mode 100644
index 0000000..6a5e481
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-boxdecorationbreak.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"2":"C N D I J K L","164":"KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l kB sB"},D:{"2":"G Y O F H E A B C N D I J K L Z a b","164":"0 1 2 3 4 5 6 7 8 9 c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"2":"G Y O dB WB fB","164":"F H E A B C N D gB hB iB XB T Q mB nB"},F:{"2":"E oB pB qB rB","129":"B C T ZB tB Q","164":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V"},G:{"2":"WB uB aB TC xB","164":"H D yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"132":"CC"},I:{"2":"bB G DC EC FC GC aB","164":"M HC IC"},J:{"2":"F","164":"A"},K:{"2":"A","129":"B C T ZB Q","164":"DB"},L:{"164":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"164":"G KC LC MC NC OC XB PC QC"},Q:{"164":"RC"},R:{"164":"SC"},S:{"1":"jB"}},B:5,C:"CSS box-decoration-break"};
diff --git a/node_modules/caniuse-lite/data/features/css-boxshadow.js b/node_modules/caniuse-lite/data/features/css-boxshadow.js
new file mode 100644
index 0000000..5933e79
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-boxshadow.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"E A B","2":"O F H lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB","33":"kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","33":"G Y O F H E"},E:{"1":"O F H E A B C N D fB gB hB iB XB T Q mB nB","33":"Y","164":"G dB WB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V qB rB T ZB tB Q","2":"E oB pB"},G:{"1":"H D TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","33":"uB aB","164":"WB"},H:{"2":"CC"},I:{"1":"G M GC aB HC IC","164":"bB DC EC FC"},J:{"1":"A","33":"F"},K:{"1":"B C DB T ZB Q","2":"A"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:4,C:"CSS3 Box-shadow"};
diff --git a/node_modules/caniuse-lite/data/features/css-canvas.js b/node_modules/caniuse-lite/data/features/css-canvas.js
new file mode 100644
index 0000000..21b3e0b
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-canvas.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"2":"C N D I J K L KB P M R S YB U"},C:{"2":"0 1 2 3 4 5 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z kB sB","16":"6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S"},D:{"2":"2 3 4 5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","33":"0 1 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"2":"dB WB","33":"G Y O F H E A B C N D fB gB hB iB XB T Q mB nB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q","33":"I J K L Z a b c d e f g h i j k l m n o"},G:{"33":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"M","33":"bB G DC EC FC GC aB HC IC"},J:{"33":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"2":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"KC LC MC NC OC XB PC QC","33":"G"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:7,C:"CSS Canvas Drawings"};
diff --git a/node_modules/caniuse-lite/data/features/css-caret-color.js b/node_modules/caniuse-lite/data/features/css-caret-color.js
new file mode 100644
index 0000000..de459e2
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-caret-color.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"1":"7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"0 1 2 3 4 5 6 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z kB sB"},D:{"1":"BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB"},E:{"1":"C N D T Q mB nB","2":"G Y O F H E A B dB WB fB gB hB iB XB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x oB pB qB rB T ZB tB Q"},G:{"1":"D 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB 0B 1B 2B 3B 4B"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"MC NC OC XB PC QC","2":"G KC LC"},Q:{"1":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:4,C:"CSS caret-color"};
diff --git a/node_modules/caniuse-lite/data/features/css-case-insensitive.js b/node_modules/caniuse-lite/data/features/css-case-insensitive.js
new file mode 100644
index 0000000..060425d
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-case-insensitive.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"1":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"0 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z kB sB"},D:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 1 2 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"E A B C N D iB XB T Q mB nB","2":"G Y O F H dB WB fB gB hB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e f g h i j k l m n o p oB pB qB rB T ZB tB Q"},G:{"1":"D 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC XB PC QC","2":"G"},Q:{"1":"RC"},R:{"2":"SC"},S:{"1":"jB"}},B:5,C:"Case-insensitive CSS attribute selectors"};
diff --git a/node_modules/caniuse-lite/data/features/css-clip-path.js b/node_modules/caniuse-lite/data/features/css-clip-path.js
new file mode 100644
index 0000000..452ae20
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-clip-path.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"2":"C N D I J K","260":"KB P M R S YB U","3138":"L"},C:{"1":"8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB","132":"0 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z kB sB","644":"1 2 3 4 5 6 7"},D:{"2":"G Y O F H E A B C N D I J K L Z a b c d","260":"9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","292":"0 1 2 3 4 5 6 7 8 e f g h i j k l m n o p q r s t u v w x y z"},E:{"2":"G Y O dB WB fB gB","292":"F H E A B C N D hB iB XB T Q mB nB"},F:{"2":"E B C oB pB qB rB T ZB tB Q","260":"0 1 2 3 4 5 6 7 8 9 w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","292":"I J K L Z a b c d e f g h i j k l m n o p q r s t u v"},G:{"2":"WB uB aB TC xB","292":"H D yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G DC EC FC GC aB","260":"M","292":"HC IC"},J:{"2":"F A"},K:{"2":"A B C T ZB Q","260":"DB"},L:{"260":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"292":"JC"},P:{"292":"G KC LC MC NC OC XB PC QC"},Q:{"292":"RC"},R:{"260":"SC"},S:{"644":"jB"}},B:4,C:"CSS clip-path property (for HTML)"};
diff --git a/node_modules/caniuse-lite/data/features/css-color-adjust.js b/node_modules/caniuse-lite/data/features/css-color-adjust.js
new file mode 100644
index 0000000..8ff48e3
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-color-adjust.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"2":"C N D I J K L","33":"KB P M R S YB U"},C:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"0 1 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z kB sB"},D:{"16":"G Y O F H E A B C N D I J K L","33":"0 1 2 3 4 5 6 7 8 9 Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"2":"G Y dB WB fB","33":"O F H E A B C N D gB hB iB XB T Q mB nB"},F:{"2":"E B C oB pB qB rB T ZB tB Q","33":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V"},G:{"16":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"16":"bB G M DC EC FC GC aB HC IC"},J:{"16":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"16":"U"},M:{"1":"OB"},N:{"16":"A B"},O:{"16":"JC"},P:{"16":"G KC LC MC NC OC XB PC QC"},Q:{"33":"RC"},R:{"16":"SC"},S:{"1":"jB"}},B:5,C:"CSS color-adjust"};
diff --git a/node_modules/caniuse-lite/data/features/css-color-function.js b/node_modules/caniuse-lite/data/features/css-color-function.js
new file mode 100644
index 0000000..438bf9b
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-color-function.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"2":"C N D I J K L KB P M R S YB U"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"B C N D XB T Q mB nB","2":"G Y O F H E A dB WB fB gB hB iB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"1":"D 3B 4B 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB 0B 1B 2B"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"2":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:5,C:"CSS color function"};
diff --git a/node_modules/caniuse-lite/data/features/css-conic-gradients.js b/node_modules/caniuse-lite/data/features/css-conic-gradients.js
new file mode 100644
index 0000000..98a4630
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-conic-gradients.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"1":"R S","2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB kB sB","578":"RB SB TB UB KB P M OB"},D:{"1":"NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB","194":"DB EB PB GB HB IB JB X LB MB"},E:{"1":"N D Q mB nB","2":"G Y O F H E A B C dB WB fB gB hB iB XB T"},F:{"1":"IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z oB pB qB rB T ZB tB Q","194":"0 1 2 3 4 5 6 7 8 9 AB BB CB EB GB HB"},G:{"1":"D 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"578":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"XB PC QC","2":"G KC LC MC NC OC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:5,C:"CSS Conical Gradients"};
diff --git a/node_modules/caniuse-lite/data/features/css-containment.js b/node_modules/caniuse-lite/data/features/css-containment.js
new file mode 100644
index 0000000..762391a
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-containment.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"1":"NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u kB sB","194":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB"},D:{"1":"6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 1 2 3 4 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z","66":"5"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e f g h i j k l m n o p q r oB pB qB rB T ZB tB Q","66":"s t"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"LC MC NC OC XB PC QC","2":"G KC"},Q:{"1":"RC"},R:{"2":"SC"},S:{"194":"jB"}},B:2,C:"CSS Containment"};
diff --git a/node_modules/caniuse-lite/data/features/css-content-visibility.js b/node_modules/caniuse-lite/data/features/css-content-visibility.js
new file mode 100644
index 0000000..bc3fa36
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-content-visibility.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"YB U","2":"C N D I J K L KB P M R S"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"1":"YB U vB wB cB","2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB","16":"nB"},F:{"1":"W V","2":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB oB pB qB rB T ZB tB Q"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"1":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:5,C:"CSS content-visibility"};
diff --git a/node_modules/caniuse-lite/data/features/css-counters.js b/node_modules/caniuse-lite/data/features/css-counters.js
new file mode 100644
index 0000000..d8e35e1
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-counters.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"H E A B","2":"O F lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"1":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"1":"CC"},I:{"1":"bB G M DC EC FC GC aB HC IC"},J:{"1":"F A"},K:{"1":"A B C DB T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:2,C:"CSS Counters"};
diff --git a/node_modules/caniuse-lite/data/features/css-crisp-edges.js b/node_modules/caniuse-lite/data/features/css-crisp-edges.js
new file mode 100644
index 0000000..f551581
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-crisp-edges.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O lB","2340":"F H E A B"},B:{"2":"C N D I J K L","1025":"KB P M R S YB U"},C:{"2":"eB bB kB","513":"JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","545":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB sB"},D:{"2":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u","1025":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"A B C N D XB T Q mB nB","2":"G Y dB WB fB","164":"O","4644":"F H E gB hB iB"},F:{"2":"E B I J K L Z a b c d e f g h oB pB qB rB T ZB","545":"C tB Q","1025":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V"},G:{"1":"D 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB uB aB","4260":"TC xB","4644":"H yB zB 0B 1B"},H:{"2":"CC"},I:{"2":"bB G DC EC FC GC aB HC IC","1025":"M"},J:{"2":"F","4260":"A"},K:{"2":"A B T ZB","545":"C Q","1025":"DB"},L:{"1025":"U"},M:{"545":"OB"},N:{"2340":"A B"},O:{"1":"JC"},P:{"1025":"G KC LC MC NC OC XB PC QC"},Q:{"1025":"RC"},R:{"1025":"SC"},S:{"4097":"jB"}},B:7,C:"Crisp edges/pixelated images"};
diff --git a/node_modules/caniuse-lite/data/features/css-cross-fade.js b/node_modules/caniuse-lite/data/features/css-cross-fade.js
new file mode 100644
index 0000000..0799e37
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-cross-fade.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"2":"C N D I J K L","33":"KB P M R S YB U"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"2":"G Y O F H E A B C N D I J","33":"0 1 2 3 4 5 6 7 8 9 K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"A B C N D XB T Q mB nB","2":"G Y dB WB","33":"O F H E fB gB hB iB"},F:{"2":"E B C oB pB qB rB T ZB tB Q","33":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V"},G:{"1":"D 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB uB aB","33":"H TC xB yB zB 0B 1B"},H:{"2":"CC"},I:{"2":"bB G DC EC FC GC aB","33":"M HC IC"},J:{"2":"F A"},K:{"2":"A B C T ZB Q","33":"DB"},L:{"33":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"33":"JC"},P:{"33":"G KC LC MC NC OC XB PC QC"},Q:{"33":"RC"},R:{"33":"SC"},S:{"2":"jB"}},B:4,C:"CSS Cross-Fade Function"};
diff --git a/node_modules/caniuse-lite/data/features/css-default-pseudo.js b/node_modules/caniuse-lite/data/features/css-default-pseudo.js
new file mode 100644
index 0000000..074e03d
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-default-pseudo.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","16":"eB bB kB sB"},D:{"1":"5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","16":"G Y O F H E A B C N D","132":"0 1 2 3 4 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"B C N D XB T Q mB nB","16":"G Y dB WB","132":"O F H E A fB gB hB iB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","16":"E B oB pB qB rB T ZB","132":"I J K L Z a b c d e f g h i j k l m n o p q r","260":"C tB Q"},G:{"1":"D 3B 4B 5B 6B 7B 8B 9B AC BC","16":"WB uB aB TC xB","132":"H yB zB 0B 1B 2B"},H:{"260":"CC"},I:{"1":"M","16":"bB DC EC FC","132":"G GC aB HC IC"},J:{"16":"F","132":"A"},K:{"1":"DB","16":"A B C T ZB","260":"Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"132":"JC"},P:{"1":"KC LC MC NC OC XB PC QC","132":"G"},Q:{"1":"RC"},R:{"2":"SC"},S:{"1":"jB"}},B:7,C:":default CSS pseudo-class"};
diff --git a/node_modules/caniuse-lite/data/features/css-descendant-gtgt.js b/node_modules/caniuse-lite/data/features/css-descendant-gtgt.js
new file mode 100644
index 0000000..5816623
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-descendant-gtgt.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"2":"C N D I J K L P M R S YB U","16":"KB"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U","16":"vB wB cB"},E:{"1":"B","2":"G Y O F H E A C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"2":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:7,C:"Explicit descendant combinator >>"};
diff --git a/node_modules/caniuse-lite/data/features/css-deviceadaptation.js b/node_modules/caniuse-lite/data/features/css-deviceadaptation.js
new file mode 100644
index 0000000..5706107
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-deviceadaptation.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E lB","164":"A B"},B:{"66":"KB P M R S YB U","164":"C N D I J K L"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"2":"G Y O F H E A B C N D I J K L Z a b c d e f g h i","66":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"2":"E B C I J K L Z a b c d e f g h i j k l m n o p q r s t oB pB qB rB T ZB tB Q","66":"0 1 2 3 4 5 6 7 8 9 u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"292":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A DB","292":"B C T ZB Q"},L:{"2":"U"},M:{"2":"OB"},N:{"164":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"66":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:5,C:"CSS Device Adaptation"};
diff --git a/node_modules/caniuse-lite/data/features/css-dir-pseudo.js b/node_modules/caniuse-lite/data/features/css-dir-pseudo.js
new file mode 100644
index 0000000..0fdcfd5
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-dir-pseudo.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"2":"C N D I J K L KB P M R S YB U"},C:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J kB sB","33":"0 1 2 K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"2":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"33":"jB"}},B:5,C:":dir() CSS pseudo-class"};
diff --git a/node_modules/caniuse-lite/data/features/css-display-contents.js b/node_modules/caniuse-lite/data/features/css-display-contents.js
new file mode 100644
index 0000000..016f809
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-display-contents.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"2":"C N D I J K L","260":"KB P M R S YB U"},C:{"1":"GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q kB sB","260":"0 1 2 3 4 5 6 7 8 9 r s t u v w x y z AB BB CB DB EB PB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB","194":"CB DB EB PB GB HB IB","260":"JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"D mB nB","2":"G Y O F H E A B dB WB fB gB hB iB XB","260":"N","772":"C T Q"},F:{"2":"0 1 2 3 4 5 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z oB pB qB rB T ZB tB Q","260":"6 7 8 9 AB BB CB EB GB HB IB JB X LB MB NB FB W V"},G:{"1":"D BC","2":"H WB uB aB TC xB yB zB 0B 1B 2B 3B 4B","260":"5B 6B 7B 8B 9B AC"},H:{"2":"CC"},I:{"2":"bB G DC EC FC GC aB HC IC","260":"M"},J:{"2":"F A"},K:{"2":"A B C T ZB Q","260":"DB"},L:{"260":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC","260":"OC XB PC QC"},Q:{"260":"RC"},R:{"2":"SC"},S:{"260":"jB"}},B:5,C:"CSS display: contents"};
diff --git a/node_modules/caniuse-lite/data/features/css-element-function.js b/node_modules/caniuse-lite/data/features/css-element-function.js
new file mode 100644
index 0000000..12676fb
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-element-function.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"2":"C N D I J K L KB P M R S YB U"},C:{"33":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","164":"eB bB kB sB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"2":"U"},M:{"33":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"33":"jB"}},B:5,C:"CSS element() function"};
diff --git a/node_modules/caniuse-lite/data/features/css-env-function.js b/node_modules/caniuse-lite/data/features/css-env-function.js
new file mode 100644
index 0000000..a5ce646
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-env-function.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"1":"JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB kB sB"},D:{"1":"NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB"},E:{"1":"C N D T Q mB nB","2":"G Y O F H E A dB WB fB gB hB iB XB","132":"B"},F:{"1":"AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z oB pB qB rB T ZB tB Q"},G:{"1":"D 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB 0B 1B 2B 3B","132":"4B"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"XB PC QC","2":"G KC LC MC NC OC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:7,C:"CSS Environment Variables env()"};
diff --git a/node_modules/caniuse-lite/data/features/css-exclusions.js b/node_modules/caniuse-lite/data/features/css-exclusions.js
new file mode 100644
index 0000000..f2981c8
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-exclusions.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E lB","33":"A B"},B:{"2":"KB P M R S YB U","33":"C N D I J K L"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"2":"U"},M:{"2":"OB"},N:{"33":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:5,C:"CSS Exclusions Level 1"};
diff --git a/node_modules/caniuse-lite/data/features/css-featurequeries.js b/node_modules/caniuse-lite/data/features/css-featurequeries.js
new file mode 100644
index 0000000..624188f
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-featurequeries.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z a b kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z a b c d e f g h"},E:{"1":"E A B C N D iB XB T Q mB nB","2":"G Y O F H dB WB fB gB hB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V Q","2":"E B C oB pB qB rB T ZB tB"},G:{"1":"D 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB"},H:{"1":"CC"},I:{"1":"M HC IC","2":"bB G DC EC FC GC aB"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:4,C:"CSS Feature Queries"};
diff --git a/node_modules/caniuse-lite/data/features/css-filter-function.js b/node_modules/caniuse-lite/data/features/css-filter-function.js
new file mode 100644
index 0000000..203dd57
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-filter-function.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"2":"C N D I J K L KB P M R S YB U"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"A B C N D iB XB T Q mB nB","2":"G Y O F H dB WB fB gB hB","33":"E"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"1":"D 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB","33":"0B 1B"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"2":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:5,C:"CSS filter() function"};
diff --git a/node_modules/caniuse-lite/data/features/css-filters.js b/node_modules/caniuse-lite/data/features/css-filters.js
new file mode 100644
index 0000000..8b38e5d
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-filters.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","1028":"N D I J K L","1346":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB kB","196":"o","516":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n sB"},D:{"1":"7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K","33":"0 1 2 3 4 5 6 L Z a b c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"A B C N D iB XB T Q mB nB","2":"G Y dB WB fB","33":"O F H E gB hB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C oB pB qB rB T ZB tB Q","33":"I J K L Z a b c d e f g h i j k l m n o p q r s t"},G:{"1":"D 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB uB aB TC","33":"H xB yB zB 0B"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB","33":"HC IC"},J:{"2":"F","33":"A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"MC NC OC XB PC QC","33":"G KC LC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:5,C:"CSS Filter Effects"};
diff --git a/node_modules/caniuse-lite/data/features/css-first-letter.js b/node_modules/caniuse-lite/data/features/css-first-letter.js
new file mode 100644
index 0000000..fd62b4a
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-first-letter.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"E A B","16":"lB","516":"H","1540":"O F"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB","132":"bB","260":"eB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","16":"Y O F H","132":"G"},E:{"1":"O F H E A B C N D fB gB hB iB XB T Q mB nB","16":"Y dB","132":"G WB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V tB Q","16":"E oB","260":"B pB qB rB T ZB"},G:{"1":"H D TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","16":"WB uB aB"},H:{"1":"CC"},I:{"1":"bB G M GC aB HC IC","16":"DC EC","132":"FC"},J:{"1":"F A"},K:{"1":"C DB Q","260":"A B T ZB"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:2,C:"::first-letter CSS pseudo-element selector"};
diff --git a/node_modules/caniuse-lite/data/features/css-first-line.js b/node_modules/caniuse-lite/data/features/css-first-line.js
new file mode 100644
index 0000000..53fa0ee
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-first-line.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"E A B","132":"O F H lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"1":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"1":"CC"},I:{"1":"bB G M DC EC FC GC aB HC IC"},J:{"1":"F A"},K:{"1":"A B C DB T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:2,C:"CSS first-line pseudo-element"};
diff --git a/node_modules/caniuse-lite/data/features/css-fixed.js b/node_modules/caniuse-lite/data/features/css-fixed.js
new file mode 100644
index 0000000..d1c2082
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-fixed.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"F H E A B","2":"lB","8":"O"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"G Y O F H E A B C N D dB WB fB gB hB XB T Q mB nB","1025":"iB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"1":"H D zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB uB aB","132":"TC xB yB"},H:{"2":"CC"},I:{"1":"bB M HC IC","260":"DC EC FC","513":"G GC aB"},J:{"1":"F A"},K:{"1":"A B C DB T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:2,C:"CSS position:fixed"};
diff --git a/node_modules/caniuse-lite/data/features/css-focus-ring.js b/node_modules/caniuse-lite/data/features/css-focus-ring.js
new file mode 100644
index 0000000..85d13b0
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-focus-ring.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"K C G E A B CB"},B:{"2":"D v Z I M H"},C:{"2":"VB y TB SB","161":"0 1 2 3 5 6 7 F J K C G E A B D v Z I M H N O P Q R S T U V W X Y x a b c d e f L h i j k l m n o p q r s t u z w"},D:{"2":"0 1 2 3 5 6 7 F J K C G E A B D v Z I M H N O P Q R S T U V W X Y x a b c d e f L h i j k l m n o p q r s t u z w HB g DB XB EB FB"},E:{"2":"F J K C G E A B GB AB IB JB KB LB MB NB"},F:{"2":"8 9 E B D I M H N O P Q R S T U V W X Y x a b c d e f L h i j k l m n o p q r s t u OB PB QB RB UB BB"},G:{"2":"4 G AB WB YB ZB aB bB cB dB eB fB gB"},H:{"2":"hB"},I:{"2":"4 y F g iB jB kB lB mB nB"},J:{"2":"C A"},K:{"2":"8 9 A B D L BB"},L:{"2":"g"},M:{"161":"w"},N:{"2":"A B"},O:{"2":"oB"},P:{"2":"F J pB"},Q:{"2":"qB"},R:{"2":"rB"}},B:7,C:":focus-ring CSS pseudo-class"};
diff --git a/node_modules/caniuse-lite/data/features/css-focus-visible.js b/node_modules/caniuse-lite/data/features/css-focus-visible.js
new file mode 100644
index 0000000..3b9a69c
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-focus-visible.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"U","2":"C N D I J K L","328":"KB P M R S YB"},C:{"2":"eB bB kB sB","161":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S"},D:{"1":"U vB wB cB","2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X","328":"LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"1":"V","2":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB oB pB qB rB T ZB tB Q","328":"X LB MB NB FB W"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"1":"U"},M:{"161":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"161":"jB"}},B:7,C:":focus-visible CSS pseudo-class"};
diff --git a/node_modules/caniuse-lite/data/features/css-focus-within.js b/node_modules/caniuse-lite/data/features/css-focus-within.js
new file mode 100644
index 0000000..936486e
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-focus-within.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"1":"6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"0 1 2 3 4 5 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z kB sB"},D:{"1":"EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB","194":"DB"},E:{"1":"B C N D XB T Q mB nB","2":"G Y O F H E A dB WB fB gB hB iB"},F:{"1":"1 2 3 4 5 6 7 8 9 AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z oB pB qB rB T ZB tB Q","194":"0"},G:{"1":"D 3B 4B 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB 0B 1B 2B"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"NC OC XB PC QC","2":"G KC LC MC"},Q:{"1":"RC"},R:{"16":"SC"},S:{"2":"jB"}},B:7,C:":focus-within CSS pseudo-class"};
diff --git a/node_modules/caniuse-lite/data/features/css-font-rendering-controls.js b/node_modules/caniuse-lite/data/features/css-font-rendering-controls.js
new file mode 100644
index 0000000..f447317
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-font-rendering-controls.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"1":"CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z kB sB","194":"0 1 2 3 4 5 6 7 8 9 AB BB"},D:{"1":"EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 1 2 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z","66":"3 4 5 6 7 8 9 AB BB CB DB"},E:{"1":"C N D T Q mB nB","2":"G Y O F H E A B dB WB fB gB hB iB XB"},F:{"1":"1 2 3 4 5 6 7 8 9 AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e f g h i j k l m n o p oB pB qB rB T ZB tB Q","66":"0 q r s t u v w x y z"},G:{"1":"D 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB 0B 1B 2B 3B 4B"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"NC OC XB PC QC","2":"G","66":"KC LC MC"},Q:{"1":"RC"},R:{"2":"SC"},S:{"194":"jB"}},B:5,C:"CSS font-rendering controls"};
diff --git a/node_modules/caniuse-lite/data/features/css-font-stretch.js b/node_modules/caniuse-lite/data/features/css-font-stretch.js
new file mode 100644
index 0000000..dedc56e
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-font-stretch.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"E A B","2":"O F H lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H kB sB"},D:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 1 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"B C N D T Q mB nB","2":"G Y O F H E A dB WB fB gB hB iB XB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e f g h i j k l m n o oB pB qB rB T ZB tB Q"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC XB PC QC","2":"G"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:4,C:"CSS font-stretch"};
diff --git a/node_modules/caniuse-lite/data/features/css-gencontent.js b/node_modules/caniuse-lite/data/features/css-gencontent.js
new file mode 100644
index 0000000..2e66ced
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-gencontent.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"E A B","2":"O F lB","132":"H"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"1":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"1":"CC"},I:{"1":"bB G M DC EC FC GC aB HC IC"},J:{"1":"F A"},K:{"1":"A B C DB T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:2,C:"CSS Generated content for pseudo-elements"};
diff --git a/node_modules/caniuse-lite/data/features/css-gradients.js b/node_modules/caniuse-lite/data/features/css-gradients.js
new file mode 100644
index 0000000..404a744
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-gradients.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"A B","2":"O F H E lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB kB","260":"J K L Z a b c d e f g h i j k l m n o p","292":"G Y O F H E A B C N D I sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","33":"A B C N D I J K L Z a b c d e f","548":"G Y O F H E"},E:{"2":"dB WB","260":"F H E A B C N D gB hB iB XB T Q mB nB","292":"O fB","804":"G Y"},F:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V Q","2":"E B oB pB qB rB","33":"C tB","164":"T ZB"},G:{"260":"H D yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","292":"TC xB","804":"WB uB aB"},H:{"2":"CC"},I:{"1":"M HC IC","33":"G GC aB","548":"bB DC EC FC"},J:{"1":"A","548":"F"},K:{"1":"DB Q","2":"A B","33":"C","164":"T ZB"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:4,C:"CSS Gradients"};
diff --git a/node_modules/caniuse-lite/data/features/css-grid.js b/node_modules/caniuse-lite/data/features/css-grid.js
new file mode 100644
index 0000000..2a40c6f
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-grid.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H lB","8":"E","292":"A B"},B:{"1":"J K L KB P M R S YB U","292":"C N D I"},C:{"1":"8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L kB sB","8":"Z a b c d e f g h i j k l m n o p q r s t","584":"0 1 2 3 4 5 u v w x y z","1025":"6 7"},D:{"1":"CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z a b c d e","8":"f g h i","200":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x y z AB","1025":"BB"},E:{"1":"B C N D XB T Q mB nB","2":"G Y dB WB fB","8":"O F H E A gB hB iB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e f g h oB pB qB rB T ZB tB Q","200":"i j k l m n o p q r s t u v w x"},G:{"1":"D 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB uB aB TC","8":"H xB yB zB 0B 1B 2B"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC","8":"aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"292":"A B"},O:{"1":"JC"},P:{"1":"LC MC NC OC XB PC QC","2":"KC","8":"G"},Q:{"1":"RC"},R:{"2":"SC"},S:{"1":"jB"}},B:4,C:"CSS Grid Layout (level 1)"};
diff --git a/node_modules/caniuse-lite/data/features/css-hanging-punctuation.js b/node_modules/caniuse-lite/data/features/css-hanging-punctuation.js
new file mode 100644
index 0000000..0d3c8e3
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-hanging-punctuation.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"2":"C N D I J K L KB P M R S YB U"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"A B C N D XB T Q mB nB","2":"G Y O F H E dB WB fB gB hB iB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"1":"D 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB 0B 1B"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"2":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:5,C:"CSS hanging-punctuation"};
diff --git a/node_modules/caniuse-lite/data/features/css-has.js b/node_modules/caniuse-lite/data/features/css-has.js
new file mode 100644
index 0000000..d7d7297
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-has.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"2":"C N D I J K L KB P M R S YB U"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"2":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:5,C:":has() CSS relational pseudo-class"};
diff --git a/node_modules/caniuse-lite/data/features/css-hyphenate.js b/node_modules/caniuse-lite/data/features/css-hyphenate.js
new file mode 100644
index 0000000..b5a81cc
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-hyphenate.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"16":"O F H E A B lB"},B:{"1":"KB P M R S YB U","16":"C N D I J K L"},C:{"16":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"1":"9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","16":"0 1 2 3 4 5 6 7 8 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"16":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"16":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"16":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"16":"CC"},I:{"16":"bB G M DC EC FC GC aB HC IC"},J:{"16":"F A"},K:{"16":"A B C DB T ZB Q"},L:{"16":"U"},M:{"16":"OB"},N:{"16":"A B"},O:{"16":"JC"},P:{"16":"G KC LC MC NC OC XB PC QC"},Q:{"16":"RC"},R:{"16":"SC"},S:{"16":"jB"}},B:5,C:"CSS4 Hyphenation"};
diff --git a/node_modules/caniuse-lite/data/features/css-hyphens.js b/node_modules/caniuse-lite/data/features/css-hyphens.js
new file mode 100644
index 0000000..c404339
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-hyphens.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E lB","33":"A B"},B:{"33":"C N D I J K L","132":"KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y kB sB","33":"O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w"},D:{"1":"wB cB","2":"0 1 2 3 4 5 6 7 8 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z","132":"9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB"},E:{"2":"G Y dB WB","33":"O F H E A B C N D fB gB hB iB XB T Q mB nB"},F:{"2":"E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v oB pB qB rB T ZB tB Q","132":"0 1 2 3 4 5 6 7 8 9 w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V"},G:{"2":"WB uB","33":"H D aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"4":"JC"},P:{"1":"LC MC NC OC XB PC QC","2":"G","132":"KC"},Q:{"2":"RC"},R:{"132":"SC"},S:{"1":"jB"}},B:5,C:"CSS Hyphenation"};
diff --git a/node_modules/caniuse-lite/data/features/css-image-orientation.js b/node_modules/caniuse-lite/data/features/css-image-orientation.js
new file mode 100644
index 0000000..f70d986
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-image-orientation.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"2":"C N D I J K L KB P","257":"M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f kB sB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P","257":"M R S YB U vB wB cB"},E:{"1":"D mB nB","2":"G Y O F H E A B C N dB WB fB gB hB iB XB T Q"},F:{"1":"MB NB FB W V","2":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB oB pB qB rB T ZB tB Q"},G:{"1":"D","132":"H WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"1":"jB"}},B:4,C:"CSS3 image-orientation"};
diff --git a/node_modules/caniuse-lite/data/features/css-image-set.js b/node_modules/caniuse-lite/data/features/css-image-set.js
new file mode 100644
index 0000000..488e7bb
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-image-set.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"2":"C N D I J K L","33":"KB P M R S YB U"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"2":"G Y O F H E A B C N D I J K L Z a","33":"0 1 2 3 4 5 6 7 8 9 b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"2":"G Y dB WB fB","33":"O F H E gB hB iB","129":"A B C N D XB T Q mB nB"},F:{"2":"E B C oB pB qB rB T ZB tB Q","33":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V"},G:{"2":"WB uB aB TC","33":"H xB yB zB 0B 1B","129":"D 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G DC EC FC GC aB","33":"M HC IC"},J:{"2":"F","33":"A"},K:{"2":"A B C T ZB Q","33":"DB"},L:{"33":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"33":"JC"},P:{"33":"G KC LC MC NC OC XB PC QC"},Q:{"33":"RC"},R:{"33":"SC"},S:{"2":"jB"}},B:5,C:"CSS image-set"};
diff --git a/node_modules/caniuse-lite/data/features/css-in-out-of-range.js b/node_modules/caniuse-lite/data/features/css-in-out-of-range.js
new file mode 100644
index 0000000..0239617
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-in-out-of-range.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C","260":"N D I J K L"},C:{"1":"4 5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i kB sB","516":"0 1 2 3 j k l m n o p q r s t u v w x y z"},D:{"1":"7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G","16":"Y O F H E A B C N D","260":"6","772":"0 1 2 3 4 5 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"B C N D XB T Q mB nB","2":"G dB WB","16":"Y","772":"O F H E A fB gB hB iB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","16":"E oB","260":"B C t pB qB rB T ZB tB Q","772":"I J K L Z a b c d e f g h i j k l m n o p q r s"},G:{"1":"D 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB uB aB","772":"H TC xB yB zB 0B 1B 2B"},H:{"132":"CC"},I:{"1":"M","2":"bB DC EC FC","260":"G GC aB HC IC"},J:{"2":"F","260":"A"},K:{"1":"DB","260":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC XB PC QC","260":"G"},Q:{"1":"RC"},R:{"1":"SC"},S:{"516":"jB"}},B:5,C:":in-range and :out-of-range CSS pseudo-classes"};
diff --git a/node_modules/caniuse-lite/data/features/css-indeterminate-pseudo.js b/node_modules/caniuse-lite/data/features/css-indeterminate-pseudo.js
new file mode 100644
index 0000000..33da894
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-indeterminate-pseudo.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H lB","132":"A B","388":"E"},B:{"1":"KB P M R S YB U","132":"C N D I J K L"},C:{"1":"5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","16":"eB bB kB sB","132":"0 1 2 3 4 O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z","388":"G Y"},D:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","16":"G Y O F H E A B C N D","132":"I J K L Z a b c d e f g h i j k l m n o p q r s"},E:{"1":"B C N D XB T Q mB nB","16":"G Y O dB WB","132":"F H E A gB hB iB","388":"fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","16":"E B oB pB qB rB T ZB","132":"I J K L Z a b c d e f","516":"C tB Q"},G:{"1":"D 3B 4B 5B 6B 7B 8B 9B AC BC","16":"WB uB aB TC xB","132":"H yB zB 0B 1B 2B"},H:{"516":"CC"},I:{"1":"M","16":"bB DC EC FC IC","132":"HC","388":"G GC aB"},J:{"16":"F","132":"A"},K:{"1":"DB","16":"A B C T ZB","516":"Q"},L:{"1":"U"},M:{"1":"OB"},N:{"132":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"132":"jB"}},B:7,C:":indeterminate CSS pseudo-class"};
diff --git a/node_modules/caniuse-lite/data/features/css-initial-letter.js b/node_modules/caniuse-lite/data/features/css-initial-letter.js
new file mode 100644
index 0000000..7c6487f
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-initial-letter.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"2":"C N D I J K L KB P M R S YB U"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"2":"G Y O F H dB WB fB gB hB","4":"E","164":"A B C N D iB XB T Q mB nB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"2":"H WB uB aB TC xB yB zB","164":"D 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"2":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:5,C:"CSS Initial Letter"};
diff --git a/node_modules/caniuse-lite/data/features/css-initial-value.js b/node_modules/caniuse-lite/data/features/css-initial-value.js
new file mode 100644
index 0000000..dd03931
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-initial-value.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","33":"G Y O F H E A B C N D I J K L kB sB","164":"eB bB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"G Y O F H E A B C N D WB fB gB hB iB XB T Q mB nB","16":"dB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C oB pB qB rB T ZB tB Q"},G:{"1":"H D uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","16":"WB"},H:{"2":"CC"},I:{"1":"bB G M FC GC aB HC IC","16":"DC EC"},J:{"1":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:4,C:"CSS initial value"};
diff --git a/node_modules/caniuse-lite/data/features/css-letter-spacing.js b/node_modules/caniuse-lite/data/features/css-letter-spacing.js
new file mode 100644
index 0000000..19e8474
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-letter-spacing.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"E A B","16":"lB","132":"O F H"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","132":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j"},E:{"1":"F H E A B C N D gB hB iB XB T Q mB nB","16":"dB","132":"G Y O WB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","16":"E oB","132":"B C I J pB qB rB T ZB tB Q"},G:{"1":"H D uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","16":"WB"},H:{"2":"CC"},I:{"1":"M HC IC","16":"DC EC","132":"bB G FC GC aB"},J:{"132":"F A"},K:{"1":"DB","132":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:2,C:"letter-spacing CSS property"};
diff --git a/node_modules/caniuse-lite/data/features/css-line-clamp.js b/node_modules/caniuse-lite/data/features/css-line-clamp.js
new file mode 100644
index 0000000..14d2e4c
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-line-clamp.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"2":"C N D I J","33":"KB P M R S YB U","129":"K L"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB kB sB","33":"MB NB FB W V VB QB RB SB TB UB KB P M OB R S"},D:{"16":"G Y O F H E A B C N","33":"0 1 2 3 4 5 6 7 8 9 D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"2":"G dB WB","33":"Y O F H E A B C N D fB gB hB iB XB T Q mB nB"},F:{"2":"E B C oB pB qB rB T ZB tB Q","33":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V"},G:{"2":"WB uB aB","33":"H D TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"16":"DC EC","33":"bB G M FC GC aB HC IC"},J:{"33":"F A"},K:{"2":"A B C T ZB Q","33":"DB"},L:{"33":"U"},M:{"33":"OB"},N:{"2":"A B"},O:{"33":"JC"},P:{"33":"G KC LC MC NC OC XB PC QC"},Q:{"33":"RC"},R:{"33":"SC"},S:{"2":"jB"}},B:7,C:"CSS line-clamp"};
diff --git a/node_modules/caniuse-lite/data/features/css-logical-props.js b/node_modules/caniuse-lite/data/features/css-logical-props.js
new file mode 100644
index 0000000..ec5ce73
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-logical-props.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"2":"C N D I J K L","3588":"KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB","164":"bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u kB sB"},D:{"292":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB","2052":"vB wB cB","3588":"NB FB W V VB QB RB SB TB UB KB P M R S YB U"},E:{"292":"G Y O F H E A B C dB WB fB gB hB iB XB T","2052":"nB","3588":"N D Q mB"},F:{"2":"E B C oB pB qB rB T ZB tB Q","292":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z","3588":"AB BB CB EB GB HB IB JB X LB MB NB FB W V"},G:{"292":"H WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B","3588":"D 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"292":"bB G DC EC FC GC aB HC IC","3588":"M"},J:{"292":"F A"},K:{"2":"A B C T ZB Q","3588":"DB"},L:{"3588":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"292":"JC"},P:{"292":"G KC LC MC NC OC","3588":"XB PC QC"},Q:{"3588":"RC"},R:{"3588":"SC"},S:{"3588":"jB"}},B:5,C:"CSS Logical Properties"};
diff --git a/node_modules/caniuse-lite/data/features/css-marker-pseudo.js b/node_modules/caniuse-lite/data/features/css-marker-pseudo.js
new file mode 100644
index 0000000..be4dbe5
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-marker-pseudo.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"U","2":"C N D I J K L KB P M R S YB"},C:{"1":"MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB kB sB"},D:{"1":"U vB wB cB","2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB"},E:{"2":"G Y O F H E A B dB WB fB gB hB iB XB","129":"C N D T Q mB nB"},F:{"1":"V","2":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W oB pB qB rB T ZB tB Q"},G:{"1":"D 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB 0B 1B 2B 3B 4B"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:5,C:"CSS ::marker pseudo-element"};
diff --git a/node_modules/caniuse-lite/data/features/css-masks.js b/node_modules/caniuse-lite/data/features/css-masks.js
new file mode 100644
index 0000000..7443c80
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-masks.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"2":"C N D I J","164":"KB P M R S YB U","3138":"K","12292":"L"},C:{"1":"7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB","260":"0 1 2 3 4 5 6 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z kB sB"},D:{"164":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"2":"dB WB","164":"G Y O F H E A B C N D fB gB hB iB XB T Q mB nB"},F:{"2":"E B C oB pB qB rB T ZB tB Q","164":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V"},G:{"164":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"164":"M HC IC","676":"bB G DC EC FC GC aB"},J:{"164":"F A"},K:{"2":"A B C T ZB Q","164":"DB"},L:{"164":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"164":"JC"},P:{"164":"G KC LC MC NC OC XB PC QC"},Q:{"164":"RC"},R:{"164":"SC"},S:{"260":"jB"}},B:4,C:"CSS Masks"};
diff --git a/node_modules/caniuse-lite/data/features/css-matches-pseudo.js b/node_modules/caniuse-lite/data/features/css-matches-pseudo.js
new file mode 100644
index 0000000..dcb2a23
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-matches-pseudo.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"2":"C N D I J K L","8388":"KB P M R S YB U"},C:{"16":"eB bB kB sB","548":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB","4097":"UB KB P M OB R S"},D:{"16":"G Y O F H E A B C N D","164":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB","196":"JB X LB","8388":"MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"2":"G dB WB","16":"Y","164":"O F H fB gB hB","260":"E A B C N iB XB T Q mB","3073":"D nB"},F:{"2":"E B C oB pB qB rB T ZB tB Q","164":"0 1 2 3 4 5 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z","196":"6 7 8","8388":"9 AB BB CB EB GB HB IB JB X LB MB NB FB W V"},G:{"16":"WB uB aB TC xB","164":"H yB zB","260":"0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","3073":"D"},H:{"2":"CC"},I:{"16":"bB DC EC FC","164":"G M GC aB HC IC"},J:{"16":"F","164":"A"},K:{"2":"A B C T ZB Q","164":"DB"},L:{"8388":"U"},M:{"4097":"OB"},N:{"2":"A B"},O:{"164":"JC"},P:{"164":"G KC LC MC NC OC XB PC QC"},Q:{"8388":"RC"},R:{"164":"SC"},S:{"548":"jB"}},B:5,C:":is() CSS pseudo-class"};
diff --git a/node_modules/caniuse-lite/data/features/css-math-functions.js b/node_modules/caniuse-lite/data/features/css-math-functions.js
new file mode 100644
index 0000000..c810c62
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-math-functions.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"1":"RB SB TB UB KB P M OB R S","2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB kB sB"},D:{"1":"KB P M R S YB U vB wB cB","2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB"},E:{"1":"D mB nB","2":"G Y O F H E A B dB WB fB gB hB iB XB","132":"C N T Q"},F:{"1":"X LB MB NB FB W V","2":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB oB pB qB rB T ZB tB Q"},G:{"1":"D BC","2":"H WB uB aB TC xB yB zB 0B 1B 2B 3B 4B","132":"5B 6B 7B 8B 9B AC"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"QC","2":"G KC LC MC NC OC XB PC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:5,C:"CSS math functions min(), max() and clamp()"};
diff --git a/node_modules/caniuse-lite/data/features/css-media-interaction.js b/node_modules/caniuse-lite/data/features/css-media-interaction.js
new file mode 100644
index 0000000..d876173
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-media-interaction.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u"},E:{"1":"E A B C N D iB XB T Q mB nB","2":"G Y O F H dB WB fB gB hB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e f g h oB pB qB rB T ZB tB Q"},G:{"1":"D 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC XB PC QC","2":"G"},Q:{"1":"RC"},R:{"1":"SC"},S:{"2":"jB"}},B:5,C:"Media Queries: interaction media features"};
diff --git a/node_modules/caniuse-lite/data/features/css-media-resolution.js b/node_modules/caniuse-lite/data/features/css-media-resolution.js
new file mode 100644
index 0000000..5fc1827
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-media-resolution.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H lB","132":"E A B"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB","260":"G Y O F H E A B C N D I kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","548":"G Y O F H E A B C N D I J K L Z a b c d e f g h i"},E:{"2":"dB WB","548":"G Y O F H E A B C N D fB gB hB iB XB T Q mB nB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V Q","2":"E","548":"B C oB pB qB rB T ZB tB"},G:{"16":"WB","548":"H D uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"132":"CC"},I:{"1":"M HC IC","16":"DC EC","548":"bB G FC GC aB"},J:{"548":"F A"},K:{"1":"DB Q","548":"A B C T ZB"},L:{"1":"U"},M:{"1":"OB"},N:{"132":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:2,C:"Media Queries: resolution feature"};
diff --git a/node_modules/caniuse-lite/data/features/css-media-scripting.js b/node_modules/caniuse-lite/data/features/css-media-scripting.js
new file mode 100644
index 0000000..cceafb2
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-media-scripting.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"16":"C N D I J K L KB P M R S YB U"},C:{"2":"0 1 2 3 4 5 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z kB sB","16":"6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U","16":"vB wB cB"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"2":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:5,C:"Media Queries: scripting media feature"};
diff --git a/node_modules/caniuse-lite/data/features/css-mediaqueries.js b/node_modules/caniuse-lite/data/features/css-mediaqueries.js
new file mode 100644
index 0000000..9b473e8
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-mediaqueries.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"8":"O F H lB","129":"E A B"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB","2":"eB bB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","129":"G Y O F H E A B C N D I J K L Z a b c d e f"},E:{"1":"F H E A B C N D gB hB iB XB T Q mB nB","129":"G Y O fB","388":"dB WB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q","2":"E"},G:{"1":"H D yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","129":"WB uB aB TC xB"},H:{"1":"CC"},I:{"1":"M HC IC","129":"bB G DC EC FC GC aB"},J:{"1":"F A"},K:{"1":"A B C DB T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"129":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:2,C:"CSS3 Media Queries"};
diff --git a/node_modules/caniuse-lite/data/features/css-mixblendmode.js b/node_modules/caniuse-lite/data/features/css-mixblendmode.js
new file mode 100644
index 0000000..76e536c
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-mixblendmode.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z a b c d e f g h i","194":"j k l m n o p q r s t u"},E:{"2":"G Y O F dB WB fB gB","260":"H E A B C N D hB iB XB T Q mB nB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e f g h i oB pB qB rB T ZB tB Q"},G:{"2":"WB uB aB TC xB yB","260":"H D zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC XB PC QC","2":"G"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:4,C:"Blending of HTML/SVG elements"};
diff --git a/node_modules/caniuse-lite/data/features/css-motion-paths.js b/node_modules/caniuse-lite/data/features/css-motion-paths.js
new file mode 100644
index 0000000..2652a41
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-motion-paths.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"1":"V VB QB RB SB TB UB KB P M OB R S","2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w","194":"x y z"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e f g h i j oB pB qB rB T ZB tB Q","194":"k l m"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC XB PC QC","2":"G"},Q:{"1":"RC"},R:{"1":"SC"},S:{"2":"jB"}},B:5,C:"CSS Motion Path"};
diff --git a/node_modules/caniuse-lite/data/features/css-namespaces.js b/node_modules/caniuse-lite/data/features/css-namespaces.js
new file mode 100644
index 0000000..e8a5ed5
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-namespaces.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"E A B","2":"O F H lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"G Y O F H E A B C N D fB gB hB iB XB T Q mB nB","16":"dB WB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"1":"H D aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","16":"WB uB"},H:{"1":"CC"},I:{"1":"bB G M DC EC FC GC aB HC IC"},J:{"1":"F A"},K:{"1":"A B C DB T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:2,C:"CSS namespaces"};
diff --git a/node_modules/caniuse-lite/data/features/css-not-sel-list.js b/node_modules/caniuse-lite/data/features/css-not-sel-list.js
new file mode 100644
index 0000000..f97b082
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-not-sel-list.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"2":"C N D I J K L P M R S YB U","16":"KB"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB kB sB","16":"R S"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U","16":"vB wB cB"},E:{"1":"E A B C N D iB XB T Q mB nB","2":"G Y O F H dB WB fB gB hB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"1":"D 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"2":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:5,C:"selector list argument of :not()"};
diff --git a/node_modules/caniuse-lite/data/features/css-nth-child-of.js b/node_modules/caniuse-lite/data/features/css-nth-child-of.js
new file mode 100644
index 0000000..aa74463
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-nth-child-of.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"2":"C N D I J K L KB P M R S YB U"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"E A B C N D iB XB T Q mB nB","2":"G Y O F H dB WB fB gB hB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"1":"D 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"2":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:7,C:"selector list argument of :nth-child and :nth-last-child CSS pseudo-classes"};
diff --git a/node_modules/caniuse-lite/data/features/css-opacity.js b/node_modules/caniuse-lite/data/features/css-opacity.js
new file mode 100644
index 0000000..e1b483c
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-opacity.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"E A B","4":"O F H lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"1":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"1":"CC"},I:{"1":"bB G M DC EC FC GC aB HC IC"},J:{"1":"F A"},K:{"1":"A B C DB T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:2,C:"CSS3 Opacity"};
diff --git a/node_modules/caniuse-lite/data/features/css-optional-pseudo.js b/node_modules/caniuse-lite/data/features/css-optional-pseudo.js
new file mode 100644
index 0000000..3e4f534
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-optional-pseudo.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"A B","2":"O F H E lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","16":"G Y O F H E A B C N D"},E:{"1":"Y O F H E A B C N D fB gB hB iB XB T Q mB nB","2":"G dB WB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","16":"E oB","132":"B C pB qB rB T ZB tB Q"},G:{"1":"H D TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB uB aB"},H:{"132":"CC"},I:{"1":"bB G M FC GC aB HC IC","16":"DC EC"},J:{"1":"F A"},K:{"1":"DB","132":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:7,C:":optional CSS pseudo-class"};
diff --git a/node_modules/caniuse-lite/data/features/css-overflow-anchor.js b/node_modules/caniuse-lite/data/features/css-overflow-anchor.js
new file mode 100644
index 0000000..43d82a7
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-overflow-anchor.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"1":"X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB kB sB"},D:{"1":"AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w oB pB qB rB T ZB tB Q"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"KC LC MC NC OC XB PC QC","2":"G"},Q:{"2":"RC"},R:{"1":"SC"},S:{"2":"jB"}},B:5,C:"CSS overflow-anchor (Scroll Anchoring)"};
diff --git a/node_modules/caniuse-lite/data/features/css-overflow.js b/node_modules/caniuse-lite/data/features/css-overflow.js
new file mode 100644
index 0000000..e77a73d
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-overflow.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"388":"O F H E A B lB"},B:{"260":"KB P M R S YB U","388":"C N D I J K L"},C:{"260":"PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","388":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB kB sB"},D:{"260":"MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","388":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB"},E:{"260":"D mB nB","388":"G Y O F H E A B C N dB WB fB gB hB iB XB T Q"},F:{"260":"9 AB BB CB EB GB HB IB JB X LB MB NB FB W V","388":"0 1 2 3 4 5 6 7 8 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z oB pB qB rB T ZB tB Q"},G:{"260":"D BC","388":"H WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC"},H:{"388":"CC"},I:{"388":"bB G M DC EC FC GC aB HC IC"},J:{"388":"F A"},K:{"388":"A B C DB T ZB Q"},L:{"260":"U"},M:{"260":"OB"},N:{"388":"A B"},O:{"388":"JC"},P:{"388":"G KC LC MC NC OC XB PC QC"},Q:{"388":"RC"},R:{"388":"SC"},S:{"388":"jB"}},B:5,C:"CSS overflow property"};
diff --git a/node_modules/caniuse-lite/data/features/css-overscroll-behavior.js b/node_modules/caniuse-lite/data/features/css-overscroll-behavior.js
new file mode 100644
index 0000000..6852ba8
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-overscroll-behavior.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E lB","132":"A B"},B:{"1":"KB P M R S YB U","132":"C N D I J K","516":"L"},C:{"1":"DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB kB sB"},D:{"1":"JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB","260":"HB IB"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"1":"6 7 8 9 AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"0 1 2 3 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z oB pB qB rB T ZB tB Q","260":"4 5"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"1":"U"},M:{"2":"OB"},N:{"132":"A B"},O:{"2":"JC"},P:{"1":"NC OC XB PC QC","2":"G KC LC MC"},Q:{"1":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:7,C:"CSS overscroll-behavior"};
diff --git a/node_modules/caniuse-lite/data/features/css-page-break.js b/node_modules/caniuse-lite/data/features/css-page-break.js
new file mode 100644
index 0000000..6e2d975
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-page-break.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"388":"A B","900":"O F H E lB"},B:{"388":"C N D I J K L","900":"KB P M R S YB U"},C:{"772":"JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","900":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB kB sB"},D:{"900":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"772":"A","900":"G Y O F H E B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"16":"E oB","129":"B C pB qB rB T ZB tB Q","900":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V"},G:{"900":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"129":"CC"},I:{"900":"bB G M DC EC FC GC aB HC IC"},J:{"900":"F A"},K:{"129":"A B C T ZB Q","900":"DB"},L:{"900":"U"},M:{"900":"OB"},N:{"388":"A B"},O:{"900":"JC"},P:{"900":"G KC LC MC NC OC XB PC QC"},Q:{"900":"RC"},R:{"900":"SC"},S:{"900":"jB"}},B:2,C:"CSS page-break properties"};
diff --git a/node_modules/caniuse-lite/data/features/css-paged-media.js b/node_modules/caniuse-lite/data/features/css-paged-media.js
new file mode 100644
index 0000000..71739df
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-paged-media.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F lB","132":"H E A B"},B:{"1":"KB P M R S YB U","132":"C N D I J K L"},C:{"2":"eB bB G Y O F H E A B C N D I J K L kB sB","132":"0 1 2 3 4 5 6 7 8 9 Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","16":"G Y O F H E A B C N D"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","132":"E B C oB pB qB rB T ZB tB Q"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"16":"CC"},I:{"16":"bB G M DC EC FC GC aB HC IC"},J:{"16":"F A"},K:{"16":"A B C T ZB Q","258":"DB"},L:{"1":"U"},M:{"132":"OB"},N:{"258":"A B"},O:{"258":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"132":"jB"}},B:5,C:"CSS Paged Media (@page)"};
diff --git a/node_modules/caniuse-lite/data/features/css-paint-api.js b/node_modules/caniuse-lite/data/features/css-paint-api.js
new file mode 100644
index 0000000..e59004d
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-paint-api.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"1":"JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB"},E:{"2":"G Y O F H E A B C dB WB fB gB hB iB XB T","194":"N D Q mB nB"},F:{"1":"6 7 8 9 AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"0 1 2 3 4 5 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z oB pB qB rB T ZB tB Q"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"1":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:5,C:"CSS Paint API"};
diff --git a/node_modules/caniuse-lite/data/features/css-placeholder-shown.js b/node_modules/caniuse-lite/data/features/css-placeholder-shown.js
new file mode 100644
index 0000000..9839767
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-placeholder-shown.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E lB","292":"A B"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"1":"5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB kB sB","164":"0 1 2 3 4 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z"},D:{"1":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"E A B C N D iB XB T Q mB nB","2":"G Y O F H dB WB fB gB hB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e f g h i j k l m n oB pB qB rB T ZB tB Q"},G:{"1":"D 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC XB PC QC","2":"G"},Q:{"1":"RC"},R:{"1":"SC"},S:{"164":"jB"}},B:5,C:":placeholder-shown CSS pseudo-class"};
diff --git a/node_modules/caniuse-lite/data/features/css-placeholder.js b/node_modules/caniuse-lite/data/features/css-placeholder.js
new file mode 100644
index 0000000..29a9977
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-placeholder.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","36":"C N D I J K L"},C:{"1":"5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L kB sB","33":"0 1 2 3 4 Z a b c d e f g h i j k l m n o p q r s t u v w x y z"},D:{"1":"BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","36":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB"},E:{"1":"B C N D XB T Q mB nB","2":"G dB WB","36":"Y O F H E A fB gB hB iB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C oB pB qB rB T ZB tB Q","36":"I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x"},G:{"1":"D 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB uB","36":"H aB TC xB yB zB 0B 1B 2B"},H:{"2":"CC"},I:{"1":"M","36":"bB G DC EC FC GC aB HC IC"},J:{"36":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"36":"A B"},O:{"1":"JC"},P:{"1":"MC NC OC XB PC QC","36":"G KC LC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"33":"jB"}},B:5,C:"::placeholder CSS pseudo-element"};
diff --git a/node_modules/caniuse-lite/data/features/css-read-only-write.js b/node_modules/caniuse-lite/data/features/css-read-only-write.js
new file mode 100644
index 0000000..e2b022f
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-read-only-write.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"N D I J K L KB P M R S YB U","2":"C"},C:{"1":"UB KB P M OB R S","16":"eB","33":"0 1 2 3 4 5 6 7 8 9 bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","16":"G Y O F H E A B C N D","132":"I J K L Z a b c d e f g h i j k l m n o p"},E:{"1":"E A B C N D iB XB T Q mB nB","16":"dB WB","132":"G Y O F H fB gB hB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","16":"E B oB pB qB rB T","132":"C I J K L Z a b c ZB tB Q"},G:{"1":"D 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","16":"WB uB","132":"H aB TC xB yB zB"},H:{"2":"CC"},I:{"1":"M","16":"DC EC","132":"bB G FC GC aB HC IC"},J:{"1":"A","132":"F"},K:{"1":"DB","2":"A B T","132":"C ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"33":"jB"}},B:1,C:"CSS :read-only and :read-write selectors"};
diff --git a/node_modules/caniuse-lite/data/features/css-rebeccapurple.js b/node_modules/caniuse-lite/data/features/css-rebeccapurple.js
new file mode 100644
index 0000000..4753018
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-rebeccapurple.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A lB","132":"B"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r"},E:{"1":"F H E A B C N D hB iB XB T Q mB nB","2":"G Y O dB WB fB","16":"gB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e oB pB qB rB T ZB tB Q"},G:{"1":"H D zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB uB aB TC xB yB"},H:{"2":"CC"},I:{"1":"M HC IC","2":"bB G DC EC FC GC aB"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:5,C:"Rebeccapurple color"};
diff --git a/node_modules/caniuse-lite/data/features/css-reflections.js b/node_modules/caniuse-lite/data/features/css-reflections.js
new file mode 100644
index 0000000..c0be8d3
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-reflections.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"2":"C N D I J K L","33":"KB P M R S YB U"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"33":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"2":"dB WB","33":"G Y O F H E A B C N D fB gB hB iB XB T Q mB nB"},F:{"2":"E B C oB pB qB rB T ZB tB Q","33":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V"},G:{"33":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"33":"bB G M DC EC FC GC aB HC IC"},J:{"33":"F A"},K:{"2":"A B C T ZB Q","33":"DB"},L:{"33":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"33":"G KC LC MC NC OC XB PC QC"},Q:{"33":"RC"},R:{"33":"SC"},S:{"2":"jB"}},B:7,C:"CSS Reflections"};
diff --git a/node_modules/caniuse-lite/data/features/css-regions.js b/node_modules/caniuse-lite/data/features/css-regions.js
new file mode 100644
index 0000000..94c56be
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-regions.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E lB","420":"A B"},B:{"2":"KB P M R S YB U","420":"C N D I J K L"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","36":"I J K L","66":"Z a b c d e f g h i j k l m n o"},E:{"2":"G Y O C N D dB WB fB T Q mB nB","33":"F H E A B gB hB iB XB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"2":"D WB uB aB TC xB 5B 6B 7B 8B 9B AC BC","33":"H yB zB 0B 1B 2B 3B 4B"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"2":"U"},M:{"2":"OB"},N:{"420":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:5,C:"CSS Regions"};
diff --git a/node_modules/caniuse-lite/data/features/css-repeating-gradients.js b/node_modules/caniuse-lite/data/features/css-repeating-gradients.js
new file mode 100644
index 0000000..9e4896c
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-repeating-gradients.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"A B","2":"O F H E lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB kB","33":"G Y O F H E A B C N D I sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E","33":"A B C N D I J K L Z a b c d e f"},E:{"1":"F H E A B C N D gB hB iB XB T Q mB nB","2":"G Y dB WB","33":"O fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V Q","2":"E B oB pB qB rB","33":"C tB","36":"T ZB"},G:{"1":"H D yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB uB aB","33":"TC xB"},H:{"2":"CC"},I:{"1":"M HC IC","2":"bB DC EC FC","33":"G GC aB"},J:{"1":"A","2":"F"},K:{"1":"DB Q","2":"A B","33":"C","36":"T ZB"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:4,C:"CSS Repeating Gradients"};
diff --git a/node_modules/caniuse-lite/data/features/css-resize.js b/node_modules/caniuse-lite/data/features/css-resize.js
new file mode 100644
index 0000000..8228a31
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-resize.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB kB sB","33":"G"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"G Y O F H E A B C N D fB gB hB iB XB T Q mB nB","2":"dB WB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C oB pB qB rB T ZB tB","132":"Q"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC XB PC QC","2":"G"},Q:{"1":"RC"},R:{"1":"SC"},S:{"2":"jB"}},B:4,C:"CSS resize property"};
diff --git a/node_modules/caniuse-lite/data/features/css-revert-value.js b/node_modules/caniuse-lite/data/features/css-revert-value.js
new file mode 100644
index 0000000..245f3ef
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-revert-value.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"S YB U","2":"C N D I J K L KB P M R"},C:{"1":"LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X kB sB"},D:{"1":"S YB U vB wB cB","2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R"},E:{"1":"A B C N D iB XB T Q mB nB","2":"G Y O F H E dB WB fB gB hB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"1":"D 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB 0B"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:5,C:"CSS revert value"};
diff --git a/node_modules/caniuse-lite/data/features/css-rrggbbaa.js b/node_modules/caniuse-lite/data/features/css-rrggbbaa.js
new file mode 100644
index 0000000..230cf1e
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-rrggbbaa.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"0 1 2 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z kB sB"},D:{"1":"GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 1 2 3 4 5 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z","194":"6 7 8 9 AB BB CB DB EB PB"},E:{"1":"A B C N D XB T Q mB nB","2":"G Y O F H E dB WB fB gB hB iB"},F:{"1":"6 7 8 9 AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e f g h i j k l m n o p q r s oB pB qB rB T ZB tB Q","194":"0 1 2 3 4 5 t u v w x y z"},G:{"1":"D 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB 0B 1B"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"NC OC XB PC QC","2":"G","194":"KC LC MC"},Q:{"2":"RC"},R:{"194":"SC"},S:{"2":"jB"}},B:7,C:"#rrggbbaa hex color notation"};
diff --git a/node_modules/caniuse-lite/data/features/css-scroll-behavior.js b/node_modules/caniuse-lite/data/features/css-scroll-behavior.js
new file mode 100644
index 0000000..310f2b6
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-scroll-behavior.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"2":"C N D I J K L","129":"KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p kB sB"},D:{"2":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u","129":"PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","450":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"2":"E B C I J K L Z a b c d e f g h oB pB qB rB T ZB tB Q","129":"2 3 4 5 6 7 8 9 AB BB CB EB GB HB IB JB X LB MB NB FB W V","450":"0 1 i j k l m n o p q r s t u v w x y z"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"129":"JC"},P:{"1":"NC OC XB PC QC","2":"G KC LC MC"},Q:{"129":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:5,C:"CSSOM Scroll-behavior"};
diff --git a/node_modules/caniuse-lite/data/features/css-scrollbar.js b/node_modules/caniuse-lite/data/features/css-scrollbar.js
new file mode 100644
index 0000000..3e3c670
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-scrollbar.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"132":"O F H E A B lB"},B:{"2":"C N D I J K L","292":"KB P M R S YB U"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB kB sB","3074":"HB","4100":"IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S"},D:{"292":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"16":"G Y dB WB","292":"O F H E A B C N D fB gB hB iB XB T Q mB nB"},F:{"2":"E B C oB pB qB rB T ZB tB Q","292":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V"},G:{"16":"WB uB aB TC xB","292":"yB","804":"H D zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"16":"DC EC","292":"bB G M FC GC aB HC IC"},J:{"292":"F A"},K:{"2":"A B C T ZB Q","292":"DB"},L:{"292":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"292":"JC"},P:{"292":"G KC LC MC NC OC XB PC QC"},Q:{"292":"RC"},R:{"292":"SC"},S:{"2":"jB"}},B:7,C:"CSS scrollbar styling"};
diff --git a/node_modules/caniuse-lite/data/features/css-sel2.js b/node_modules/caniuse-lite/data/features/css-sel2.js
new file mode 100644
index 0000000..6d7b6fe
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-sel2.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"F H E A B","2":"lB","8":"O"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"1":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"1":"CC"},I:{"1":"bB G M DC EC FC GC aB HC IC"},J:{"1":"F A"},K:{"1":"A B C DB T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:2,C:"CSS 2.1 selectors"};
diff --git a/node_modules/caniuse-lite/data/features/css-sel3.js b/node_modules/caniuse-lite/data/features/css-sel3.js
new file mode 100644
index 0000000..6947a17
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-sel3.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"E A B","2":"lB","8":"O","132":"F H"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB","2":"eB bB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"G Y O F H E A B C N D WB fB gB hB iB XB T Q mB nB","2":"dB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q","2":"E"},G:{"1":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"1":"CC"},I:{"1":"bB G M DC EC FC GC aB HC IC"},J:{"1":"F A"},K:{"1":"A B C DB T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:2,C:"CSS3 selectors"};
diff --git a/node_modules/caniuse-lite/data/features/css-selection.js b/node_modules/caniuse-lite/data/features/css-selection.js
new file mode 100644
index 0000000..233efa1
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-selection.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"E A B","2":"O F H lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","33":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q","2":"E"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"M HC IC","2":"bB G DC EC FC GC aB"},J:{"1":"A","2":"F"},K:{"1":"C DB ZB Q","16":"A B T"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"33":"jB"}},B:5,C:"::selection CSS pseudo-element"};
diff --git a/node_modules/caniuse-lite/data/features/css-shapes.js b/node_modules/caniuse-lite/data/features/css-shapes.js
new file mode 100644
index 0000000..44a47a8
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-shapes.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"1":"GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"0 1 2 3 4 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z kB sB","322":"5 6 7 8 9 AB BB CB DB EB PB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n","194":"o p q"},E:{"1":"B C N D XB T Q mB nB","2":"G Y O F dB WB fB gB","33":"H E A hB iB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d oB pB qB rB T ZB tB Q"},G:{"1":"D 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB uB aB TC xB yB","33":"H zB 0B 1B 2B"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"2":"jB"}},B:4,C:"CSS Shapes Level 1"};
diff --git a/node_modules/caniuse-lite/data/features/css-snappoints.js b/node_modules/caniuse-lite/data/features/css-snappoints.js
new file mode 100644
index 0000000..e0ddfba
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-snappoints.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E lB","6308":"A","6436":"B"},B:{"1":"KB P M R S YB U","6436":"C N D I J K L"},C:{"1":"MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s kB sB","2052":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB"},D:{"1":"NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB","8258":"X LB MB"},E:{"1":"B C N D T Q mB nB","2":"G Y O F H dB WB fB gB hB","3108":"E A iB XB"},F:{"1":"IB JB X LB MB NB FB W V","2":"0 1 2 3 4 5 6 7 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z oB pB qB rB T ZB tB Q","8258":"8 9 AB BB CB EB GB HB"},G:{"1":"D 4B 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB","3108":"0B 1B 2B 3B"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"XB PC QC","2":"G KC LC MC NC OC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2052":"jB"}},B:4,C:"CSS Scroll Snap"};
diff --git a/node_modules/caniuse-lite/data/features/css-sticky.js b/node_modules/caniuse-lite/data/features/css-sticky.js
new file mode 100644
index 0000000..ba9b094
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-sticky.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"2":"C N D I","1028":"KB P M R S YB U","4100":"J K L"},C:{"1":"DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f kB sB","194":"g h i j k l","516":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x y z AB BB CB"},D:{"2":"0 1 2 3 4 5 G Y O F H E A B C N D I J K L Z a b c r s t u v w x y z","322":"6 7 8 9 d e f g h i j k l m n o p q","1028":"AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"N D mB nB","2":"G Y O dB WB fB","33":"H E A B C hB iB XB T Q","2084":"F gB"},F:{"2":"E B C I J K L Z a b c d e f g h i j k l m n o p q r s oB pB qB rB T ZB tB Q","322":"t u v","1028":"0 1 2 3 4 5 6 7 8 9 w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V"},G:{"1":"D 8B 9B AC BC","2":"WB uB aB TC","33":"H zB 0B 1B 2B 3B 4B 5B 6B 7B","2084":"xB yB"},H:{"2":"CC"},I:{"2":"bB G DC EC FC GC aB HC IC","1028":"M"},J:{"2":"F A"},K:{"2":"A B C T ZB Q","1028":"DB"},L:{"1028":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1028":"JC"},P:{"1":"LC MC NC OC XB PC QC","2":"G KC"},Q:{"1028":"RC"},R:{"2":"SC"},S:{"516":"jB"}},B:5,C:"CSS position:sticky"};
diff --git a/node_modules/caniuse-lite/data/features/css-subgrid.js b/node_modules/caniuse-lite/data/features/css-subgrid.js
new file mode 100644
index 0000000..c49ec1d
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-subgrid.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"2":"C N D I J K L KB P M R S YB U"},C:{"1":"W V VB QB RB SB TB UB KB P M OB R S","2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB kB sB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"2":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:5,C:"CSS Subgrid"};
diff --git a/node_modules/caniuse-lite/data/features/css-supports-api.js b/node_modules/caniuse-lite/data/features/css-supports-api.js
new file mode 100644
index 0000000..58aef5a
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-supports-api.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","260":"C N D I J K L"},C:{"1":"9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z kB sB","66":"a b","260":"0 1 2 3 4 5 6 7 8 c d e f g h i j k l m n o p q r s t u v w x y z"},D:{"1":"PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z a b c d e f g h","260":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB DB EB"},E:{"1":"E A B C N D iB XB T Q mB nB","2":"G Y O F H dB WB fB gB hB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C oB pB qB rB T ZB tB","132":"Q"},G:{"1":"D 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB"},H:{"132":"CC"},I:{"1":"M HC IC","2":"bB G DC EC FC GC aB"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB","132":"Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:4,C:"CSS.supports() API"};
diff --git a/node_modules/caniuse-lite/data/features/css-table.js b/node_modules/caniuse-lite/data/features/css-table.js
new file mode 100644
index 0000000..ba1c97b
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-table.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"H E A B","2":"O F lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB","132":"eB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"1":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"1":"CC"},I:{"1":"bB G M DC EC FC GC aB HC IC"},J:{"1":"F A"},K:{"1":"A B C DB T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:2,C:"CSS Table display"};
diff --git a/node_modules/caniuse-lite/data/features/css-text-align-last.js b/node_modules/caniuse-lite/data/features/css-text-align-last.js
new file mode 100644
index 0000000..63ae6df
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-text-align-last.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"132":"O F H E A B lB"},B:{"1":"KB P M R S YB U","4":"C N D I J K L"},C:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B kB sB","33":"0 1 2 C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z"},D:{"1":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o","322":"0 p q r s t u v w x y z"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b oB pB qB rB T ZB tB Q","578":"c d e f g h i j k l m n"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"132":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC XB PC QC","2":"G"},Q:{"2":"RC"},R:{"1":"SC"},S:{"33":"jB"}},B:5,C:"CSS3 text-align-last"};
diff --git a/node_modules/caniuse-lite/data/features/css-text-indent.js b/node_modules/caniuse-lite/data/features/css-text-indent.js
new file mode 100644
index 0000000..93b66b1
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-text-indent.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"132":"O F H E A B lB"},B:{"132":"C N D I J K L","388":"KB P M R S YB U"},C:{"132":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"132":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r","388":"0 1 2 3 4 5 6 7 8 9 s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"132":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"132":"E B C I J K L Z a b c d e oB pB qB rB T ZB tB Q","388":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V"},G:{"132":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"132":"CC"},I:{"132":"bB G M DC EC FC GC aB HC IC"},J:{"132":"F A"},K:{"132":"A B C T ZB Q","388":"DB"},L:{"388":"U"},M:{"132":"OB"},N:{"132":"A B"},O:{"132":"JC"},P:{"132":"G","388":"KC LC MC NC OC XB PC QC"},Q:{"388":"RC"},R:{"388":"SC"},S:{"132":"jB"}},B:5,C:"CSS text-indent"};
diff --git a/node_modules/caniuse-lite/data/features/css-text-justify.js b/node_modules/caniuse-lite/data/features/css-text-justify.js
new file mode 100644
index 0000000..3f3e85a
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-text-justify.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"16":"O F lB","132":"H E A B"},B:{"132":"C N D I J K L","322":"KB P M R S YB U"},C:{"2":"0 1 2 3 4 5 6 7 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z kB sB","1025":"9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","1602":"8"},D:{"2":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w","322":"0 1 2 3 4 5 6 7 8 9 x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"2":"E B C I J K L Z a b c d e f g h i j oB pB qB rB T ZB tB Q","322":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G DC EC FC GC aB HC IC","322":"M"},J:{"2":"F A"},K:{"2":"A B C T ZB Q","322":"DB"},L:{"322":"U"},M:{"1025":"OB"},N:{"132":"A B"},O:{"2":"JC"},P:{"2":"G","322":"KC LC MC NC OC XB PC QC"},Q:{"322":"RC"},R:{"322":"SC"},S:{"2":"jB"}},B:5,C:"CSS text-justify"};
diff --git a/node_modules/caniuse-lite/data/features/css-text-orientation.js b/node_modules/caniuse-lite/data/features/css-text-orientation.js
new file mode 100644
index 0000000..b2cf2e8
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-text-orientation.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r kB sB","194":"s t u"},D:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 1 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"2":"G Y O F H E dB WB fB gB hB iB","16":"A","33":"B C N D XB T Q mB nB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e f g h i j k l m n o oB pB qB rB T ZB tB Q"},G:{"1":"D 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB 0B 1B"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC XB PC QC","2":"G"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:4,C:"CSS text-orientation"};
diff --git a/node_modules/caniuse-lite/data/features/css-text-spacing.js b/node_modules/caniuse-lite/data/features/css-text-spacing.js
new file mode 100644
index 0000000..53038db
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-text-spacing.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F lB","161":"H E A B"},B:{"2":"KB P M R S YB U","161":"C N D I J K L"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"2":"U"},M:{"2":"OB"},N:{"16":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:5,C:"CSS Text 4 text-spacing"};
diff --git a/node_modules/caniuse-lite/data/features/css-textshadow.js b/node_modules/caniuse-lite/data/features/css-textshadow.js
new file mode 100644
index 0000000..67004b0
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-textshadow.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E lB","129":"A B"},B:{"1":"KB P M R S YB U","129":"C N D I J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB","2":"eB bB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"G Y O F H E A B C N D fB gB hB iB XB T Q mB nB","260":"dB WB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q","2":"E"},G:{"1":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"4":"CC"},I:{"1":"bB G M DC EC FC GC aB HC IC"},J:{"1":"A","4":"F"},K:{"1":"A B C DB T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"129":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:4,C:"CSS3 Text-shadow"};
diff --git a/node_modules/caniuse-lite/data/features/css-touch-action-2.js b/node_modules/caniuse-lite/data/features/css-touch-action-2.js
new file mode 100644
index 0000000..38bac11
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-touch-action-2.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E lB","132":"B","164":"A"},B:{"1":"KB P M R S YB U","132":"C N D I J K L"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"1":"AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 1 2 3 4 5 6 7 8 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z","260":"9"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v oB pB qB rB T ZB tB Q","260":"w"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"1":"U"},M:{"2":"OB"},N:{"132":"B","164":"A"},O:{"2":"JC"},P:{"1":"KC LC MC NC OC XB PC QC","16":"G"},Q:{"2":"RC"},R:{"1":"SC"},S:{"2":"jB"}},B:5,C:"CSS touch-action level 2 values"};
diff --git a/node_modules/caniuse-lite/data/features/css-touch-action.js b/node_modules/caniuse-lite/data/features/css-touch-action.js
new file mode 100644
index 0000000..83031e3
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-touch-action.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"B","2":"O F H E lB","289":"A"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i kB sB","194":"0 1 2 3 4 5 j k l m n o p q r s t u v w x y z","1025":"6 7 8 9 AB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c oB pB qB rB T ZB tB Q"},G:{"1":"D 8B 9B AC BC","2":"H WB uB aB TC xB yB zB 0B","516":"1B 2B 3B 4B 5B 6B 7B"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"B","289":"A"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"194":"jB"}},B:2,C:"CSS touch-action property"};
diff --git a/node_modules/caniuse-lite/data/features/css-transitions.js b/node_modules/caniuse-lite/data/features/css-transitions.js
new file mode 100644
index 0000000..4bfb91f
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-transitions.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"A B","2":"O F H E lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB kB sB","33":"Y O F H E A B C N D I","164":"G"},D:{"1":"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","33":"G Y O F H E A B C N D I J K L Z a b c d e f"},E:{"1":"F H E A B C N D gB hB iB XB T Q mB nB","33":"O fB","164":"G Y dB WB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V Q","2":"E oB pB","33":"C","164":"B qB rB T ZB tB"},G:{"1":"H D yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","33":"xB","164":"WB uB aB TC"},H:{"2":"CC"},I:{"1":"M HC IC","33":"bB G DC EC FC GC aB"},J:{"1":"A","33":"F"},K:{"1":"DB Q","33":"C","164":"A B T ZB"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:5,C:"CSS3 Transitions"};
diff --git a/node_modules/caniuse-lite/data/features/css-unicode-bidi.js b/node_modules/caniuse-lite/data/features/css-unicode-bidi.js
new file mode 100644
index 0000000..6fee863
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-unicode-bidi.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"132":"O F H E A B lB"},B:{"1":"KB P M R S YB U","132":"C N D I J K L"},C:{"1":"4 5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","33":"0 1 2 3 K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z","132":"eB bB G Y O F H E kB sB","292":"A B C N D I J"},D:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","132":"G Y O F H E A B C N D I J","548":"0 1 K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"132":"G Y O F H dB WB fB gB hB","548":"E A B C N D iB XB T Q mB nB"},F:{"132":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"132":"H WB uB aB TC xB yB zB","548":"D 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"16":"CC"},I:{"1":"M","16":"bB G DC EC FC GC aB HC IC"},J:{"16":"F A"},K:{"16":"A B C DB T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"132":"A B"},O:{"16":"JC"},P:{"1":"KC LC MC NC OC XB PC QC","16":"G"},Q:{"16":"RC"},R:{"16":"SC"},S:{"33":"jB"}},B:4,C:"CSS unicode-bidi property"};
diff --git a/node_modules/caniuse-lite/data/features/css-unset-value.js b/node_modules/caniuse-lite/data/features/css-unset-value.js
new file mode 100644
index 0000000..1cdc87d
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-unset-value.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"N D I J K L KB P M R S YB U","2":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u"},E:{"1":"A B C N D iB XB T Q mB nB","2":"G Y O F H E dB WB fB gB hB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e f g h oB pB qB rB T ZB tB Q"},G:{"1":"D 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB 0B"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:4,C:"CSS unset value"};
diff --git a/node_modules/caniuse-lite/data/features/css-variables.js b/node_modules/caniuse-lite/data/features/css-variables.js
new file mode 100644
index 0000000..8bf0e98
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-variables.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"J K L KB P M R S YB U","2":"C N D","260":"I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k kB sB"},D:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 1 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z","194":"2"},E:{"1":"A B C N D iB XB T Q mB nB","2":"G Y O F H E dB WB fB gB hB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e f g h i j k l m n o oB pB qB rB T ZB tB Q","194":"p"},G:{"1":"D 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB 0B"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC XB PC QC","2":"G"},Q:{"2":"RC"},R:{"2":"SC"},S:{"1":"jB"}},B:4,C:"CSS Variables (Custom Properties)"};
diff --git a/node_modules/caniuse-lite/data/features/css-widows-orphans.js b/node_modules/caniuse-lite/data/features/css-widows-orphans.js
new file mode 100644
index 0000000..7c445f7
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-widows-orphans.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"A B","2":"O F lB","129":"H E"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z a b c d e"},E:{"1":"F H E A B C N D hB iB XB T Q mB nB","2":"G Y O dB WB fB gB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V Q","129":"E B oB pB qB rB T ZB tB"},G:{"1":"H D yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB uB aB TC xB"},H:{"1":"CC"},I:{"1":"M HC IC","2":"bB G DC EC FC GC aB"},J:{"2":"F A"},K:{"1":"DB Q","2":"A B C T ZB"},L:{"1":"U"},M:{"2":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"2":"jB"}},B:2,C:"CSS widows & orphans"};
diff --git a/node_modules/caniuse-lite/data/features/css-writing-mode.js b/node_modules/caniuse-lite/data/features/css-writing-mode.js
new file mode 100644
index 0000000..330f3b0
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-writing-mode.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"132":"O F H E A B lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p kB sB","322":"q r s t u"},D:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O","16":"F","33":"0 1 H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"B C N D T Q mB nB","2":"G dB WB","16":"Y","33":"O F H E A fB gB hB iB XB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C oB pB qB rB T ZB tB Q","33":"I J K L Z a b c d e f g h i j k l m n o"},G:{"1":"D 4B 5B 6B 7B 8B 9B AC BC","16":"WB uB aB","33":"H TC xB yB zB 0B 1B 2B 3B"},H:{"2":"CC"},I:{"1":"M","2":"DC EC FC","33":"bB G GC aB HC IC"},J:{"33":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"36":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC XB PC QC","33":"G"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:4,C:"CSS writing-mode property"};
diff --git a/node_modules/caniuse-lite/data/features/css-zoom.js b/node_modules/caniuse-lite/data/features/css-zoom.js
new file mode 100644
index 0000000..6717ac6
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css-zoom.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"O F lB","129":"H E A B"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"G Y O F H E A B C N D fB gB hB iB XB T Q mB nB","2":"dB WB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C oB pB qB rB T ZB tB Q"},G:{"1":"H D uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB"},H:{"2":"CC"},I:{"1":"bB G M DC EC FC GC aB HC IC"},J:{"1":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"2":"OB"},N:{"129":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"2":"jB"}},B:7,C:"CSS zoom"};
diff --git a/node_modules/caniuse-lite/data/features/css3-attr.js b/node_modules/caniuse-lite/data/features/css3-attr.js
new file mode 100644
index 0000000..5b32226
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css3-attr.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"2":"C N D I J K L KB P M R S YB U"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"2":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:4,C:"CSS3 attr() function for all properties"};
diff --git a/node_modules/caniuse-lite/data/features/css3-boxsizing.js b/node_modules/caniuse-lite/data/features/css3-boxsizing.js
new file mode 100644
index 0000000..9c4e6f4
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css3-boxsizing.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"H E A B","8":"O F lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","33":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","33":"G Y O F H E"},E:{"1":"O F H E A B C N D fB gB hB iB XB T Q mB nB","33":"G Y dB WB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q","2":"E"},G:{"1":"H D TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","33":"WB uB aB"},H:{"1":"CC"},I:{"1":"G M GC aB HC IC","33":"bB DC EC FC"},J:{"1":"A","33":"F"},K:{"1":"A B C DB T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:5,C:"CSS3 Box-sizing"};
diff --git a/node_modules/caniuse-lite/data/features/css3-colors.js b/node_modules/caniuse-lite/data/features/css3-colors.js
new file mode 100644
index 0000000..87fd8b0
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css3-colors.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"E A B","2":"O F H lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB","4":"eB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V pB qB rB T ZB tB Q","2":"E","4":"oB"},G:{"1":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"1":"CC"},I:{"1":"bB G M DC EC FC GC aB HC IC"},J:{"1":"F A"},K:{"1":"A B C DB T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:2,C:"CSS3 Colors"};
diff --git a/node_modules/caniuse-lite/data/features/css3-cursors-grab.js b/node_modules/caniuse-lite/data/features/css3-cursors-grab.js
new file mode 100644
index 0000000..6a90a0a
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css3-cursors-grab.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"I J K L KB P M R S YB U","2":"C N D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","33":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g kB sB"},D:{"1":"MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","33":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB"},E:{"1":"B C N D T Q mB nB","33":"G Y O F H E A dB WB fB gB hB iB XB"},F:{"1":"9 C AB BB CB EB GB HB IB JB X LB MB NB FB W V tB Q","2":"E B oB pB qB rB T ZB","33":"0 1 2 3 4 5 6 7 8 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"33":"F A"},K:{"2":"A B C T ZB Q","33":"DB"},L:{"1":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"33":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:3,C:"CSS grab & grabbing cursors"};
diff --git a/node_modules/caniuse-lite/data/features/css3-cursors-newer.js b/node_modules/caniuse-lite/data/features/css3-cursors-newer.js
new file mode 100644
index 0000000..8097fb1
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css3-cursors-newer.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","33":"eB bB G Y O F H E A B C N D I J K L Z a b c d kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","33":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q"},E:{"1":"E A B C N D iB XB T Q mB nB","33":"G Y O F H dB WB fB gB hB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V tB Q","2":"E B oB pB qB rB T ZB","33":"I J K L Z a b c d"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"33":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:4,C:"CSS3 Cursors: zoom-in & zoom-out"};
diff --git a/node_modules/caniuse-lite/data/features/css3-cursors.js b/node_modules/caniuse-lite/data/features/css3-cursors.js
new file mode 100644
index 0000000..376974c
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css3-cursors.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"E A B","132":"O F H lB"},B:{"1":"D I J K L KB P M R S YB U","260":"C N"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","4":"eB bB kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","4":"G"},E:{"1":"Y O F H E A B C N D fB gB hB iB XB T Q mB nB","4":"G dB WB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","260":"E B C oB pB qB rB T ZB tB Q"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F","16":"A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:4,C:"CSS3 Cursors (original values)"};
diff --git a/node_modules/caniuse-lite/data/features/css3-tabsize.js b/node_modules/caniuse-lite/data/features/css3-tabsize.js
new file mode 100644
index 0000000..9a3c254
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/css3-tabsize.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"2":"eB bB kB sB","33":"7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","164":"0 1 2 3 4 5 6 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z"},D:{"1":"0 1 2 3 4 5 6 7 8 9 w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z a","132":"b c d e f g h i j k l m n o p q r s t u v"},E:{"1":"D mB nB","2":"G Y O dB WB fB","132":"F H E A B C N gB hB iB XB T Q"},F:{"1":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E oB pB qB","132":"I J K L Z a b c d e f g h i","164":"B C rB T ZB tB Q"},G:{"1":"D BC","2":"WB uB aB TC xB","132":"H yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC"},H:{"164":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB","132":"HC IC"},J:{"132":"F A"},K:{"1":"DB","2":"A","164":"B C T ZB Q"},L:{"1":"U"},M:{"33":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"164":"jB"}},B:5,C:"CSS3 tab-size"};
diff --git a/node_modules/caniuse-lite/data/features/currentcolor.js b/node_modules/caniuse-lite/data/features/currentcolor.js
new file mode 100644
index 0000000..d74ddfb
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/currentcolor.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"E A B","2":"O F H lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"G Y O F H E A B C N D fB gB hB iB XB T Q mB nB","2":"dB WB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q","2":"E"},G:{"1":"H D uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","16":"WB"},H:{"1":"CC"},I:{"1":"bB G M DC EC FC GC aB HC IC"},J:{"1":"F A"},K:{"1":"A B C DB T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:2,C:"CSS currentColor value"};
diff --git a/node_modules/caniuse-lite/data/features/custom-elements.js b/node_modules/caniuse-lite/data/features/custom-elements.js
new file mode 100644
index 0000000..2a2fb1b
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/custom-elements.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E lB","8":"A B"},B:{"1":"KB","2":"P M R S YB U","8":"C N D I J K L"},C:{"2":"eB bB G Y O F H E A B C N D I J K L Z a b c DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB","66":"d e f g h i j","72":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x y z AB BB CB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB","2":"G Y O F H E A B C N D I J K L Z a b c d e f g P M R S YB U vB wB cB","66":"h i j k l m"},E:{"2":"G Y dB WB fB","8":"O F H E A B C N D gB hB iB XB T Q mB nB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X","2":"E B C LB MB NB FB W V oB pB qB rB T ZB tB Q","66":"I J K L Z"},G:{"2":"WB uB aB TC xB","8":"H D yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"IC","2":"bB G M DC EC FC GC aB HC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"2":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"72":"jB"}},B:7,C:"Custom Elements (deprecated V0 spec)"};
diff --git a/node_modules/caniuse-lite/data/features/custom-elementsv1.js b/node_modules/caniuse-lite/data/features/custom-elementsv1.js
new file mode 100644
index 0000000..e593f8c
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/custom-elementsv1.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E lB","8":"A B"},B:{"1":"KB P M R S YB U","8":"C N D I J K L"},C:{"1":"HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j kB sB","8":"0 1 2 3 k l m n o p q r s t u v w x y z","456":"4 5 6 7 8 9 AB BB CB","712":"DB EB PB GB"},D:{"1":"LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 1 2 3 4 5 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z","8":"6 7","132":"8 9 AB BB CB DB EB PB GB HB IB JB X"},E:{"2":"G Y O F dB WB fB gB hB","8":"H E A iB","132":"B C N D XB T Q mB nB"},F:{"1":"IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u oB pB qB rB T ZB tB Q","132":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB EB GB HB"},G:{"2":"H WB uB aB TC xB yB zB 0B 1B 2B","132":"D 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"LC MC NC OC XB PC QC","2":"G","132":"KC"},Q:{"132":"RC"},R:{"132":"SC"},S:{"8":"jB"}},B:1,C:"Custom Elements (V1)"};
diff --git a/node_modules/caniuse-lite/data/features/customevent.js b/node_modules/caniuse-lite/data/features/customevent.js
new file mode 100644
index 0000000..6383226
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/customevent.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H lB","132":"E A B"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y kB sB","132":"O F H E A"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G","16":"Y O F H N D","388":"E A B C"},E:{"1":"F H E A B C N D gB hB iB XB T Q mB nB","2":"G dB WB","16":"Y O","388":"fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V tB Q","2":"E oB pB qB rB","132":"B T ZB"},G:{"1":"H D xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"uB","16":"WB aB","388":"TC"},H:{"1":"CC"},I:{"1":"M HC IC","2":"DC EC FC","388":"bB G GC aB"},J:{"1":"A","388":"F"},K:{"1":"C DB Q","2":"A","132":"B T ZB"},L:{"1":"U"},M:{"1":"OB"},N:{"132":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:1,C:"CustomEvent"};
diff --git a/node_modules/caniuse-lite/data/features/datalist.js b/node_modules/caniuse-lite/data/features/datalist.js
new file mode 100644
index 0000000..5f10a7e
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/datalist.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"lB","8":"O F H E","260":"A B"},B:{"1":"KB P M R S YB U","260":"C N D I","1284":"J K L"},C:{"8":"eB bB kB sB","4612":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S"},D:{"1":"NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","8":"G Y O F H E A B C N D I J K L Z","132":"0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB"},E:{"1":"N D Q mB nB","8":"G Y O F H E A B C dB WB fB gB hB iB XB T"},F:{"1":"E B C IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q","132":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB"},G:{"8":"H WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B","2049":"D 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"IC","8":"bB G DC EC FC GC aB HC","132":"M"},J:{"1":"A","8":"F"},K:{"1":"A B C T ZB Q","8":"DB"},L:{"1":"U"},M:{"516":"OB"},N:{"8":"A B"},O:{"8":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"132":"RC"},R:{"1":"SC"},S:{"2":"jB"}},B:1,C:"Datalist element"};
diff --git a/node_modules/caniuse-lite/data/features/dataset.js b/node_modules/caniuse-lite/data/features/dataset.js
new file mode 100644
index 0000000..9c73974
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/dataset.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"B","4":"O F H E A lB"},B:{"1":"C N D I J","129":"K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z","4":"eB bB G Y kB sB","129":"5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S"},D:{"1":"0 1 2 3 4 5 6 7 8 z","4":"G Y O","129":"9 F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"4":"G Y dB WB","129":"O F H E A B C N D fB gB hB iB XB T Q mB nB"},F:{"1":"C m n o p q r s t u v T ZB tB Q","4":"E B oB pB qB rB","129":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V"},G:{"4":"WB uB aB","129":"H D TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"4":"CC"},I:{"4":"DC EC FC","129":"bB G M GC aB HC IC"},J:{"129":"F A"},K:{"1":"C T ZB Q","4":"A B","129":"DB"},L:{"129":"U"},M:{"129":"OB"},N:{"1":"B","4":"A"},O:{"129":"JC"},P:{"129":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"129":"SC"},S:{"1":"jB"}},B:1,C:"dataset & data-* attributes"};
diff --git a/node_modules/caniuse-lite/data/features/datauri.js b/node_modules/caniuse-lite/data/features/datauri.js
new file mode 100644
index 0000000..feb98e9
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/datauri.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F lB","132":"H","260":"E A B"},B:{"1":"KB P M R S YB U","260":"C N I J K L","772":"D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"1":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"1":"CC"},I:{"1":"bB G M DC EC FC GC aB HC IC"},J:{"1":"F A"},K:{"1":"A B C DB T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"260":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:6,C:"Data URIs"};
diff --git a/node_modules/caniuse-lite/data/features/date-tolocaledatestring.js b/node_modules/caniuse-lite/data/features/date-tolocaledatestring.js
new file mode 100644
index 0000000..808a212
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/date-tolocaledatestring.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"16":"lB","132":"O F H E A B"},B:{"1":"L KB P M R S YB U","132":"C N D I J K"},C:{"1":"AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","132":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i kB sB","260":"6 7 8 9","772":"0 1 2 3 4 5 j k l m n o p q r s t u v w x y z"},D:{"1":"FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","132":"G Y O F H E A B C N D I J K L Z a b c d","260":"0 1 2 3 4 5 6 7 8 9 s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB","772":"e f g h i j k l m n o p q r"},E:{"1":"C N D Q mB nB","16":"G Y dB WB","132":"O F H E A fB gB hB iB","260":"B XB T"},F:{"1":"BB CB EB GB HB IB JB X LB MB NB FB W V","16":"E B C oB pB qB rB T ZB tB","132":"Q","260":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x y z AB","772":"I J K L Z a b c d e"},G:{"1":"D 3B 4B 5B 6B 7B 8B 9B AC BC","16":"WB uB aB TC","132":"H xB yB zB 0B 1B 2B"},H:{"132":"CC"},I:{"1":"M","16":"bB DC EC FC","132":"G GC aB","772":"HC IC"},J:{"132":"F A"},K:{"1":"DB","16":"A B C T ZB","132":"Q"},L:{"1":"U"},M:{"1":"OB"},N:{"132":"A B"},O:{"260":"JC"},P:{"1":"OC XB PC QC","260":"G KC LC MC NC"},Q:{"260":"RC"},R:{"132":"SC"},S:{"132":"jB"}},B:6,C:"Date.prototype.toLocaleDateString"};
diff --git a/node_modules/caniuse-lite/data/features/details.js b/node_modules/caniuse-lite/data/features/details.js
new file mode 100644
index 0000000..5be42ee
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/details.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"E A B lB","8":"O F H"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB","8":"0 bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z kB sB","194":"1 2"},D:{"1":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","8":"G Y O F H E A B","257":"Z a b c d e f g h i j k l m n o p","769":"C N D I J K L"},E:{"1":"C N D Q mB nB","8":"G Y dB WB fB","257":"O F H E A gB hB iB","1025":"B XB T"},F:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"C T ZB tB Q","8":"E B oB pB qB rB"},G:{"1":"H D xB yB zB 0B 1B 5B 6B 7B 8B 9B AC BC","8":"WB uB aB TC","1025":"2B 3B 4B"},H:{"8":"CC"},I:{"1":"G M GC aB HC IC","8":"bB DC EC FC"},J:{"1":"A","8":"F"},K:{"1":"DB","8":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"769":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:1,C:"Details & Summary elements"};
diff --git a/node_modules/caniuse-lite/data/features/deviceorientation.js b/node_modules/caniuse-lite/data/features/deviceorientation.js
new file mode 100644
index 0000000..f080f87
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/deviceorientation.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A lB","132":"B"},B:{"1":"C N D I J K L","4":"KB P M R S YB U"},C:{"2":"eB bB kB","4":"0 1 2 3 4 5 6 7 8 9 O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","8":"G Y sB"},D:{"2":"G Y O","4":"0 1 2 3 4 5 6 7 8 9 F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"2":"E B C oB pB qB rB T ZB tB Q","4":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V"},G:{"2":"WB uB","4":"H D aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"DC EC FC","4":"bB G M GC aB HC IC"},J:{"2":"F","4":"A"},K:{"1":"C Q","2":"A B T ZB","4":"DB"},L:{"4":"U"},M:{"4":"OB"},N:{"1":"B","2":"A"},O:{"4":"JC"},P:{"4":"G KC LC MC NC OC XB PC QC"},Q:{"4":"RC"},R:{"4":"SC"},S:{"4":"jB"}},B:4,C:"DeviceOrientation & DeviceMotion events"};
diff --git a/node_modules/caniuse-lite/data/features/devicepixelratio.js b/node_modules/caniuse-lite/data/features/devicepixelratio.js
new file mode 100644
index 0000000..0867e10
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/devicepixelratio.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"B","2":"O F H E A lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V tB Q","2":"E B oB pB qB rB T ZB"},G:{"1":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"1":"CC"},I:{"1":"bB G M DC EC FC GC aB HC IC"},J:{"1":"F A"},K:{"1":"C DB Q","2":"A B T ZB"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"B","2":"A"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:5,C:"Window.devicePixelRatio"};
diff --git a/node_modules/caniuse-lite/data/features/dialog.js b/node_modules/caniuse-lite/data/features/dialog.js
new file mode 100644
index 0000000..8010919
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/dialog.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"2":"0 1 2 3 4 5 6 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z kB sB","194":"7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB","1218":"P M OB R S"},D:{"1":"0 1 2 3 4 5 6 7 8 9 r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l","322":"m n o p q"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L oB pB qB rB T ZB tB Q","578":"Z a b c d"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"194":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"2":"jB"}},B:1,C:"Dialog element"};
diff --git a/node_modules/caniuse-lite/data/features/dispatchevent.js b/node_modules/caniuse-lite/data/features/dispatchevent.js
new file mode 100644
index 0000000..4cdd9d7
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/dispatchevent.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"B","16":"lB","129":"E A","130":"O F H"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"G Y O F H E A B C N D WB fB gB hB iB XB T Q mB nB","16":"dB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q","16":"E"},G:{"1":"H D uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","16":"WB"},H:{"1":"CC"},I:{"1":"bB G M FC GC aB HC IC","16":"DC EC"},J:{"1":"F A"},K:{"1":"A B C DB T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"B","129":"A"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:1,C:"EventTarget.dispatchEvent"};
diff --git a/node_modules/caniuse-lite/data/features/dnssec.js b/node_modules/caniuse-lite/data/features/dnssec.js
new file mode 100644
index 0000000..4be85df
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/dnssec.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"132":"O F H E A B lB"},B:{"132":"C N D I J K L KB P M R S YB U"},C:{"132":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"132":"0 1 2 3 4 5 6 7 8 9 G Y l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","388":"O F H E A B C N D I J K L Z a b c d e f g h i j k"},E:{"132":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"132":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"132":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"132":"CC"},I:{"132":"bB G M DC EC FC GC aB HC IC"},J:{"132":"F A"},K:{"132":"A B C DB T ZB Q"},L:{"132":"U"},M:{"132":"OB"},N:{"132":"A B"},O:{"132":"JC"},P:{"132":"G KC LC MC NC OC XB PC QC"},Q:{"132":"RC"},R:{"132":"SC"},S:{"132":"jB"}},B:6,C:"DNSSEC and DANE"};
diff --git a/node_modules/caniuse-lite/data/features/do-not-track.js b/node_modules/caniuse-lite/data/features/do-not-track.js
new file mode 100644
index 0000000..f6b0103
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/do-not-track.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H lB","164":"E A","260":"B"},B:{"1":"K L KB P M R S YB U","260":"C N D I J"},C:{"1":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H kB sB","516":"E A B C N D I J K L Z a b c d e f g h i j k l"},D:{"1":"0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z a b c"},E:{"1":"O A B C fB iB XB T","2":"G Y N D dB WB Q mB nB","1028":"F H E gB hB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V Q","2":"E B oB pB qB rB T ZB tB"},G:{"1":"0B 1B 2B 3B 4B 5B 6B","2":"D WB uB aB TC xB 7B 8B 9B AC BC","1028":"H yB zB"},H:{"1":"CC"},I:{"1":"M HC IC","2":"bB G DC EC FC GC aB"},J:{"16":"F","1028":"A"},K:{"1":"DB Q","16":"A B C T ZB"},L:{"1":"U"},M:{"1":"OB"},N:{"164":"A","260":"B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:4,C:"Do Not Track API"};
diff --git a/node_modules/caniuse-lite/data/features/document-currentscript.js b/node_modules/caniuse-lite/data/features/document-currentscript.js
new file mode 100644
index 0000000..2b2781e
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/document-currentscript.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z a b c d e f g h i"},E:{"1":"H E A B C N D iB XB T Q mB nB","2":"G Y O F dB WB fB gB hB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I oB pB qB rB T ZB tB Q"},G:{"1":"H D zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB uB aB TC xB yB"},H:{"2":"CC"},I:{"1":"M HC IC","2":"bB G DC EC FC GC aB"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:1,C:"document.currentScript"};
diff --git a/node_modules/caniuse-lite/data/features/document-evaluate-xpath.js b/node_modules/caniuse-lite/data/features/document-evaluate-xpath.js
new file mode 100644
index 0000000..88ce8da
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/document-evaluate-xpath.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB","16":"eB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q","16":"E"},G:{"1":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"1":"CC"},I:{"1":"bB G M DC EC FC GC aB HC IC"},J:{"1":"F A"},K:{"1":"A B C DB T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:7,C:"document.evaluate & XPath"};
diff --git a/node_modules/caniuse-lite/data/features/document-execcommand.js b/node_modules/caniuse-lite/data/features/document-execcommand.js
new file mode 100644
index 0000000..2cbeded
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/document-execcommand.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"O F H E A B lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"O F H E A B C N D gB hB iB XB T Q mB nB","16":"G Y dB WB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V pB qB rB T ZB tB Q","16":"E oB"},G:{"1":"H D yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB uB","16":"aB TC xB"},H:{"2":"CC"},I:{"1":"M GC aB HC IC","2":"bB G DC EC FC"},J:{"1":"A","2":"F"},K:{"1":"A B C DB T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"B","2":"A"},O:{"2":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:7,C:"Document.execCommand()"};
diff --git a/node_modules/caniuse-lite/data/features/document-policy.js b/node_modules/caniuse-lite/data/features/document-policy.js
new file mode 100644
index 0000000..af314e8
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/document-policy.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"2":"C N D I J K L KB P M R S","132":"YB U"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S","132":"YB U vB wB cB"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G DC EC FC GC aB HC IC","132":"M"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"132":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:7,C:"Document Policy"};
diff --git a/node_modules/caniuse-lite/data/features/document-scrollingelement.js b/node_modules/caniuse-lite/data/features/document-scrollingelement.js
new file mode 100644
index 0000000..f7bc5de
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/document-scrollingelement.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"D I J K L KB P M R S YB U","16":"C N"},C:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"0 1 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x"},E:{"1":"E A B C N D iB XB T Q mB nB","2":"G Y O F H dB WB fB gB hB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e f g h i j k oB pB qB rB T ZB tB Q"},G:{"1":"D 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:5,C:"document.scrollingElement"};
diff --git a/node_modules/caniuse-lite/data/features/documenthead.js b/node_modules/caniuse-lite/data/features/documenthead.js
new file mode 100644
index 0000000..6903c95
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/documenthead.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"E A B","2":"O F H lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"O F H E A B C N D fB gB hB iB XB T Q mB nB","2":"G dB WB","16":"Y"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V T ZB tB Q","2":"E oB pB qB rB"},G:{"1":"H D uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","16":"WB"},H:{"1":"CC"},I:{"1":"bB G M FC GC aB HC IC","16":"DC EC"},J:{"1":"F A"},K:{"1":"B C DB T ZB Q","2":"A"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:1,C:"document.head"};
diff --git a/node_modules/caniuse-lite/data/features/dom-manip-convenience.js b/node_modules/caniuse-lite/data/features/dom-manip-convenience.js
new file mode 100644
index 0000000..5fb6605
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/dom-manip-convenience.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"K L KB P M R S YB U","2":"C N D I J"},C:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"0 1 2 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z kB sB"},D:{"1":"8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 1 2 3 4 5 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z","194":"6 7"},E:{"1":"A B C N D XB T Q mB nB","2":"G Y O F H E dB WB fB gB hB iB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e f g h i j k l m n o p q r s t oB pB qB rB T ZB tB Q","194":"u"},G:{"1":"D 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB 0B 1B"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"LC MC NC OC XB PC QC","2":"G KC"},Q:{"194":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:1,C:"DOM manipulation convenience methods"};
diff --git a/node_modules/caniuse-lite/data/features/dom-range.js b/node_modules/caniuse-lite/data/features/dom-range.js
new file mode 100644
index 0000000..754f29a
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/dom-range.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"E A B","2":"lB","8":"O F H"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"1":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"1":"CC"},I:{"1":"bB G M DC EC FC GC aB HC IC"},J:{"1":"F A"},K:{"1":"A B C DB T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:1,C:"Document Object Model Range"};
diff --git a/node_modules/caniuse-lite/data/features/domcontentloaded.js b/node_modules/caniuse-lite/data/features/domcontentloaded.js
new file mode 100644
index 0000000..abfa098
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/domcontentloaded.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"E A B","2":"O F H lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"1":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"1":"CC"},I:{"1":"bB G M DC EC FC GC aB HC IC"},J:{"1":"F A"},K:{"1":"A B C DB T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:1,C:"DOMContentLoaded"};
diff --git a/node_modules/caniuse-lite/data/features/domfocusin-domfocusout-events.js b/node_modules/caniuse-lite/data/features/domfocusin-domfocusout-events.js
new file mode 100644
index 0000000..56ef067
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/domfocusin-domfocusout-events.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","16":"G Y O F H E A B C N D I J K L Z a b c d e f"},E:{"1":"O F H E A B C N D fB gB hB iB XB T Q mB nB","2":"G dB WB","16":"Y"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V tB Q","16":"E B oB pB qB rB T ZB"},G:{"1":"H D yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","16":"WB uB aB TC xB"},H:{"16":"CC"},I:{"1":"G M GC aB HC IC","16":"bB DC EC FC"},J:{"16":"F A"},K:{"16":"A B C DB T ZB Q"},L:{"1":"U"},M:{"2":"OB"},N:{"16":"A B"},O:{"16":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"2":"jB"}},B:5,C:"DOMFocusIn & DOMFocusOut events"};
diff --git a/node_modules/caniuse-lite/data/features/dommatrix.js b/node_modules/caniuse-lite/data/features/dommatrix.js
new file mode 100644
index 0000000..4124772
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/dommatrix.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E lB","132":"A B"},B:{"132":"C N D I J K L","1028":"KB P M R S YB U"},C:{"2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m kB sB","2564":"0 1 2 n o p q r s t u v w x y z","3076":"3 4 5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S"},D:{"16":"G Y O F","132":"0 1 2 3 4 5 6 7 8 9 E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB","388":"H","1028":"PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"16":"G dB WB","132":"Y O F H E A fB gB hB iB XB","1028":"B C N D T Q mB nB"},F:{"2":"E B C oB pB qB rB T ZB tB Q","132":"0 1 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z","1028":"2 3 4 5 6 7 8 9 AB BB CB EB GB HB IB JB X LB MB NB FB W V"},G:{"16":"WB uB aB","132":"H D TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"M","132":"G GC aB HC IC","292":"bB DC EC FC"},J:{"16":"F","132":"A"},K:{"2":"A B C T ZB Q","132":"DB"},L:{"1028":"U"},M:{"1":"OB"},N:{"132":"A B"},O:{"132":"JC"},P:{"132":"G KC LC MC NC OC XB PC QC"},Q:{"132":"RC"},R:{"132":"SC"},S:{"2564":"jB"}},B:4,C:"DOMMatrix"};
diff --git a/node_modules/caniuse-lite/data/features/download.js b/node_modules/caniuse-lite/data/features/download.js
new file mode 100644
index 0000000..e1ea6ca
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/download.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"N D I J K L KB P M R S YB U","2":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N"},E:{"1":"B C N D XB T Q mB nB","2":"G Y O F H E A dB WB fB gB hB iB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C oB pB qB rB T ZB tB Q"},G:{"1":"D 8B 9B AC BC","2":"H WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B"},H:{"2":"CC"},I:{"1":"M HC IC","2":"bB G DC EC FC GC aB"},J:{"1":"A","2":"F"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:1,C:"Download attribute"};
diff --git a/node_modules/caniuse-lite/data/features/dragndrop.js b/node_modules/caniuse-lite/data/features/dragndrop.js
new file mode 100644
index 0000000..6f9b387
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/dragndrop.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"644":"O F H E lB","772":"A B"},B:{"1":"L KB P M R S YB U","260":"C N D I J K"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB","8":"eB bB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V Q","8":"E B oB pB qB rB T ZB tB"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G DC EC FC GC aB HC IC","1025":"M"},J:{"2":"F A"},K:{"1":"Q","8":"A B C T ZB","1025":"DB"},L:{"1025":"U"},M:{"2":"OB"},N:{"1":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:1,C:"Drag and Drop"};
diff --git a/node_modules/caniuse-lite/data/features/element-closest.js b/node_modules/caniuse-lite/data/features/element-closest.js
new file mode 100644
index 0000000..d5237eb
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/element-closest.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"I J K L KB P M R S YB U","2":"C N D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u"},E:{"1":"E A B C N D iB XB T Q mB nB","2":"G Y O F H dB WB fB gB hB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e f g h oB pB qB rB T ZB tB Q"},G:{"1":"D 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC XB PC QC","2":"G"},Q:{"2":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:1,C:"Element.closest()"};
diff --git a/node_modules/caniuse-lite/data/features/element-from-point.js b/node_modules/caniuse-lite/data/features/element-from-point.js
new file mode 100644
index 0000000..2038c87
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/element-from-point.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"O F H E A B","16":"lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB","16":"eB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","16":"G Y O F H E A B C N D"},E:{"1":"Y O F H E A B C N D fB gB hB iB XB T Q mB nB","16":"G dB WB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V T ZB tB Q","16":"E oB pB qB rB"},G:{"1":"H D uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","16":"WB"},H:{"1":"CC"},I:{"1":"bB G M FC GC aB HC IC","16":"DC EC"},J:{"1":"F A"},K:{"1":"C DB Q","16":"A B T ZB"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:5,C:"document.elementFromPoint()"};
diff --git a/node_modules/caniuse-lite/data/features/element-scroll-methods.js b/node_modules/caniuse-lite/data/features/element-scroll-methods.js
new file mode 100644
index 0000000..4115a77
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/element-scroll-methods.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p kB sB"},D:{"1":"PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB"},E:{"2":"G Y O F H E dB WB fB gB hB iB","132":"A B C N D XB T Q mB nB"},F:{"1":"2 3 4 5 6 7 8 9 AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"0 1 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z oB pB qB rB T ZB tB Q"},G:{"2":"H WB uB aB TC xB yB zB 0B 1B","132":"D 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"NC OC XB PC QC","2":"G KC LC MC"},Q:{"1":"RC"},R:{"2":"SC"},S:{"1":"jB"}},B:5,C:"Scroll methods on elements (scroll, scrollTo, scrollBy)"};
diff --git a/node_modules/caniuse-lite/data/features/eme.js b/node_modules/caniuse-lite/data/features/eme.js
new file mode 100644
index 0000000..d2e08d9
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/eme.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A lB","164":"B"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o","132":"p q r s t u v"},E:{"1":"C N D Q mB nB","2":"G Y O dB WB fB gB","164":"F H E A B hB iB XB T"},F:{"1":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b oB pB qB rB T ZB tB Q","132":"c d e f g h i"},G:{"1":"D 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB 0B 1B 2B 3B 4B"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC XB PC QC","2":"G"},Q:{"16":"RC"},R:{"2":"SC"},S:{"1":"jB"}},B:2,C:"Encrypted Media Extensions"};
diff --git a/node_modules/caniuse-lite/data/features/eot.js b/node_modules/caniuse-lite/data/features/eot.js
new file mode 100644
index 0000000..763cc06
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/eot.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"O F H E A B","2":"lB"},B:{"2":"C N D I J K L KB P M R S YB U"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"2":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:7,C:"EOT - Embedded OpenType fonts"};
diff --git a/node_modules/caniuse-lite/data/features/es5.js b/node_modules/caniuse-lite/data/features/es5.js
new file mode 100644
index 0000000..025d6d8
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/es5.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"A B","2":"O F lB","260":"E","1026":"H"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","4":"eB bB kB sB","132":"G Y O F H E A B C N D I J K L Z a"},D:{"1":"0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","4":"G Y O F H E A B C N D I J K L","132":"Z a b c"},E:{"1":"O F H E A B C N D gB hB iB XB T Q mB nB","4":"G Y dB WB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","4":"E B C oB pB qB rB T ZB tB","132":"Q"},G:{"1":"H D xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","4":"WB uB aB TC"},H:{"132":"CC"},I:{"1":"M HC IC","4":"bB DC EC FC","132":"GC aB","900":"G"},J:{"1":"A","4":"F"},K:{"1":"DB","4":"A B C T ZB","132":"Q"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:6,C:"ECMAScript 5"};
diff --git a/node_modules/caniuse-lite/data/features/es6-class.js b/node_modules/caniuse-lite/data/features/es6-class.js
new file mode 100644
index 0000000..4d33f82
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/es6-class.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y kB sB"},D:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v","132":"0 1 2 w x y z"},E:{"1":"E A B C N D iB XB T Q mB nB","2":"G Y O F H dB WB fB gB hB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e f g h i oB pB qB rB T ZB tB Q","132":"j k l m n o p"},G:{"1":"D 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC XB PC QC","2":"G"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:6,C:"ES6 classes"};
diff --git a/node_modules/caniuse-lite/data/features/es6-generators.js b/node_modules/caniuse-lite/data/features/es6-generators.js
new file mode 100644
index 0000000..63ec7c7
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/es6-generators.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"N D I J K L KB P M R S YB U","2":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s"},E:{"1":"A B C N D XB T Q mB nB","2":"G Y O F H E dB WB fB gB hB iB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e f oB pB qB rB T ZB tB Q"},G:{"1":"D 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB 0B 1B"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:6,C:"ES6 Generators"};
diff --git a/node_modules/caniuse-lite/data/features/es6-module-dynamic-import.js b/node_modules/caniuse-lite/data/features/es6-module-dynamic-import.js
new file mode 100644
index 0000000..0220555
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/es6-module-dynamic-import.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"1":"LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB kB sB","194":"X"},D:{"1":"HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB"},E:{"1":"C N D T Q mB nB","2":"G Y O F H E A B dB WB fB gB hB iB XB"},F:{"1":"4 5 6 7 8 9 AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"0 1 2 3 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z oB pB qB rB T ZB tB Q"},G:{"1":"D 4B 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB 0B 1B 2B 3B"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"NC OC XB PC QC","2":"G KC LC MC"},Q:{"1":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:6,C:"JavaScript modules: dynamic import()"};
diff --git a/node_modules/caniuse-lite/data/features/es6-module-nomodule.js b/node_modules/caniuse-lite/data/features/es6-module-nomodule.js
new file mode 100644
index 0000000..5c2f998
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/es6-module-nomodule.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"K C G E A B YB"},B:{"2":"D w Z I","514":"M H"},C:{"2":"0 1 WB AB F J K C G E A B D w Z I M H N O P Q R S T U V W X Y y a b c d e f L h i j k l m n o p q r s t u v UB OB","322":"3 5 6 7 8 z x"},D:{"1":"8 BB IB DB FB ZB GB","2":"0 1 3 5 6 F J K C G E A B D w Z I M H N O P Q R S T U V W X Y y a b c d e f L h i j k l m n o p q r s t u v z x","194":"7"},E:{"1":"B g PB","2":"F J K C G E A HB CB JB KB LB MB NB"},F:{"2":"4 9 E B D I M H N O P Q R S T U V W X Y y a b c d e f L h i j k l m n o p q QB RB SB TB g VB","194":"r s t u v"},G:{"1":"hB iB","2":"2 G CB XB EB aB bB cB dB eB fB gB"},H:{"2":"jB"},I:{"2":"2 AB F BB kB lB mB nB oB pB"},J:{"2":"C A"},K:{"2":"4 9 A B D L g"},L:{"2":"DB"},M:{"2":"x"},N:{"2":"A B"},O:{"2":"qB"},P:{"2":"F J rB"},Q:{"2":"sB"},R:{"2":"tB"}},B:1,C:"JavaScript modules: nomodule attribute"};
diff --git a/node_modules/caniuse-lite/data/features/es6-module.js b/node_modules/caniuse-lite/data/features/es6-module.js
new file mode 100644
index 0000000..84ae551
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/es6-module.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D","4097":"J K L","4290":"I"},C:{"1":"EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"0 1 2 3 4 5 6 7 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z kB sB","322":"8 9 AB BB CB DB"},D:{"1":"PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB","194":"EB"},E:{"1":"B C N D T Q mB nB","2":"G Y O F H E A dB WB fB gB hB iB","3076":"XB"},F:{"1":"2 3 4 5 6 7 8 9 AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"0 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z oB pB qB rB T ZB tB Q","194":"1"},G:{"1":"D 4B 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB 0B 1B 2B","3076":"3B"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"NC OC XB PC QC","2":"G KC LC MC"},Q:{"1":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:1,C:"JavaScript modules via script tag"};
diff --git a/node_modules/caniuse-lite/data/features/es6-number.js b/node_modules/caniuse-lite/data/features/es6-number.js
new file mode 100644
index 0000000..36b15e4
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/es6-number.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I kB sB","132":"J K L Z a b c d e","260":"f g h i j k","516":"l"},D:{"1":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L","1028":"Z a b c d e f g h i j k l m n"},E:{"1":"E A B C N D iB XB T Q mB nB","2":"G Y O F H dB WB fB gB hB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C oB pB qB rB T ZB tB Q","1028":"I J K L Z a"},G:{"1":"D 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC","1028":"GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:6,C:"ES6 Number"};
diff --git a/node_modules/caniuse-lite/data/features/es6-string-includes.js b/node_modules/caniuse-lite/data/features/es6-string-includes.js
new file mode 100644
index 0000000..0861e3c
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/es6-string-includes.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u"},E:{"1":"E A B C N D iB XB T Q mB nB","2":"G Y O F H dB WB fB gB hB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e f g h oB pB qB rB T ZB tB Q"},G:{"1":"D 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:6,C:"String.prototype.includes"};
diff --git a/node_modules/caniuse-lite/data/features/es6.js b/node_modules/caniuse-lite/data/features/es6.js
new file mode 100644
index 0000000..c59308b
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/es6.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A lB","388":"B"},B:{"257":"KB P M R S YB U","260":"C N D","769":"I J K L"},C:{"2":"eB bB G Y kB sB","4":"0 1 2 3 4 5 6 7 O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z","257":"8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S"},D:{"2":"G Y O F H E A B C N D I J K L Z a","4":"0 1 2 3 4 b c d e f g h i j k l m n o p q r s t u v w x y z","257":"5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"A B C N D XB T Q mB nB","2":"G Y O F dB WB fB gB","4":"H E hB iB"},F:{"2":"E B C oB pB qB rB T ZB tB Q","4":"I J K L Z a b c d e f g h i j k l m n o p q r","257":"0 1 2 3 4 5 6 7 8 9 s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V"},G:{"1":"D 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB uB aB TC xB","4":"H yB zB 0B 1B"},H:{"2":"CC"},I:{"2":"bB G DC EC FC GC aB","4":"HC IC","257":"M"},J:{"2":"F","4":"A"},K:{"2":"A B C T ZB Q","257":"DB"},L:{"257":"U"},M:{"257":"OB"},N:{"2":"A","388":"B"},O:{"257":"JC"},P:{"4":"G","257":"KC LC MC NC OC XB PC QC"},Q:{"257":"RC"},R:{"4":"SC"},S:{"4":"jB"}},B:6,C:"ECMAScript 2015 (ES6)"};
diff --git a/node_modules/caniuse-lite/data/features/eventsource.js b/node_modules/caniuse-lite/data/features/eventsource.js
new file mode 100644
index 0000000..569c788
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/eventsource.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y"},E:{"1":"Y O F H E A B C N D fB gB hB iB XB T Q mB nB","2":"G dB WB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V T ZB tB Q","4":"E oB pB qB rB"},G:{"1":"H D uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB"},H:{"2":"CC"},I:{"1":"M HC IC","2":"bB G DC EC FC GC aB"},J:{"1":"F A"},K:{"1":"C DB T ZB Q","4":"A B"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:1,C:"Server-sent events"};
diff --git a/node_modules/caniuse-lite/data/features/extended-system-fonts.js b/node_modules/caniuse-lite/data/features/extended-system-fonts.js
new file mode 100644
index 0000000..a59318f
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/extended-system-fonts.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"2":"C N D I J K L KB P M R S YB U"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"D mB nB","2":"G Y O F H E A B C N dB WB fB gB hB iB XB T Q"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"1":"D BC","2":"H WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"2":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:5,C:"ui-serif, ui-sans-serif, ui-monospace and ui-rounded values for font-family"};
diff --git a/node_modules/caniuse-lite/data/features/feature-policy.js b/node_modules/caniuse-lite/data/features/feature-policy.js
new file mode 100644
index 0000000..ecc0e53
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/feature-policy.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB kB sB","260":"QB RB SB TB UB KB P M OB R S"},D:{"1":"QB RB SB TB UB KB P M R S YB","2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB","132":"EB PB GB HB IB JB X LB MB NB FB W V VB","1025":"U vB wB cB"},E:{"2":"G Y O F H E A B dB WB fB gB hB iB XB","772":"C N D T Q mB nB"},F:{"1":"GB HB IB JB X LB MB NB FB W V","2":"0 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z oB pB qB rB T ZB tB Q","132":"1 2 3 4 5 6 7 8 9 AB BB CB EB"},G:{"2":"H WB uB aB TC xB yB zB 0B 1B 2B 3B 4B","772":"D 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"1":"U"},M:{"260":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"PC QC","2":"G KC LC MC","132":"NC OC XB"},Q:{"132":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:5,C:"Feature Policy"};
diff --git a/node_modules/caniuse-lite/data/features/fetch.js b/node_modules/caniuse-lite/data/features/fetch.js
new file mode 100644
index 0000000..d99ebe2
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/fetch.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"D I J K L KB P M R S YB U","2":"C N"},C:{"1":"0 1 2 3 4 5 6 7 8 9 u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n kB sB","1025":"t","1218":"o p q r s"},D:{"1":"0 1 2 3 4 5 6 7 8 9 w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t","260":"u","772":"v"},E:{"1":"B C N D XB T Q mB nB","2":"G Y O F H E A dB WB fB gB hB iB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e f g oB pB qB rB T ZB tB Q","260":"h","772":"i"},G:{"1":"D 3B 4B 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB 0B 1B 2B"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:1,C:"Fetch"};
diff --git a/node_modules/caniuse-lite/data/features/fieldset-disabled.js b/node_modules/caniuse-lite/data/features/fieldset-disabled.js
new file mode 100644
index 0000000..b0eae60
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/fieldset-disabled.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"16":"lB","132":"H E","388":"O F A B"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I","16":"J K L Z"},E:{"1":"O F H E A B C N D gB hB iB XB T Q mB nB","2":"G Y dB WB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V pB qB rB T ZB tB Q","16":"E oB"},G:{"1":"H D xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB uB aB TC"},H:{"388":"CC"},I:{"1":"M HC IC","2":"bB G DC EC FC GC aB"},J:{"1":"A","2":"F"},K:{"1":"A B C DB T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A","260":"B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:1,C:"disabled attribute of the fieldset element"};
diff --git a/node_modules/caniuse-lite/data/features/fileapi.js b/node_modules/caniuse-lite/data/features/fileapi.js
new file mode 100644
index 0000000..0276c71
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/fileapi.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E lB","260":"A B"},B:{"1":"KB P M R S YB U","260":"C N D I J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB kB","260":"G Y O F H E A B C N D I J K L Z a b c d e f g h sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y","260":"N D I J K L Z a b c d e f g h i j k l m n o p q r","388":"O F H E A B C"},E:{"1":"A B C N D XB T Q mB nB","2":"G Y dB WB","260":"O F H E gB hB iB","388":"fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B oB pB qB rB","260":"C I J K L Z a b c d e T ZB tB Q"},G:{"1":"D 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB uB aB TC","260":"H xB yB zB 0B 1B"},H:{"2":"CC"},I:{"1":"M IC","2":"DC EC FC","260":"HC","388":"bB G GC aB"},J:{"260":"A","388":"F"},K:{"1":"DB","2":"A B","260":"C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A","260":"B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:5,C:"File API"};
diff --git a/node_modules/caniuse-lite/data/features/filereader.js b/node_modules/caniuse-lite/data/features/filereader.js
new file mode 100644
index 0000000..b3166f7
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/filereader.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E lB","132":"A B"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S sB","2":"eB bB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y"},E:{"1":"O F H E A B C N D gB hB iB XB T Q mB nB","2":"G Y dB WB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V T ZB tB Q","2":"E B oB pB qB rB"},G:{"1":"H D xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB uB aB TC"},H:{"2":"CC"},I:{"1":"bB G M GC aB HC IC","2":"DC EC FC"},J:{"1":"A","2":"F"},K:{"1":"C DB T ZB Q","2":"A B"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:5,C:"FileReader API"};
diff --git a/node_modules/caniuse-lite/data/features/filereadersync.js b/node_modules/caniuse-lite/data/features/filereadersync.js
new file mode 100644
index 0000000..958ba22
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/filereadersync.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"A B","2":"O F H E lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","16":"G Y O F H E A B C N D"},E:{"1":"O F H E A B C N D gB hB iB XB T Q mB nB","2":"G Y dB WB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V tB Q","2":"E oB pB","16":"B qB rB T ZB"},G:{"1":"H D xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB uB aB TC"},H:{"2":"CC"},I:{"1":"M HC IC","2":"bB G DC EC FC GC aB"},J:{"1":"A","2":"F"},K:{"1":"C DB ZB Q","2":"A","16":"B T"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:5,C:"FileReaderSync"};
diff --git a/node_modules/caniuse-lite/data/features/filesystem.js b/node_modules/caniuse-lite/data/features/filesystem.js
new file mode 100644
index 0000000..0371b5d
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/filesystem.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"2":"C N D I J K L","33":"KB P M R S YB U"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"2":"G Y O F","33":"0 1 2 3 4 5 6 7 8 9 N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","36":"H E A B C"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"2":"E B C oB pB qB rB T ZB tB Q","33":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F","33":"A"},K:{"2":"A B C T ZB Q","33":"DB"},L:{"33":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G","33":"KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:7,C:"Filesystem & FileWriter API"};
diff --git a/node_modules/caniuse-lite/data/features/flac.js b/node_modules/caniuse-lite/data/features/flac.js
new file mode 100644
index 0000000..5f73054
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/flac.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"J K L KB P M R S YB U","2":"C N D I"},C:{"1":"5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"0 1 2 3 4 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z kB sB"},D:{"1":"AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x","16":"0 y z","388":"1 2 3 4 5 6 7 8 9"},E:{"1":"N D mB nB","2":"G Y O F H E A dB WB fB gB hB iB XB","516":"B C T Q"},F:{"1":"0 1 2 3 4 5 6 7 8 9 w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v oB pB qB rB T ZB tB Q"},G:{"1":"D 4B 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB 0B 1B 2B 3B"},H:{"2":"CC"},I:{"1":"M","2":"DC EC FC","16":"bB G GC aB HC IC"},J:{"1":"A","2":"F"},K:{"1":"Q","16":"A B C T ZB","129":"DB"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC XB PC QC","129":"G"},Q:{"1":"RC"},R:{"1":"SC"},S:{"2":"jB"}},B:6,C:"FLAC audio format"};
diff --git a/node_modules/caniuse-lite/data/features/flexbox-gap.js b/node_modules/caniuse-lite/data/features/flexbox-gap.js
new file mode 100644
index 0000000..fe5d9ed
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/flexbox-gap.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"S YB U","2":"C N D I J K L KB P M R"},C:{"1":"HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB kB sB"},D:{"1":"S YB U vB wB cB","2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R"},E:{"1":"nB","2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:5,C:"gap property for Flexbox"};
diff --git a/node_modules/caniuse-lite/data/features/flexbox.js b/node_modules/caniuse-lite/data/features/flexbox.js
new file mode 100644
index 0000000..c52bb92
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/flexbox.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E lB","1028":"B","1316":"A"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","164":"eB bB G Y O F H E A B C N D I J K L Z a b kB sB","516":"c d e f g h"},D:{"1":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","33":"b c d e f g h i","164":"G Y O F H E A B C N D I J K L Z a"},E:{"1":"E A B C N D iB XB T Q mB nB","33":"F H gB hB","164":"G Y O dB WB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V Q","2":"E B C oB pB qB rB T ZB tB","33":"I J"},G:{"1":"D 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","33":"H yB zB","164":"WB uB aB TC xB"},H:{"1":"CC"},I:{"1":"M HC IC","164":"bB G DC EC FC GC aB"},J:{"1":"A","164":"F"},K:{"1":"DB Q","2":"A B C T ZB"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"B","292":"A"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:4,C:"CSS Flexible Box Layout Module"};
diff --git a/node_modules/caniuse-lite/data/features/flow-root.js b/node_modules/caniuse-lite/data/features/flow-root.js
new file mode 100644
index 0000000..d9c1532
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/flow-root.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"1":"7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"0 1 2 3 4 5 6 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z kB sB"},D:{"1":"CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB"},E:{"1":"N D mB nB","2":"G Y O F H E A B C dB WB fB gB hB iB XB T Q"},F:{"1":"0 1 2 3 4 5 6 7 8 9 z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y oB pB qB rB T ZB tB Q"},G:{"1":"D 8B 9B AC BC","2":"H WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"MC NC OC XB PC QC","2":"G KC LC"},Q:{"1":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:5,C:"display: flow-root"};
diff --git a/node_modules/caniuse-lite/data/features/focusin-focusout-events.js b/node_modules/caniuse-lite/data/features/focusin-focusout-events.js
new file mode 100644
index 0000000..b098cf3
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/focusin-focusout-events.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"O F H E A B","2":"lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"0 1 2 3 4 5 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","16":"G Y O F H E A B C N D"},E:{"1":"O F H E A B C N D fB gB hB iB XB T Q mB nB","16":"G Y dB WB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V tB Q","2":"E oB pB qB rB","16":"B T ZB"},G:{"1":"H D TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB uB aB"},H:{"2":"CC"},I:{"1":"G M GC aB HC IC","2":"DC EC FC","16":"bB"},J:{"1":"F A"},K:{"1":"C DB Q","2":"A","16":"B T ZB"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"2":"jB"}},B:5,C:"focusin & focusout events"};
diff --git a/node_modules/caniuse-lite/data/features/focusoptions-preventscroll.js b/node_modules/caniuse-lite/data/features/focusoptions-preventscroll.js
new file mode 100644
index 0000000..879eca1
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/focusoptions-preventscroll.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J","132":"K L"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"1":"IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"1":"5 6 7 8 9 AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"0 1 2 3 4 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z oB pB qB rB T ZB tB Q"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"2":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:1,C:"preventScroll support in focus"};
diff --git a/node_modules/caniuse-lite/data/features/font-family-system-ui.js b/node_modules/caniuse-lite/data/features/font-family-system-ui.js
new file mode 100644
index 0000000..f05ed41
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/font-family-system-ui.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w kB sB","132":"0 1 2 3 4 5 6 7 8 9 x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S"},D:{"1":"AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 1 2 3 4 5 6 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z","260":"7 8 9"},E:{"1":"B C N D T Q mB nB","2":"G Y O F H dB WB fB gB hB","16":"E","132":"A iB XB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w oB pB qB rB T ZB tB Q"},G:{"1":"D 4B 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB","132":"0B 1B 2B 3B"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"LC MC NC OC XB PC QC","2":"G KC"},Q:{"1":"RC"},R:{"2":"SC"},S:{"132":"jB"}},B:5,C:"system-ui value for font-family"};
diff --git a/node_modules/caniuse-lite/data/features/font-feature.js b/node_modules/caniuse-lite/data/features/font-feature.js
new file mode 100644
index 0000000..ae60866
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/font-feature.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"A B","2":"O F H E lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB kB sB","33":"I J K L Z a b c d e f g h i j k l m n","164":"G Y O F H E A B C N D"},D:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I","33":"0 1 b c d e f g h i j k l m n o p q r s t u v w x y z","292":"J K L Z a"},E:{"1":"A B C N D iB XB T Q mB nB","2":"F H E dB WB gB hB","4":"G Y O fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C oB pB qB rB T ZB tB Q","33":"I J K L Z a b c d e f g h i j k l m n o"},G:{"1":"D 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"H yB zB 0B","4":"WB uB aB TC xB"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB","33":"HC IC"},J:{"2":"F","33":"A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC XB PC QC","33":"G"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:4,C:"CSS font-feature-settings"};
diff --git a/node_modules/caniuse-lite/data/features/font-kerning.js b/node_modules/caniuse-lite/data/features/font-kerning.js
new file mode 100644
index 0000000..166dc3e
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/font-kerning.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z a b c d kB sB","194":"e f g h i j k l m n"},D:{"1":"0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z a b c d e f g h i","33":"j k l m"},E:{"1":"A B C N D iB XB T Q mB nB","2":"G Y O dB WB fB gB","33":"F H E hB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I oB pB qB rB T ZB tB Q","33":"J K L Z"},G:{"2":"WB uB aB TC xB yB","33":"H D zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"M IC","2":"bB G DC EC FC GC aB","33":"HC"},J:{"2":"F","33":"A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:4,C:"CSS3 font-kerning"};
diff --git a/node_modules/caniuse-lite/data/features/font-loading.js b/node_modules/caniuse-lite/data/features/font-loading.js
new file mode 100644
index 0000000..559d806
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/font-loading.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o kB sB","194":"p q r s t u"},D:{"1":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o"},E:{"1":"A B C N D XB T Q mB nB","2":"G Y O F H E dB WB fB gB hB iB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b oB pB qB rB T ZB tB Q"},G:{"1":"D 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB 0B 1B"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:5,C:"CSS Font Loading"};
diff --git a/node_modules/caniuse-lite/data/features/font-size-adjust.js b/node_modules/caniuse-lite/data/features/font-size-adjust.js
new file mode 100644
index 0000000..383edd0
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/font-size-adjust.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"2":"C N D I J K L","194":"KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB","2":"eB"},D:{"2":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w","194":"0 1 2 3 4 5 6 7 8 9 x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"2":"E B C I J K L Z a b c d e f g h i j oB pB qB rB T ZB tB Q","194":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"2":"U"},M:{"258":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"194":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:4,C:"CSS font-size-adjust"};
diff --git a/node_modules/caniuse-lite/data/features/font-smooth.js b/node_modules/caniuse-lite/data/features/font-smooth.js
new file mode 100644
index 0000000..2f569c3
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/font-smooth.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"2":"C N D I J K L","676":"KB P M R S YB U"},C:{"2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e kB sB","804":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S"},D:{"2":"G","676":"0 1 2 3 4 5 6 7 8 9 Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"2":"dB WB","676":"G Y O F H E A B C N D fB gB hB iB XB T Q mB nB"},F:{"2":"E B C oB pB qB rB T ZB tB Q","676":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"2":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"804":"jB"}},B:7,C:"CSS font-smooth"};
diff --git a/node_modules/caniuse-lite/data/features/font-unicode-range.js b/node_modules/caniuse-lite/data/features/font-unicode-range.js
new file mode 100644
index 0000000..165a87b
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/font-unicode-range.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H lB","4":"E A B"},B:{"1":"K L KB P M R S YB U","4":"C N D I J"},C:{"1":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p kB sB","194":"q r s t u v w x"},D:{"1":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","4":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p"},E:{"1":"A B C N D XB T Q mB nB","4":"G Y O F H E dB WB fB gB hB iB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C oB pB qB rB T ZB tB Q","4":"I J K L Z a b c"},G:{"1":"D 2B 3B 4B 5B 6B 7B 8B 9B AC BC","4":"H WB uB aB TC xB yB zB 0B 1B"},H:{"2":"CC"},I:{"1":"M","4":"bB G DC EC FC GC aB HC IC"},J:{"2":"F","4":"A"},K:{"2":"A B C T ZB Q","4":"DB"},L:{"1":"U"},M:{"1":"OB"},N:{"4":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC XB PC QC","4":"G"},Q:{"1":"RC"},R:{"2":"SC"},S:{"1":"jB"}},B:4,C:"Font unicode-range subsetting"};
diff --git a/node_modules/caniuse-lite/data/features/font-variant-alternates.js b/node_modules/caniuse-lite/data/features/font-variant-alternates.js
new file mode 100644
index 0000000..0ea140d
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/font-variant-alternates.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E lB","130":"A B"},B:{"130":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB kB sB","130":"G Y O F H E A B C N D I J K L Z a b c d","322":"e f g h i j k l m n"},D:{"2":"G Y O F H E A B C N D I","130":"0 1 2 3 4 5 6 7 8 9 J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"A B C N D iB XB T Q mB nB","2":"F H E dB WB gB hB","130":"G Y O fB"},F:{"2":"E B C oB pB qB rB T ZB tB Q","130":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V"},G:{"1":"D 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"H WB yB zB 0B","130":"uB aB TC xB"},H:{"2":"CC"},I:{"2":"bB G DC EC FC GC aB","130":"M HC IC"},J:{"2":"F","130":"A"},K:{"2":"A B C T ZB Q","130":"DB"},L:{"130":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"130":"JC"},P:{"130":"G KC LC MC NC OC XB PC QC"},Q:{"130":"RC"},R:{"130":"SC"},S:{"1":"jB"}},B:5,C:"CSS font-variant-alternates"};
diff --git a/node_modules/caniuse-lite/data/features/font-variant-east-asian.js b/node_modules/caniuse-lite/data/features/font-variant-east-asian.js
new file mode 100644
index 0000000..7be9657
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/font-variant-east-asian.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z a b c d kB sB","132":"e f g h i j k l m n"},D:{"1":"HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"1":"4 5 6 7 8 9 AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"0 1 2 3 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z oB pB qB rB T ZB tB Q"},G:{"2":"H D uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","16":"WB"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"2":"U"},M:{"132":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"1":"jB"}},B:4,C:"CSS font-variant-east-asian "};
diff --git a/node_modules/caniuse-lite/data/features/font-variant-numeric.js b/node_modules/caniuse-lite/data/features/font-variant-numeric.js
new file mode 100644
index 0000000..969f107
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/font-variant-numeric.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n kB sB"},D:{"1":"6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 1 2 3 4 5 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"A B C N D iB XB T Q mB nB","2":"G Y O F H E dB WB fB gB hB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e f g h i j k l m n o p q r s oB pB qB rB T ZB tB Q"},G:{"1":"D 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB 0B"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F","16":"A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"LC MC NC OC XB PC QC","2":"G KC"},Q:{"1":"RC"},R:{"2":"SC"},S:{"1":"jB"}},B:2,C:"CSS font-variant-numeric"};
diff --git a/node_modules/caniuse-lite/data/features/fontface.js b/node_modules/caniuse-lite/data/features/fontface.js
new file mode 100644
index 0000000..d4fb44e
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/fontface.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"E A B","132":"O F H lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB","2":"eB bB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"G Y O F H E A B C N D WB fB gB hB iB XB T Q mB nB","2":"dB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V pB qB rB T ZB tB Q","2":"E oB"},G:{"1":"H D aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","260":"WB uB"},H:{"2":"CC"},I:{"1":"G M GC aB HC IC","2":"DC","4":"bB EC FC"},J:{"1":"A","4":"F"},K:{"1":"A B C DB T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:4,C:"@font-face Web fonts"};
diff --git a/node_modules/caniuse-lite/data/features/form-attribute.js b/node_modules/caniuse-lite/data/features/form-attribute.js
new file mode 100644
index 0000000..34cbbb5
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/form-attribute.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"J K L KB P M R S YB U","2":"C N D I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E"},E:{"1":"O F H E A B C N D fB gB hB iB XB T Q mB nB","2":"G dB WB","16":"Y"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q","2":"E"},G:{"1":"H D TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB uB aB"},H:{"1":"CC"},I:{"1":"bB G M GC aB HC IC","2":"DC EC FC"},J:{"1":"F A"},K:{"1":"A B C DB T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:1,C:"Form attribute"};
diff --git a/node_modules/caniuse-lite/data/features/form-submit-attributes.js b/node_modules/caniuse-lite/data/features/form-submit-attributes.js
new file mode 100644
index 0000000..abbadf7
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/form-submit-attributes.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"A B","2":"O F H E lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","16":"G Y O F H E A B C N D"},E:{"1":"O F H E A B C N D fB gB hB iB XB T Q mB nB","2":"G Y dB WB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V rB T ZB tB Q","2":"E oB","16":"pB qB"},G:{"1":"H D TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB uB aB"},H:{"1":"CC"},I:{"1":"G M GC aB HC IC","2":"DC EC FC","16":"bB"},J:{"1":"A","2":"F"},K:{"1":"B C DB T ZB Q","16":"A"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:1,C:"Attributes for form submission"};
diff --git a/node_modules/caniuse-lite/data/features/form-validation.js b/node_modules/caniuse-lite/data/features/form-validation.js
new file mode 100644
index 0000000..faec0cc
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/form-validation.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"A B","2":"O F H E lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E"},E:{"1":"B C N D XB T Q mB nB","2":"G dB WB","132":"Y O F H E A fB gB hB iB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V pB qB rB T ZB tB Q","2":"E oB"},G:{"1":"D 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB","132":"H uB aB TC xB yB zB 0B 1B 2B"},H:{"516":"CC"},I:{"1":"M IC","2":"bB DC EC FC","132":"G GC aB HC"},J:{"1":"A","132":"F"},K:{"1":"A B C DB T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"260":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"132":"jB"}},B:1,C:"Form validation"};
diff --git a/node_modules/caniuse-lite/data/features/forms.js b/node_modules/caniuse-lite/data/features/forms.js
new file mode 100644
index 0000000..eeb28ac
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/forms.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"lB","4":"A B","8":"O F H E"},B:{"1":"J K L KB P M R S YB U","4":"C N D I"},C:{"4":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","8":"eB bB kB sB"},D:{"1":"PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","4":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB"},E:{"4":"G Y O F H E A B C N D fB gB hB iB XB T Q mB nB","8":"dB WB"},F:{"1":"6 7 8 9 E B C AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q","4":"0 1 2 3 4 5 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z"},G:{"2":"WB","4":"H D uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB","4":"HC IC"},J:{"2":"F","4":"A"},K:{"1":"A B C T ZB Q","4":"DB"},L:{"1":"U"},M:{"4":"OB"},N:{"4":"A B"},O:{"1":"JC"},P:{"1":"NC OC XB PC QC","4":"G KC LC MC"},Q:{"1":"RC"},R:{"4":"SC"},S:{"4":"jB"}},B:1,C:"HTML5 form features"};
diff --git a/node_modules/caniuse-lite/data/features/fullscreen.js b/node_modules/caniuse-lite/data/features/fullscreen.js
new file mode 100644
index 0000000..242f030
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/fullscreen.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A lB","548":"B"},B:{"1":"KB P M R S YB U","516":"C N D I J K L"},C:{"1":"IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E kB sB","676":"0 A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z","1700":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB PB GB HB"},D:{"1":"W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D","676":"I J K L Z","804":"0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB"},E:{"2":"G Y dB WB","676":"fB","804":"O F H E A B C N D gB hB iB XB T Q mB nB"},F:{"1":"IB JB X LB MB NB FB W V Q","2":"E B C oB pB qB rB T ZB tB","804":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB"},G:{"2":"H WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B","2052":"D 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F","292":"A"},K:{"2":"A B C T ZB Q","804":"DB"},L:{"804":"U"},M:{"1":"OB"},N:{"2":"A","548":"B"},O:{"804":"JC"},P:{"1":"XB PC QC","804":"G KC LC MC NC OC"},Q:{"804":"RC"},R:{"804":"SC"},S:{"1":"jB"}},B:1,C:"Full Screen API"};
diff --git a/node_modules/caniuse-lite/data/features/gamepad.js b/node_modules/caniuse-lite/data/features/gamepad.js
new file mode 100644
index 0000000..d5edcce
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/gamepad.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z a","33":"b c d e"},E:{"1":"B C N D XB T Q mB nB","2":"G Y O F H E A dB WB fB gB hB iB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d oB pB qB rB T ZB tB Q"},G:{"1":"D 3B 4B 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB 0B 1B 2B"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"2":"jB"}},B:5,C:"Gamepad API"};
diff --git a/node_modules/caniuse-lite/data/features/geolocation.js b/node_modules/caniuse-lite/data/features/geolocation.js
new file mode 100644
index 0000000..ac8921b
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/geolocation.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"E A B","2":"lB","8":"O F H"},B:{"1":"C N D I J K L","129":"KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z kB sB","8":"eB bB","129":"9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S"},D:{"1":"0 1 2 3 Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z","4":"G","129":"4 5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"Y O F H E B C N D fB gB hB iB XB T Q mB nB","8":"G dB WB","129":"A"},F:{"1":"B C J K L Z a b c d e f g h i j k l m n o p q r s rB T ZB tB Q","2":"E I oB","8":"pB qB","129":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V"},G:{"1":"H WB uB aB TC xB yB zB 0B 1B","129":"D 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"bB G DC EC FC GC aB HC IC","129":"M"},J:{"1":"F A"},K:{"1":"B C DB T ZB Q","8":"A"},L:{"129":"U"},M:{"129":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G","129":"KC LC MC NC OC XB PC QC"},Q:{"129":"RC"},R:{"129":"SC"},S:{"1":"jB"}},B:2,C:"Geolocation"};
diff --git a/node_modules/caniuse-lite/data/features/getboundingclientrect.js b/node_modules/caniuse-lite/data/features/getboundingclientrect.js
new file mode 100644
index 0000000..9d4383b
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/getboundingclientrect.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"644":"O F lB","2049":"E A B","2692":"H"},B:{"1":"KB P M R S YB U","2049":"C N D I J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB","260":"G Y O F H E A B","1156":"bB","1284":"kB","1796":"sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"G Y O F H E A B C N D fB gB hB iB XB T Q mB nB","16":"dB WB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V rB T ZB tB Q","16":"E oB","132":"pB qB"},G:{"1":"H D uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","16":"WB"},H:{"1":"CC"},I:{"1":"bB G M FC GC aB HC IC","16":"DC EC"},J:{"1":"F A"},K:{"1":"B C DB T ZB Q","132":"A"},L:{"1":"U"},M:{"1":"OB"},N:{"2049":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:5,C:"Element.getBoundingClientRect()"};
diff --git a/node_modules/caniuse-lite/data/features/getcomputedstyle.js b/node_modules/caniuse-lite/data/features/getcomputedstyle.js
new file mode 100644
index 0000000..bd7a494
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/getcomputedstyle.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"E A B","2":"O F H lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB","132":"bB kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","260":"G Y O F H E A"},E:{"1":"Y O F H E A B C N D fB gB hB iB XB T Q mB nB","260":"G dB WB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V rB T ZB tB Q","260":"E oB pB qB"},G:{"1":"H D TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","260":"WB uB aB"},H:{"260":"CC"},I:{"1":"G M GC aB HC IC","260":"bB DC EC FC"},J:{"1":"A","260":"F"},K:{"1":"B C DB T ZB Q","260":"A"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:2,C:"getComputedStyle"};
diff --git a/node_modules/caniuse-lite/data/features/getelementsbyclassname.js b/node_modules/caniuse-lite/data/features/getelementsbyclassname.js
new file mode 100644
index 0000000..843c59f
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/getelementsbyclassname.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"E A B","2":"lB","8":"O F H"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB","8":"eB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q","2":"E"},G:{"1":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"1":"CC"},I:{"1":"bB G M DC EC FC GC aB HC IC"},J:{"1":"F A"},K:{"1":"A B C DB T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:1,C:"getElementsByClassName"};
diff --git a/node_modules/caniuse-lite/data/features/getrandomvalues.js b/node_modules/caniuse-lite/data/features/getrandomvalues.js
new file mode 100644
index 0000000..05f4b77
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/getrandomvalues.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A lB","33":"B"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z a kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A"},E:{"1":"F H E A B C N D gB hB iB XB T Q mB nB","2":"G Y O dB WB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C oB pB qB rB T ZB tB Q"},G:{"1":"H D yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB uB aB TC xB"},H:{"2":"CC"},I:{"1":"M HC IC","2":"bB G DC EC FC GC aB"},J:{"1":"A","2":"F"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A","33":"B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:2,C:"crypto.getRandomValues()"};
diff --git a/node_modules/caniuse-lite/data/features/gyroscope.js b/node_modules/caniuse-lite/data/features/gyroscope.js
new file mode 100644
index 0000000..56957e1
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/gyroscope.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"1":"LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB","194":"CB DB EB PB GB HB IB JB X"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"1":"8 9 AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"0 1 2 3 4 5 6 7 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z oB pB qB rB T ZB tB Q"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"1":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:4,C:"Gyroscope"};
diff --git a/node_modules/caniuse-lite/data/features/hardwareconcurrency.js b/node_modules/caniuse-lite/data/features/hardwareconcurrency.js
new file mode 100644
index 0000000..24130d4
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/hardwareconcurrency.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"I J K L KB P M R S YB U","2":"C N D"},C:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"0 1 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q"},E:{"2":"G Y O F dB WB fB gB hB","129":"B C N D XB T Q mB nB","194":"H E A iB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d oB pB qB rB T ZB tB Q"},G:{"2":"WB uB aB TC xB yB","129":"D 3B 4B 5B 6B 7B 8B 9B AC BC","194":"H zB 0B 1B 2B"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:1,C:"navigator.hardwareConcurrency"};
diff --git a/node_modules/caniuse-lite/data/features/hashchange.js b/node_modules/caniuse-lite/data/features/hashchange.js
new file mode 100644
index 0000000..d574541
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/hashchange.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"H E A B","8":"O F lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S sB","8":"eB bB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","8":"G"},E:{"1":"Y O F H E A B C N D fB gB hB iB XB T Q mB nB","8":"G dB WB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V rB T ZB tB Q","8":"E oB pB qB"},G:{"1":"H D uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB"},H:{"2":"CC"},I:{"1":"bB G M EC FC GC aB HC IC","2":"DC"},J:{"1":"F A"},K:{"1":"B C DB T ZB Q","8":"A"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:1,C:"Hashchange event"};
diff --git a/node_modules/caniuse-lite/data/features/heif.js b/node_modules/caniuse-lite/data/features/heif.js
new file mode 100644
index 0000000..eeb4537
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/heif.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"2":"C N D I J K L KB P M R S YB U"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"2":"G Y O F H E A dB WB fB gB hB iB XB","130":"B C N D T Q mB nB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"2":"H WB uB aB TC xB yB zB 0B 1B 2B 3B","130":"D 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"2":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:6,C:"HEIF/ISO Base Media File Format"};
diff --git a/node_modules/caniuse-lite/data/features/hevc.js b/node_modules/caniuse-lite/data/features/hevc.js
new file mode 100644
index 0000000..0c19415
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/hevc.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A lB","132":"B"},B:{"2":"KB P M R S YB U","132":"C N D I J K L"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"N D mB nB","2":"G Y O F H E A dB WB fB gB hB iB XB","516":"B C T Q"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"1":"D 4B 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB 0B 1B 2B 3B"},H:{"2":"CC"},I:{"2":"bB G DC EC FC GC aB HC IC","258":"M"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"258":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G","258":"KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:6,C:"HEVC/H.265 video format"};
diff --git a/node_modules/caniuse-lite/data/features/hidden.js b/node_modules/caniuse-lite/data/features/hidden.js
new file mode 100644
index 0000000..22f5f80
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/hidden.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"B","2":"O F H E A lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y"},E:{"1":"O F H E A B C N D fB gB hB iB XB T Q mB nB","2":"G Y dB WB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V T ZB tB Q","2":"E B oB pB qB rB"},G:{"1":"H D TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB uB aB"},H:{"1":"CC"},I:{"1":"G M GC aB HC IC","2":"bB DC EC FC"},J:{"1":"A","2":"F"},K:{"1":"C DB T ZB Q","2":"A B"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"B","2":"A"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:1,C:"hidden attribute"};
diff --git a/node_modules/caniuse-lite/data/features/high-resolution-time.js b/node_modules/caniuse-lite/data/features/high-resolution-time.js
new file mode 100644
index 0000000..68f8c83
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/high-resolution-time.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"A B","2":"O F H E lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z","33":"a b c d"},E:{"1":"H E A B C N D iB XB T Q mB nB","2":"G Y O F dB WB fB gB hB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C oB pB qB rB T ZB tB Q"},G:{"1":"H D 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB uB aB TC xB yB zB"},H:{"2":"CC"},I:{"1":"M HC IC","2":"bB G DC EC FC GC aB"},J:{"1":"A","2":"F"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:2,C:"High Resolution Time API"};
diff --git a/node_modules/caniuse-lite/data/features/history.js b/node_modules/caniuse-lite/data/features/history.js
new file mode 100644
index 0000000..c1e97e6
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/history.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"A B","2":"O F H E lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G"},E:{"1":"O F H E A B C N D gB hB iB XB T Q mB nB","2":"G dB WB","4":"Y fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V ZB tB Q","2":"E B oB pB qB rB T"},G:{"1":"H D TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB uB","4":"aB"},H:{"2":"CC"},I:{"1":"M EC FC aB HC IC","2":"bB G DC GC"},J:{"1":"F A"},K:{"1":"C DB T ZB Q","2":"A B"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:1,C:"Session history management"};
diff --git a/node_modules/caniuse-lite/data/features/html-media-capture.js b/node_modules/caniuse-lite/data/features/html-media-capture.js
new file mode 100644
index 0000000..1a79700
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/html-media-capture.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"2":"C N D I J K L KB P M R S YB U"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"2":"WB uB aB TC","129":"H D xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"bB G M GC aB HC IC","2":"DC","257":"EC FC"},J:{"1":"A","16":"F"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"516":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"16":"RC"},R:{"1":"SC"},S:{"2":"jB"}},B:4,C:"HTML Media Capture"};
diff --git a/node_modules/caniuse-lite/data/features/html5semantic.js b/node_modules/caniuse-lite/data/features/html5semantic.js
new file mode 100644
index 0000000..c621312
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/html5semantic.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"lB","8":"O F H","260":"E A B"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB","132":"bB kB sB","260":"G Y O F H E A B C N D I J K L Z a"},D:{"1":"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","132":"G Y","260":"O F H E A B C N D I J K L Z a b c d e f"},E:{"1":"F H E A B C N D gB hB iB XB T Q mB nB","132":"G dB WB","260":"Y O fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","132":"E B oB pB qB rB","260":"C T ZB tB Q"},G:{"1":"H D yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","132":"WB","260":"uB aB TC xB"},H:{"132":"CC"},I:{"1":"M HC IC","132":"DC","260":"bB G EC FC GC aB"},J:{"260":"F A"},K:{"1":"DB","132":"A","260":"B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"260":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:1,C:"HTML5 semantic elements"};
diff --git a/node_modules/caniuse-lite/data/features/http-live-streaming.js b/node_modules/caniuse-lite/data/features/http-live-streaming.js
new file mode 100644
index 0000000..c44ad0f
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/http-live-streaming.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"C N D I J K L","2":"KB P M R S YB U"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"O F H E A B C N D gB hB iB XB T Q mB nB","2":"G Y dB WB fB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"1":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"bB G M GC aB HC IC","2":"DC EC FC"},J:{"1":"A","2":"F"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"2":"jB"}},B:7,C:"HTTP Live Streaming (HLS)"};
diff --git a/node_modules/caniuse-lite/data/features/http2.js b/node_modules/caniuse-lite/data/features/http2.js
new file mode 100644
index 0000000..3fa0cb8
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/http2.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A lB","132":"B"},B:{"1":"C N D I J K L","513":"KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 q r s t u v w x y z","2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p kB sB","513":"7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S"},D:{"1":"0 1 2 3 4 v w x y z","2":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u","513":"5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"B C N D T Q mB nB","2":"G Y O F H dB WB fB gB hB","260":"E A iB XB"},F:{"1":"i j k l m n o p q r","2":"E B C I J K L Z a b c d e f g h oB pB qB rB T ZB tB Q","513":"0 1 2 3 4 5 6 7 8 9 s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V"},G:{"1":"D 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB"},H:{"2":"CC"},I:{"2":"bB G DC EC FC GC aB HC IC","513":"M"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"513":"U"},M:{"513":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G","513":"KC LC MC NC OC XB PC QC"},Q:{"513":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:6,C:"HTTP/2 protocol"};
diff --git a/node_modules/caniuse-lite/data/features/http3.js b/node_modules/caniuse-lite/data/features/http3.js
new file mode 100644
index 0000000..85105a9
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/http3.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"2":"C N D I J K L KB P M R S YB U"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W kB sB","194":"V VB QB RB SB TB UB KB P M OB R S"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB","322":"KB P M R S YB U vB wB cB"},E:{"2":"G Y O F H E A B C N dB WB fB gB hB iB XB T Q mB","516":"D nB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"2":"H WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","66":"D"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"2":"U"},M:{"194":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:6,C:"HTTP/3 protocol"};
diff --git a/node_modules/caniuse-lite/data/features/iframe-sandbox.js b/node_modules/caniuse-lite/data/features/iframe-sandbox.js
new file mode 100644
index 0000000..0ae0c9b
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/iframe-sandbox.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"A B","2":"O F H E lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J kB sB","4":"K L Z a b c d e f g h"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"Y O F H E A B C N D fB gB hB iB XB T Q mB nB","2":"G dB WB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C oB pB qB rB T ZB tB Q"},G:{"1":"H D aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB uB"},H:{"2":"CC"},I:{"1":"bB G M EC FC GC aB HC IC","2":"DC"},J:{"1":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:1,C:"sandbox attribute for iframes"};
diff --git a/node_modules/caniuse-lite/data/features/iframe-seamless.js b/node_modules/caniuse-lite/data/features/iframe-seamless.js
new file mode 100644
index 0000000..b2e63f9
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/iframe-seamless.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"2":"C N D I J K L KB P M R S YB U"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","66":"a b c d e f g"},E:{"2":"G Y O H E A B C N D dB WB fB gB iB XB T Q mB nB","130":"F hB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"2":"H D WB uB aB TC xB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","130":"yB"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"2":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:7,C:"seamless attribute for iframes"};
diff --git a/node_modules/caniuse-lite/data/features/iframe-srcdoc.js b/node_modules/caniuse-lite/data/features/iframe-srcdoc.js
new file mode 100644
index 0000000..cff6849
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/iframe-srcdoc.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"lB","8":"O F H E A B"},B:{"1":"KB P M R S YB U","8":"C N D I J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB","8":"bB G Y O F H E A B C N D I J K L Z a b c d e kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N","8":"D I J K L Z"},E:{"1":"O F H E A B C N D gB hB iB XB T Q mB nB","2":"dB WB","8":"G Y fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B oB pB qB rB","8":"C T ZB tB Q"},G:{"1":"H D xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB","8":"uB aB TC"},H:{"2":"CC"},I:{"1":"M HC IC","8":"bB G DC EC FC GC aB"},J:{"1":"A","8":"F"},K:{"1":"DB","2":"A B","8":"C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"8":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:1,C:"srcdoc attribute for iframes"};
diff --git a/node_modules/caniuse-lite/data/features/imagecapture.js b/node_modules/caniuse-lite/data/features/imagecapture.js
new file mode 100644
index 0000000..d4234e6
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/imagecapture.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"2":"C N D I J K L","322":"KB P M R S YB U"},C:{"2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o kB sB","194":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S"},D:{"2":"0 1 2 3 4 5 6 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z","322":"7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"2":"E B C I J K L Z a b c d e f g h i j k l m n o p q r s t oB pB qB rB T ZB tB Q","322":"0 1 2 3 4 5 6 7 8 9 u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"1":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"KC LC MC NC OC XB PC QC","2":"G"},Q:{"322":"RC"},R:{"1":"SC"},S:{"194":"jB"}},B:5,C:"ImageCapture API"};
diff --git a/node_modules/caniuse-lite/data/features/ime.js b/node_modules/caniuse-lite/data/features/ime.js
new file mode 100644
index 0000000..8d9b4bc
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/ime.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A lB","161":"B"},B:{"2":"KB P M R S YB U","161":"C N D I J K L"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"2":"U"},M:{"2":"OB"},N:{"2":"A","161":"B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:5,C:"Input Method Editor API"};
diff --git a/node_modules/caniuse-lite/data/features/img-naturalwidth-naturalheight.js b/node_modules/caniuse-lite/data/features/img-naturalwidth-naturalheight.js
new file mode 100644
index 0000000..77731a4
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/img-naturalwidth-naturalheight.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"E A B","2":"O F H lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"1":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"1":"CC"},I:{"1":"bB G M DC EC FC GC aB HC IC"},J:{"1":"F A"},K:{"1":"A B C DB T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:1,C:"naturalWidth & naturalHeight image properties"};
diff --git a/node_modules/caniuse-lite/data/features/imports.js b/node_modules/caniuse-lite/data/features/imports.js
new file mode 100644
index 0000000..3b02c8c
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/imports.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E lB","8":"A B"},B:{"1":"KB","2":"P M R S YB U","8":"C N D I J K L"},C:{"2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j kB sB","8":"k l AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","72":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x y z"},D:{"1":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB","2":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j P M R S YB U vB wB cB","66":"k l m n o","72":"p"},E:{"2":"G Y dB WB fB","8":"O F H E A B C N D gB hB iB XB T Q mB nB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X","2":"E B C I J LB MB NB FB W V oB pB qB rB T ZB tB Q","66":"K L Z a b","72":"c"},G:{"2":"WB uB aB TC xB","8":"H D yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"2":"U"},M:{"8":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:5,C:"HTML Imports"};
diff --git a/node_modules/caniuse-lite/data/features/indeterminate-checkbox.js b/node_modules/caniuse-lite/data/features/indeterminate-checkbox.js
new file mode 100644
index 0000000..4ca6248
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/indeterminate-checkbox.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"O F H E A B","16":"lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S sB","2":"eB bB","16":"kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z a b c d e f g h"},E:{"1":"O F H E A B C N D gB hB iB XB T Q mB nB","2":"G Y dB WB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V tB Q","2":"E B oB pB qB rB T ZB"},G:{"1":"D 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B"},H:{"2":"CC"},I:{"1":"M HC IC","2":"bB G DC EC FC GC aB"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"2":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:1,C:"indeterminate checkbox"};
diff --git a/node_modules/caniuse-lite/data/features/indexeddb.js b/node_modules/caniuse-lite/data/features/indexeddb.js
new file mode 100644
index 0000000..e4671fb
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/indexeddb.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E lB","132":"A B"},B:{"1":"KB P M R S YB U","132":"C N D I J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB kB sB","33":"A B C N D I","36":"G Y O F H E"},D:{"1":"0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"A","8":"G Y O F H E","33":"d","36":"B C N D I J K L Z a b c"},E:{"1":"A B C N D XB T Q mB nB","8":"G Y O F dB WB fB gB","260":"H E hB iB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E oB pB","8":"B C qB rB T ZB tB Q"},G:{"1":"D 2B 3B 4B 5B 6B 7B 8B 9B AC BC","8":"WB uB aB TC xB yB","260":"H zB 0B 1B"},H:{"2":"CC"},I:{"1":"M HC IC","8":"bB G DC EC FC GC aB"},J:{"1":"A","8":"F"},K:{"1":"DB","2":"A","8":"B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"132":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:2,C:"IndexedDB"};
diff --git a/node_modules/caniuse-lite/data/features/indexeddb2.js b/node_modules/caniuse-lite/data/features/indexeddb2.js
new file mode 100644
index 0000000..5d9add1
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/indexeddb2.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"1":"5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x kB sB","132":"0 y z","260":"1 2 3 4"},D:{"1":"CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 1 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z","132":"2 3 4 5","260":"6 7 8 9 AB BB"},E:{"1":"B C N D XB T Q mB nB","2":"G Y O F H E A dB WB fB gB hB iB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e f g h i j k l m n o oB pB qB rB T ZB tB Q","132":"p q r s","260":"t u v w x y"},G:{"1":"D 3B 4B 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB 0B 1B","16":"2B"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"MC NC OC XB PC QC","2":"G","260":"KC LC"},Q:{"1":"RC"},R:{"2":"SC"},S:{"260":"jB"}},B:4,C:"IndexedDB 2.0"};
diff --git a/node_modules/caniuse-lite/data/features/inline-block.js b/node_modules/caniuse-lite/data/features/inline-block.js
new file mode 100644
index 0000000..f94eaf0
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/inline-block.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"H E A B","4":"lB","132":"O F"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB","36":"eB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"1":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"1":"CC"},I:{"1":"bB G M DC EC FC GC aB HC IC"},J:{"1":"F A"},K:{"1":"A B C DB T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:2,C:"CSS inline-block"};
diff --git a/node_modules/caniuse-lite/data/features/innertext.js b/node_modules/caniuse-lite/data/features/innertext.js
new file mode 100644
index 0000000..ce62dfc
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/innertext.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"O F H E A B","16":"lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"G Y O F H E A B C N D WB fB gB hB iB XB T Q mB nB","16":"dB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q","16":"E"},G:{"1":"H D uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","16":"WB"},H:{"1":"CC"},I:{"1":"bB G M FC GC aB HC IC","16":"DC EC"},J:{"1":"F A"},K:{"1":"A B C DB T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:1,C:"HTMLElement.innerText"};
diff --git a/node_modules/caniuse-lite/data/features/input-autocomplete-onoff.js b/node_modules/caniuse-lite/data/features/input-autocomplete-onoff.js
new file mode 100644
index 0000000..d3bd68a
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/input-autocomplete-onoff.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"O F H E A lB","132":"B"},B:{"132":"C N D I J K L","260":"KB P M R S YB U"},C:{"1":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j kB sB","516":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S"},D:{"1":"K L Z a b c d e f g","2":"G Y O F H E A B C N D I J","132":"h i j k l m n o p q r s t u","260":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"O fB gB","2":"G Y dB WB","2052":"F H E A B C N D hB iB XB T Q mB nB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"2":"WB uB aB","1025":"H D TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"1025":"CC"},I:{"1":"bB G M DC EC FC GC aB HC IC"},J:{"1":"F A"},K:{"1":"A B C DB T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2052":"A B"},O:{"1025":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"260":"RC"},R:{"1":"SC"},S:{"516":"jB"}},B:1,C:"autocomplete attribute: on & off values"};
diff --git a/node_modules/caniuse-lite/data/features/input-color.js b/node_modules/caniuse-lite/data/features/input-color.js
new file mode 100644
index 0000000..2f16852
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/input-color.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"D I J K L KB P M R S YB U","2":"C N"},C:{"1":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z"},E:{"1":"N D Q mB nB","2":"G Y O F H E A B C dB WB fB gB hB iB XB T"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V T ZB tB Q","2":"E I J oB pB qB rB"},G:{"2":"H WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B","129":"D 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"M HC IC","2":"bB G DC EC FC GC aB"},J:{"1":"F A"},K:{"1":"A B C DB T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"2":"jB"}},B:1,C:"Color input type"};
diff --git a/node_modules/caniuse-lite/data/features/input-datetime.js b/node_modules/caniuse-lite/data/features/input-datetime.js
new file mode 100644
index 0000000..0016880
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/input-datetime.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"N D I J K L KB P M R S YB U","132":"C"},C:{"2":"0 1 2 3 4 5 6 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z kB sB","1090":"7 8 9 AB","2052":"BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S"},D:{"1":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z","2052":"a b c d e"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB","4100":"nB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"2":"WB uB aB","260":"H D TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"M HC IC","2":"bB DC EC FC","514":"G GC aB"},J:{"1":"A","2":"F"},K:{"1":"A B C DB T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"2052":"jB"}},B:1,C:"Date and time input types"};
diff --git a/node_modules/caniuse-lite/data/features/input-email-tel-url.js b/node_modules/caniuse-lite/data/features/input-email-tel-url.js
new file mode 100644
index 0000000..e001b79
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/input-email-tel-url.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"A B","2":"O F H E lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G"},E:{"1":"Y O F H E A B C N D fB gB hB iB XB T Q mB nB","2":"G dB WB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q","2":"E"},G:{"1":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"bB G M GC aB HC IC","132":"DC EC FC"},J:{"1":"A","132":"F"},K:{"1":"A B C DB T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:1,C:"Email, telephone & URL input types"};
diff --git a/node_modules/caniuse-lite/data/features/input-event.js b/node_modules/caniuse-lite/data/features/input-event.js
new file mode 100644
index 0000000..23f6b76
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/input-event.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H lB","2561":"A B","2692":"E"},B:{"1":"KB P M R S YB U","2561":"C N D I J K L"},C:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","16":"eB","1537":"0 1 2 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z sB","1796":"bB kB"},D:{"1":"X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","16":"G Y O F H E A B C N D","1025":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB","1537":"I J K L Z a b c d e f g h i j k l m n o"},E:{"1":"D mB nB","16":"G Y O dB WB","1025":"F H E A B C gB hB iB XB T","1537":"fB","4097":"N Q"},F:{"1":"6 7 8 9 AB BB CB EB GB HB IB JB X LB MB NB FB W V Q","16":"E B C oB pB qB rB T ZB","260":"tB","1025":"0 1 2 3 4 5 c d e f g h i j k l m n o p q r s t u v w x y z","1537":"I J K L Z a b"},G:{"16":"WB uB aB","1025":"H D zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","1537":"TC xB yB"},H:{"2":"CC"},I:{"16":"DC EC","1025":"M IC","1537":"bB G FC GC aB HC"},J:{"1025":"A","1537":"F"},K:{"1":"A B C T ZB Q","1025":"DB"},L:{"1":"U"},M:{"1537":"OB"},N:{"2561":"A B"},O:{"1537":"JC"},P:{"1025":"G KC LC MC NC OC XB PC QC"},Q:{"1025":"RC"},R:{"1025":"SC"},S:{"1537":"jB"}},B:1,C:"input event"};
diff --git a/node_modules/caniuse-lite/data/features/input-file-accept.js b/node_modules/caniuse-lite/data/features/input-file-accept.js
new file mode 100644
index 0000000..01b2e53
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/input-file-accept.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"A B","2":"O F H E lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB kB sB","132":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q"},D:{"1":"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G","16":"Y O F H b c d e f","132":"E A B C N D I J K L Z a"},E:{"1":"C N D T Q mB nB","2":"G Y dB WB fB","132":"O F H E A B gB hB iB XB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C oB pB qB rB T ZB tB Q"},G:{"2":"xB yB","132":"H D zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","514":"WB uB aB TC"},H:{"2":"CC"},I:{"2":"DC EC FC","260":"bB G GC aB","514":"M HC IC"},J:{"132":"A","260":"F"},K:{"2":"A B C T ZB Q","260":"DB"},L:{"260":"U"},M:{"2":"OB"},N:{"514":"A","1028":"B"},O:{"2":"JC"},P:{"260":"G KC LC MC NC OC XB PC QC"},Q:{"260":"RC"},R:{"260":"SC"},S:{"1":"jB"}},B:1,C:"accept attribute for file input"};
diff --git a/node_modules/caniuse-lite/data/features/input-file-directory.js b/node_modules/caniuse-lite/data/features/input-file-directory.js
new file mode 100644
index 0000000..6448e7c
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/input-file-directory.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"D I J K L KB P M R S YB U","2":"C N"},C:{"1":"4 5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"0 1 2 3 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j"},E:{"1":"C N D T Q mB nB","2":"G Y O F H E A B dB WB fB gB hB iB XB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J oB pB qB rB T ZB tB Q"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"2":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:7,C:"Directory selection from file input"};
diff --git a/node_modules/caniuse-lite/data/features/input-file-multiple.js b/node_modules/caniuse-lite/data/features/input-file-multiple.js
new file mode 100644
index 0000000..c35b93e
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/input-file-multiple.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"A B","2":"O F H E lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S sB","2":"eB bB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G"},E:{"1":"G Y O F H E A B C N D fB gB hB iB XB T Q mB nB","2":"dB WB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V rB T ZB tB Q","2":"E oB pB qB"},G:{"1":"H D xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB uB aB TC"},H:{"130":"CC"},I:{"130":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"130":"A B C DB T ZB Q"},L:{"132":"U"},M:{"130":"OB"},N:{"2":"A B"},O:{"130":"JC"},P:{"130":"G","132":"KC LC MC NC OC XB PC QC"},Q:{"132":"RC"},R:{"132":"SC"},S:{"2":"jB"}},B:1,C:"Multiple file selection"};
diff --git a/node_modules/caniuse-lite/data/features/input-inputmode.js b/node_modules/caniuse-lite/data/features/input-inputmode.js
new file mode 100644
index 0000000..463d3bd
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/input-inputmode.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"2":"eB bB G Y O F H E A B C N D I J kB sB","4":"K L Z a","194":"0 1 2 3 4 5 6 7 8 9 b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S"},D:{"1":"X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z","66":"AB BB CB DB EB PB GB HB IB JB"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"1":"7 8 9 AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w oB pB qB rB T ZB tB Q","66":"0 1 2 3 4 5 6 x y z"},G:{"1":"D 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"194":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"OC XB PC QC","2":"G KC LC MC NC"},Q:{"1":"RC"},R:{"2":"SC"},S:{"194":"jB"}},B:1,C:"inputmode attribute"};
diff --git a/node_modules/caniuse-lite/data/features/input-minlength.js b/node_modules/caniuse-lite/data/features/input-minlength.js
new file mode 100644
index 0000000..8a741e9
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/input-minlength.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"K L KB P M R S YB U","2":"C N D I J"},C:{"1":"5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"0 1 2 3 4 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t"},E:{"1":"B C N D XB T Q mB nB","2":"G Y O F H E A dB WB fB gB hB iB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e f g oB pB qB rB T ZB tB Q"},G:{"1":"D 3B 4B 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB 0B 1B 2B"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC XB PC QC","2":"G"},Q:{"1":"RC"},R:{"1":"SC"},S:{"2":"jB"}},B:1,C:"Minimum length attribute for input fields"};
diff --git a/node_modules/caniuse-lite/data/features/input-number.js b/node_modules/caniuse-lite/data/features/input-number.js
new file mode 100644
index 0000000..a6dd58f
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/input-number.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E lB","129":"A B"},B:{"1":"KB P M R S YB U","129":"C N","1025":"D I J K L"},C:{"2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i kB sB","513":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S"},D:{"1":"0 1 2 3 4 5 6 7 8 9 O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y"},E:{"1":"Y O F H E A B C N D fB gB hB iB XB T Q mB nB","2":"G dB WB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"388":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB DC EC FC","388":"G M GC aB HC IC"},J:{"2":"F","388":"A"},K:{"1":"A B C T ZB Q","388":"DB"},L:{"388":"U"},M:{"641":"OB"},N:{"388":"A B"},O:{"388":"JC"},P:{"388":"G KC LC MC NC OC XB PC QC"},Q:{"388":"RC"},R:{"388":"SC"},S:{"513":"jB"}},B:1,C:"Number input type"};
diff --git a/node_modules/caniuse-lite/data/features/input-pattern.js b/node_modules/caniuse-lite/data/features/input-pattern.js
new file mode 100644
index 0000000..eb37ded
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/input-pattern.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"A B","2":"O F H E lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E"},E:{"1":"B C N D XB T Q mB nB","2":"G dB WB","16":"Y","388":"O F H E A fB gB hB iB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q","2":"E"},G:{"1":"D 3B 4B 5B 6B 7B 8B 9B AC BC","16":"WB uB aB","388":"H TC xB yB zB 0B 1B 2B"},H:{"2":"CC"},I:{"1":"M IC","2":"bB G DC EC FC GC aB HC"},J:{"1":"A","2":"F"},K:{"1":"A B C T ZB Q","132":"DB"},L:{"1":"U"},M:{"1":"OB"},N:{"132":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:1,C:"Pattern attribute for input fields"};
diff --git a/node_modules/caniuse-lite/data/features/input-placeholder.js b/node_modules/caniuse-lite/data/features/input-placeholder.js
new file mode 100644
index 0000000..9defc1c
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/input-placeholder.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"A B","2":"O F H E lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"Y O F H E A B C N D fB gB hB iB XB T Q mB nB","132":"G dB WB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V ZB tB Q","2":"E oB pB qB rB","132":"B T"},G:{"1":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"1":"CC"},I:{"1":"bB M DC EC FC aB HC IC","4":"G GC"},J:{"1":"F A"},K:{"1":"B C DB T ZB Q","2":"A"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:1,C:"input placeholder attribute"};
diff --git a/node_modules/caniuse-lite/data/features/input-range.js b/node_modules/caniuse-lite/data/features/input-range.js
new file mode 100644
index 0000000..75612ac
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/input-range.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"A B","2":"O F H E lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z a b c kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"1":"H D TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB uB aB"},H:{"2":"CC"},I:{"1":"M aB HC IC","4":"bB G DC EC FC GC"},J:{"1":"F A"},K:{"1":"A B C DB T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:1,C:"Range input type"};
diff --git a/node_modules/caniuse-lite/data/features/input-search.js b/node_modules/caniuse-lite/data/features/input-search.js
new file mode 100644
index 0000000..700e2f9
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/input-search.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E lB","129":"A B"},B:{"1":"KB P M R S YB U","129":"C N D I J K L"},C:{"2":"eB bB kB sB","129":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S"},D:{"1":"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","16":"G Y O F H E A B C N D b c d e f","129":"I J K L Z a"},E:{"1":"O F H E A B C N D fB gB hB iB XB T Q mB nB","16":"G Y dB WB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V tB Q","2":"E oB pB qB rB","16":"B T ZB"},G:{"1":"H D TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","16":"WB uB aB"},H:{"129":"CC"},I:{"1":"M HC IC","16":"DC EC","129":"bB G FC GC aB"},J:{"1":"F","129":"A"},K:{"1":"C","2":"A","16":"B T ZB","129":"DB Q"},L:{"1":"U"},M:{"129":"OB"},N:{"129":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"129":"jB"}},B:1,C:"Search input type"};
diff --git a/node_modules/caniuse-lite/data/features/input-selection.js b/node_modules/caniuse-lite/data/features/input-selection.js
new file mode 100644
index 0000000..0a4c2ec
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/input-selection.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"E A B","2":"O F H lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"G Y O F H E A B C N D fB gB hB iB XB T Q mB nB","16":"dB WB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V rB T ZB tB Q","16":"E oB pB qB"},G:{"1":"H D uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","16":"WB"},H:{"2":"CC"},I:{"1":"bB G M DC EC FC GC aB HC IC"},J:{"1":"F A"},K:{"1":"A B C DB T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:1,C:"Selection controls for input & textarea"};
diff --git a/node_modules/caniuse-lite/data/features/insert-adjacent.js b/node_modules/caniuse-lite/data/features/insert-adjacent.js
new file mode 100644
index 0000000..0157560
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/insert-adjacent.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"O F H E A B","16":"lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"0 1 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q","16":"E"},G:{"1":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"1":"CC"},I:{"1":"bB G M FC GC aB HC IC","16":"DC EC"},J:{"1":"F A"},K:{"1":"A B C DB T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:1,C:"Element.insertAdjacentElement() & Element.insertAdjacentText()"};
diff --git a/node_modules/caniuse-lite/data/features/insertadjacenthtml.js b/node_modules/caniuse-lite/data/features/insertadjacenthtml.js
new file mode 100644
index 0000000..73b4506
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/insertadjacenthtml.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"A B","16":"lB","132":"O F H E"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"G Y O F H E A B C N D fB gB hB iB XB T Q mB nB","2":"dB WB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V pB qB rB T ZB tB Q","16":"E oB"},G:{"1":"H D uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","16":"WB"},H:{"1":"CC"},I:{"1":"bB G M FC GC aB HC IC","16":"DC EC"},J:{"1":"F A"},K:{"1":"A B C DB T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:4,C:"Element.insertAdjacentHTML()"};
diff --git a/node_modules/caniuse-lite/data/features/internationalization-plural-rul.js b/node_modules/caniuse-lite/data/features/internationalization-plural-rul.js
new file mode 100644
index 0000000..a8ff0cd
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/internationalization-plural-rul.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"L H G E A B jB"},B:{"1":"8","2":"C D e K I N","130":"J"},C:{"1":"1 2 3 9 KB JB CB DB EB O GB HB IB","2":"0 4 5 7 gB BB F L H G E A B C D e K I N J P Q R S T U V W X Y Z a b c d f g h i j k l m n o M q r s t u v w x y z aB ZB"},D:{"1":"8 JB CB DB EB O GB HB IB TB PB OB mB MB QB RB","2":"0 1 2 3 4 5 7 9 F L H G E A B C D e K I N J P Q R S T U V W X Y Z a b c d f g h i j k l m n o M q r s t u v w x y z KB"},E:{"2":"4 6 F L H G E A B C SB LB UB VB WB XB YB p","16":"D bB"},F:{"1":"0 1 2 3 t u v w x y z","2":"5 6 7 E B C K I N J P Q R S T U V W X Y Z a b c d f g h i j k l m n o M q r s cB dB eB fB p AB hB"},G:{"2":"G D LB iB FB kB lB NB nB oB pB qB rB sB tB uB vB"},H:{"2":"wB"},I:{"1":"O","2":"BB F xB yB zB 0B FB 1B 2B"},J:{"2":"H A"},K:{"2":"6 A B C M p AB"},L:{"1":"MB"},M:{"1":"O"},N:{"2":"A B"},O:{"2":"3B"},P:{"2":"F 4B 5B 6B 7B 8B"},Q:{"2":"9B"},R:{"2":"AC"},S:{"2":"BC"}},B:6,C:"Intl.PluralRules API"};
diff --git a/node_modules/caniuse-lite/data/features/internationalization.js b/node_modules/caniuse-lite/data/features/internationalization.js
new file mode 100644
index 0000000..792464a
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/internationalization.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"B","2":"O F H E A lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z a b c d"},E:{"1":"A B C N D XB T Q mB nB","2":"G Y O F H E dB WB fB gB hB iB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C oB pB qB rB T ZB tB Q"},G:{"1":"D 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB 0B 1B"},H:{"2":"CC"},I:{"1":"M HC IC","2":"bB G DC EC FC GC aB"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"B","2":"A"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"1":"SC"},S:{"2":"jB"}},B:6,C:"Internationalization API"};
diff --git a/node_modules/caniuse-lite/data/features/intersectionobserver-v2.js b/node_modules/caniuse-lite/data/features/intersectionobserver-v2.js
new file mode 100644
index 0000000..f6ae2a0
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/intersectionobserver-v2.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"1":"QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"1":"GB HB IB JB X LB MB NB FB W V","2":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB oB pB qB rB T ZB tB Q"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"1":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"PC QC","2":"G KC LC MC NC OC XB"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:7,C:"IntersectionObserver V2"};
diff --git a/node_modules/caniuse-lite/data/features/intersectionobserver.js b/node_modules/caniuse-lite/data/features/intersectionobserver.js
new file mode 100644
index 0000000..b858421
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/intersectionobserver.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"J K L","2":"C N D","516":"I","1025":"KB P M R S YB U"},C:{"1":"9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"0 1 2 3 4 5 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z kB sB","194":"6 7 8"},D:{"1":"CB DB EB PB GB HB IB","2":"0 1 2 3 4 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z","516":"5 6 7 8 9 AB BB","1025":"JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"N D Q mB nB","2":"G Y O F H E A B C dB WB fB gB hB iB XB T"},F:{"1":"0 1 2 3 4 5 6 7 8 9 z AB BB CB EB GB HB","2":"E B C I J K L Z a b c d e f g h i j k l m n o p q r oB pB qB rB T ZB tB Q","516":"s t u v w x y","1025":"IB JB X LB MB NB FB W V"},G:{"1":"D 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B"},H:{"2":"CC"},I:{"2":"bB G DC EC FC GC aB HC IC","1025":"M"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"516":"JC"},P:{"1":"MC NC OC XB PC QC","2":"G","516":"KC LC"},Q:{"1025":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:5,C:"IntersectionObserver"};
diff --git a/node_modules/caniuse-lite/data/features/intl-pluralrules.js b/node_modules/caniuse-lite/data/features/intl-pluralrules.js
new file mode 100644
index 0000000..871b20e
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/intl-pluralrules.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K","130":"L"},C:{"1":"CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB kB sB"},D:{"1":"HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB"},E:{"1":"N D mB nB","2":"G Y O F H E A B C dB WB fB gB hB iB XB T Q"},F:{"1":"4 5 6 7 8 9 AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"0 1 2 3 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z oB pB qB rB T ZB tB Q"},G:{"1":"D 8B 9B AC BC","2":"H WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"NC OC XB PC QC","2":"G KC LC MC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:6,C:"Intl.PluralRules API"};
diff --git a/node_modules/caniuse-lite/data/features/intrinsic-width.js b/node_modules/caniuse-lite/data/features/intrinsic-width.js
new file mode 100644
index 0000000..dd849ed
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/intrinsic-width.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"2":"C N D I J K L","1537":"KB P M R S YB U"},C:{"2":"eB","932":"0 1 2 3 4 5 6 7 8 9 bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB kB sB","2308":"X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S"},D:{"2":"G Y O F H E A B C N D I J K L Z a b","545":"c d e f g h i j k l m n o p q r s t u v w x y z","1537":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"2":"G Y O dB WB fB","516":"B C N D T Q mB nB","548":"E A iB XB","676":"F H gB hB"},F:{"2":"E B C oB pB qB rB T ZB tB Q","513":"o","545":"I J K L Z a b c d e f g h i j k l m","1537":"0 1 2 3 4 5 6 7 8 9 n p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V"},G:{"2":"WB uB aB TC xB","548":"D 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","676":"H yB zB"},H:{"2":"CC"},I:{"2":"bB G DC EC FC GC aB","545":"HC IC","1537":"M"},J:{"2":"F","545":"A"},K:{"2":"A B C T ZB Q","1537":"DB"},L:{"1537":"U"},M:{"2340":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"545":"G","1537":"KC LC MC NC OC XB PC QC"},Q:{"545":"RC"},R:{"1537":"SC"},S:{"932":"jB"}},B:5,C:"Intrinsic & Extrinsic Sizing"};
diff --git a/node_modules/caniuse-lite/data/features/jpeg2000.js b/node_modules/caniuse-lite/data/features/jpeg2000.js
new file mode 100644
index 0000000..6329d04
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/jpeg2000.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"2":"C N D I J K L KB P M R S YB U"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"O F H E A B C N D gB hB iB XB T Q mB nB","2":"G dB WB","129":"Y fB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"1":"H D TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB uB aB"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"2":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:6,C:"JPEG 2000 image format"};
diff --git a/node_modules/caniuse-lite/data/features/jpegxr.js b/node_modules/caniuse-lite/data/features/jpegxr.js
new file mode 100644
index 0000000..f4cc0bd
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/jpegxr.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"E A B","2":"O F H lB"},B:{"1":"C N D I J K L","2":"KB P M R S YB U"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"2":"U"},M:{"2":"OB"},N:{"1":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:6,C:"JPEG XR image format"};
diff --git a/node_modules/caniuse-lite/data/features/js-regexp-lookbehind.js b/node_modules/caniuse-lite/data/features/js-regexp-lookbehind.js
new file mode 100644
index 0000000..7c04ac8
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/js-regexp-lookbehind.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"1":"UB KB P M OB R S","2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB kB sB"},D:{"1":"GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"1":"3 4 5 6 7 8 9 AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"0 1 2 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z oB pB qB rB T ZB tB Q"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"NC OC XB PC QC","2":"G KC LC MC"},Q:{"1":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:6,C:"Lookbehind in JS regular expressions"};
diff --git a/node_modules/caniuse-lite/data/features/json.js b/node_modules/caniuse-lite/data/features/json.js
new file mode 100644
index 0000000..7aadb6a
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/json.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"E A B","2":"O F lB","129":"H"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB","2":"eB bB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"G Y O F H E A B C N D fB gB hB iB XB T Q mB nB","2":"dB WB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V qB rB T ZB tB Q","2":"E oB pB"},G:{"1":"H D uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB"},H:{"1":"CC"},I:{"1":"bB G M DC EC FC GC aB HC IC"},J:{"1":"F A"},K:{"1":"A B C DB T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:6,C:"JSON parsing"};
diff --git a/node_modules/caniuse-lite/data/features/justify-content-space-evenly.js b/node_modules/caniuse-lite/data/features/justify-content-space-evenly.js
new file mode 100644
index 0000000..800446e
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/justify-content-space-evenly.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I","132":"J K L"},C:{"1":"6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"0 1 2 3 4 5 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z kB sB"},D:{"1":"EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB","132":"BB CB DB"},E:{"1":"B C N D T Q mB nB","2":"G Y O F H E A dB WB fB gB hB iB","132":"XB"},F:{"1":"1 2 3 4 5 6 7 8 9 AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x oB pB qB rB T ZB tB Q","132":"0 y z"},G:{"1":"D 4B 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB 0B 1B 2B","132":"3B"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"132":"JC"},P:{"1":"NC OC XB PC QC","2":"G KC LC","132":"MC"},Q:{"1":"RC"},R:{"2":"SC"},S:{"132":"jB"}},B:5,C:"CSS justify-content: space-evenly"};
diff --git a/node_modules/caniuse-lite/data/features/kerning-pairs-ligatures.js b/node_modules/caniuse-lite/data/features/kerning-pairs-ligatures.js
new file mode 100644
index 0000000..d3f4a53
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/kerning-pairs-ligatures.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"L KB P M R S YB U","2":"C N D I J K"},C:{"1":"0 1 2 3 4 5 6 7 8 9 bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB","2":"eB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"Y O F H E A B C N D fB gB hB iB XB T Q mB nB","2":"G dB WB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C oB pB qB rB T ZB tB Q"},G:{"1":"H D aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","16":"WB uB"},H:{"2":"CC"},I:{"1":"M HC IC","2":"DC EC FC","132":"bB G GC aB"},J:{"1":"A","2":"F"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:7,C:"High-quality kerning pairs & ligatures"};
diff --git a/node_modules/caniuse-lite/data/features/keyboardevent-charcode.js b/node_modules/caniuse-lite/data/features/keyboardevent-charcode.js
new file mode 100644
index 0000000..d8e2ad6
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/keyboardevent-charcode.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"E A B","2":"O F H lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB","16":"eB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"G Y O F H E A B C N D fB gB hB iB XB T Q mB nB","16":"dB WB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V Q","2":"E B oB pB qB rB T ZB tB","16":"C"},G:{"1":"H D TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","16":"WB uB aB"},H:{"2":"CC"},I:{"1":"bB G M FC GC aB HC IC","16":"DC EC"},J:{"1":"F A"},K:{"1":"Q","2":"A B T ZB","16":"C","130":"DB"},L:{"1":"U"},M:{"130":"OB"},N:{"130":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:7,C:"KeyboardEvent.charCode"};
diff --git a/node_modules/caniuse-lite/data/features/keyboardevent-code.js b/node_modules/caniuse-lite/data/features/keyboardevent-code.js
new file mode 100644
index 0000000..73384d0
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/keyboardevent-code.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r kB sB"},D:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v","194":"0 1 w x y z"},E:{"1":"B C N D XB T Q mB nB","2":"G Y O F H E A dB WB fB gB hB iB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e f g h i oB pB qB rB T ZB tB Q","194":"j k l m n o"},G:{"1":"D 3B 4B 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB 0B 1B 2B"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C T ZB Q","194":"DB"},L:{"194":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G","194":"KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"194":"SC"},S:{"1":"jB"}},B:5,C:"KeyboardEvent.code"};
diff --git a/node_modules/caniuse-lite/data/features/keyboardevent-getmodifierstate.js b/node_modules/caniuse-lite/data/features/keyboardevent-getmodifierstate.js
new file mode 100644
index 0000000..8d65b02
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/keyboardevent-getmodifierstate.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"E A B","2":"O F H lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j"},E:{"1":"B C N D XB T Q mB nB","2":"G Y O F H E A dB WB fB gB hB iB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V Q","2":"E B I J oB pB qB rB T ZB tB","16":"C"},G:{"1":"D 3B 4B 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB 0B 1B 2B"},H:{"2":"CC"},I:{"1":"M HC IC","2":"bB G DC EC FC GC aB"},J:{"2":"F A"},K:{"1":"DB Q","2":"A B T ZB","16":"C"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:5,C:"KeyboardEvent.getModifierState()"};
diff --git a/node_modules/caniuse-lite/data/features/keyboardevent-key.js b/node_modules/caniuse-lite/data/features/keyboardevent-key.js
new file mode 100644
index 0000000..319ba9d
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/keyboardevent-key.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H lB","260":"E A B"},B:{"1":"KB P M R S YB U","260":"C N D I J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z a b c kB sB","132":"d e f g h i"},D:{"1":"5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 1 2 3 4 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"B C N D XB T Q mB nB","2":"G Y O F H E A dB WB fB gB hB iB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V Q","2":"E B I J K L Z a b c d e f g h i j k l m n o p q r oB pB qB rB T ZB tB","16":"C"},G:{"1":"D 3B 4B 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB 0B 1B 2B"},H:{"1":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"Q","2":"A B T ZB","16":"C DB"},L:{"1":"U"},M:{"1":"OB"},N:{"260":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC XB PC QC","2":"G"},Q:{"2":"RC"},R:{"2":"SC"},S:{"1":"jB"}},B:5,C:"KeyboardEvent.key"};
diff --git a/node_modules/caniuse-lite/data/features/keyboardevent-location.js b/node_modules/caniuse-lite/data/features/keyboardevent-location.js
new file mode 100644
index 0000000..38bbf6e
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/keyboardevent-location.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"E A B","2":"O F H lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","132":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j"},E:{"1":"F H E A B C N D gB hB iB XB T Q mB nB","16":"O dB WB","132":"G Y fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V Q","2":"E B oB pB qB rB T ZB tB","16":"C","132":"I J"},G:{"1":"H D zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","16":"WB uB aB","132":"TC xB yB"},H:{"2":"CC"},I:{"1":"M HC IC","16":"DC EC","132":"bB G FC GC aB"},J:{"132":"F A"},K:{"1":"DB Q","2":"A B T ZB","16":"C"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:5,C:"KeyboardEvent.location"};
diff --git a/node_modules/caniuse-lite/data/features/keyboardevent-which.js b/node_modules/caniuse-lite/data/features/keyboardevent-which.js
new file mode 100644
index 0000000..cbc0659
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/keyboardevent-which.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"E A B","2":"O F H lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"O F H E A B C N D fB gB hB iB XB T Q mB nB","2":"G dB WB","16":"Y"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V pB qB rB T ZB tB Q","16":"E oB"},G:{"1":"H D TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","16":"WB uB aB"},H:{"2":"CC"},I:{"1":"bB G M FC GC aB","16":"DC EC","132":"HC IC"},J:{"1":"F A"},K:{"1":"A B C T ZB Q","132":"DB"},L:{"132":"U"},M:{"132":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"2":"G","132":"KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"132":"SC"},S:{"1":"jB"}},B:7,C:"KeyboardEvent.which"};
diff --git a/node_modules/caniuse-lite/data/features/lazyload.js b/node_modules/caniuse-lite/data/features/lazyload.js
new file mode 100644
index 0000000..2e1e84c
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/lazyload.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"B","2":"O F H E A lB"},B:{"1":"C N D I J K L","2":"KB P M R S YB U"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"2":"U"},M:{"2":"OB"},N:{"1":"B","2":"A"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:7,C:"Resource Hints: Lazyload"};
diff --git a/node_modules/caniuse-lite/data/features/let.js b/node_modules/caniuse-lite/data/features/let.js
new file mode 100644
index 0000000..e76e328
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/let.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A lB","2052":"B"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","194":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x kB sB"},D:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L","322":"Z a b c d e f g h i j k l m n o p q r s t u","516":"0 1 2 v w x y z"},E:{"1":"B C N D T Q mB nB","2":"G Y O F H E dB WB fB gB hB iB","1028":"A XB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C oB pB qB rB T ZB tB Q","322":"I J K L Z a b c d e f g h","516":"i j k l m n o p"},G:{"1":"D 4B 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB 0B 1B","1028":"2B 3B"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"B","2":"A"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC XB PC QC","516":"G"},Q:{"1":"RC"},R:{"516":"SC"},S:{"1":"jB"}},B:6,C:"let"};
diff --git a/node_modules/caniuse-lite/data/features/link-icon-png.js b/node_modules/caniuse-lite/data/features/link-icon-png.js
new file mode 100644
index 0000000..1c8752f
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/link-icon-png.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"B","2":"O F H E A lB"},B:{"1":"C N D I J K L","129":"KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"129":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"257":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"129":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","513":"E B C oB pB qB rB T ZB tB Q"},G:{"1026":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"1026":"CC"},I:{"1":"bB G DC EC FC GC aB","513":"M HC IC"},J:{"1":"F","1026":"A"},K:{"1026":"A B C DB T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"1026":"A B"},O:{"257":"JC"},P:{"1":"KC LC MC NC OC XB PC QC","513":"G"},Q:{"129":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:1,C:"PNG favicons"};
diff --git a/node_modules/caniuse-lite/data/features/link-icon-svg.js b/node_modules/caniuse-lite/data/features/link-icon-svg.js
new file mode 100644
index 0000000..8c6177d
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/link-icon-svg.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"2":"C N D I J K L KB","3073":"P M R S YB U"},C:{"2":"eB bB kB sB","260":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u","1025":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB","3073":"P M R S YB U vB wB cB"},E:{"2":"G Y O F H dB WB fB gB hB","516":"E A B C N D iB XB T Q mB nB"},F:{"1":"0 1 2 3 4 5 6 7 y z","2":"8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB EB GB HB IB JB X oB pB qB rB T ZB tB Q","3073":"LB MB NB FB W V"},G:{"130":"H WB uB aB TC xB yB zB","516":"D 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"130":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F","130":"A"},K:{"130":"A B C DB T ZB Q"},L:{"3073":"U"},M:{"2":"OB"},N:{"130":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"1025":"jB"}},B:1,C:"SVG favicons"};
diff --git a/node_modules/caniuse-lite/data/features/link-rel-dns-prefetch.js b/node_modules/caniuse-lite/data/features/link-rel-dns-prefetch.js
new file mode 100644
index 0000000..f0fb2d0
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/link-rel-dns-prefetch.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"A B","2":"O F H lB","132":"E"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"2":"eB bB","260":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"Y O F H E A B C N D fB gB hB iB XB T Q mB nB","2":"G dB WB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C oB pB qB rB T ZB tB Q"},G:{"16":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"16":"bB G M DC EC FC GC aB HC IC"},J:{"16":"F A"},K:{"16":"A B C DB T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"B","2":"A"},O:{"16":"JC"},P:{"1":"KC LC MC NC OC XB PC QC","16":"G"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:5,C:"Resource Hints: dns-prefetch"};
diff --git a/node_modules/caniuse-lite/data/features/link-rel-modulepreload.js b/node_modules/caniuse-lite/data/features/link-rel-modulepreload.js
new file mode 100644
index 0000000..2744d49
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/link-rel-modulepreload.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"1":"X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"1":"7 8 9 AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"0 1 2 3 4 5 6 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z oB pB qB rB T ZB tB Q"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"OC XB PC QC","2":"G KC LC MC NC"},Q:{"16":"RC"},R:{"16":"SC"},S:{"2":"jB"}},B:1,C:"Resource Hints: modulepreload"};
diff --git a/node_modules/caniuse-lite/data/features/link-rel-preconnect.js b/node_modules/caniuse-lite/data/features/link-rel-preconnect.js
new file mode 100644
index 0000000..bea00b6
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/link-rel-preconnect.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D","260":"I J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB","2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s W V VB QB RB SB TB UB KB P M OB R S kB sB","129":"t"},D:{"1":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"C N D T Q mB nB","2":"G Y O F H E A B dB WB fB gB hB iB XB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e f g h i j k l m oB pB qB rB T ZB tB Q"},G:{"1":"D 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB 0B 1B 2B 3B 4B"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"16":"OB"},N:{"2":"A B"},O:{"16":"JC"},P:{"1":"KC LC MC NC OC XB PC QC","2":"G"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:5,C:"Resource Hints: preconnect"};
diff --git a/node_modules/caniuse-lite/data/features/link-rel-prefetch.js b/node_modules/caniuse-lite/data/features/link-rel-prefetch.js
new file mode 100644
index 0000000..75cbd3a
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/link-rel-prefetch.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"B","2":"O F H E A lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F"},E:{"2":"G Y O F H E A B C N dB WB fB gB hB iB XB T Q","194":"D mB nB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C oB pB qB rB T ZB tB Q"},G:{"2":"H WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC","194":"D BC"},H:{"2":"CC"},I:{"1":"G M HC IC","2":"bB DC EC FC GC aB"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"B","2":"A"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:5,C:"Resource Hints: prefetch"};
diff --git a/node_modules/caniuse-lite/data/features/link-rel-preload.js b/node_modules/caniuse-lite/data/features/link-rel-preload.js
new file mode 100644
index 0000000..1a6ca7c
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/link-rel-preload.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J","1028":"K L"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z kB sB","132":"AB","578":"BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S"},D:{"1":"4 5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 1 2 3 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"C N D T Q mB nB","2":"G Y O F H E A dB WB fB gB hB iB XB","322":"B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e f g h i j k l m n o p q oB pB qB rB T ZB tB Q"},G:{"1":"D 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB 0B 1B 2B 3B","322":"4B"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"1":"U"},M:{"578":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"KC LC MC NC OC XB PC QC","2":"G"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:4,C:"Resource Hints: preload"};
diff --git a/node_modules/caniuse-lite/data/features/link-rel-prerender.js b/node_modules/caniuse-lite/data/features/link-rel-prerender.js
new file mode 100644
index 0000000..7afc95e
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/link-rel-prerender.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"B","2":"O F H E A lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C oB pB qB rB T ZB tB Q"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"1":"U"},M:{"2":"OB"},N:{"1":"B","2":"A"},O:{"2":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"1":"SC"},S:{"2":"jB"}},B:5,C:"Resource Hints: prerender"};
diff --git a/node_modules/caniuse-lite/data/features/loading-lazy-attr.js b/node_modules/caniuse-lite/data/features/loading-lazy-attr.js
new file mode 100644
index 0000000..b7bce24
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/loading-lazy-attr.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB kB sB","132":"RB SB TB UB KB P M OB R S"},D:{"1":"TB UB KB P M R S YB U vB wB cB","2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB","66":"RB SB"},E:{"2":"G Y O F H E A B C N dB WB fB gB hB iB XB T Q","322":"D mB nB"},F:{"1":"IB JB X LB MB NB FB W V","2":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB oB pB qB rB T ZB tB Q","66":"GB HB"},G:{"2":"H WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC","322":"D BC"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"1":"U"},M:{"132":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"QC","2":"G KC LC MC NC OC XB PC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:1,C:"Lazy loading via attribute for images & iframes"};
diff --git a/node_modules/caniuse-lite/data/features/localecompare.js b/node_modules/caniuse-lite/data/features/localecompare.js
new file mode 100644
index 0000000..b8e1217
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/localecompare.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"B","16":"lB","132":"O F H E A"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","132":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","132":"G Y O F H E A B C N D I J K L Z a b c d"},E:{"1":"A B C N D XB T Q mB nB","132":"G Y O F H E dB WB fB gB hB iB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","16":"E B C oB pB qB rB T ZB tB","132":"Q"},G:{"1":"D 2B 3B 4B 5B 6B 7B 8B 9B AC BC","132":"H WB uB aB TC xB yB zB 0B 1B"},H:{"132":"CC"},I:{"1":"M HC IC","132":"bB G DC EC FC GC aB"},J:{"132":"F A"},K:{"1":"DB","16":"A B C T ZB","132":"Q"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"B","132":"A"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC XB PC QC","132":"G"},Q:{"1":"RC"},R:{"1":"SC"},S:{"4":"jB"}},B:6,C:"localeCompare()"};
diff --git a/node_modules/caniuse-lite/data/features/magnetometer.js b/node_modules/caniuse-lite/data/features/magnetometer.js
new file mode 100644
index 0000000..98bf3eb
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/magnetometer.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"1":"LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB","194":"CB DB EB PB GB HB IB JB X"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"1":"8 9 AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"0 1 2 3 4 5 6 7 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z oB pB qB rB T ZB tB Q"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"194":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:4,C:"Magnetometer"};
diff --git a/node_modules/caniuse-lite/data/features/matchesselector.js b/node_modules/caniuse-lite/data/features/matchesselector.js
new file mode 100644
index 0000000..1adcbd6
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/matchesselector.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H lB","36":"E A B"},B:{"1":"I J K L KB P M R S YB U","36":"C N D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB kB","36":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","36":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n"},E:{"1":"H E A B C N D hB iB XB T Q mB nB","2":"G dB WB","36":"Y O F fB gB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B oB pB qB rB T","36":"C I J K L Z a ZB tB Q"},G:{"1":"H D zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB","36":"uB aB TC xB yB"},H:{"2":"CC"},I:{"1":"M","2":"DC","36":"bB G EC FC GC aB HC IC"},J:{"36":"F A"},K:{"1":"DB","2":"A B","36":"C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"36":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC XB PC QC","36":"G"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:1,C:"matches() DOM method"};
diff --git a/node_modules/caniuse-lite/data/features/matchmedia.js b/node_modules/caniuse-lite/data/features/matchmedia.js
new file mode 100644
index 0000000..862f9c8
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/matchmedia.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"A B","2":"O F H E lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H"},E:{"1":"O F H E A B C N D fB gB hB iB XB T Q mB nB","2":"G Y dB WB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V Q","2":"E B C oB pB qB rB T ZB tB"},G:{"1":"H D TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB uB aB"},H:{"1":"CC"},I:{"1":"bB G M GC aB HC IC","2":"DC EC FC"},J:{"1":"A","2":"F"},K:{"1":"DB Q","2":"A B C T ZB"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:5,C:"matchMedia"};
diff --git a/node_modules/caniuse-lite/data/features/mathml.js b/node_modules/caniuse-lite/data/features/mathml.js
new file mode 100644
index 0000000..36c3f30
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/mathml.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"E A B lB","8":"O F H"},B:{"2":"C N D I J K L","8":"KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","129":"eB bB kB sB"},D:{"1":"e","8":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"A B C N D XB T Q mB nB","260":"G Y O F H E dB WB fB gB hB iB"},F:{"2":"E","4":"B C oB pB qB rB T ZB tB Q","8":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V"},G:{"1":"H D TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","8":"WB uB aB"},H:{"8":"CC"},I:{"8":"bB G M DC EC FC GC aB HC IC"},J:{"1":"A","8":"F"},K:{"8":"A B C DB T ZB Q"},L:{"8":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"4":"JC"},P:{"8":"G KC LC MC NC OC XB PC QC"},Q:{"8":"RC"},R:{"8":"SC"},S:{"1":"jB"}},B:2,C:"MathML"};
diff --git a/node_modules/caniuse-lite/data/features/maxlength.js b/node_modules/caniuse-lite/data/features/maxlength.js
new file mode 100644
index 0000000..5aa04a3
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/maxlength.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"A B","16":"lB","900":"O F H E"},B:{"1":"KB P M R S YB U","1025":"C N D I J K L"},C:{"1":"5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","900":"eB bB kB sB","1025":"0 1 2 3 4 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"O F H E A B C N D fB gB hB iB XB T Q mB nB","16":"Y dB","900":"G WB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","16":"E","132":"B C oB pB qB rB T ZB tB Q"},G:{"1":"D uB aB TC xB yB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","16":"WB","2052":"H zB"},H:{"132":"CC"},I:{"1":"bB G FC GC aB HC IC","16":"DC EC","4097":"M"},J:{"1":"F A"},K:{"132":"A B C T ZB Q","4100":"DB"},L:{"4097":"U"},M:{"4097":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"4097":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1025":"jB"}},B:1,C:"maxlength attribute for input and textarea elements"};
diff --git a/node_modules/caniuse-lite/data/features/media-attribute.js b/node_modules/caniuse-lite/data/features/media-attribute.js
new file mode 100644
index 0000000..5caa07b
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/media-attribute.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"E A B","2":"O F H lB"},B:{"1":"C N D I J K L","16":"KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D kB sB"},D:{"1":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n","2":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U","16":"vB wB cB"},E:{"1":"O F H E A B C N D fB gB hB iB XB T Q mB nB","2":"G Y dB WB"},F:{"1":"B C I J K L Z a b c d e pB qB rB T ZB tB Q","2":"0 1 2 3 4 5 6 7 8 9 E f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB"},G:{"1":"H D TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","16":"WB uB aB"},H:{"16":"CC"},I:{"1":"G M GC aB HC IC","16":"bB DC EC FC"},J:{"16":"F A"},K:{"1":"C DB Q","16":"A B T ZB"},L:{"1":"U"},M:{"1":"OB"},N:{"16":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:1,C:"Media attribute"};
diff --git a/node_modules/caniuse-lite/data/features/media-fragments.js b/node_modules/caniuse-lite/data/features/media-fragments.js
new file mode 100644
index 0000000..ec08f2c
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/media-fragments.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"2":"C N D I J K L","132":"KB P M R S YB U"},C:{"2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n kB sB","132":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S"},D:{"2":"G Y O F H E A B C N D I J K","132":"0 1 2 3 4 5 6 7 8 9 L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"2":"G Y dB WB fB","132":"O F H E A B C N D gB hB iB XB T Q mB nB"},F:{"2":"E B C oB pB qB rB T ZB tB Q","132":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V"},G:{"2":"WB uB aB TC xB yB","132":"H D zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G DC EC FC GC aB","132":"M HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"132":"U"},M:{"132":"OB"},N:{"132":"A B"},O:{"2":"JC"},P:{"2":"G KC","132":"LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"132":"jB"}},B:2,C:"Media Fragments"};
diff --git a/node_modules/caniuse-lite/data/features/media-session-api.js b/node_modules/caniuse-lite/data/features/media-session-api.js
new file mode 100644
index 0000000..63a8fb5
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/media-session-api.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"1":"BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB"},E:{"2":"G Y O F H E A B C N dB WB fB gB hB iB XB T Q","16":"D mB nB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"2":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:6,C:"Media Session API"};
diff --git a/node_modules/caniuse-lite/data/features/mediacapture-fromelement.js b/node_modules/caniuse-lite/data/features/mediacapture-fromelement.js
new file mode 100644
index 0000000..55918bc
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/mediacapture-fromelement.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w kB sB","260":"0 1 2 3 4 5 6 7 8 9 x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S"},D:{"1":"GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 1 2 3 4 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z","324":"5 6 7 8 9 AB BB CB DB EB PB"},E:{"2":"G Y O F H E A dB WB fB gB hB iB XB","132":"B C N D T Q mB nB"},F:{"1":"2 3 4 5 6 7 8 9 AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e f g h i j k l m n o p oB pB qB rB T ZB tB Q","324":"0 1 q r s t u v w x y z"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"260":"OB"},N:{"2":"A B"},O:{"132":"JC"},P:{"1":"NC OC XB PC QC","2":"G","132":"KC LC MC"},Q:{"1":"RC"},R:{"2":"SC"},S:{"260":"jB"}},B:5,C:"Media Capture from DOM Elements API"};
diff --git a/node_modules/caniuse-lite/data/features/mediarecorder.js b/node_modules/caniuse-lite/data/features/mediarecorder.js
new file mode 100644
index 0000000..a676153
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/mediarecorder.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i kB sB"},D:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z","194":"1 2"},E:{"1":"nB","2":"G Y O F H E A B C dB WB fB gB hB iB XB T","322":"N D Q mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e f g h i j k l m n oB pB qB rB T ZB tB Q","194":"o p"},G:{"2":"H WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B","578":"D 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"KC LC MC NC OC XB PC QC","2":"G"},Q:{"1":"RC"},R:{"2":"SC"},S:{"1":"jB"}},B:5,C:"MediaRecorder API"};
diff --git a/node_modules/caniuse-lite/data/features/mediasource.js b/node_modules/caniuse-lite/data/features/mediasource.js
new file mode 100644
index 0000000..b7227ae
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/mediasource.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A lB","132":"B"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e kB sB","66":"f g h i j k l m n o p q r s t u v"},D:{"1":"0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J","33":"d e f g h i j k","66":"K L Z a b c"},E:{"1":"H E A B C N D iB XB T Q mB nB","2":"G Y O F dB WB fB gB hB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C oB pB qB rB T ZB tB Q"},G:{"2":"H WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B","260":"D 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"M IC","2":"bB G DC EC FC GC aB HC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"B","2":"A"},O:{"1":"JC"},P:{"1":"OC XB PC QC","2":"G KC LC MC NC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:2,C:"Media Source Extensions"};
diff --git a/node_modules/caniuse-lite/data/features/menu.js b/node_modules/caniuse-lite/data/features/menu.js
new file mode 100644
index 0000000..01a278a
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/menu.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"2":"C N D I J K L","2114":"KB P M R S YB U"},C:{"2":"eB bB G Y O F kB sB","132":"0 1 2 3 4 5 6 7 8 9 H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S"},D:{"2":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u","322":"2 3 4 5","578":"0 1 v w x y z","2114":"6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"2":"E B C I J K L Z a b c d e f g h i j k l m n o oB pB qB rB T ZB tB Q","322":"p q r s","2114":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"2":"U"},M:{"1156":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"2114":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:7,C:"Context menu item (menuitem element)"};
diff --git a/node_modules/caniuse-lite/data/features/meta-theme-color.js b/node_modules/caniuse-lite/data/features/meta-theme-color.js
new file mode 100644
index 0000000..4c93815
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/meta-theme-color.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"2":"C N D I J K L KB P M R S YB U"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"2":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s","132":"VB QB RB SB TB UB KB P M R S YB U vB wB cB","258":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"513":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"LC MC NC OC XB PC QC","2":"G","16":"KC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:1,C:"theme-color Meta Tag"};
diff --git a/node_modules/caniuse-lite/data/features/meter.js b/node_modules/caniuse-lite/data/features/meter.js
new file mode 100644
index 0000000..ffd0baa
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/meter.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"N D I J K L KB P M R S YB U","2":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F"},E:{"1":"O F H E A B C N D gB hB iB XB T Q mB nB","2":"G Y dB WB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V T ZB tB Q","2":"E oB pB qB rB"},G:{"1":"D 3B 4B 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB 0B 1B 2B"},H:{"1":"CC"},I:{"1":"M HC IC","2":"bB G DC EC FC GC aB"},J:{"1":"F A"},K:{"1":"B C DB T ZB Q","2":"A"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:1,C:"meter element"};
diff --git a/node_modules/caniuse-lite/data/features/midi.js b/node_modules/caniuse-lite/data/features/midi.js
new file mode 100644
index 0000000..3486352
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/midi.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e f g h i j oB pB qB rB T ZB tB Q"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"1":"SC"},S:{"2":"jB"}},B:5,C:"Web MIDI API"};
diff --git a/node_modules/caniuse-lite/data/features/minmaxwh.js b/node_modules/caniuse-lite/data/features/minmaxwh.js
new file mode 100644
index 0000000..76c0aa0
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/minmaxwh.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"E A B","8":"O lB","129":"F","257":"H"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"1":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"1":"CC"},I:{"1":"bB G M DC EC FC GC aB HC IC"},J:{"1":"F A"},K:{"1":"A B C DB T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:2,C:"CSS min/max-width/height"};
diff --git a/node_modules/caniuse-lite/data/features/mp3.js b/node_modules/caniuse-lite/data/features/mp3.js
new file mode 100644
index 0000000..5327f30
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/mp3.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"E A B","2":"O F H lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB","132":"G Y O F H E A B C N D I J K L Z a b kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"G Y O F H E A B C N D fB gB hB iB XB T Q mB nB","2":"dB WB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C oB pB qB rB T ZB tB Q"},G:{"1":"H D uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB"},H:{"2":"CC"},I:{"1":"bB G M FC GC aB HC IC","2":"DC EC"},J:{"1":"F A"},K:{"1":"B C DB T ZB Q","2":"A"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:6,C:"MP3 audio format"};
diff --git a/node_modules/caniuse-lite/data/features/mpeg-dash.js b/node_modules/caniuse-lite/data/features/mpeg-dash.js
new file mode 100644
index 0000000..b03a55d
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/mpeg-dash.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"C N D I J K L","2":"KB P M R S YB U"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB","386":"b c"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"2":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:6,C:"Dynamic Adaptive Streaming over HTTP (MPEG-DASH)"};
diff --git a/node_modules/caniuse-lite/data/features/mpeg4.js b/node_modules/caniuse-lite/data/features/mpeg4.js
new file mode 100644
index 0000000..744375b
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/mpeg4.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"E A B","2":"O F H lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z a kB sB","4":"b c d e f g h i j k l m n o"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"G Y O F H E A B C N D WB fB gB hB iB XB T Q mB nB","2":"dB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e oB pB qB rB T ZB tB Q"},G:{"1":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"M HC IC","4":"bB G DC EC GC aB","132":"FC"},J:{"1":"F A"},K:{"1":"B C DB T ZB Q","2":"A"},L:{"1":"U"},M:{"260":"OB"},N:{"1":"A B"},O:{"4":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:6,C:"MPEG-4/H.264 video format"};
diff --git a/node_modules/caniuse-lite/data/features/multibackgrounds.js b/node_modules/caniuse-lite/data/features/multibackgrounds.js
new file mode 100644
index 0000000..efbf8b7
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/multibackgrounds.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"E A B","2":"O F H lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S sB","2":"eB bB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V qB rB T ZB tB Q","2":"E oB pB"},G:{"1":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"1":"CC"},I:{"1":"bB G M DC EC FC GC aB HC IC"},J:{"1":"F A"},K:{"1":"A B C DB T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:4,C:"CSS3 Multiple backgrounds"};
diff --git a/node_modules/caniuse-lite/data/features/multicolumn.js b/node_modules/caniuse-lite/data/features/multicolumn.js
new file mode 100644
index 0000000..798dc59
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/multicolumn.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"A B","2":"O F H E lB"},B:{"1":"C N D I J K L","516":"KB P M R S YB U"},C:{"132":"6 7 8 9 AB BB CB DB EB PB GB HB IB","164":"0 1 2 3 4 5 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z kB sB","516":"JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S"},D:{"420":"0 1 2 3 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z","516":"4 5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"A B C N D XB T Q mB nB","132":"E iB","164":"F H hB","420":"G Y O dB WB fB gB"},F:{"1":"C T ZB tB Q","2":"E B oB pB qB rB","420":"I J K L Z a b c d e f g h i j k l m n o p q","516":"0 1 2 3 4 5 6 7 8 9 r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V"},G:{"1":"D 2B 3B 4B 5B 6B 7B 8B 9B AC BC","132":"0B 1B","164":"H yB zB","420":"WB uB aB TC xB"},H:{"1":"CC"},I:{"420":"bB G DC EC FC GC aB HC IC","516":"M"},J:{"420":"F A"},K:{"1":"C T ZB Q","2":"A B","516":"DB"},L:{"516":"U"},M:{"132":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC XB PC QC","420":"G"},Q:{"132":"RC"},R:{"132":"SC"},S:{"164":"jB"}},B:4,C:"CSS3 Multiple column layout"};
diff --git a/node_modules/caniuse-lite/data/features/mutation-events.js b/node_modules/caniuse-lite/data/features/mutation-events.js
new file mode 100644
index 0000000..882a693
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/mutation-events.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H lB","260":"E A B"},B:{"132":"KB P M R S YB U","260":"C N D I J K L"},C:{"2":"eB bB G Y kB sB","260":"0 1 2 3 4 5 6 7 8 9 O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S"},D:{"16":"G Y O F H E A B C N D","132":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"16":"dB WB","132":"G Y O F H E A B C N D fB gB hB iB XB T Q mB nB"},F:{"1":"C tB Q","2":"E oB pB qB rB","16":"B T ZB","132":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V"},G:{"16":"WB uB","132":"H D aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"16":"DC EC","132":"bB G M FC GC aB HC IC"},J:{"132":"F A"},K:{"1":"C Q","2":"A","16":"B T ZB","132":"DB"},L:{"132":"U"},M:{"260":"OB"},N:{"260":"A B"},O:{"132":"JC"},P:{"132":"G KC LC MC NC OC XB PC QC"},Q:{"132":"RC"},R:{"132":"SC"},S:{"260":"jB"}},B:5,C:"Mutation events"};
diff --git a/node_modules/caniuse-lite/data/features/mutationobserver.js b/node_modules/caniuse-lite/data/features/mutationobserver.js
new file mode 100644
index 0000000..5864b9c
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/mutationobserver.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"B","2":"O F H lB","8":"E A"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K","33":"L Z a b c d e f g"},E:{"1":"F H E A B C N D gB hB iB XB T Q mB nB","2":"G Y dB WB fB","33":"O"},F:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C oB pB qB rB T ZB tB Q"},G:{"1":"H D yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB uB aB TC","33":"xB"},H:{"2":"CC"},I:{"1":"M HC IC","2":"bB DC EC FC","8":"G GC aB"},J:{"1":"A","2":"F"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"B","8":"A"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:1,C:"Mutation Observer"};
diff --git a/node_modules/caniuse-lite/data/features/namevalue-storage.js b/node_modules/caniuse-lite/data/features/namevalue-storage.js
new file mode 100644
index 0000000..15b26f9
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/namevalue-storage.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"H E A B","2":"lB","8":"O F"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB","4":"eB bB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"G Y O F H E A B C N D fB gB hB iB XB T Q mB nB","2":"dB WB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V qB rB T ZB tB Q","2":"E oB pB"},G:{"1":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"bB G M DC EC FC GC aB HC IC"},J:{"1":"F A"},K:{"1":"B C DB T ZB Q","2":"A"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:1,C:"Web Storage - name/value pairs"};
diff --git a/node_modules/caniuse-lite/data/features/native-filesystem-api.js b/node_modules/caniuse-lite/data/features/native-filesystem-api.js
new file mode 100644
index 0000000..cfa8785
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/native-filesystem-api.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"2":"C N D I J K L","194":"KB P M R S YB","260":"U"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB","194":"QB RB SB TB UB KB P M R S YB","260":"U vB wB cB"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB oB pB qB rB T ZB tB Q","194":"GB HB IB JB X LB MB NB FB W","260":"V"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"2":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:7,C:"File System Access API"};
diff --git a/node_modules/caniuse-lite/data/features/nav-timing.js b/node_modules/caniuse-lite/data/features/nav-timing.js
new file mode 100644
index 0000000..cfa2094
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/nav-timing.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"E A B","2":"O F H lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y","33":"O F H E A B C"},E:{"1":"H E A B C N D iB XB T Q mB nB","2":"G Y O F dB WB fB gB hB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C oB pB qB rB T ZB tB Q"},G:{"1":"H D 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB uB aB TC xB yB zB"},H:{"2":"CC"},I:{"1":"G M GC aB HC IC","2":"bB DC EC FC"},J:{"1":"A","2":"F"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:2,C:"Navigation Timing API"};
diff --git a/node_modules/caniuse-lite/data/features/navigator-language.js b/node_modules/caniuse-lite/data/features/navigator-language.js
new file mode 100644
index 0000000..7f28399
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/navigator-language.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"J K L KB P M R S YB U","2":"C N D I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q"},E:{"1":"A B C N D XB T Q mB nB","2":"G Y O F H E dB WB fB gB hB iB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d oB pB qB rB T ZB tB Q"},G:{"1":"D 3B 4B 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB 0B 1B 2B"},H:{"16":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"16":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"16":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"16":"RC"},R:{"16":"SC"},S:{"1":"jB"}},B:2,C:"Navigator Language API"};
diff --git a/node_modules/caniuse-lite/data/features/netinfo.js b/node_modules/caniuse-lite/data/features/netinfo.js
new file mode 100644
index 0000000..da3c2ef
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/netinfo.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"2":"C N D I J K L","1028":"KB P M R S YB U"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB","1028":"PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"2":"0 1 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z oB pB qB rB T ZB tB Q","1028":"2 3 4 5 6 7 8 9 AB BB CB EB GB HB IB JB X LB MB NB FB W V"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"M","2":"DC HC IC","132":"bB G EC FC GC aB"},J:{"2":"F A"},K:{"2":"A B C T ZB Q","516":"DB"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"NC OC XB PC QC","132":"G","516":"KC LC MC"},Q:{"1":"RC"},R:{"516":"SC"},S:{"260":"jB"}},B:7,C:"Network Information API"};
diff --git a/node_modules/caniuse-lite/data/features/node-contains.js b/node_modules/caniuse-lite/data/features/node-contains.js
new file mode 100644
index 0000000..b069544
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/node-contains.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"16":"lB","644":"E A B","2308":"O F H"},B:{"1":"N D I J K L KB P M R S YB U","16":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 9 E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","16":"G Y O F H E A B C N D I J K L Z a b c d e f"},E:{"1":"F H E A B C N D gB hB iB XB T Q mB nB","16":"G Y O dB WB","1668":"fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V Q","16":"E B C oB pB qB rB T ZB","132":"tB"},G:{"1":"H D yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","16":"WB uB aB TC xB"},H:{"16":"CC"},I:{"1":"M HC IC","16":"bB DC EC FC","1668":"G GC aB"},J:{"16":"F A"},K:{"16":"A B C DB T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"16":"A B"},O:{"16":"JC"},P:{"1":"KC LC MC NC OC XB PC QC","16":"G"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:1,C:"Node.contains()"};
diff --git a/node_modules/caniuse-lite/data/features/node-parentelement.js b/node_modules/caniuse-lite/data/features/node-parentelement.js
new file mode 100644
index 0000000..5813193
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/node-parentelement.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"16":"lB","132":"E A B","260":"O F H"},B:{"1":"N D I J K L KB P M R S YB U","16":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 9 E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","16":"G Y O F H E A B C N D I J K L Z a b c d e f"},E:{"1":"O F H E A B C N D fB gB hB iB XB T Q mB nB","16":"G Y dB WB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","16":"E B oB pB qB rB T ZB","132":"C tB Q"},G:{"1":"H D xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","16":"WB uB aB TC"},H:{"16":"CC"},I:{"1":"G M GC aB HC IC","16":"bB DC EC FC"},J:{"16":"F A"},K:{"16":"A B C DB T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"16":"A B"},O:{"16":"JC"},P:{"1":"KC LC MC NC OC XB PC QC","16":"G"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:1,C:"Node.parentElement"};
diff --git a/node_modules/caniuse-lite/data/features/notifications.js b/node_modules/caniuse-lite/data/features/notifications.js
new file mode 100644
index 0000000..d1e626e
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/notifications.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"D I J K L KB P M R S YB U","2":"C N"},C:{"1":"0 1 2 3 4 5 6 7 8 9 c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z a b kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G","36":"Y O F H E A B C N D I J K L Z a b"},E:{"1":"O F H E A B C N D gB hB iB XB T Q mB nB","2":"G Y dB WB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e oB pB qB rB T ZB tB Q"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G DC EC FC GC aB","36":"M HC IC"},J:{"1":"A","2":"F"},K:{"2":"A B C T ZB Q","36":"DB"},L:{"513":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"36":"G","258":"KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"258":"SC"},S:{"1":"jB"}},B:1,C:"Web Notifications"};
diff --git a/node_modules/caniuse-lite/data/features/object-entries.js b/node_modules/caniuse-lite/data/features/object-entries.js
new file mode 100644
index 0000000..3b12495
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/object-entries.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"D I J K L KB P M R S YB U","2":"C N"},C:{"1":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"0 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z kB sB"},D:{"1":"8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 1 2 3 4 5 6 7 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"B C N D XB T Q mB nB","2":"G Y O F H E A dB WB fB gB hB iB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u oB pB qB rB T ZB tB Q"},G:{"1":"D 3B 4B 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB 0B 1B 2B"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F","16":"A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"LC MC NC OC XB PC QC","2":"G KC"},Q:{"1":"RC"},R:{"2":"SC"},S:{"1":"jB"}},B:6,C:"Object.entries"};
diff --git a/node_modules/caniuse-lite/data/features/object-fit.js b/node_modules/caniuse-lite/data/features/object-fit.js
new file mode 100644
index 0000000..ff8a812
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/object-fit.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I","260":"J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k"},E:{"1":"A B C N D XB T Q mB nB","2":"G Y O F dB WB fB gB","132":"H E hB iB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E I J K L oB pB qB","33":"B C rB T ZB tB Q"},G:{"1":"D 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB uB aB TC xB yB","132":"H zB 0B 1B"},H:{"33":"CC"},I:{"1":"M IC","2":"bB G DC EC FC GC aB HC"},J:{"2":"F A"},K:{"1":"DB","2":"A","33":"B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:4,C:"CSS3 object-fit/object-position"};
diff --git a/node_modules/caniuse-lite/data/features/object-observe.js b/node_modules/caniuse-lite/data/features/object-observe.js
new file mode 100644
index 0000000..e1dd77a
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/object-observe.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"2":"C N D I J K L KB P M R S YB U"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"1":"0 1 2 3 q r s t u v w x y z","2":"4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"1":"d e f g h i j k l m n o p q","2":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"2":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"G","2":"KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"1":"SC"},S:{"2":"jB"}},B:7,C:"Object.observe data binding"};
diff --git a/node_modules/caniuse-lite/data/features/object-values.js b/node_modules/caniuse-lite/data/features/object-values.js
new file mode 100644
index 0000000..9d98c95
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/object-values.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"8":"O F H E A B lB"},B:{"1":"D I J K L KB P M R S YB U","2":"C N"},C:{"1":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","8":"0 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z kB sB"},D:{"1":"8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","8":"0 1 2 3 4 5 6 7 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"B C N D XB T Q mB nB","8":"G Y O F H E A dB WB fB gB hB iB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","8":"E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u oB pB qB rB T ZB tB Q"},G:{"1":"D 3B 4B 5B 6B 7B 8B 9B AC BC","8":"H WB uB aB TC xB yB zB 0B 1B 2B"},H:{"8":"CC"},I:{"1":"M","8":"bB G DC EC FC GC aB HC IC"},J:{"8":"F A"},K:{"1":"DB","8":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"8":"A B"},O:{"1":"JC"},P:{"1":"LC MC NC OC XB PC QC","8":"G KC"},Q:{"1":"RC"},R:{"8":"SC"},S:{"1":"jB"}},B:6,C:"Object.values method"};
diff --git a/node_modules/caniuse-lite/data/features/objectrtc.js b/node_modules/caniuse-lite/data/features/objectrtc.js
new file mode 100644
index 0000000..3f9f97a
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/objectrtc.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"N D I J K L","2":"C KB P M R S YB U"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F","130":"A"},K:{"2":"A B C DB T ZB Q"},L:{"2":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:6,C:"Object RTC (ORTC) API for WebRTC"};
diff --git a/node_modules/caniuse-lite/data/features/offline-apps.js b/node_modules/caniuse-lite/data/features/offline-apps.js
new file mode 100644
index 0000000..d1c4b80
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/offline-apps.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"A B","2":"E lB","8":"O F H"},B:{"1":"C N D I J K L KB P M R S","2":"YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB","4":"bB","8":"eB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S","2":"YB U vB wB cB"},E:{"1":"G Y O F H E A B C N D fB gB hB iB XB T Q mB nB","8":"dB WB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V rB T ZB tB Q","2":"E oB","8":"pB qB"},G:{"1":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"bB G DC EC FC GC aB HC IC","2":"M"},J:{"1":"F A"},K:{"1":"B C DB T ZB Q","2":"A"},L:{"2":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:7,C:"Offline web applications"};
diff --git a/node_modules/caniuse-lite/data/features/offscreencanvas.js b/node_modules/caniuse-lite/data/features/offscreencanvas.js
new file mode 100644
index 0000000..d2126f6
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/offscreencanvas.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x kB sB","194":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S"},D:{"1":"NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB","322":"CB DB EB PB GB HB IB JB X LB MB"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"1":"IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y oB pB qB rB T ZB tB Q","322":"0 1 2 3 4 5 6 7 8 9 z AB BB CB EB GB HB"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"194":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"XB PC QC","2":"G KC LC MC NC OC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"194":"jB"}},B:1,C:"OffscreenCanvas"};
diff --git a/node_modules/caniuse-lite/data/features/ogg-vorbis.js b/node_modules/caniuse-lite/data/features/ogg-vorbis.js
new file mode 100644
index 0000000..62bcddf
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/ogg-vorbis.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"K L KB P M R S YB U","2":"C N D I J"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB","2":"eB bB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V qB rB T ZB tB Q","2":"E oB pB"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"bB G M FC GC aB HC IC","16":"DC EC"},J:{"1":"A","2":"F"},K:{"1":"B C DB T ZB Q","2":"A"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:6,C:"Ogg Vorbis audio format"};
diff --git a/node_modules/caniuse-lite/data/features/ogv.js b/node_modules/caniuse-lite/data/features/ogv.js
new file mode 100644
index 0000000..d0021da
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/ogv.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H lB","8":"E A B"},B:{"1":"K L KB P M R S YB U","8":"C N D I J"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB","2":"eB bB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V qB rB T ZB tB Q","2":"E oB pB"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"2":"U"},M:{"1":"OB"},N:{"8":"A B"},O:{"1":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"2":"SC"},S:{"1":"jB"}},B:6,C:"Ogg/Theora video format"};
diff --git a/node_modules/caniuse-lite/data/features/ol-reversed.js b/node_modules/caniuse-lite/data/features/ol-reversed.js
new file mode 100644
index 0000000..108129e
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/ol-reversed.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I","16":"J K L Z"},E:{"1":"F H E A B C N D gB hB iB XB T Q mB nB","2":"G Y dB WB fB","16":"O"},F:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V Q","2":"E B oB pB qB rB T ZB tB","16":"C"},G:{"1":"H D xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB uB aB TC"},H:{"1":"CC"},I:{"1":"M HC IC","2":"bB G DC EC FC GC aB"},J:{"1":"A","2":"F"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:1,C:"Reversed attribute of ordered lists"};
diff --git a/node_modules/caniuse-lite/data/features/once-event-listener.js b/node_modules/caniuse-lite/data/features/once-event-listener.js
new file mode 100644
index 0000000..b8fd7f1
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/once-event-listener.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"J K L KB P M R S YB U","2":"C N D I"},C:{"1":"4 5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"0 1 2 3 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z kB sB"},D:{"1":"9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 1 2 3 4 5 6 7 8 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"A B C N D XB T Q mB nB","2":"G Y O F H E dB WB fB gB hB iB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v oB pB qB rB T ZB tB Q"},G:{"1":"D 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB 0B 1B"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"LC MC NC OC XB PC QC","2":"G KC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:1,C:"\"once\" event listener option"};
diff --git a/node_modules/caniuse-lite/data/features/online-status.js b/node_modules/caniuse-lite/data/features/online-status.js
new file mode 100644
index 0000000..f777e3c
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/online-status.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"E A B","2":"O F lB","260":"H"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB","2":"eB bB","516":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u"},D:{"1":"0 1 2 3 4 5 6 7 8 9 D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N"},E:{"1":"Y O F H E A B C N D fB gB hB iB XB T Q mB nB","2":"G dB WB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C oB pB qB rB T ZB tB","4":"Q"},G:{"1":"H D aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","16":"WB uB"},H:{"2":"CC"},I:{"1":"bB G M FC GC aB HC IC","16":"DC EC"},J:{"1":"A","132":"F"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:1,C:"Online/offline status"};
diff --git a/node_modules/caniuse-lite/data/features/opus.js b/node_modules/caniuse-lite/data/features/opus.js
new file mode 100644
index 0000000..7185ce6
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/opus.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"D I J K L KB P M R S YB U","2":"C N"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m"},E:{"2":"G Y O F H E A dB WB fB gB hB iB XB","132":"B C N D T Q mB nB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z oB pB qB rB T ZB tB Q"},G:{"2":"H WB uB aB TC xB yB zB 0B 1B 2B 3B","132":"D 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC XB PC QC","2":"G"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:6,C:"Opus"};
diff --git a/node_modules/caniuse-lite/data/features/orientation-sensor.js b/node_modules/caniuse-lite/data/features/orientation-sensor.js
new file mode 100644
index 0000000..d0af54b
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/orientation-sensor.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"1":"LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB","194":"CB DB EB PB GB HB IB JB X"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"1":"8 9 AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"0 1 2 3 4 5 6 7 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z oB pB qB rB T ZB tB Q"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"1":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:4,C:"Orientation Sensor"};
diff --git a/node_modules/caniuse-lite/data/features/outline.js b/node_modules/caniuse-lite/data/features/outline.js
new file mode 100644
index 0000000..fd93e68
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/outline.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F lB","260":"H","388":"E A B"},B:{"1":"I J K L KB P M R S YB U","388":"C N D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V tB","129":"Q","260":"E B oB pB qB rB T ZB"},G:{"1":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"bB G M DC EC FC GC aB HC IC"},J:{"1":"F A"},K:{"1":"C DB Q","260":"A B T ZB"},L:{"1":"U"},M:{"1":"OB"},N:{"388":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:4,C:"CSS outline properties"};
diff --git a/node_modules/caniuse-lite/data/features/pad-start-end.js b/node_modules/caniuse-lite/data/features/pad-start-end.js
new file mode 100644
index 0000000..8f2b9f0
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/pad-start-end.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"I J K L KB P M R S YB U","2":"C N D"},C:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"0 1 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z kB sB"},D:{"1":"BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB"},E:{"1":"A B C N D XB T Q mB nB","2":"G Y O F H E dB WB fB gB hB iB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x oB pB qB rB T ZB tB Q"},G:{"1":"D 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB 0B 1B"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"MC NC OC XB PC QC","2":"G KC LC"},Q:{"1":"RC"},R:{"2":"SC"},S:{"1":"jB"}},B:6,C:"String.prototype.padStart(), String.prototype.padEnd()"};
diff --git a/node_modules/caniuse-lite/data/features/page-transition-events.js b/node_modules/caniuse-lite/data/features/page-transition-events.js
new file mode 100644
index 0000000..2761d6c
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/page-transition-events.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"B","2":"O F H E A lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"Y O F H E A B C N D fB gB hB iB XB T Q mB nB","2":"G dB WB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C oB pB qB rB T ZB tB Q"},G:{"1":"H D TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","16":"WB uB aB"},H:{"2":"CC"},I:{"1":"bB G M FC GC aB HC IC","16":"DC EC"},J:{"1":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"B","2":"A"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:1,C:"PageTransitionEvent"};
diff --git a/node_modules/caniuse-lite/data/features/pagevisibility.js b/node_modules/caniuse-lite/data/features/pagevisibility.js
new file mode 100644
index 0000000..f4d01e1
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/pagevisibility.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"A B","2":"O F H E lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E kB sB","33":"A B C N D I J K"},D:{"1":"0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N","33":"D I J K L Z a b c d e f g h i j k l m"},E:{"1":"F H E A B C N D gB hB iB XB T Q mB nB","2":"G Y O dB WB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V Q","2":"E B C oB pB qB rB T ZB tB","33":"I J K L Z"},G:{"1":"H D yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB uB aB TC xB"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB","33":"HC IC"},J:{"1":"A","2":"F"},K:{"1":"DB Q","2":"A B C T ZB"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC XB PC QC","33":"G"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:2,C:"Page Visibility"};
diff --git a/node_modules/caniuse-lite/data/features/passive-event-listener.js b/node_modules/caniuse-lite/data/features/passive-event-listener.js
new file mode 100644
index 0000000..279ce98
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/passive-event-listener.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"J K L KB P M R S YB U","2":"C N D I"},C:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"0 1 2 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z kB sB"},D:{"1":"5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 1 2 3 4 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"A B C N D XB T Q mB nB","2":"G Y O F H E dB WB fB gB hB iB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e f g h i j k l m n o p q r oB pB qB rB T ZB tB Q"},G:{"1":"D 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB 0B 1B"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC XB PC QC","2":"G"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:1,C:"Passive event listeners"};
diff --git a/node_modules/caniuse-lite/data/features/passwordrules.js b/node_modules/caniuse-lite/data/features/passwordrules.js
new file mode 100644
index 0000000..5135908
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/passwordrules.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"2":"C N D I J K L","16":"KB P M R S YB U"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB kB sB","16":"R S"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U","16":"vB wB cB"},E:{"1":"C N Q","2":"G Y O F H E A B dB WB fB gB hB iB XB T","16":"D mB nB"},F:{"2":"0 1 2 3 4 5 6 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z oB pB qB rB T ZB tB Q","16":"7 8 9 AB BB CB EB GB HB IB JB X LB MB NB FB W V"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"16":"CC"},I:{"2":"bB G DC EC FC GC aB HC IC","16":"M"},J:{"2":"F","16":"A"},K:{"2":"A B C T ZB Q","16":"DB"},L:{"16":"U"},M:{"16":"OB"},N:{"2":"A","16":"B"},O:{"16":"JC"},P:{"2":"G KC LC","16":"MC NC OC XB PC QC"},Q:{"16":"RC"},R:{"16":"SC"},S:{"2":"jB"}},B:1,C:"Password Rules"};
diff --git a/node_modules/caniuse-lite/data/features/path2d.js b/node_modules/caniuse-lite/data/features/path2d.js
new file mode 100644
index 0000000..186dbfc
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/path2d.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N","132":"D I J K L"},C:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k kB sB","132":"0 1 l m n o p q r s t u v w x y z"},D:{"1":"MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p","132":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB"},E:{"1":"A B C N D iB XB T Q mB nB","2":"G Y O F dB WB fB gB","132":"H E hB"},F:{"1":"9 AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c oB pB qB rB T ZB tB Q","132":"0 1 2 3 4 5 6 7 8 d e f g h i j k l m n o p q r s t u v w x y z"},G:{"1":"D 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB uB aB TC xB yB","16":"H","132":"zB"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"1":"A","2":"F"},K:{"2":"A B C T ZB Q","132":"DB"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"132":"JC"},P:{"1":"XB PC QC","132":"G KC LC MC NC OC"},Q:{"132":"RC"},R:{"132":"SC"},S:{"1":"jB"}},B:1,C:"Path2D"};
diff --git a/node_modules/caniuse-lite/data/features/payment-request.js b/node_modules/caniuse-lite/data/features/payment-request.js
new file mode 100644
index 0000000..649de71
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/payment-request.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N","322":"D","8196":"I J K L"},C:{"2":"0 1 2 3 4 5 6 7 8 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z kB sB","4162":"9 AB BB CB DB EB PB GB HB IB JB","16452":"X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S"},D:{"1":"UB KB P M R S YB U vB wB cB","2":"0 1 2 3 4 5 6 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z","194":"7 8 9 AB BB CB","1090":"DB EB","8196":"PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB"},E:{"1":"N D Q mB nB","2":"G Y O F H E dB WB fB gB hB iB","514":"A B XB","8196":"C T"},F:{"1":"X LB MB NB FB W V","2":"E B C I J K L Z a b c d e f g h i j k l m n o p q r s t oB pB qB rB T ZB tB Q","194":"0 1 u v w x y z","8196":"2 3 4 5 6 7 8 9 AB BB CB EB GB HB IB JB"},G:{"1":"D 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB 0B 1B","514":"2B 3B 4B","8196":"5B 6B"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"2049":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"QC","2":"G","8196":"KC LC MC NC OC XB PC"},Q:{"8196":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:4,C:"Payment Request API"};
diff --git a/node_modules/caniuse-lite/data/features/pdf-viewer.js b/node_modules/caniuse-lite/data/features/pdf-viewer.js
new file mode 100644
index 0000000..5146fb4
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/pdf-viewer.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A lB","132":"B"},B:{"1":"I J K L KB P M R S YB U","16":"C N D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","16":"G Y O F H E A B C N D"},E:{"1":"G Y O F H E A B C N D fB gB hB iB XB T Q mB nB","16":"dB WB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V Q","2":"E B oB pB qB rB T ZB tB"},G:{"1":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"16":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"2":"U"},M:{"2":"OB"},N:{"16":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:6,C:"Built-in PDF viewer"};
diff --git a/node_modules/caniuse-lite/data/features/permissions-api.js b/node_modules/caniuse-lite/data/features/permissions-api.js
new file mode 100644
index 0000000..b9fd591
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/permissions-api.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e f g h i j oB pB qB rB T ZB tB Q"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"1":"jB"}},B:7,C:"Permissions API"};
diff --git a/node_modules/caniuse-lite/data/features/permissions-policy.js b/node_modules/caniuse-lite/data/features/permissions-policy.js
new file mode 100644
index 0000000..f51333c
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/permissions-policy.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"2":"C N D I J K L","258":"KB P M R S YB U"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB kB sB","258":"QB RB SB TB UB KB P M OB R S"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB","258":"EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB","450":"U vB wB cB"},E:{"2":"G Y O F H E A B dB WB fB gB hB iB XB","258":"C N D T Q mB nB"},F:{"2":"0 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z oB pB qB rB T ZB tB Q","258":"1 2 3 4 5 6 7 8 9 AB BB CB EB GB HB IB JB X LB MB NB FB W V"},G:{"2":"H WB uB aB TC xB yB zB 0B 1B 2B 3B 4B","258":"D 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G DC EC FC GC aB HC IC","258":"M"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"258":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC","258":"NC OC XB PC QC"},Q:{"258":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:5,C:"Permissions Policy"};
diff --git a/node_modules/caniuse-lite/data/features/picture-in-picture.js b/node_modules/caniuse-lite/data/features/picture-in-picture.js
new file mode 100644
index 0000000..4d24125
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/picture-in-picture.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X kB sB","132":"V VB QB RB SB TB UB KB P M OB R S","1090":"LB","1412":"W","1668":"MB NB FB"},D:{"1":"FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB","2114":"NB"},E:{"1":"D mB nB","2":"G Y O F H E dB WB fB gB hB iB","4100":"A B C N XB T Q"},F:{"2":"E B C I J K L Z a b c d e f g h i j k l m n o p q oB pB qB rB T ZB tB Q","8196":"0 1 2 3 4 5 6 7 8 9 r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V"},G:{"1":"D","2":"H WB uB aB TC xB yB zB","4100":"0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"16388":"U"},M:{"16388":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:7,C:"Picture-in-Picture"};
diff --git a/node_modules/caniuse-lite/data/features/picture.js b/node_modules/caniuse-lite/data/features/picture.js
new file mode 100644
index 0000000..771aa91
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/picture.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"N D I J K L KB P M R S YB U","2":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 9 s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n kB sB","578":"o p q r"},D:{"1":"0 1 2 3 4 5 6 7 8 9 s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q","194":"r"},E:{"1":"A B C N D iB XB T Q mB nB","2":"G Y O F H E dB WB fB gB hB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d oB pB qB rB T ZB tB Q","322":"e"},G:{"1":"D 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB 0B"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:1,C:"Picture element"};
diff --git a/node_modules/caniuse-lite/data/features/ping.js b/node_modules/caniuse-lite/data/features/ping.js
new file mode 100644
index 0000000..5cb8144
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/ping.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"K L KB P M R S YB U","2":"C N D I J"},C:{"2":"eB","194":"0 1 2 3 4 5 6 7 8 9 bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","16":"G Y O F H E A B C N D"},E:{"1":"O F H E A B C N D gB hB iB XB T Q mB nB","2":"G Y dB WB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C oB pB qB rB T ZB tB Q"},G:{"1":"H D TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB uB aB"},H:{"2":"CC"},I:{"1":"M HC IC","2":"bB G DC EC FC GC aB"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"194":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"194":"jB"}},B:1,C:"Ping attribute"};
diff --git a/node_modules/caniuse-lite/data/features/png-alpha.js b/node_modules/caniuse-lite/data/features/png-alpha.js
new file mode 100644
index 0000000..1e2b34b
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/png-alpha.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"F H E A B","2":"lB","8":"O"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"1":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"1":"CC"},I:{"1":"bB G M DC EC FC GC aB HC IC"},J:{"1":"F A"},K:{"1":"A B C DB T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:2,C:"PNG alpha transparency"};
diff --git a/node_modules/caniuse-lite/data/features/pointer-events.js b/node_modules/caniuse-lite/data/features/pointer-events.js
new file mode 100644
index 0000000..00202e2
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/pointer-events.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"B","2":"O F H E A lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S sB","2":"eB bB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"G Y O F H E A B C N D fB gB hB iB XB T Q mB nB","2":"dB WB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C oB pB qB rB T ZB tB Q"},G:{"1":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"bB G M DC EC FC GC aB HC IC"},J:{"1":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"B","2":"A"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:7,C:"CSS pointer-events (for HTML)"};
diff --git a/node_modules/caniuse-lite/data/features/pointer.js b/node_modules/caniuse-lite/data/features/pointer.js
new file mode 100644
index 0000000..6c2d5ba
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/pointer.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"B","2":"O F H E lB","164":"A"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y kB sB","8":"O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u","328":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB"},D:{"1":"9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z a b","8":"0 1 2 3 4 5 c d e f g h i j k l m n o p q r s t u v w x y z","584":"6 7 8"},E:{"1":"N D mB nB","2":"G Y O dB WB fB","8":"F H E A B C gB hB iB XB T","1096":"Q"},F:{"1":"0 1 2 3 4 5 6 7 8 9 w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C oB pB qB rB T ZB tB Q","8":"I J K L Z a b c d e f g h i j k l m n o p q r s","584":"t u v"},G:{"1":"D 9B AC BC","8":"H WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B","6148":"8B"},H:{"2":"CC"},I:{"1":"M","8":"bB G DC EC FC GC aB HC IC"},J:{"8":"F A"},K:{"1":"DB","2":"A","8":"B C T ZB Q"},L:{"1":"U"},M:{"328":"OB"},N:{"1":"B","36":"A"},O:{"8":"JC"},P:{"1":"LC MC NC OC XB PC QC","2":"KC","8":"G"},Q:{"1":"RC"},R:{"2":"SC"},S:{"328":"jB"}},B:2,C:"Pointer events"};
diff --git a/node_modules/caniuse-lite/data/features/pointerlock.js b/node_modules/caniuse-lite/data/features/pointerlock.js
new file mode 100644
index 0000000..c815c14
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/pointerlock.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"N D I J K L KB P M R S YB U","2":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N kB sB","33":"D I J K L Z a b c d e f g h i j k l m n o p q r s t u"},D:{"1":"0 1 2 3 4 5 6 7 8 9 r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I","33":"c d e f g h i j k l m n o p q","66":"J K L Z a b"},E:{"1":"B C N D XB T Q mB nB","2":"G Y O F H E A dB WB fB gB hB iB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C oB pB qB rB T ZB tB Q","33":"I J K L Z a b c d"},G:{"1":"D 3B 4B 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB 0B 1B 2B"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"2":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"2":"SC"},S:{"1":"jB"}},B:2,C:"Pointer Lock API"};
diff --git a/node_modules/caniuse-lite/data/features/portals.js b/node_modules/caniuse-lite/data/features/portals.js
new file mode 100644
index 0000000..84a9539
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/portals.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"2":"C N D I J K L KB P M R S","450":"YB U"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB","194":"RB SB TB UB KB P M R S","322":"U vB wB cB","450":"YB"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB oB pB qB rB T ZB tB Q","194":"GB HB IB JB X LB MB NB FB W V"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"450":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:7,C:"Portals"};
diff --git a/node_modules/caniuse-lite/data/features/prefers-color-scheme.js b/node_modules/caniuse-lite/data/features/prefers-color-scheme.js
new file mode 100644
index 0000000..6c73dde
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/prefers-color-scheme.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"1":"LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X kB sB"},D:{"1":"SB TB UB KB P M R S YB U vB wB cB","2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB"},E:{"1":"N D Q mB nB","2":"G Y O F H E A B C dB WB fB gB hB iB XB T"},F:{"1":"GB HB IB JB X LB MB NB FB W V","2":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB oB pB qB rB T ZB tB Q"},G:{"1":"D 8B 9B AC BC","2":"H WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"QC","2":"G KC LC MC NC OC XB PC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:5,C:"prefers-color-scheme media query"};
diff --git a/node_modules/caniuse-lite/data/features/prefers-reduced-motion.js b/node_modules/caniuse-lite/data/features/prefers-reduced-motion.js
new file mode 100644
index 0000000..2839fcb
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/prefers-reduced-motion.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"1":"HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB kB sB"},D:{"1":"QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB"},E:{"1":"B C N D XB T Q mB nB","2":"G Y O F H E A dB WB fB gB hB iB"},F:{"1":"IB JB X LB MB NB FB W V","2":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB oB pB qB rB T ZB tB Q"},G:{"1":"D 3B 4B 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB 0B 1B 2B"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"PC QC","2":"G KC LC MC NC OC XB"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:5,C:"prefers-reduced-motion media query"};
diff --git a/node_modules/caniuse-lite/data/features/private-class-fields.js b/node_modules/caniuse-lite/data/features/private-class-fields.js
new file mode 100644
index 0000000..d5acdcc
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/private-class-fields.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"2":"C N D I J K L KB P M R S YB U"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"1":"QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"2":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:7,C:"Private class fields"};
diff --git a/node_modules/caniuse-lite/data/features/private-methods-and-accessors.js b/node_modules/caniuse-lite/data/features/private-methods-and-accessors.js
new file mode 100644
index 0000000..c4be4e8
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/private-methods-and-accessors.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"2":"C N D I J K L KB P M R S YB U"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"1":"V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"2":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:7,C:"Public class fields"};
diff --git a/node_modules/caniuse-lite/data/features/progress.js b/node_modules/caniuse-lite/data/features/progress.js
new file mode 100644
index 0000000..32717a2
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/progress.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"A B","2":"O F H E lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F"},E:{"1":"O F H E A B C N D gB hB iB XB T Q mB nB","2":"G Y dB WB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V T ZB tB Q","2":"E oB pB qB rB"},G:{"2":"WB uB aB TC xB","132":"H D yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"1":"CC"},I:{"1":"M HC IC","2":"bB G DC EC FC GC aB"},J:{"1":"F A"},K:{"1":"B C DB T ZB Q","2":"A"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:1,C:"progress element"};
diff --git a/node_modules/caniuse-lite/data/features/promise-finally.js b/node_modules/caniuse-lite/data/features/promise-finally.js
new file mode 100644
index 0000000..ecf0de8
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/promise-finally.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"L KB P M R S YB U","2":"C N D I J K"},C:{"1":"CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB kB sB"},D:{"1":"HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB"},E:{"1":"C N D T Q mB nB","2":"G Y O F H E A B dB WB fB gB hB iB XB"},F:{"1":"4 5 6 7 8 9 AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"0 1 2 3 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z oB pB qB rB T ZB tB Q"},G:{"1":"D 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB 0B 1B 2B 3B 4B"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"NC OC XB PC QC","2":"G KC LC MC"},Q:{"1":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:6,C:"Promise.prototype.finally"};
diff --git a/node_modules/caniuse-lite/data/features/promises.js b/node_modules/caniuse-lite/data/features/promises.js
new file mode 100644
index 0000000..f184d59
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/promises.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"8":"O F H E A B lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","4":"h i","8":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","4":"m","8":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l"},E:{"1":"H E A B C N D hB iB XB T Q mB nB","8":"G Y O F dB WB fB gB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","4":"Z","8":"E B C I J K L oB pB qB rB T ZB tB Q"},G:{"1":"H D zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","8":"WB uB aB TC xB yB"},H:{"8":"CC"},I:{"1":"M IC","8":"bB G DC EC FC GC aB HC"},J:{"8":"F A"},K:{"1":"DB","8":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"8":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:6,C:"Promises"};
diff --git a/node_modules/caniuse-lite/data/features/proximity.js b/node_modules/caniuse-lite/data/features/proximity.js
new file mode 100644
index 0000000..93dc8e6
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/proximity.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"2":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D kB sB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"2":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"1":"jB"}},B:4,C:"Proximity API"};
diff --git a/node_modules/caniuse-lite/data/features/proxy.js b/node_modules/caniuse-lite/data/features/proxy.js
new file mode 100644
index 0000000..28700fe
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/proxy.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K kB sB"},D:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 1 2 G Y O F H E A B C N D I J K L s t u v w x y z","66":"Z a b c d e f g h i j k l m n o p q r"},E:{"1":"A B C N D XB T Q mB nB","2":"G Y O F H E dB WB fB gB hB iB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C f g h i j k l m n o p oB pB qB rB T ZB tB Q","66":"I J K L Z a b c d e"},G:{"1":"D 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB 0B 1B"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC XB PC QC","2":"G"},Q:{"1":"RC"},R:{"2":"SC"},S:{"1":"jB"}},B:6,C:"Proxy object"};
diff --git a/node_modules/caniuse-lite/data/features/public-class-fields.js b/node_modules/caniuse-lite/data/features/public-class-fields.js
new file mode 100644
index 0000000..1f03f61
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/public-class-fields.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"2":"C N D I J K L KB P M R S YB U"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"1":"QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"2":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:7,C:"Public class fields"};
diff --git a/node_modules/caniuse-lite/data/features/publickeypinning.js b/node_modules/caniuse-lite/data/features/publickeypinning.js
new file mode 100644
index 0000000..a10b6bd
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/publickeypinning.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"2":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W","2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W","2":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB","2":"E B C I J K L Z X LB MB NB FB W V oB pB qB rB T ZB tB Q","4":"d","16":"a b c e"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"2":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB","2":"PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:6,C:"Public Key Pinning"};
diff --git a/node_modules/caniuse-lite/data/features/push-api.js b/node_modules/caniuse-lite/data/features/push-api.js
new file mode 100644
index 0000000..24aabaf
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/push-api.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"K L","2":"C N D I J","257":"KB P M R S YB U"},C:{"2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x kB sB","257":"0 1 2 3 4 5 7 8 9 y AB BB CB DB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","1281":"6 z EB"},D:{"2":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x","257":"4 5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","388":"0 1 2 3 y z"},E:{"2":"G Y O F H E dB WB fB gB hB","514":"A B C N D iB XB T Q mB nB"},F:{"2":"E B C I J K L Z a b c d e f g h i j k l m n o p q oB pB qB rB T ZB tB Q","16":"r s t u v","257":"0 1 2 3 4 5 6 7 8 9 w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"2":"SC"},S:{"257":"jB"}},B:5,C:"Push API"};
diff --git a/node_modules/caniuse-lite/data/features/queryselector.js b/node_modules/caniuse-lite/data/features/queryselector.js
new file mode 100644
index 0000000..ef4cd18
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/queryselector.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"E A B","2":"lB","8":"O F","132":"H"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB","8":"eB bB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V pB qB rB T ZB tB Q","8":"E oB"},G:{"1":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"1":"CC"},I:{"1":"bB G M DC EC FC GC aB HC IC"},J:{"1":"F A"},K:{"1":"A B C DB T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:1,C:"querySelector/querySelectorAll"};
diff --git a/node_modules/caniuse-lite/data/features/readonly-attr.js b/node_modules/caniuse-lite/data/features/readonly-attr.js
new file mode 100644
index 0000000..391ed56
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/readonly-attr.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"O F H E A B","16":"lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","16":"eB bB kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","16":"G Y O F H E A B C N D I J K L Z a b c d e f"},E:{"1":"O F H E A B C N D fB gB hB iB XB T Q mB nB","16":"G Y dB WB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","16":"E oB","132":"B C pB qB rB T ZB tB Q"},G:{"1":"H D yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","16":"WB uB aB TC xB"},H:{"1":"CC"},I:{"1":"bB G M FC GC aB HC IC","16":"DC EC"},J:{"1":"F A"},K:{"1":"DB","132":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"257":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:1,C:"readonly attribute of input and textarea elements"};
diff --git a/node_modules/caniuse-lite/data/features/referrer-policy.js b/node_modules/caniuse-lite/data/features/referrer-policy.js
new file mode 100644
index 0000000..fa97d3b
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/referrer-policy.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A lB","132":"B"},B:{"1":"KB P M R","132":"C N D I J K L","513":"S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p kB sB"},D:{"1":"PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R","2":"G Y O F H E A B C N D I J K L Z a","260":"0 1 2 3 4 5 6 7 8 9 b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB","513":"S YB U vB wB cB"},E:{"1":"C N D T Q mB nB","2":"G Y O F dB WB fB gB","132":"H E A B hB iB XB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C oB pB qB rB T ZB tB Q"},G:{"1":"D 6B 7B 8B 9B AC BC","2":"WB uB aB TC xB yB","132":"H zB 0B 1B 2B 3B 4B 5B"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"513":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC XB PC QC","2":"G"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:4,C:"Referrer Policy"};
diff --git a/node_modules/caniuse-lite/data/features/registerprotocolhandler.js b/node_modules/caniuse-lite/data/features/registerprotocolhandler.js
new file mode 100644
index 0000000..841aaec
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/registerprotocolhandler.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"2":"C N D I J K L","129":"KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB","2":"eB"},D:{"2":"G Y O F H E A B C","129":"0 1 2 3 4 5 6 7 8 9 N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"2":"E B oB pB qB rB T ZB","129":"0 1 2 3 4 5 6 7 8 9 C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V tB Q"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F","129":"A"},K:{"2":"A B C DB T ZB Q"},L:{"2":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:1,C:"Custom protocol handling"};
diff --git a/node_modules/caniuse-lite/data/features/rel-noopener.js b/node_modules/caniuse-lite/data/features/rel-noopener.js
new file mode 100644
index 0000000..401003c
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/rel-noopener.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"1":"6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"0 1 2 3 4 5 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z kB sB"},D:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 1 2 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"B C N D XB T Q mB nB","2":"G Y O F H E A dB WB fB gB hB iB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e f g h i j k l m n o p oB pB qB rB T ZB tB Q"},G:{"1":"D 3B 4B 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB 0B 1B 2B"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC XB PC QC","2":"G"},Q:{"1":"RC"},R:{"1":"SC"},S:{"2":"jB"}},B:1,C:"rel=noopener"};
diff --git a/node_modules/caniuse-lite/data/features/rel-noreferrer.js b/node_modules/caniuse-lite/data/features/rel-noreferrer.js
new file mode 100644
index 0000000..895efa7
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/rel-noreferrer.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A lB","132":"B"},B:{"1":"N D I J K L KB P M R S YB U","16":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","16":"G Y O F H E A B C N D I"},E:{"1":"Y O F H E A B C N D fB gB hB iB XB T Q mB nB","2":"G dB WB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C oB pB qB rB T ZB tB Q"},G:{"1":"H D uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB"},H:{"2":"CC"},I:{"1":"bB G M FC GC aB HC IC","16":"DC EC"},J:{"1":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:1,C:"Link type \"noreferrer\""};
diff --git a/node_modules/caniuse-lite/data/features/rellist.js b/node_modules/caniuse-lite/data/features/rellist.js
new file mode 100644
index 0000000..2d4ad8b
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/rellist.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"L KB P M R S YB U","2":"C N D I J","132":"K"},C:{"1":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j kB sB"},D:{"1":"JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 1 2 3 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z","132":"4 5 6 7 8 9 AB BB CB DB EB PB GB HB IB"},E:{"1":"E A B C N D iB XB T Q mB nB","2":"G Y O F H dB WB fB gB hB"},F:{"1":"6 7 8 9 AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e f g h i j k l m n o p q oB pB qB rB T ZB tB Q","132":"0 1 2 3 4 5 r s t u v w x y z"},G:{"1":"D 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"132":"JC"},P:{"1":"OC XB PC QC","2":"G","132":"KC LC MC NC"},Q:{"1":"RC"},R:{"2":"SC"},S:{"1":"jB"}},B:1,C:"relList (DOMTokenList)"};
diff --git a/node_modules/caniuse-lite/data/features/rem.js b/node_modules/caniuse-lite/data/features/rem.js
new file mode 100644
index 0000000..be6c30d
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/rem.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"B","2":"O F H lB","132":"E A"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S sB","2":"eB bB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"Y O F H E A B C N D fB gB hB iB XB T Q mB nB","2":"G dB WB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V tB Q","2":"E B oB pB qB rB T ZB"},G:{"1":"H D uB aB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB","260":"TC"},H:{"1":"CC"},I:{"1":"bB G M DC EC FC GC aB HC IC"},J:{"1":"F A"},K:{"1":"C DB Q","2":"A B T ZB"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:4,C:"rem (root em) units"};
diff --git a/node_modules/caniuse-lite/data/features/replace-all.js b/node_modules/caniuse-lite/data/features/replace-all.js
new file mode 100644
index 0000000..b77396a
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/replace-all.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"2":"C N D I J K L KB P M R S YB U"},C:{"1":"V VB QB RB SB TB UB KB P M OB R S","2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W kB sB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"D mB nB","2":"G Y O F H E A B C N dB WB fB gB hB iB XB T Q"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"1":"D BC","2":"H WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"16":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"2":"U"},M:{"2":"OB"},N:{"16":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"16":"SC"},S:{"16":"jB"}},B:7,C:"String.prototype.replaceAll()"};
diff --git a/node_modules/caniuse-lite/data/features/requestanimationframe.js b/node_modules/caniuse-lite/data/features/requestanimationframe.js
new file mode 100644
index 0000000..b4b8143
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/requestanimationframe.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"A B","2":"O F H E lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB kB sB","33":"B C N D I J K L Z a b c","164":"G Y O F H E A"},D:{"1":"0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E","33":"c d","164":"L Z a b","420":"A B C N D I J K"},E:{"1":"F H E A B C N D gB hB iB XB T Q mB nB","2":"G Y dB WB fB","33":"O"},F:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C oB pB qB rB T ZB tB Q"},G:{"1":"H D yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB uB aB TC","33":"xB"},H:{"2":"CC"},I:{"1":"M HC IC","2":"bB G DC EC FC GC aB"},J:{"1":"A","2":"F"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:1,C:"requestAnimationFrame"};
diff --git a/node_modules/caniuse-lite/data/features/requestidlecallback.js b/node_modules/caniuse-lite/data/features/requestidlecallback.js
new file mode 100644
index 0000000..a0a0d8a
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/requestidlecallback.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"1":"9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"0 1 2 3 4 5 6 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z kB sB","194":"7 8"},D:{"1":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"2":"G Y O F H E A B C N dB WB fB gB hB iB XB T Q","322":"D mB nB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e f g h i j k l m n oB pB qB rB T ZB tB Q"},G:{"2":"H WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC","322":"D BC"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC XB PC QC","2":"G"},Q:{"1":"RC"},R:{"1":"SC"},S:{"2":"jB"}},B:5,C:"requestIdleCallback"};
diff --git a/node_modules/caniuse-lite/data/features/resizeobserver.js b/node_modules/caniuse-lite/data/features/resizeobserver.js
new file mode 100644
index 0000000..5a2ecae
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/resizeobserver.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"1":"NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB kB sB"},D:{"1":"IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 1 2 3 4 5 6 7 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z","194":"8 9 AB BB CB DB EB PB GB HB"},E:{"1":"D mB nB","2":"G Y O F H E A B C dB WB fB gB hB iB XB T Q","66":"N"},F:{"1":"6 7 8 9 AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u oB pB qB rB T ZB tB Q","194":"0 1 2 3 4 5 v w x y z"},G:{"1":"D BC","2":"H WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"OC XB PC QC","2":"G KC LC MC NC"},Q:{"1":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:7,C:"Resize Observer"};
diff --git a/node_modules/caniuse-lite/data/features/resource-timing.js b/node_modules/caniuse-lite/data/features/resource-timing.js
new file mode 100644
index 0000000..2a92fa7
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/resource-timing.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"A B","2":"O F H E lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k kB sB","194":"l m n o"},D:{"1":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z a b c d e"},E:{"1":"C N D T Q mB nB","2":"G Y O F H E A dB WB fB gB hB iB XB","260":"B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C oB pB qB rB T ZB tB Q"},G:{"1":"D 4B 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB 0B 1B 2B 3B"},H:{"2":"CC"},I:{"1":"M HC IC","2":"bB G DC EC FC GC aB"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:4,C:"Resource Timing"};
diff --git a/node_modules/caniuse-lite/data/features/rest-parameters.js b/node_modules/caniuse-lite/data/features/rest-parameters.js
new file mode 100644
index 0000000..9932fc8
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/rest-parameters.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D kB sB"},D:{"1":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x","194":"0 y z"},E:{"1":"A B C N D XB T Q mB nB","2":"G Y O F H E dB WB fB gB hB iB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e f g h i j k oB pB qB rB T ZB tB Q","194":"l m n"},G:{"1":"D 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB 0B 1B"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC XB PC QC","2":"G"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:6,C:"Rest parameters"};
diff --git a/node_modules/caniuse-lite/data/features/rtcpeerconnection.js b/node_modules/caniuse-lite/data/features/rtcpeerconnection.js
new file mode 100644
index 0000000..51b7718
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/rtcpeerconnection.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D","516":"I J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z a b kB sB","33":"c d e f g h i j k l m n o p q r s t u v w x"},D:{"1":"AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z a b c","33":"0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"B C N D T Q mB nB","2":"G Y O F H E A dB WB fB gB hB iB XB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K oB pB qB rB T ZB tB Q","33":"L Z a b c d e f g h i j k l m n o p q r s t u v w"},G:{"1":"D 4B 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB 0B 1B 2B 3B"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F","130":"A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"33":"G KC LC MC NC OC XB PC QC"},Q:{"33":"RC"},R:{"33":"SC"},S:{"1":"jB"}},B:5,C:"WebRTC Peer-to-peer connections"};
diff --git a/node_modules/caniuse-lite/data/features/ruby.js b/node_modules/caniuse-lite/data/features/ruby.js
new file mode 100644
index 0000000..26cdef0
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/ruby.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"4":"O F H E A B lB"},B:{"4":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","8":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r kB sB"},D:{"4":"0 1 2 3 4 5 6 7 8 9 Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","8":"G"},E:{"4":"Y O F H E A B C N D fB gB hB iB XB T Q mB nB","8":"G dB WB"},F:{"4":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","8":"E B C oB pB qB rB T ZB tB Q"},G:{"4":"H D TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","8":"WB uB aB"},H:{"8":"CC"},I:{"4":"bB G M GC aB HC IC","8":"DC EC FC"},J:{"4":"A","8":"F"},K:{"4":"DB","8":"A B C T ZB Q"},L:{"4":"U"},M:{"1":"OB"},N:{"4":"A B"},O:{"4":"JC"},P:{"4":"G KC LC MC NC OC XB PC QC"},Q:{"4":"RC"},R:{"4":"SC"},S:{"1":"jB"}},B:1,C:"Ruby annotation"};
diff --git a/node_modules/caniuse-lite/data/features/run-in.js b/node_modules/caniuse-lite/data/features/run-in.js
new file mode 100644
index 0000000..595722d
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/run-in.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"H E A B","2":"O F lB"},B:{"2":"C N D I J K L KB P M R S YB U"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"1":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l","2":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"Y O fB","2":"F H E A B C N D hB iB XB T Q mB nB","16":"gB","129":"G dB WB"},F:{"1":"E B C I J K L oB pB qB rB T ZB tB Q","2":"0 1 2 3 4 5 6 7 8 9 Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V"},G:{"1":"uB aB TC xB yB","2":"H D zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","129":"WB"},H:{"1":"CC"},I:{"1":"bB G DC EC FC GC aB HC","2":"M IC"},J:{"1":"F A"},K:{"1":"A B C T ZB Q","2":"DB"},L:{"2":"U"},M:{"2":"OB"},N:{"1":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:5,C:"display: run-in"};
diff --git a/node_modules/caniuse-lite/data/features/same-site-cookie-attribute.js b/node_modules/caniuse-lite/data/features/same-site-cookie-attribute.js
new file mode 100644
index 0000000..f39a7ef
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/same-site-cookie-attribute.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A lB","388":"B"},B:{"1":"L KB P M R S YB U","2":"C N D I","129":"J K"},C:{"1":"EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB kB sB"},D:{"1":"5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB","2":"0 1 2 3 4 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z","513":"P M R S YB U vB wB cB"},E:{"1":"nB","2":"G Y O F H E A B dB WB fB gB hB iB XB T","2052":"D","3076":"C N Q mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e f g h i j k l m n o p q r s oB pB qB rB T ZB tB Q"},G:{"1":"D 8B 9B AC BC","2":"H WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B","2052":"6B 7B"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"513":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"KC LC MC NC OC XB PC QC","2":"G"},Q:{"16":"RC"},R:{"1":"SC"},S:{"2":"jB"}},B:6,C:"'SameSite' cookie attribute"};
diff --git a/node_modules/caniuse-lite/data/features/screen-orientation.js b/node_modules/caniuse-lite/data/features/screen-orientation.js
new file mode 100644
index 0000000..ae0756e
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/screen-orientation.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A lB","164":"B"},B:{"1":"KB P M R S YB U","36":"C N D I J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K kB sB","36":"L Z a b c d e f g h i j k l m n o p q r s t u v w x"},D:{"1":"0 1 2 3 4 5 6 7 8 9 s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e oB pB qB rB T ZB tB Q"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A","36":"B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC XB PC QC","16":"G"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:5,C:"Screen Orientation"};
diff --git a/node_modules/caniuse-lite/data/features/script-async.js b/node_modules/caniuse-lite/data/features/script-async.js
new file mode 100644
index 0000000..5a4e839
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/script-async.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"A B","2":"O F H E lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S sB","2":"eB bB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F"},E:{"1":"O F H E A B C N D fB gB hB iB XB T Q mB nB","2":"G dB WB","132":"Y"},F:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C oB pB qB rB T ZB tB Q"},G:{"1":"H D TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB uB aB"},H:{"2":"CC"},I:{"1":"bB G M GC aB HC IC","2":"DC EC FC"},J:{"1":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:1,C:"async attribute for external scripts"};
diff --git a/node_modules/caniuse-lite/data/features/script-defer.js b/node_modules/caniuse-lite/data/features/script-defer.js
new file mode 100644
index 0000000..a1786cb
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/script-defer.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"A B","132":"O F H E lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB","257":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F"},E:{"1":"Y O F H E A B C N D fB gB hB iB XB T Q mB nB","2":"G dB WB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C oB pB qB rB T ZB tB Q"},G:{"1":"H D TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB uB aB"},H:{"2":"CC"},I:{"1":"bB G M GC aB HC IC","2":"DC EC FC"},J:{"1":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:1,C:"defer attribute for external scripts"};
diff --git a/node_modules/caniuse-lite/data/features/scrollintoview.js b/node_modules/caniuse-lite/data/features/scrollintoview.js
new file mode 100644
index 0000000..76bf1ff
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/scrollintoview.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F lB","132":"H E A B"},B:{"1":"KB P M R S YB U","132":"C N D I J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","132":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p kB sB"},D:{"1":"PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","132":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB"},E:{"2":"G Y dB WB","132":"O F H E A B C N D fB gB hB iB XB T Q mB nB"},F:{"1":"2 3 4 5 6 7 8 9 AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E oB pB qB rB","16":"B T ZB","132":"0 1 C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z tB Q"},G:{"16":"WB uB aB","132":"H D TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"16":"DC EC","132":"bB G M FC GC aB HC IC"},J:{"132":"F A"},K:{"132":"A B C DB T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"132":"A B"},O:{"132":"JC"},P:{"132":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"132":"SC"},S:{"1":"jB"}},B:5,C:"scrollIntoView"};
diff --git a/node_modules/caniuse-lite/data/features/scrollintoviewifneeded.js b/node_modules/caniuse-lite/data/features/scrollintoviewifneeded.js
new file mode 100644
index 0000000..17cafee
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/scrollintoviewifneeded.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","16":"G Y O F H E A B C N D"},E:{"1":"O F H E A B C N D fB gB hB iB XB T Q mB nB","16":"G Y dB WB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C oB pB qB rB T ZB tB Q"},G:{"1":"H D TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","16":"WB uB aB"},H:{"2":"CC"},I:{"1":"bB G M FC GC aB HC IC","16":"DC EC"},J:{"1":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"2":"jB"}},B:7,C:"Element.scrollIntoViewIfNeeded()"};
diff --git a/node_modules/caniuse-lite/data/features/sdch.js b/node_modules/caniuse-lite/data/features/sdch.js
new file mode 100644
index 0000000..ffbb7e9
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/sdch.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"2":"C N D I J K L KB P M R S YB U"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB","2":"DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C oB pB qB rB T ZB tB Q"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"2":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"KC LC MC NC OC XB PC QC","2":"G"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:6,C:"SDCH Accept-Encoding/Content-Encoding"};
diff --git a/node_modules/caniuse-lite/data/features/selection-api.js b/node_modules/caniuse-lite/data/features/selection-api.js
new file mode 100644
index 0000000..1615e4c
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/selection-api.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"E A B","16":"lB","260":"O F H"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","132":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w kB sB","2180":"0 1 2 3 4 5 x y z"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","16":"G Y O F H E A B C N D"},E:{"1":"O F H E A B C N D fB gB hB iB XB T Q mB nB","16":"G Y dB WB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","132":"E B C oB pB qB rB T ZB tB Q"},G:{"16":"aB","132":"WB uB","516":"H D TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"M HC IC","16":"bB G DC EC FC GC","1025":"aB"},J:{"1":"A","16":"F"},K:{"1":"DB","16":"A B C T ZB","132":"Q"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"B","16":"A"},O:{"1025":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"2180":"jB"}},B:5,C:"Selection API"};
diff --git a/node_modules/caniuse-lite/data/features/server-timing.js b/node_modules/caniuse-lite/data/features/server-timing.js
new file mode 100644
index 0000000..eb3b7ed
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/server-timing.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"1":"PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB kB sB"},D:{"1":"JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB","196":"EB PB GB HB","324":"IB"},E:{"2":"G Y O F H E A B C dB WB fB gB hB iB XB T","516":"N D Q mB nB"},F:{"1":"6 7 8 9 AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"0 1 2 3 4 5 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z oB pB qB rB T ZB tB Q"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"1":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:5,C:"Server Timing"};
diff --git a/node_modules/caniuse-lite/data/features/serviceworkers.js b/node_modules/caniuse-lite/data/features/serviceworkers.js
new file mode 100644
index 0000000..d0b95ec
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/serviceworkers.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"K L KB P M R S YB U","2":"C N D","322":"I J"},C:{"1":"0 1 2 3 4 5 7 8 9 y AB BB CB DB PB GB HB IB JB X LB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m kB sB","194":"n o p q r s t u v w x","513":"6 z EB MB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t","4":"u v w x y"},E:{"1":"C N D T Q mB nB","2":"G Y O F H E A B dB WB fB gB hB iB XB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e f g oB pB qB rB T ZB tB Q","4":"h i j k l"},G:{"1":"D 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB 0B 1B 2B 3B 4B"},H:{"2":"CC"},I:{"2":"bB G DC EC FC GC aB HC IC","4":"M"},J:{"2":"F A"},K:{"2":"A B C T ZB Q","4":"DB"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"4":"SC"},S:{"2":"jB"}},B:4,C:"Service Workers"};
diff --git a/node_modules/caniuse-lite/data/features/setimmediate.js b/node_modules/caniuse-lite/data/features/setimmediate.js
new file mode 100644
index 0000000..39ff897
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/setimmediate.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"A B","2":"O F H E lB"},B:{"1":"C N D I J K L","2":"KB P M R S YB U"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"2":"U"},M:{"2":"OB"},N:{"1":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:7,C:"Efficient Script Yielding: setImmediate()"};
diff --git a/node_modules/caniuse-lite/data/features/sha-2.js b/node_modules/caniuse-lite/data/features/sha-2.js
new file mode 100644
index 0000000..a97acf0
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/sha-2.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"O F H E A B","2":"lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","132":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r"},E:{"1":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"1":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"16":"CC"},I:{"1":"bB G M EC FC GC aB HC IC","260":"DC"},J:{"1":"F A"},K:{"16":"A B C DB T ZB Q"},L:{"1":"U"},M:{"16":"OB"},N:{"16":"A B"},O:{"16":"JC"},P:{"1":"KC LC MC NC OC XB PC QC","16":"G"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:6,C:"SHA-2 SSL certificates"};
diff --git a/node_modules/caniuse-lite/data/features/shadowdom.js b/node_modules/caniuse-lite/data/features/shadowdom.js
new file mode 100644
index 0000000..f9c5b25
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/shadowdom.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB","2":"C N D I J K L P M R S YB U"},C:{"2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB","66":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x y z AB BB CB DB EB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB","2":"G Y O F H E A B C N D I J K L Z a b c d e P M R S YB U vB wB cB","33":"f g h i j k l m n o"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X","2":"E B C LB MB NB FB W V oB pB qB rB T ZB tB Q","33":"I J K L Z a b"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB","33":"HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"2":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC XB PC QC","33":"G"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:7,C:"Shadow DOM (deprecated V0 spec)"};
diff --git a/node_modules/caniuse-lite/data/features/shadowdomv1.js b/node_modules/caniuse-lite/data/features/shadowdomv1.js
new file mode 100644
index 0000000..a4043a0
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/shadowdomv1.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"1":"HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB kB sB","322":"CB","578":"DB EB PB GB"},D:{"1":"7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 1 2 3 4 5 6 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"A B C N D XB T Q mB nB","2":"G Y O F H E dB WB fB gB hB iB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e f g h i j k l m n o p q r s t oB pB qB rB T ZB tB Q"},G:{"2":"H WB uB aB TC xB yB zB 0B 1B","132":"D 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"LC MC NC OC XB PC QC","2":"G","4":"KC"},Q:{"1":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:5,C:"Shadow DOM (V1)"};
diff --git a/node_modules/caniuse-lite/data/features/sharedarraybuffer.js b/node_modules/caniuse-lite/data/features/sharedarraybuffer.js
new file mode 100644
index 0000000..aae0f38
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/sharedarraybuffer.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I","194":"J K L"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB kB sB","194":"BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB","450":"QB RB SB TB UB","513":"KB P M OB R S"},D:{"1":"MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB","194":"EB PB GB HB IB JB X LB"},E:{"2":"G Y O F H E A dB WB fB gB hB iB","194":"B C N D XB T Q mB nB"},F:{"1":"IB JB X LB MB NB FB W V","2":"0 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z oB pB qB rB T ZB tB Q","194":"1 2 3 4 5 6 7 8 9 AB BB CB EB GB HB"},G:{"2":"H WB uB aB TC xB yB zB 0B 1B 2B","194":"D 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"194":"U"},M:{"513":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:6,C:"Shared Array Buffer"};
diff --git a/node_modules/caniuse-lite/data/features/sharedworkers.js b/node_modules/caniuse-lite/data/features/sharedworkers.js
new file mode 100644
index 0000000..49fcd40
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/sharedworkers.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"Y O fB","2":"G F H E A B C N D dB WB gB hB iB XB T Q mB nB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V rB T ZB tB Q","2":"E oB pB qB"},G:{"1":"TC xB","2":"H D WB uB aB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"1":"F A"},K:{"1":"B C T ZB Q","2":"DB","16":"A"},L:{"2":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"G","2":"KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"1":"jB"}},B:1,C:"Shared Web Workers"};
diff --git a/node_modules/caniuse-lite/data/features/sni.js b/node_modules/caniuse-lite/data/features/sni.js
new file mode 100644
index 0000000..1503703
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/sni.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"E A B","2":"O lB","132":"F H"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y"},E:{"1":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"1":"H D uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB"},H:{"1":"CC"},I:{"1":"bB G M GC aB HC IC","2":"DC EC FC"},J:{"1":"A","2":"F"},K:{"1":"A B C DB T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:6,C:"Server Name Indication"};
diff --git a/node_modules/caniuse-lite/data/features/spdy.js b/node_modules/caniuse-lite/data/features/spdy.js
new file mode 100644
index 0000000..93a6500
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/spdy.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"B","2":"O F H E A lB"},B:{"2":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z","2":"5 6 7 8 9 eB bB G Y O F H E A B C AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"1":"0 1 2 3 4 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z","2":"5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"H E A B C iB XB T","2":"G Y O F dB WB fB gB hB","129":"N D Q mB nB"},F:{"1":"I J K L Z a b c d e f g h i j k l m n o p q r s t w y Q","2":"0 1 2 3 4 5 6 7 8 9 E B C u v x z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB"},G:{"1":"H zB 0B 1B 2B 3B 4B 5B 6B","2":"WB uB aB TC xB yB","257":"D 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"bB G GC aB HC IC","2":"M DC EC FC"},J:{"2":"F A"},K:{"1":"Q","2":"A B C DB T ZB"},L:{"2":"U"},M:{"2":"OB"},N:{"1":"B","2":"A"},O:{"2":"JC"},P:{"1":"G","2":"KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"16":"SC"},S:{"1":"jB"}},B:7,C:"SPDY protocol"};
diff --git a/node_modules/caniuse-lite/data/features/speech-recognition.js b/node_modules/caniuse-lite/data/features/speech-recognition.js
new file mode 100644
index 0000000..0041da9
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/speech-recognition.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"2":"C N D I J K L","1026":"KB P M R S YB U"},C:{"2":"eB bB G Y O F H E A B C N D I J K L Z a b kB sB","322":"0 1 2 3 4 5 6 7 8 9 c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S"},D:{"2":"G Y O F H E A B C N D I J K L Z a b c d e","164":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"2":"E B C I J K L Z a b c d e f g oB pB qB rB T ZB tB Q","1026":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"164":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"164":"G KC LC MC NC OC XB PC QC"},Q:{"164":"RC"},R:{"164":"SC"},S:{"322":"jB"}},B:7,C:"Speech Recognition API"};
diff --git a/node_modules/caniuse-lite/data/features/speech-synthesis.js b/node_modules/caniuse-lite/data/features/speech-synthesis.js
new file mode 100644
index 0000000..b8a01a1
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/speech-synthesis.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"D I J K L","2":"C N","257":"KB P M R S YB U"},C:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k kB sB","194":"0 1 2 l m n o p q r s t u v w x y z"},D:{"1":"0 1 2 3 4 5 6 7 8 n o p q r s t u v w x y z","2":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m","257":"9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"F H E A B C N D hB iB XB T Q mB nB","2":"G Y O dB WB fB gB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB","2":"E B C I J K L Z a b c d e f g oB pB qB rB T ZB tB Q","257":"IB JB X LB MB NB FB W V"},G:{"1":"H D yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB uB aB TC xB"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"KC LC MC NC OC XB PC QC","2":"G"},Q:{"1":"RC"},R:{"2":"SC"},S:{"1":"jB"}},B:7,C:"Speech Synthesis API"};
diff --git a/node_modules/caniuse-lite/data/features/spellcheck-attribute.js b/node_modules/caniuse-lite/data/features/spellcheck-attribute.js
new file mode 100644
index 0000000..202e1f9
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/spellcheck-attribute.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"A B","2":"O F H E lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H"},E:{"1":"O F H E A B C N D fB gB hB iB XB T Q mB nB","2":"G Y dB WB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V qB rB T ZB tB Q","2":"E oB pB"},G:{"4":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"4":"CC"},I:{"4":"bB G M DC EC FC GC aB HC IC"},J:{"1":"A","4":"F"},K:{"4":"A B C DB T ZB Q"},L:{"4":"U"},M:{"4":"OB"},N:{"4":"A B"},O:{"4":"JC"},P:{"4":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"4":"SC"},S:{"2":"jB"}},B:1,C:"Spellcheck attribute"};
diff --git a/node_modules/caniuse-lite/data/features/sql-storage.js b/node_modules/caniuse-lite/data/features/sql-storage.js
new file mode 100644
index 0000000..5e966e1
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/sql-storage.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"G Y O F H E A B C dB WB fB gB hB iB XB T Q","2":"N D mB nB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V qB rB T ZB tB Q","2":"E oB pB"},G:{"1":"H WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B","2":"D 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"bB G M DC EC FC GC aB HC IC"},J:{"1":"F A"},K:{"1":"B C DB T ZB Q","2":"A"},L:{"1":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"2":"jB"}},B:7,C:"Web SQL Database"};
diff --git a/node_modules/caniuse-lite/data/features/srcset.js b/node_modules/caniuse-lite/data/features/srcset.js
new file mode 100644
index 0000000..e86e483
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/srcset.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"J K L KB P M R S YB U","260":"C","514":"N D I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l kB sB","194":"m n o p q r"},D:{"1":"0 1 2 3 4 5 6 7 8 9 s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n","260":"o p q r"},E:{"1":"E A B C N D iB XB T Q mB nB","2":"G Y O F dB WB fB gB","260":"H hB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a oB pB qB rB T ZB tB Q","260":"b c d e"},G:{"1":"D 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB uB aB TC xB yB","260":"H zB"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:1,C:"Srcset and sizes attributes"};
diff --git a/node_modules/caniuse-lite/data/features/stopimmediatepropagation.js b/node_modules/caniuse-lite/data/features/stopimmediatepropagation.js
new file mode 100644
index 0000000..e578f7e
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/stopimmediatepropagation.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"E A B","2":"O F H lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","16":"G Y O F H E A B C N D I J K L Z a b c d e f"},E:{"1":"O F H E A B C N D fB gB hB iB XB T Q mB nB","16":"G Y dB WB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V Q","2":"E B oB pB qB rB T ZB tB","16":"C"},G:{"1":"H D xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","16":"WB uB aB TC"},H:{"16":"CC"},I:{"1":"G M GC aB HC IC","16":"bB DC EC FC"},J:{"16":"F A"},K:{"16":"A B C DB T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"16":"A B"},O:{"16":"JC"},P:{"1":"KC LC MC NC OC XB PC QC","16":"G"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:1,C:"Event.stopImmediatePropagation()"};
diff --git a/node_modules/caniuse-lite/data/features/stream.js b/node_modules/caniuse-lite/data/features/stream.js
new file mode 100644
index 0000000..8f74bf5
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/stream.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J kB sB","129":"q r s t u v","420":"K L Z a b c d e f g h i j k l m n o p"},D:{"1":"7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z a","420":"0 1 2 3 4 5 6 b c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"B C N D T Q mB nB","2":"G Y O F H E A dB WB fB gB hB iB XB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B I J K oB pB qB rB T ZB tB","420":"C L Z a b c d e f g h i j k l m n o p q r s t Q"},G:{"2":"H WB uB aB TC xB yB zB 0B 1B 2B 3B","513":"D BC","1537":"4B 5B 6B 7B 8B 9B AC"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F","420":"A"},K:{"1":"DB","2":"A B T ZB","420":"C Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"LC MC NC OC XB PC QC","420":"G KC"},Q:{"1":"RC"},R:{"420":"SC"},S:{"2":"jB"}},B:4,C:"getUserMedia/Stream API"};
diff --git a/node_modules/caniuse-lite/data/features/streams.js b/node_modules/caniuse-lite/data/features/streams.js
new file mode 100644
index 0000000..49af95d
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/streams.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A lB","130":"B"},B:{"16":"C N","260":"D I","1028":"KB P M R S YB U","5124":"J K L"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB kB sB","6148":"JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","6722":"BB CB DB EB PB GB HB IB"},D:{"2":"0 1 2 3 4 5 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z","260":"6 7 8 9 AB BB CB","1028":"DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"2":"G Y O F H E dB WB fB gB hB iB","3076":"A B C N D XB T Q mB nB"},F:{"2":"E B C I J K L Z a b c d e f g h i j k l m n o p q r s oB pB qB rB T ZB tB Q","260":"t u v w x y z","1028":"0 1 2 3 4 5 6 7 8 9 AB BB CB EB GB HB IB JB X LB MB NB FB W V"},G:{"2":"H WB uB aB TC xB yB zB 0B 1B","16":"2B","1028":"D 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G DC EC FC GC aB HC IC","260":"M"},J:{"2":"F A"},K:{"2":"A B C T ZB Q","1028":"DB"},L:{"1028":"U"},M:{"2626":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC","1028":"MC NC OC XB PC QC"},Q:{"1028":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:1,C:"Streams"};
diff --git a/node_modules/caniuse-lite/data/features/stricttransportsecurity.js b/node_modules/caniuse-lite/data/features/stricttransportsecurity.js
new file mode 100644
index 0000000..daba983
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/stricttransportsecurity.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A lB","129":"B"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"F H E A B C N D hB iB XB T Q mB nB","2":"G Y O dB WB fB gB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V Q","2":"E B oB pB qB rB T ZB tB"},G:{"1":"H D yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB uB aB TC xB"},H:{"2":"CC"},I:{"1":"M HC IC","2":"bB G DC EC FC GC aB"},J:{"1":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:6,C:"Strict Transport Security"};
diff --git a/node_modules/caniuse-lite/data/features/style-scoped.js b/node_modules/caniuse-lite/data/features/style-scoped.js
new file mode 100644
index 0000000..f54e1d0
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/style-scoped.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"2":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 b c d e f g h i j k l m n o p q r s t u v w x y z","2":"eB bB G Y O F H E A B C N D I J K L Z a PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB","322":"9 AB BB CB DB EB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","194":"a b c d e f g h i j k l m n o p q"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"2":"U"},M:{"322":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"1":"jB"}},B:7,C:"Scoped CSS"};
diff --git a/node_modules/caniuse-lite/data/features/subresource-integrity.js b/node_modules/caniuse-lite/data/features/subresource-integrity.js
new file mode 100644
index 0000000..2edf958
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/subresource-integrity.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"K L KB P M R S YB U","2":"C N D I J"},C:{"1":"0 1 2 3 4 5 6 7 8 9 x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y"},E:{"1":"B C N D T Q mB nB","2":"G Y O F H E A dB WB fB gB hB iB XB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e f g h i j k l oB pB qB rB T ZB tB Q"},G:{"1":"D 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB 0B 1B 2B 3B","194":"4B"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC XB PC QC","2":"G"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:2,C:"Subresource Integrity"};
diff --git a/node_modules/caniuse-lite/data/features/svg-css.js b/node_modules/caniuse-lite/data/features/svg-css.js
new file mode 100644
index 0000000..0388af1
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/svg-css.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"E A B","2":"O F H lB"},B:{"1":"J K L KB P M R S YB U","516":"C N D I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB kB sB","260":"G Y O F H E A B C N D I J K L Z a b c d"},D:{"1":"0 1 2 3 4 5 6 7 8 9 Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","4":"G"},E:{"1":"Y O F H E A B C N D fB gB hB iB XB T Q mB nB","2":"dB","132":"G WB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q","2":"E"},G:{"1":"H D aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","132":"WB uB"},H:{"260":"CC"},I:{"1":"bB G M GC aB HC IC","2":"DC EC FC"},J:{"1":"F A"},K:{"1":"DB","260":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:4,C:"SVG in CSS backgrounds"};
diff --git a/node_modules/caniuse-lite/data/features/svg-filters.js b/node_modules/caniuse-lite/data/features/svg-filters.js
new file mode 100644
index 0000000..29af252
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/svg-filters.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"A B","2":"O F H E lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB","2":"eB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G","4":"Y O F"},E:{"1":"O F H E A B C N D gB hB iB XB T Q mB nB","2":"G Y dB WB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"1":"H D xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB uB aB TC"},H:{"1":"CC"},I:{"1":"M HC IC","2":"bB G DC EC FC GC aB"},J:{"1":"A","2":"F"},K:{"1":"A B C DB T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:2,C:"SVG filters"};
diff --git a/node_modules/caniuse-lite/data/features/svg-fonts.js b/node_modules/caniuse-lite/data/features/svg-fonts.js
new file mode 100644
index 0000000..10a0cba
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/svg-fonts.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"E A B lB","8":"O F H"},B:{"2":"C N D I J K L KB P M R S YB U"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"1":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r","2":"5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","130":"0 1 2 3 4 s t u v w x y z"},E:{"1":"G Y O F H E A B C N D WB fB gB hB iB XB T Q mB nB","2":"dB"},F:{"1":"E B C I J K L Z a b c d e oB pB qB rB T ZB tB Q","2":"0 1 2 3 4 5 6 7 8 9 r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","130":"f g h i j k l m n o p q"},G:{"1":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"258":"CC"},I:{"1":"bB G GC aB HC IC","2":"M DC EC FC"},J:{"1":"F A"},K:{"1":"A B C DB T ZB Q"},L:{"130":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"G","130":"KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"130":"SC"},S:{"2":"jB"}},B:2,C:"SVG fonts"};
diff --git a/node_modules/caniuse-lite/data/features/svg-fragment.js b/node_modules/caniuse-lite/data/features/svg-fragment.js
new file mode 100644
index 0000000..2858840
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/svg-fragment.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H lB","260":"E A B"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D kB sB"},D:{"1":"4 5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p","132":"0 1 2 3 q r s t u v w x y z"},E:{"1":"C N D T Q mB nB","2":"G Y O F E A B dB WB fB gB iB XB","132":"H hB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V Q","2":"I J K L Z a b c","4":"B C pB qB rB T ZB tB","16":"E oB","132":"d e f g h i j k l m n o p q"},G:{"1":"D 5B 6B 7B 8B 9B AC BC","2":"WB uB aB TC xB yB 0B 1B 2B 3B 4B","132":"H zB"},H:{"1":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F","132":"A"},K:{"1":"DB Q","4":"A B C T ZB"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC XB PC QC","132":"G"},Q:{"1":"RC"},R:{"132":"SC"},S:{"1":"jB"}},B:4,C:"SVG fragment identifiers"};
diff --git a/node_modules/caniuse-lite/data/features/svg-html.js b/node_modules/caniuse-lite/data/features/svg-html.js
new file mode 100644
index 0000000..ff9dc4c
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/svg-html.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H lB","388":"E A B"},B:{"4":"KB P M R S YB U","260":"C N D I J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB","2":"eB","4":"bB"},D:{"4":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"2":"dB WB","4":"G Y O F H E A B C N D fB gB hB iB XB T Q mB nB"},F:{"4":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"4":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G DC EC FC GC aB","4":"M HC IC"},J:{"1":"A","2":"F"},K:{"4":"A B C DB T ZB Q"},L:{"4":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"4":"G KC LC MC NC OC XB PC QC"},Q:{"4":"RC"},R:{"4":"SC"},S:{"1":"jB"}},B:2,C:"SVG effects for HTML"};
diff --git a/node_modules/caniuse-lite/data/features/svg-html5.js b/node_modules/caniuse-lite/data/features/svg-html5.js
new file mode 100644
index 0000000..f3c5e4d
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/svg-html5.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"lB","8":"O F H","129":"E A B"},B:{"1":"K L KB P M R S YB U","129":"C N D I J"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","8":"eB bB kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","8":"G Y O"},E:{"1":"E A B C N D iB XB T Q mB nB","8":"G Y dB WB","129":"O F H fB gB hB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V tB Q","2":"B rB T ZB","8":"E oB pB qB"},G:{"1":"D 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","8":"WB uB aB","129":"H TC xB yB zB"},H:{"1":"CC"},I:{"1":"M HC IC","2":"DC EC FC","129":"bB G GC aB"},J:{"1":"A","129":"F"},K:{"1":"C DB Q","8":"A B T ZB"},L:{"1":"U"},M:{"1":"OB"},N:{"129":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:1,C:"Inline SVG in HTML5"};
diff --git a/node_modules/caniuse-lite/data/features/svg-img.js b/node_modules/caniuse-lite/data/features/svg-img.js
new file mode 100644
index 0000000..914bad0
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/svg-img.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"E A B","2":"O F H lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","132":"G Y O F H E A B C N D I J K L Z a b c d e f g h"},E:{"1":"E A B C N D iB XB T Q mB nB","2":"dB","4":"WB","132":"G Y O F H fB gB hB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"1":"D 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","132":"H WB uB aB TC xB yB zB"},H:{"1":"CC"},I:{"1":"M HC IC","2":"DC EC FC","132":"bB G GC aB"},J:{"1":"F A"},K:{"1":"A B C DB T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:1,C:"SVG in HTML img element"};
diff --git a/node_modules/caniuse-lite/data/features/svg-smil.js b/node_modules/caniuse-lite/data/features/svg-smil.js
new file mode 100644
index 0000000..158fb24
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/svg-smil.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"lB","8":"O F H E A B"},B:{"1":"KB P M R S YB U","8":"C N D I J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","8":"eB bB kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","4":"G"},E:{"1":"O F H E A B C N D gB hB iB XB T Q mB nB","8":"dB WB","132":"G Y fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"1":"H D xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","132":"WB uB aB TC"},H:{"2":"CC"},I:{"1":"bB G M GC aB HC IC","2":"DC EC FC"},J:{"1":"F A"},K:{"1":"A B C DB T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"8":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:2,C:"SVG SMIL animation"};
diff --git a/node_modules/caniuse-lite/data/features/svg.js b/node_modules/caniuse-lite/data/features/svg.js
new file mode 100644
index 0000000..bb6e0bc
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/svg.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"lB","8":"O F H","772":"E A B"},B:{"1":"KB P M R S YB U","513":"C N D I J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB","4":"eB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"G Y O F H E A B C N D WB fB gB hB iB XB T Q mB nB","4":"dB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"1":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"1":"CC"},I:{"1":"M HC IC","2":"DC EC FC","132":"bB G GC aB"},J:{"1":"F A"},K:{"1":"A B C DB T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"257":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:4,C:"SVG (basic support)"};
diff --git a/node_modules/caniuse-lite/data/features/sxg.js b/node_modules/caniuse-lite/data/features/sxg.js
new file mode 100644
index 0000000..2407419
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/sxg.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"1":"VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB","132":"W V"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"1":"IB JB X LB MB NB FB W V","2":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB oB pB qB rB T ZB tB Q"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"1":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"16":"JC"},P:{"2":"G KC LC MC NC OC XB","16":"PC QC"},Q:{"16":"RC"},R:{"16":"SC"},S:{"2":"jB"}},B:6,C:"Signed HTTP Exchanges (SXG)"};
diff --git a/node_modules/caniuse-lite/data/features/symbols.js b/node_modules/caniuse-lite/data/features/symbols.js
new file mode 100644
index 0000000..c55a265
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/symbols.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r"},E:{"1":"E A B C N D dB WB fB gB hB iB XB T Q mB nB","2":"G Y O F H"},F:{"1":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e oB pB qB rB T ZB tB Q"},G:{"1":"D 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB"},H:{"2":"CC"},I:{"1":"bB G M DC EC FC GC aB HC IC"},J:{"16":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"16":"JC"},P:{"16":"G KC LC MC NC OC XB PC QC"},Q:{"16":"RC"},R:{"16":"SC"},S:{"1":"jB"}},B:6,C:"Symbols"};
diff --git a/node_modules/caniuse-lite/data/features/tabindex-attr.js b/node_modules/caniuse-lite/data/features/tabindex-attr.js
new file mode 100644
index 0000000..2ad00af
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/tabindex-attr.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"F H E A B","16":"O lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"16":"eB bB kB sB","129":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S"},D:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","16":"G Y O F H E A B C N D"},E:{"16":"G Y dB WB","257":"O F H E A B C N D fB gB hB iB XB T Q mB nB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q","16":"E"},G:{"769":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"16":"CC"},I:{"16":"bB G M DC EC FC GC aB HC IC"},J:{"16":"F A"},K:{"16":"A B C DB T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"16":"A B"},O:{"16":"JC"},P:{"16":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"16":"SC"},S:{"129":"jB"}},B:1,C:"tabindex global attribute"};
diff --git a/node_modules/caniuse-lite/data/features/template-literals.js b/node_modules/caniuse-lite/data/features/template-literals.js
new file mode 100644
index 0000000..8821799
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/template-literals.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"N D I J K L KB P M R S YB U","16":"C"},C:{"1":"0 1 2 3 4 5 6 7 8 9 o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u"},E:{"1":"A B N D iB XB T Q mB nB","2":"G Y O F H E dB WB fB gB hB","129":"C"},F:{"1":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e f g h i oB pB qB rB T ZB tB Q"},G:{"1":"D 0B 1B 2B 3B 4B 5B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB","129":"6B"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:6,C:"ES6 Template Literals (Template Strings)"};
diff --git a/node_modules/caniuse-lite/data/features/template.js b/node_modules/caniuse-lite/data/features/template.js
new file mode 100644
index 0000000..66426e7
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/template.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"I J K L KB P M R S YB U","2":"C","388":"N D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z a b kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z a b c d e f","132":"g h i j k l m n o"},E:{"1":"E A B C N D iB XB T Q mB nB","2":"G Y O F dB WB fB","388":"H hB","514":"gB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C oB pB qB rB T ZB tB Q","132":"I J K L Z a b"},G:{"1":"D 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB uB aB TC xB yB","388":"H zB"},H:{"2":"CC"},I:{"1":"M HC IC","2":"bB G DC EC FC GC aB"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:1,C:"HTML templates"};
diff --git a/node_modules/caniuse-lite/data/features/testfeat.js b/node_modules/caniuse-lite/data/features/testfeat.js
new file mode 100644
index 0000000..cadf038
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/testfeat.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H A B lB","16":"E"},B:{"2":"C N D I J K L KB P M R S YB U"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB","16":"G Y"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","16":"B C"},E:{"2":"G O dB WB fB","16":"Y F H E A B C N D gB hB iB XB T Q mB nB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB ZB tB Q","16":"T"},G:{"2":"WB uB aB TC xB","16":"H D yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G M DC EC GC aB HC IC","16":"FC"},J:{"2":"A","16":"F"},K:{"2":"A B C DB T ZB Q"},L:{"2":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:7,C:"Test feature - updated"};
diff --git a/node_modules/caniuse-lite/data/features/text-decoration.js b/node_modules/caniuse-lite/data/features/text-decoration.js
new file mode 100644
index 0000000..a11e904
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/text-decoration.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"2":"C N D I J K L","2052":"KB P M R S YB U"},C:{"2":"eB bB G Y kB sB","1028":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","1060":"O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p"},D:{"2":"G Y O F H E A B C N D I J K L Z a b c d e f","226":"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x y z AB","2052":"BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"2":"G Y O F dB WB fB gB","772":"N D Q mB nB","804":"H E A B C iB XB T","1316":"hB"},F:{"2":"E B C I J K L Z a b c d e f g h i j k l m n o oB pB qB rB T ZB tB Q","226":"p q r s t u v w x","2052":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB EB GB HB IB JB X LB MB NB FB W V"},G:{"2":"WB uB aB TC xB yB","292":"H D zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C T ZB Q","2052":"DB"},L:{"2052":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"2052":"JC"},P:{"2":"G KC LC","2052":"MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"1":"SC"},S:{"1028":"jB"}},B:4,C:"text-decoration styling"};
diff --git a/node_modules/caniuse-lite/data/features/text-emphasis.js b/node_modules/caniuse-lite/data/features/text-emphasis.js
new file mode 100644
index 0000000..67d93f0
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/text-emphasis.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"2":"C N D I J K L","164":"KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y kB sB","322":"z"},D:{"2":"G Y O F H E A B C N D I J K L Z a b c d e","164":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"H E A B C N D hB iB XB T Q mB nB","2":"G Y O dB WB fB","164":"F gB"},F:{"2":"E B C oB pB qB rB T ZB tB Q","164":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V"},G:{"1":"H D yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB uB aB TC xB"},H:{"2":"CC"},I:{"2":"bB G DC EC FC GC aB","164":"M HC IC"},J:{"2":"F","164":"A"},K:{"2":"A B C T ZB Q","164":"DB"},L:{"164":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"164":"JC"},P:{"164":"G KC LC MC NC OC XB PC QC"},Q:{"164":"RC"},R:{"164":"SC"},S:{"1":"jB"}},B:4,C:"text-emphasis styling"};
diff --git a/node_modules/caniuse-lite/data/features/text-overflow.js b/node_modules/caniuse-lite/data/features/text-overflow.js
new file mode 100644
index 0000000..a8b9f57
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/text-overflow.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"O F H E A B","2":"lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","8":"eB bB G Y O kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V T ZB tB Q","33":"E oB pB qB rB"},G:{"1":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"1":"CC"},I:{"1":"bB G M DC EC FC GC aB HC IC"},J:{"1":"F A"},K:{"1":"DB Q","33":"A B C T ZB"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:4,C:"CSS3 Text-overflow"};
diff --git a/node_modules/caniuse-lite/data/features/text-size-adjust.js b/node_modules/caniuse-lite/data/features/text-size-adjust.js
new file mode 100644
index 0000000..b7ca579
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/text-size-adjust.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","33":"C N D I J K L"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"1":"8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 1 2 3 4 5 6 7 G Y O F H E A B C N D I J K L Z a b c d e f h i j k l m n o p q r s t u v w x y z","258":"g"},E:{"2":"G Y O F H E A B C N D dB WB gB hB iB XB T Q mB nB","258":"fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 x z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w y oB pB qB rB T ZB tB Q"},G:{"2":"WB uB aB","33":"H D TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"33":"OB"},N:{"161":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC XB PC QC","2":"G"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:7,C:"CSS text-size-adjust"};
diff --git a/node_modules/caniuse-lite/data/features/text-stroke.js b/node_modules/caniuse-lite/data/features/text-stroke.js
new file mode 100644
index 0000000..48b5f3a
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/text-stroke.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"2":"C N D","33":"KB P M R S YB U","161":"I J K L"},C:{"2":"0 1 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z kB sB","161":"3 4 5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","450":"2"},D:{"33":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"33":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"2":"E B C oB pB qB rB T ZB tB Q","33":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V"},G:{"33":"H D uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","36":"WB"},H:{"2":"CC"},I:{"2":"bB","33":"G M DC EC FC GC aB HC IC"},J:{"33":"F A"},K:{"2":"A B C T ZB Q","33":"DB"},L:{"33":"U"},M:{"161":"OB"},N:{"2":"A B"},O:{"33":"JC"},P:{"33":"G KC LC MC NC OC XB PC QC"},Q:{"33":"RC"},R:{"33":"SC"},S:{"161":"jB"}},B:7,C:"CSS text-stroke and text-fill"};
diff --git a/node_modules/caniuse-lite/data/features/text-underline-offset.js b/node_modules/caniuse-lite/data/features/text-underline-offset.js
new file mode 100644
index 0000000..70458d2
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/text-underline-offset.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"2":"C N D I J K L KB P M R S YB U"},C:{"1":"FB W V VB QB RB SB TB UB KB P M OB R S","2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB kB sB","130":"NB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"N D Q mB nB","2":"G Y O F H E A B C dB WB fB gB hB iB XB T"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"1":"D 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"2":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:5,C:"text-underline-offset"};
diff --git a/node_modules/caniuse-lite/data/features/textcontent.js b/node_modules/caniuse-lite/data/features/textcontent.js
new file mode 100644
index 0000000..5e8714c
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/textcontent.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"E A B","2":"O F H lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"G Y O F H E A B C N D WB fB gB hB iB XB T Q mB nB","16":"dB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q","16":"E"},G:{"1":"H D uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","16":"WB"},H:{"1":"CC"},I:{"1":"bB G M FC GC aB HC IC","16":"DC EC"},J:{"1":"F A"},K:{"1":"A B C DB T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:1,C:"Node.textContent"};
diff --git a/node_modules/caniuse-lite/data/features/textencoder.js b/node_modules/caniuse-lite/data/features/textencoder.js
new file mode 100644
index 0000000..29e5d05
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/textencoder.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L kB sB","132":"Z"},D:{"1":"0 1 2 3 4 5 6 7 8 9 s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r"},E:{"1":"B C N D XB T Q mB nB","2":"G Y O F H E A dB WB fB gB hB iB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e oB pB qB rB T ZB tB Q"},G:{"1":"D 3B 4B 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB 0B 1B 2B"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:1,C:"TextEncoder & TextDecoder"};
diff --git a/node_modules/caniuse-lite/data/features/tls1-1.js b/node_modules/caniuse-lite/data/features/tls1-1.js
new file mode 100644
index 0000000..04b3eda
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/tls1-1.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"B","2":"O F lB","66":"H E A"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB","2":"eB bB G Y O F H E A B C N D I J K L Z a b c kB sB","66":"d","129":"MB NB FB W V VB QB RB SB TB","388":"UB KB P M OB R S"},D:{"1":"0 1 2 3 4 5 6 7 8 9 c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S","2":"G Y O F H E A B C N D I J K L Z a b","1540":"YB U vB wB cB"},E:{"1":"F H E A B C N hB iB XB T Q","2":"G Y O dB WB fB gB","513":"D mB nB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V Q","2":"E B C oB pB qB rB T ZB tB"},G:{"1":"H D TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB uB aB"},H:{"1":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"1":"A","2":"F"},K:{"1":"DB Q","2":"A B C T ZB"},L:{"1":"U"},M:{"129":"OB"},N:{"1":"B","66":"A"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:6,C:"TLS 1.1"};
diff --git a/node_modules/caniuse-lite/data/features/tls1-2.js b/node_modules/caniuse-lite/data/features/tls1-2.js
new file mode 100644
index 0000000..469a111
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/tls1-2.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"B","2":"O F lB","66":"H E A"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z a b c d kB sB","66":"e f g"},D:{"1":"0 1 2 3 4 5 6 7 8 9 j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z a b c d e f g h i"},E:{"1":"F H E A B C N D hB iB XB T Q mB nB","2":"G Y O dB WB fB gB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E I oB","66":"B C pB qB rB T ZB tB Q"},G:{"1":"H D TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB uB aB"},H:{"1":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"1":"A","2":"F"},K:{"1":"DB Q","2":"A B C T ZB"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"B","66":"A"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:6,C:"TLS 1.2"};
diff --git a/node_modules/caniuse-lite/data/features/tls1-3.js b/node_modules/caniuse-lite/data/features/tls1-3.js
new file mode 100644
index 0000000..b4bd354
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/tls1-3.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"1":"HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"0 1 2 3 4 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z kB sB","132":"EB PB GB","450":"5 6 7 8 9 AB BB CB DB"},D:{"1":"FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 1 2 3 4 5 6 7 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z","706":"8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB"},E:{"1":"D nB","2":"G Y O F H E A B C dB WB fB gB hB iB XB T","1028":"N Q mB"},F:{"1":"BB CB EB GB HB IB JB X LB MB NB FB W V","2":"0 1 2 3 4 5 6 7 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z oB pB qB rB T ZB tB Q","706":"8 9 AB"},G:{"1":"D 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"XB PC QC","2":"G KC LC MC NC OC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:6,C:"TLS 1.3"};
diff --git a/node_modules/caniuse-lite/data/features/token-binding.js b/node_modules/caniuse-lite/data/features/token-binding.js
new file mode 100644
index 0000000..6656c0a
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/token-binding.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"2":"C N D","194":"KB P M R S YB U","257":"I J K L"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB kB sB","16":"R S"},D:{"2":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s","16":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB","194":"CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"2":"G Y O F H dB WB fB gB hB","16":"E A B C N D iB XB T Q mB nB"},F:{"2":"E B C I J K L Z a b c d e f g h i j oB pB qB rB T ZB tB Q","16":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V"},G:{"2":"H WB uB aB TC xB yB zB","16":"D 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"16":"CC"},I:{"2":"bB G DC EC FC GC aB HC IC","16":"M"},J:{"2":"F A"},K:{"2":"A B C T ZB Q","16":"DB"},L:{"16":"U"},M:{"16":"OB"},N:{"2":"A","16":"B"},O:{"16":"JC"},P:{"16":"G KC LC MC NC OC XB PC QC"},Q:{"16":"RC"},R:{"16":"SC"},S:{"2":"jB"}},B:6,C:"Token Binding"};
diff --git a/node_modules/caniuse-lite/data/features/touch.js b/node_modules/caniuse-lite/data/features/touch.js
new file mode 100644
index 0000000..772e178
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/touch.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E lB","8":"A B"},B:{"1":"KB P M R S YB U","578":"C N D I J K L"},C:{"1":"6 7 8 9 L Z a b c d e AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB kB sB","4":"G Y O F H E A B C N D I J K","194":"0 1 2 3 4 5 f g h i j k l m n o p q r s t u v w x y z"},D:{"1":"0 1 2 3 4 5 6 7 8 9 c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z a b"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C oB pB qB rB T ZB tB Q"},G:{"1":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"bB G M DC EC FC GC aB HC IC"},J:{"1":"F A"},K:{"1":"B C DB T ZB Q","2":"A"},L:{"1":"U"},M:{"1":"OB"},N:{"8":"A","260":"B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"2":"jB"}},B:2,C:"Touch events"};
diff --git a/node_modules/caniuse-lite/data/features/transforms2d.js b/node_modules/caniuse-lite/data/features/transforms2d.js
new file mode 100644
index 0000000..21b5700
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/transforms2d.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"lB","8":"O F H","129":"A B","161":"E"},B:{"1":"K L KB P M R S YB U","129":"C N D I J"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB","33":"G Y O F H E A B C N D I kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","33":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p"},E:{"1":"E A B C N D iB XB T Q mB nB","33":"G Y O F H dB WB fB gB hB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V Q","2":"E oB pB","33":"B C I J K L Z a b c qB rB T ZB tB"},G:{"1":"D 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","33":"H WB uB aB TC xB yB zB"},H:{"2":"CC"},I:{"1":"M","33":"bB G DC EC FC GC aB HC IC"},J:{"33":"F A"},K:{"1":"B C DB T ZB Q","2":"A"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:5,C:"CSS3 2D Transforms"};
diff --git a/node_modules/caniuse-lite/data/features/transforms3d.js b/node_modules/caniuse-lite/data/features/transforms3d.js
new file mode 100644
index 0000000..5912d7e
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/transforms3d.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E lB","132":"A B"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E kB sB","33":"A B C N D I"},D:{"1":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B","33":"C N D I J K L Z a b c d e f g h i j k l m n o p"},E:{"2":"dB WB","33":"G Y O F H fB gB hB","257":"E A B C N D iB XB T Q mB nB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C oB pB qB rB T ZB tB Q","33":"I J K L Z a b c"},G:{"33":"H WB uB aB TC xB yB zB","257":"D 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"M","2":"DC EC FC","33":"bB G GC aB HC IC"},J:{"33":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"132":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:5,C:"CSS3 3D Transforms"};
diff --git a/node_modules/caniuse-lite/data/features/trusted-types.js b/node_modules/caniuse-lite/data/features/trusted-types.js
new file mode 100644
index 0000000..f802d59
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/trusted-types.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"R S YB U","2":"C N D I J K L KB P M"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"1":"R S YB U vB wB cB","2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"1":"NB FB W V","2":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB oB pB qB rB T ZB tB Q"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"1":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:7,C:"Trusted Types for DOM manipulation"};
diff --git a/node_modules/caniuse-lite/data/features/ttf.js b/node_modules/caniuse-lite/data/features/ttf.js
new file mode 100644
index 0000000..5edd453
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/ttf.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H lB","132":"E A B"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB","2":"eB bB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V pB qB rB T ZB tB Q","2":"E oB"},G:{"1":"H D aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB uB"},H:{"2":"CC"},I:{"1":"bB G M EC FC GC aB HC IC","2":"DC"},J:{"1":"F A"},K:{"1":"A B C DB T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"132":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:6,C:"TTF/OTF - TrueType and OpenType font support"};
diff --git a/node_modules/caniuse-lite/data/features/typedarrays.js b/node_modules/caniuse-lite/data/features/typedarrays.js
new file mode 100644
index 0000000..3e5cc2e
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/typedarrays.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"B","2":"O F H E lB","132":"A"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O"},E:{"1":"O F H E A B C N D gB hB iB XB T Q mB nB","2":"G Y dB WB","260":"fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V tB Q","2":"E B oB pB qB rB T ZB"},G:{"1":"H D TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB uB","260":"aB"},H:{"1":"CC"},I:{"1":"G M GC aB HC IC","2":"bB DC EC FC"},J:{"1":"A","2":"F"},K:{"1":"C DB Q","2":"A B T ZB"},L:{"1":"U"},M:{"1":"OB"},N:{"132":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:6,C:"Typed Arrays"};
diff --git a/node_modules/caniuse-lite/data/features/u2f.js b/node_modules/caniuse-lite/data/features/u2f.js
new file mode 100644
index 0000000..b385a73
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/u2f.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"2":"C N D I J K L","513":"KB P M R S YB U"},C:{"1":"LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"0 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z kB sB","322":"1 2 3 4 5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X"},D:{"2":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r","130":"s t u","513":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"N D mB nB","2":"G Y O F H E A B C dB WB fB gB hB iB XB T Q"},F:{"2":"E B C I J K L Z a b c d e f g h i j k l m n o p q r s t v oB pB qB rB T ZB tB Q","513":"0 1 2 3 4 5 6 7 8 9 u w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V"},G:{"1":"D AC BC","2":"H WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"2":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"322":"jB"}},B:6,C:"FIDO U2F API"};
diff --git a/node_modules/caniuse-lite/data/features/unhandledrejection.js b/node_modules/caniuse-lite/data/features/unhandledrejection.js
new file mode 100644
index 0000000..55729eb
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/unhandledrejection.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"1":"NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB kB sB"},D:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 1 2 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"B C N D T Q mB nB","2":"G Y O F H E A dB WB fB gB hB iB XB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e f g h i j k l m n o p oB pB qB rB T ZB tB Q"},G:{"1":"D 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB 0B 1B 2B 3B","16":"4B"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC XB PC QC","2":"G"},Q:{"1":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:1,C:"unhandledrejection/rejectionhandled events"};
diff --git a/node_modules/caniuse-lite/data/features/upgradeinsecurerequests.js b/node_modules/caniuse-lite/data/features/upgradeinsecurerequests.js
new file mode 100644
index 0000000..ea2a2c3
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/upgradeinsecurerequests.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"K L KB P M R S YB U","2":"C N D I J"},C:{"1":"0 1 2 3 4 5 6 7 8 9 w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w"},E:{"1":"B C N D XB T Q mB nB","2":"G Y O F H E A dB WB fB gB hB iB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e f g h i j oB pB qB rB T ZB tB Q"},G:{"1":"D 3B 4B 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB 0B 1B 2B"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:4,C:"Upgrade Insecure Requests"};
diff --git a/node_modules/caniuse-lite/data/features/url-scroll-to-text-fragment.js b/node_modules/caniuse-lite/data/features/url-scroll-to-text-fragment.js
new file mode 100644
index 0000000..3b0e9b9
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/url-scroll-to-text-fragment.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"R S YB U","2":"C N D I J K L","66":"KB P M"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"1":"M R S YB U vB wB cB","2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB","66":"QB RB SB TB UB KB P"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"1":"MB NB FB W V","2":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB oB pB qB rB T ZB tB Q","66":"X LB"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"1":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:7,C:"URL Scroll-To-Text Fragment"};
diff --git a/node_modules/caniuse-lite/data/features/url.js b/node_modules/caniuse-lite/data/features/url.js
new file mode 100644
index 0000000..f090047
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/url.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z a b c","130":"d e f g h i j k l"},E:{"1":"H E A B C N D hB iB XB T Q mB nB","2":"G Y O dB WB fB gB","130":"F"},F:{"1":"0 1 2 3 4 5 6 7 8 9 Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C oB pB qB rB T ZB tB Q","130":"I J K L"},G:{"1":"H D zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB uB aB TC xB","130":"yB"},H:{"2":"CC"},I:{"1":"M IC","2":"bB G DC EC FC GC aB","130":"HC"},J:{"2":"F","130":"A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:1,C:"URL API"};
diff --git a/node_modules/caniuse-lite/data/features/urlsearchparams.js b/node_modules/caniuse-lite/data/features/urlsearchparams.js
new file mode 100644
index 0000000..1628e29
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/urlsearchparams.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"K L KB P M R S YB U","2":"C N D I J"},C:{"1":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i kB sB","132":"j k l m n o p q r s t u v w x"},D:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 1 2 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"1":"B C N D XB T Q mB nB","2":"G Y O F H E A dB WB fB gB hB iB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e f g h i j k l m n o p oB pB qB rB T ZB tB Q"},G:{"1":"D 3B 4B 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB 0B 1B 2B"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC XB PC QC","2":"G"},Q:{"1":"RC"},R:{"2":"SC"},S:{"1":"jB"}},B:1,C:"URLSearchParams"};
diff --git a/node_modules/caniuse-lite/data/features/use-strict.js b/node_modules/caniuse-lite/data/features/use-strict.js
new file mode 100644
index 0000000..644702a
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/use-strict.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"A B","2":"O F H E lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C"},E:{"1":"O F H E A B C N D gB hB iB XB T Q mB nB","2":"G dB WB","132":"Y fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V tB Q","2":"E B oB pB qB rB T ZB"},G:{"1":"H D TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB uB aB"},H:{"1":"CC"},I:{"1":"bB G M GC aB HC IC","2":"DC EC FC"},J:{"1":"F A"},K:{"1":"C DB ZB Q","2":"A B T"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:6,C:"ECMAScript 5 Strict Mode"};
diff --git a/node_modules/caniuse-lite/data/features/user-select-none.js b/node_modules/caniuse-lite/data/features/user-select-none.js
new file mode 100644
index 0000000..18da993
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/user-select-none.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E lB","33":"A B"},B:{"1":"KB P M R S YB U","33":"C N D I J K L"},C:{"1":"NB FB W V VB QB RB SB TB UB KB P M OB R S","33":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB kB sB"},D:{"1":"8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","33":"0 1 2 3 4 5 6 7 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z"},E:{"33":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C oB pB qB rB T ZB tB Q","33":"I J K L Z a b c d e f g h i j k l m n o p q r s t u"},G:{"33":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"M","33":"bB G DC EC FC GC aB HC IC"},J:{"33":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"33":"A B"},O:{"2":"JC"},P:{"1":"LC MC NC OC XB PC QC","33":"G KC"},Q:{"1":"RC"},R:{"2":"SC"},S:{"33":"jB"}},B:5,C:"CSS user-select: none"};
diff --git a/node_modules/caniuse-lite/data/features/user-timing.js b/node_modules/caniuse-lite/data/features/user-timing.js
new file mode 100644
index 0000000..6264b4e
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/user-timing.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"A B","2":"O F H E lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z a b c d e"},E:{"1":"B C N D T Q mB nB","2":"G Y O F H E A dB WB fB gB hB iB XB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C oB pB qB rB T ZB tB Q"},G:{"1":"D 4B 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB 0B 1B 2B 3B"},H:{"2":"CC"},I:{"1":"M HC IC","2":"bB G DC EC FC GC aB"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:2,C:"User Timing API"};
diff --git a/node_modules/caniuse-lite/data/features/variable-fonts.js b/node_modules/caniuse-lite/data/features/variable-fonts.js
new file mode 100644
index 0000000..31947f0
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/variable-fonts.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"K L KB P M R S YB U","2":"C N D I J"},C:{"2":"0 1 2 3 4 5 6 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z kB sB","4609":"GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","4674":"PB","5698":"EB","7490":"7 8 9 AB BB","7746":"CB DB"},D:{"1":"LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB","4097":"X","4290":"DB EB PB","6148":"GB HB IB JB"},E:{"2":"G Y O F H E A dB WB fB gB hB iB XB","4609":"B C T Q","8193":"N D mB nB"},F:{"1":"8 9 AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"0 1 2 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z oB pB qB rB T ZB tB Q","4097":"7","6148":"3 4 5 6"},G:{"1":"D 8B 9B AC BC","2":"H WB uB aB TC xB yB zB 0B 1B 2B 3B","4097":"4B 5B 6B 7B"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"4097":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC","4097":"NC OC XB PC QC"},Q:{"4097":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:5,C:"Variable fonts"};
diff --git a/node_modules/caniuse-lite/data/features/vibration.js b/node_modules/caniuse-lite/data/features/vibration.js
new file mode 100644
index 0000000..91ca82b
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/vibration.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A kB sB","33":"B C N D I"},D:{"1":"0 1 2 3 4 5 6 7 8 9 k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J oB pB qB rB T ZB tB Q"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"M HC IC","2":"bB G DC EC FC GC aB"},J:{"1":"A","2":"F"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:2,C:"Vibration API"};
diff --git a/node_modules/caniuse-lite/data/features/video.js b/node_modules/caniuse-lite/data/features/video.js
new file mode 100644
index 0000000..ef4255a
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/video.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"E A B","2":"O F H lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB","260":"G Y O F H E A B C N D I J K L Z kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"G Y O F H E A fB gB hB iB XB","2":"dB WB","513":"B C N D T Q mB nB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V qB rB T ZB tB Q","2":"E oB pB"},G:{"1":"H WB uB aB TC xB yB zB 0B 1B 2B 3B","513":"D 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"bB G M FC GC aB HC IC","132":"DC EC"},J:{"1":"F A"},K:{"1":"B C DB T ZB Q","2":"A"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:1,C:"Video element"};
diff --git a/node_modules/caniuse-lite/data/features/videotracks.js b/node_modules/caniuse-lite/data/features/videotracks.js
new file mode 100644
index 0000000..17ded54
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/videotracks.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"C N D I J K L","322":"KB P M R S YB U"},C:{"2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m kB sB","194":"0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S"},D:{"2":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y","322":"0 1 2 3 4 5 6 7 8 9 z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"F H E A B C N D gB hB iB XB T Q mB nB","2":"G Y O dB WB fB"},F:{"2":"E B C I J K L Z a b c d e f g h i j k l oB pB qB rB T ZB tB Q","322":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V"},G:{"1":"H D yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB uB aB TC xB"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C T ZB Q","322":"DB"},L:{"322":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"194":"jB"}},B:1,C:"Video Tracks"};
diff --git a/node_modules/caniuse-lite/data/features/viewport-units.js b/node_modules/caniuse-lite/data/features/viewport-units.js
new file mode 100644
index 0000000..25d2508
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/viewport-units.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H lB","132":"E","260":"A B"},B:{"1":"J K L KB P M R S YB U","260":"C N D I"},C:{"1":"0 1 2 3 4 5 6 7 8 9 Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z","260":"a b c d e f"},E:{"1":"F H E A B C N D gB hB iB XB T Q mB nB","2":"G Y dB WB fB","260":"O"},F:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C oB pB qB rB T ZB tB Q"},G:{"1":"H D zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB uB aB TC","516":"yB","772":"xB"},H:{"2":"CC"},I:{"1":"M HC IC","2":"bB G DC EC FC GC aB"},J:{"1":"A","2":"F"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"260":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:4,C:"Viewport units: vw, vh, vmin, vmax"};
diff --git a/node_modules/caniuse-lite/data/features/wai-aria.js b/node_modules/caniuse-lite/data/features/wai-aria.js
new file mode 100644
index 0000000..ecddabf
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/wai-aria.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F lB","4":"H E A B"},B:{"4":"C N D I J K L KB P M R S YB U"},C:{"4":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"4":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"2":"dB WB","4":"G Y O F H E A B C N D fB gB hB iB XB T Q mB nB"},F:{"2":"E","4":"0 1 2 3 4 5 6 7 8 9 B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"4":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"4":"CC"},I:{"2":"bB G DC EC FC GC aB","4":"M HC IC"},J:{"2":"F A"},K:{"4":"A B C DB T ZB Q"},L:{"4":"U"},M:{"4":"OB"},N:{"4":"A B"},O:{"2":"JC"},P:{"4":"G KC LC MC NC OC XB PC QC"},Q:{"4":"RC"},R:{"4":"SC"},S:{"4":"jB"}},B:2,C:"WAI-ARIA Accessibility features"};
diff --git a/node_modules/caniuse-lite/data/features/wake-lock.js b/node_modules/caniuse-lite/data/features/wake-lock.js
new file mode 100644
index 0000000..44d0a6b
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/wake-lock.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"2":"C N D I J K L","194":"KB P M R S YB U"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"1":"YB U vB wB cB","2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB","194":"W V VB QB RB SB TB UB KB P M R S"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB oB pB qB rB T ZB tB Q","194":"CB EB GB HB IB JB X LB MB NB FB W V"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"1":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:4,C:"Screen Wake Lock API"};
diff --git a/node_modules/caniuse-lite/data/features/wasm.js b/node_modules/caniuse-lite/data/features/wasm.js
new file mode 100644
index 0000000..1336b03
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/wasm.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"J K L KB P M R S YB U","2":"C N D","578":"I"},C:{"1":"7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"0 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z kB sB","194":"1 2 3 4 5","1025":"6"},D:{"1":"BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 1 2 3 4 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z","322":"5 6 7 8 9 AB"},E:{"1":"B C N D T Q mB nB","2":"G Y O F H E A dB WB fB gB hB iB XB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e f g h i j k l m n o p q r oB pB qB rB T ZB tB Q","322":"s t u v w x"},G:{"1":"D 4B 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB 0B 1B 2B 3B"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"MC NC OC XB PC QC","2":"G KC LC"},Q:{"1":"RC"},R:{"2":"SC"},S:{"194":"jB"}},B:6,C:"WebAssembly"};
diff --git a/node_modules/caniuse-lite/data/features/wav.js b/node_modules/caniuse-lite/data/features/wav.js
new file mode 100644
index 0000000..4ebf66e
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/wav.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB","2":"eB bB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F"},E:{"1":"G Y O F H E A B C N D fB gB hB iB XB T Q mB nB","2":"dB WB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V qB rB T ZB tB Q","2":"E oB pB"},G:{"1":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"bB G M FC GC aB HC IC","16":"DC EC"},J:{"1":"F A"},K:{"1":"B C DB T ZB Q","16":"A"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:6,C:"Wav audio format"};
diff --git a/node_modules/caniuse-lite/data/features/wbr-element.js b/node_modules/caniuse-lite/data/features/wbr-element.js
new file mode 100644
index 0000000..7a3f420
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/wbr-element.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"O F lB","2":"H E A B"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"G Y O F H E A B C N D WB fB gB hB iB XB T Q mB nB","16":"dB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q","16":"E"},G:{"1":"H D TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","16":"WB uB aB"},H:{"1":"CC"},I:{"1":"bB G M FC GC aB HC IC","16":"DC EC"},J:{"1":"F A"},K:{"1":"B C DB T ZB Q","2":"A"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:1,C:"wbr (word break opportunity) element"};
diff --git a/node_modules/caniuse-lite/data/features/web-animation.js b/node_modules/caniuse-lite/data/features/web-animation.js
new file mode 100644
index 0000000..a5488ed
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/web-animation.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"2":"C N D I J K L","260":"KB P M R S YB U"},C:{"2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m kB sB","260":"DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","516":"1 2 3 4 5 6 7 8 9 AB BB CB","580":"0 n o p q r s t u v w x y z"},D:{"2":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p","132":"q r s","260":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"2":"G Y O F H E A dB WB fB gB hB iB XB","1090":"B C N T Q","2049":"D mB nB"},F:{"2":"E B C I J K L Z a b c oB pB qB rB T ZB tB Q","132":"d e f","260":"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V"},G:{"2":"H WB uB aB TC xB yB zB 0B 1B 2B 3B","1090":"4B 5B 6B 7B 8B 9B AC","2049":"D BC"},H:{"2":"CC"},I:{"2":"bB G DC EC FC GC aB HC IC","260":"M"},J:{"2":"F A"},K:{"2":"A B C T ZB Q","260":"DB"},L:{"260":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"260":"JC"},P:{"260":"G KC LC MC NC OC XB PC QC"},Q:{"260":"RC"},R:{"260":"SC"},S:{"516":"jB"}},B:5,C:"Web Animations API"};
diff --git a/node_modules/caniuse-lite/data/features/web-app-manifest.js b/node_modules/caniuse-lite/data/features/web-app-manifest.js
new file mode 100644
index 0000000..f982c10
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/web-app-manifest.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J","130":"K L"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB kB sB","578":"SB TB UB KB P M OB R S"},D:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"2":"H WB uB aB TC xB yB zB 0B 1B 2B 3B 4B","260":"D 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"2":"jB"}},B:5,C:"Add to home screen (A2HS)"};
diff --git a/node_modules/caniuse-lite/data/features/web-bluetooth.js b/node_modules/caniuse-lite/data/features/web-bluetooth.js
new file mode 100644
index 0000000..77a1e08
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/web-bluetooth.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"2":"C N D I J K L","1025":"KB P M R S YB U"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"2":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y","194":"0 1 2 3 4 5 6 z","706":"7 8 9","1025":"AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"2":"E B C I J K L Z a b c d e f g h i j k l m n o p oB pB qB rB T ZB tB Q","450":"q r s t","706":"u v w","1025":"0 1 2 3 4 5 6 7 8 9 x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G DC EC FC GC aB HC IC","1025":"M"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"1025":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"LC MC NC OC XB PC QC","2":"G KC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:7,C:"Web Bluetooth"};
diff --git a/node_modules/caniuse-lite/data/features/web-share.js b/node_modules/caniuse-lite/data/features/web-share.js
new file mode 100644
index 0000000..80bdcb9
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/web-share.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"2":"C N D I J K L KB P","516":"M R S YB U"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","130":"L Z a b c d e"},E:{"1":"D nB","2":"G Y O F H E A B C dB WB fB gB hB iB XB T","2049":"N Q mB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"1":"D","2":"H WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B","2049":"7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G DC EC FC GC aB HC","258":"M IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"NC OC XB PC QC","2":"G","258":"KC LC MC"},Q:{"2":"RC"},R:{"16":"SC"},S:{"2":"jB"}},B:5,C:"Web Share API"};
diff --git a/node_modules/caniuse-lite/data/features/webauthn.js b/node_modules/caniuse-lite/data/features/webauthn.js
new file mode 100644
index 0000000..4e81326
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/webauthn.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"L KB P M R S YB U","2":"C","226":"N D I J K"},C:{"1":"EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB kB sB"},D:{"1":"LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X"},E:{"1":"N D mB nB","2":"G Y O F H E A B C dB WB fB gB hB iB XB T","322":"Q"},F:{"1":"8 9 AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"0 1 2 3 4 5 6 7 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z oB pB qB rB T ZB tB Q"},G:{"2":"H WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B","578":"9B","2052":"D","3076":"AC BC"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"1":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:2,C:"Web Authentication API"};
diff --git a/node_modules/caniuse-lite/data/features/webgl.js b/node_modules/caniuse-lite/data/features/webgl.js
new file mode 100644
index 0000000..2a68a74
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/webgl.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"lB","8":"O F H E A","129":"B"},B:{"1":"KB P M R S YB U","129":"C N D I J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB kB sB","129":"G Y O F H E A B C N D I J K L Z a b c d"},D:{"1":"0 1 2 3 4 5 6 7 8 9 n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F","129":"H E A B C N D I J K L Z a b c d e f g h i j k l m"},E:{"1":"H E A B C N D iB XB T Q mB nB","2":"G Y dB WB","129":"O F fB gB hB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B oB pB qB rB T ZB tB","129":"C I J K L Q"},G:{"1":"H D zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB uB aB TC xB yB"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"1":"A","2":"F"},K:{"1":"C DB Q","2":"A B T ZB"},L:{"1":"U"},M:{"1":"OB"},N:{"8":"A","129":"B"},O:{"129":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"129":"jB"}},B:6,C:"WebGL - 3D Canvas graphics"};
diff --git a/node_modules/caniuse-lite/data/features/webgl2.js b/node_modules/caniuse-lite/data/features/webgl2.js
new file mode 100644
index 0000000..acf9928
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/webgl2.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"1":"5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e kB sB","194":"w x y","450":"f g h i j k l m n o p q r s t u v","2242":"0 1 2 3 4 z"},D:{"1":"AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w","578":"0 1 2 3 4 5 6 7 8 9 x y z"},E:{"1":"nB","2":"G Y O F H E A dB WB fB gB hB iB","1090":"B C N D XB T Q mB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w oB pB qB rB T ZB tB Q"},G:{"2":"H WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B","1090":"D 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"MC NC OC XB PC QC","2":"G KC LC"},Q:{"578":"RC"},R:{"2":"SC"},S:{"2242":"jB"}},B:6,C:"WebGL 2.0"};
diff --git a/node_modules/caniuse-lite/data/features/webgpu.js b/node_modules/caniuse-lite/data/features/webgpu.js
new file mode 100644
index 0000000..b65c27d
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/webgpu.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"2":"C N D I J K L KB","578":"P M R S YB U"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB kB sB","194":"HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB","578":"P M R S YB U vB wB cB"},E:{"2":"G Y O F H E A B dB WB fB gB hB iB XB","322":"C N D T Q mB nB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"2":"U"},M:{"194":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:7,C:"WebGPU"};
diff --git a/node_modules/caniuse-lite/data/features/webhid.js b/node_modules/caniuse-lite/data/features/webhid.js
new file mode 100644
index 0000000..88f61b7
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/webhid.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"2":"C N D I J K L","194":"KB P M R S YB U"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB","194":"UB KB P M R S YB","450":"U vB wB cB"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB oB pB qB rB T ZB tB Q","194":"X LB MB NB FB W V"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"2":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:7,C:"WebHID API"};
diff --git a/node_modules/caniuse-lite/data/features/webm.js b/node_modules/caniuse-lite/data/features/webm.js
new file mode 100644
index 0000000..94c284c
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/webm.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H lB","520":"E A B"},B:{"1":"KB P M R S YB U","8":"C N","388":"D I J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB kB sB","132":"G Y O F H E A B C N D I J K L Z a b c d e f g h"},D:{"1":"0 1 2 3 4 5 6 7 8 9 f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y","132":"O F H E A B C N D I J K L Z a b c d e"},E:{"2":"dB","8":"G Y WB fB","520":"O F H E A B C gB hB iB XB T","1028":"N Q mB","2052":"D nB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E oB pB qB","132":"B C I rB T ZB tB Q"},G:{"2":"H WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B","1028":"D 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"1":"M","2":"DC EC","132":"bB G FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C T ZB Q","132":"DB"},L:{"1":"U"},M:{"1":"OB"},N:{"8":"A B"},O:{"1":"JC"},P:{"1":"KC LC MC NC OC XB PC QC","132":"G"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:6,C:"WebM video format"};
diff --git a/node_modules/caniuse-lite/data/features/webnfc.js b/node_modules/caniuse-lite/data/features/webnfc.js
new file mode 100644
index 0000000..10be424
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/webnfc.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"2":"C N D I J K L KB","450":"P M R S YB U"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB","450":"P M R S YB U vB wB cB"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X oB pB qB rB T ZB tB Q","450":"LB MB NB FB W V"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"450":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:7,C:"Web NFC"};
diff --git a/node_modules/caniuse-lite/data/features/webp.js b/node_modules/caniuse-lite/data/features/webp.js
new file mode 100644
index 0000000..20fcad0
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/webp.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"L KB P M R S YB U","2":"C N D I J K"},C:{"1":"JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB kB sB","8":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y","8":"O F H","132":"E A B C N D I J K L Z a b c","260":"d e f g h i j k l"},E:{"2":"G Y O F H E A B C N dB WB fB gB hB iB XB T Q mB","516":"D nB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E oB pB qB","8":"B rB","132":"T ZB tB","260":"C I J K L Q"},G:{"1":"D","2":"H WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"1":"CC"},I:{"1":"M aB HC IC","2":"bB DC EC FC","132":"G GC"},J:{"2":"F A"},K:{"1":"C DB T ZB Q","2":"A","132":"B"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"8":"jB"}},B:7,C:"WebP image format"};
diff --git a/node_modules/caniuse-lite/data/features/websockets.js b/node_modules/caniuse-lite/data/features/websockets.js
new file mode 100644
index 0000000..851ac8d
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/websockets.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"A B","2":"O F H E lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB kB sB","132":"G Y","292":"O F H E A"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","132":"G Y O F H E A B C N D","260":"I"},E:{"1":"F H E A B C N D hB iB XB T Q mB nB","2":"G dB WB","132":"Y fB","260":"O gB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V Q","2":"E oB pB qB rB","132":"B C T ZB tB"},G:{"1":"H D xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB uB","132":"aB TC"},H:{"2":"CC"},I:{"1":"M HC IC","2":"bB G DC EC FC GC aB"},J:{"1":"A","129":"F"},K:{"1":"DB Q","2":"A","132":"B C T ZB"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:1,C:"Web Sockets"};
diff --git a/node_modules/caniuse-lite/data/features/webusb.js b/node_modules/caniuse-lite/data/features/webusb.js
new file mode 100644
index 0000000..dcad82f
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/webusb.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"1":"PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"0 1 2 3 4 5 6 7 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z","66":"8 9 AB BB CB DB EB"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"1":"2 3 4 5 6 7 8 9 AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u oB pB qB rB T ZB tB Q","66":"0 1 v w x y z"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"1":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"1":"NC OC XB PC QC","2":"G KC LC MC"},Q:{"1":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:7,C:"WebUSB"};
diff --git a/node_modules/caniuse-lite/data/features/webvr.js b/node_modules/caniuse-lite/data/features/webvr.js
new file mode 100644
index 0000000..3d385f5
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/webvr.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"2":"C N D P M R S YB U","66":"KB","257":"I J K L"},C:{"2":"0 1 2 3 4 5 6 7 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z kB sB","129":"9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","194":"8"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB P M R S YB U vB wB cB","66":"BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"2":"E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x LB MB NB FB W V oB pB qB rB T ZB tB Q","66":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB EB GB HB IB JB X"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"2":"U"},M:{"2":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"513":"G","516":"KC LC MC NC OC XB PC QC"},Q:{"2":"RC"},R:{"66":"SC"},S:{"2":"jB"}},B:7,C:"WebVR API"};
diff --git a/node_modules/caniuse-lite/data/features/webvtt.js b/node_modules/caniuse-lite/data/features/webvtt.js
new file mode 100644
index 0000000..568fafe
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/webvtt.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"A B","2":"O F H E lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"2":"eB bB G Y O F H E A B C N D I J K L Z a b c d kB sB","66":"e f g h i j k","129":"0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S"},D:{"1":"0 1 2 3 4 5 6 7 8 9 L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K"},E:{"1":"O F H E A B C N D gB hB iB XB T Q mB nB","2":"G Y dB WB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C oB pB qB rB T ZB tB Q"},G:{"1":"H D yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB uB aB TC xB"},H:{"2":"CC"},I:{"1":"M HC IC","2":"bB G DC EC FC GC aB"},J:{"1":"A","2":"F"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"B","2":"A"},O:{"2":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"129":"jB"}},B:5,C:"WebVTT - Web Video Text Tracks"};
diff --git a/node_modules/caniuse-lite/data/features/webworkers.js b/node_modules/caniuse-lite/data/features/webworkers.js
new file mode 100644
index 0000000..dbd1fec
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/webworkers.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"A B","2":"lB","8":"O F H E"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB","8":"eB bB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"G Y O F H E A B C N D fB gB hB iB XB T Q mB nB","8":"dB WB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V rB T ZB tB Q","2":"E oB","8":"pB qB"},G:{"1":"H D TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB uB aB"},H:{"2":"CC"},I:{"1":"M DC HC IC","2":"bB G EC FC GC aB"},J:{"1":"F A"},K:{"1":"B C DB T ZB Q","8":"A"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:1,C:"Web Workers"};
diff --git a/node_modules/caniuse-lite/data/features/webxr.js b/node_modules/caniuse-lite/data/features/webxr.js
new file mode 100644
index 0000000..bacabd9
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/webxr.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"2":"C N D I J K L","132":"KB P M R S YB U"},C:{"2":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB kB sB","322":"TB UB KB P M OB R S"},D:{"2":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB","66":"JB X LB MB NB FB W V VB QB RB SB TB UB","132":"KB P M R S YB U vB wB cB"},E:{"2":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"2":"0 1 2 3 4 5 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z oB pB qB rB T ZB tB Q","66":"6 7 8 9 AB BB CB EB GB HB IB JB","132":"X LB MB NB FB W V"},G:{"2":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"2":"CC"},I:{"2":"bB G M DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"2":"A B C DB T ZB Q"},L:{"132":"U"},M:{"322":"OB"},N:{"2":"A B"},O:{"2":"JC"},P:{"2":"G KC LC MC NC OC XB PC","132":"QC"},Q:{"2":"RC"},R:{"2":"SC"},S:{"2":"jB"}},B:5,C:"WebXR Device API"};
diff --git a/node_modules/caniuse-lite/data/features/will-change.js b/node_modules/caniuse-lite/data/features/will-change.js
new file mode 100644
index 0000000..892d0a7
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/will-change.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"KB P M R S YB U","2":"C N D I J K L"},C:{"1":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i kB sB","194":"j k l m n o p"},D:{"1":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p"},E:{"1":"A B C N D iB XB T Q mB nB","2":"G Y O F H E dB WB fB gB hB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c d oB pB qB rB T ZB tB Q"},G:{"1":"D 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB 0B"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:5,C:"CSS will-change property"};
diff --git a/node_modules/caniuse-lite/data/features/woff.js b/node_modules/caniuse-lite/data/features/woff.js
new file mode 100644
index 0000000..62f49a5
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/woff.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"E A B","2":"O F H lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S sB","2":"eB bB kB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G"},E:{"1":"O F H E A B C N D fB gB hB iB XB T Q mB nB","2":"G Y dB WB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V T ZB tB Q","2":"E B oB pB qB rB"},G:{"1":"H D TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB uB aB"},H:{"2":"CC"},I:{"1":"M HC IC","2":"bB DC EC FC GC aB","130":"G"},J:{"1":"F A"},K:{"1":"B C DB T ZB Q","2":"A"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:2,C:"WOFF - Web Open Font Format"};
diff --git a/node_modules/caniuse-lite/data/features/woff2.js b/node_modules/caniuse-lite/data/features/woff2.js
new file mode 100644
index 0000000..33ea4c9
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/woff2.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E A B lB"},B:{"1":"D I J K L KB P M R S YB U","2":"C N"},C:{"1":"0 1 2 3 4 5 6 7 8 9 t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","2":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p"},E:{"1":"C N D Q mB nB","2":"G Y O F H E dB WB fB gB hB iB","132":"A B XB T"},F:{"1":"0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C I J K L Z a b c oB pB qB rB T ZB tB Q"},G:{"1":"D 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"H WB uB aB TC xB yB zB 0B 1B"},H:{"2":"CC"},I:{"1":"M","2":"bB G DC EC FC GC aB HC IC"},J:{"2":"F A"},K:{"1":"DB","2":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"2":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:4,C:"WOFF 2.0 - Web Open Font Format"};
diff --git a/node_modules/caniuse-lite/data/features/word-break.js b/node_modules/caniuse-lite/data/features/word-break.js
new file mode 100644
index 0000000..1c562e5
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/word-break.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"O F H E A B lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB G Y O F H E A B C N D kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","4":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x"},E:{"1":"E A B C N D iB XB T Q mB nB","4":"G Y O F H dB WB fB gB hB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","2":"E B C oB pB qB rB T ZB tB Q","4":"I J K L Z a b c d e f g h i j k"},G:{"1":"D 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","4":"H WB uB aB TC xB yB zB"},H:{"2":"CC"},I:{"1":"M","4":"bB G DC EC FC GC aB HC IC"},J:{"4":"F A"},K:{"2":"A B C T ZB Q","4":"DB"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"4":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"4":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:5,C:"CSS3 word-break"};
diff --git a/node_modules/caniuse-lite/data/features/wordwrap.js b/node_modules/caniuse-lite/data/features/wordwrap.js
new file mode 100644
index 0000000..24e582b
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/wordwrap.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"4":"O F H E A B lB"},B:{"1":"L KB P M R S YB U","4":"C N D I J K"},C:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB","4":"0 1 2 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","4":"G Y O F H E A B C N D I J K L Z a b c"},E:{"1":"F H E A B C N D gB hB iB XB T Q mB nB","4":"G Y O dB WB fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V Q","2":"E oB pB","4":"B C qB rB T ZB tB"},G:{"1":"H D yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","4":"WB uB aB TC xB"},H:{"4":"CC"},I:{"1":"M HC IC","4":"bB G DC EC FC GC aB"},J:{"1":"A","4":"F"},K:{"1":"DB","4":"A B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"4":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"4":"jB"}},B:5,C:"CSS3 Overflow-wrap"};
diff --git a/node_modules/caniuse-lite/data/features/x-doc-messaging.js b/node_modules/caniuse-lite/data/features/x-doc-messaging.js
new file mode 100644
index 0000000..27961f8
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/x-doc-messaging.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F lB","132":"H E","260":"A B"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB","2":"eB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"G Y O F H E A B C N D fB gB hB iB XB T Q mB nB","2":"dB WB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q","2":"E"},G:{"1":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"1":"CC"},I:{"1":"bB G M DC EC FC GC aB HC IC"},J:{"1":"F A"},K:{"1":"A B C DB T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"4":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:1,C:"Cross-document messaging"};
diff --git a/node_modules/caniuse-lite/data/features/x-frame-options.js b/node_modules/caniuse-lite/data/features/x-frame-options.js
new file mode 100644
index 0000000..bea03b3
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/x-frame-options.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"H E A B","2":"O F lB"},B:{"1":"C N D I J K L","4":"KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB","4":"G Y O F H E A B C N D I J K FB W V VB QB RB SB TB UB KB P M OB R S","16":"eB bB kB sB"},D:{"4":"0 1 2 3 4 5 6 7 8 9 g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","16":"G Y O F H E A B C N D I J K L Z a b c d e f"},E:{"4":"O F H E A B C N D fB gB hB iB XB T Q mB nB","16":"G Y dB WB"},F:{"4":"0 1 2 3 4 5 6 7 8 9 C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V tB Q","16":"E B oB pB qB rB T ZB"},G:{"4":"H D yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","16":"WB uB aB TC xB"},H:{"2":"CC"},I:{"4":"G M GC aB HC IC","16":"bB DC EC FC"},J:{"4":"F A"},K:{"4":"DB Q","16":"A B C T ZB"},L:{"4":"U"},M:{"4":"OB"},N:{"1":"A B"},O:{"4":"JC"},P:{"4":"G KC LC MC NC OC XB PC QC"},Q:{"4":"RC"},R:{"4":"SC"},S:{"1":"jB"}},B:6,C:"X-Frame-Options HTTP header"};
diff --git a/node_modules/caniuse-lite/data/features/xhr2.js b/node_modules/caniuse-lite/data/features/xhr2.js
new file mode 100644
index 0000000..6701439
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/xhr2.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"O F H E lB","132":"A B"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","2":"eB bB","260":"A B","388":"O F H E","900":"G Y kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","16":"G Y O","132":"j k","388":"F H E A B C N D I J K L Z a b c d e f g h i"},E:{"1":"H E A B C N D hB iB XB T Q mB nB","2":"G dB WB","132":"F gB","388":"Y O fB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 C L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V Q","2":"E B oB pB qB rB T ZB tB","132":"I J K"},G:{"1":"H D zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","2":"WB uB aB","132":"yB","388":"TC xB"},H:{"2":"CC"},I:{"1":"M IC","2":"DC EC FC","388":"HC","900":"bB G GC aB"},J:{"132":"A","388":"F"},K:{"1":"C DB Q","2":"A B T ZB"},L:{"1":"U"},M:{"1":"OB"},N:{"132":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:1,C:"XMLHttpRequest advanced features"};
diff --git a/node_modules/caniuse-lite/data/features/xhtml.js b/node_modules/caniuse-lite/data/features/xhtml.js
new file mode 100644
index 0000000..2d5c5f1
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/xhtml.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"E A B","2":"O F H lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"1":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"1":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"1":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"1":"CC"},I:{"1":"bB G M DC EC FC GC aB HC IC"},J:{"1":"F A"},K:{"1":"A B C DB T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"2":"SC"},S:{"1":"jB"}},B:1,C:"XHTML served as application/xhtml+xml"};
diff --git a/node_modules/caniuse-lite/data/features/xhtmlsmil.js b/node_modules/caniuse-lite/data/features/xhtmlsmil.js
new file mode 100644
index 0000000..0d89595
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/xhtmlsmil.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"2":"E A B lB","4":"O F H"},B:{"2":"C N D I J K L","8":"KB P M R S YB U"},C:{"8":"0 1 2 3 4 5 6 7 8 9 eB bB G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S kB sB"},D:{"8":"0 1 2 3 4 5 6 7 8 9 G Y O F H E A B C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB"},E:{"8":"G Y O F H E A B C N D dB WB fB gB hB iB XB T Q mB nB"},F:{"8":"0 1 2 3 4 5 6 7 8 9 E B C I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V oB pB qB rB T ZB tB Q"},G:{"8":"H D WB uB aB TC xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC"},H:{"8":"CC"},I:{"8":"bB G M DC EC FC GC aB HC IC"},J:{"8":"F A"},K:{"8":"A B C DB T ZB Q"},L:{"8":"U"},M:{"8":"OB"},N:{"2":"A B"},O:{"8":"JC"},P:{"8":"G KC LC MC NC OC XB PC QC"},Q:{"8":"RC"},R:{"8":"SC"},S:{"8":"jB"}},B:7,C:"XHTML+SMIL animation"};
diff --git a/node_modules/caniuse-lite/data/features/xml-serializer.js b/node_modules/caniuse-lite/data/features/xml-serializer.js
new file mode 100644
index 0000000..2f0c7f3
--- /dev/null
+++ b/node_modules/caniuse-lite/data/features/xml-serializer.js
@@ -0,0 +1 @@
+module.exports={A:{A:{"1":"A B","260":"O F H E lB"},B:{"1":"C N D I J K L KB P M R S YB U"},C:{"1":"0 1 2 3 4 5 6 7 8 9 C N D I J K L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M OB R S","132":"B","260":"eB bB G Y O F kB sB","516":"H E A"},D:{"1":"0 1 2 3 4 5 6 7 8 9 l m n o p q r s t u v w x y z AB BB CB DB EB PB GB HB IB JB X LB MB NB FB W V VB QB RB SB TB UB KB P M R S YB U vB wB cB","132":"G Y O F H E A B C N D I J K L Z a b c d e f g h i j k"},E:{"1":"H E A B C N D hB iB XB T Q mB nB","132":"G Y O F dB WB fB gB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 L Z a b c d e f g h i j k l m n o p q r s t u v w x y z AB BB CB EB GB HB IB JB X LB MB NB FB W V","16":"E oB","132":"B C I J K pB qB rB T ZB tB Q"},G:{"1":"H D zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC","132":"WB uB aB TC xB yB"},H:{"132":"CC"},I:{"1":"M HC IC","132":"bB G DC EC FC GC aB"},J:{"132":"F A"},K:{"1":"DB","16":"A","132":"B C T ZB Q"},L:{"1":"U"},M:{"1":"OB"},N:{"1":"A B"},O:{"1":"JC"},P:{"1":"G KC LC MC NC OC XB PC QC"},Q:{"1":"RC"},R:{"1":"SC"},S:{"1":"jB"}},B:4,C:"DOM Parsing and Serialization"};
diff --git a/node_modules/caniuse-lite/data/regions/AD.js b/node_modules/caniuse-lite/data/regions/AD.js
new file mode 100644
index 0000000..f0a0a1d
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/AD.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00625,"36":0,"37":0,"38":0.00625,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0.0125,"49":0,"50":0,"51":0,"52":0.03124,"53":0.00625,"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.00625,"69":0,"70":0,"71":0,"72":0.0125,"73":0,"74":0,"75":0,"76":0,"77":0.00625,"78":0.17494,"79":0.00625,"80":0.11246,"81":3.96123,"82":0.56857,"83":0.0125,"84":0,"3.5":0,"3.6":0},D:{"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.00625,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0.00625,"48":0,"49":0.33114,"50":0,"51":0,"52":0,"53":0.00625,"54":0,"55":0,"56":0.00625,"57":0,"58":0.03124,"59":0,"60":0.00625,"61":0.00625,"62":0.00625,"63":0.01874,"64":0,"65":0.64354,"66":0,"67":0.00625,"68":0,"69":0.00625,"70":0.09997,"71":0.12496,"72":0.14995,"73":0.06873,"74":0.02499,"75":0.02499,"76":0.00625,"77":0.12496,"78":0.02499,"79":0.0125,"80":0.11871,"81":0.13746,"83":0.38738,"84":0.35614,"85":7.42262,"86":12.8209,"87":0,"88":0,"89":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0.00625,"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.08747,"38":0,"39":0,"40":0.00625,"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,"60":0,"62":0,"63":0,"64":0,"65":0.0125,"66":0,"67":0,"68":0.00625,"69":0,"70":0.03124,"71":0.36238,"72":0.00625,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":9.59423,"3.2":0.02298,"4.0-4.1":0.0197,"4.2-4.3":0.00328,"5.0-5.1":0.01642,"6.0-6.1":0.00985,"7.0-7.1":0.02298,"8.1-8.4":0.07552,"9.0-9.2":0.04268,"9.3":0.54505,"10.0-10.2":0.09194,"10.3":0.50565,"11.0-11.2":0.19044,"11.3-11.4":0.32506,"12.0-12.1":0.33163,"12.2-12.4":3.30643,"13.0-13.1":0.27253,"13.2":0.13462,"13.3":1.02444,"13.4-13.7":5.45709},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.03749,"12":0.04374,"13":0.25617,"14":2.97405,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.02499,"10.1":0.03124,"11.1":0.12496,"12.1":0.28741,"13.1":3.49263},B:{"12":0.00625,"13":0,"14":0,"15":0.01874,"16":0.03124,"17":0.0125,"18":0.07498,"79":0,"80":0,"81":0,"83":0,"84":0.00625,"85":0.4811,"86":1.0934},I:{"3":0,"4":0.05302,_:"81","2.1":0,"2.2":0,"2.3":0.00042,"4.1":0.02672,"4.2-4.3":0.01188,"4.4":0,"4.4.3-4.4.4":0.09671},P:{"4":0.12524,"5.0-5.4":0.01044,"6.2-6.4":0,"7.2-7.4":0,"8.2":0,"9.2":0,"10.1":0,"11.1-11.2":0.05218,"12.0":1.29418},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.27491,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.31142},Q:{"10.4":0},O:{"0":0.00375},H:{"0":0.19892},L:{"0":36.85258}};
diff --git a/node_modules/caniuse-lite/data/regions/AE.js b/node_modules/caniuse-lite/data/regions/AE.js
new file mode 100644
index 0000000..36b53fc
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/AE.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00521,"48":0.00521,"49":0,"50":0,"51":0,"52":0.01043,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0.00521,"65":0.00521,"66":0,"67":0,"68":0.01564,"69":0,"70":0,"71":0,"72":0.00521,"73":0,"74":0,"75":0,"76":0.00521,"77":0.00521,"78":0.03649,"79":0.01043,"80":0.03649,"81":0.68812,"82":0.08341,"83":0.00521,"84":0,"3.5":0,"3.6":0},D:{"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.00521,"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.03649,"36":0,"37":0,"38":0.01564,"39":0,"40":0.00521,"41":0,"42":0,"43":0.00521,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.08341,"50":0,"51":0,"52":0,"53":0.00521,"54":0,"55":0,"56":0.00521,"57":0,"58":0.00521,"59":0,"60":0.00521,"61":0,"62":0,"63":0.01043,"64":0.00521,"65":0.01564,"66":0.00521,"67":0.01564,"68":0.00521,"69":0.02085,"70":0.02607,"71":0.03128,"72":0.03128,"73":0.02085,"74":0.02607,"75":0.02607,"76":0.02607,"77":0.03128,"78":0.0417,"79":0.05213,"80":0.06256,"81":0.07298,"83":0.11469,"84":0.18246,"85":7.67354,"86":10.87953,"87":0.03128,"88":0.01043,"89":0},F:{"9":0,"11":0,"12":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.00521,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0.00521,"47":0,"48":0,"49":0,"50":0.00521,"51":0.06256,"52":0.00521,"53":0,"54":0.00521,"55":0,"56":0,"57":0,"58":0,"60":0.01043,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.00521,"69":0,"70":0.06777,"71":0.33363,"72":0.01564,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":8.10309,"3.2":0.01941,"4.0-4.1":0.01664,"4.2-4.3":0.00277,"5.0-5.1":0.01387,"6.0-6.1":0.00832,"7.0-7.1":0.01941,"8.1-8.4":0.06378,"9.0-9.2":0.03605,"9.3":0.46034,"10.0-10.2":0.07765,"10.3":0.42706,"11.0-11.2":0.16084,"11.3-11.4":0.27454,"12.0-12.1":0.28009,"12.2-12.4":2.79254,"13.0-13.1":0.23017,"13.2":0.1137,"13.3":0.86522,"13.4-13.7":4.60895},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.00521,"11":0.01043,"12":0.03128,"13":0.15118,"14":1.09473,_:"0","3.1":0,"3.2":0,"5.1":0.02085,"6.1":0,"7.1":0,"9.1":0,"10.1":0.01564,"11.1":0.05734,"12.1":0.13033,"13.1":1.0426},B:{"12":0,"13":0.00521,"14":0.00521,"15":0.00521,"16":0.00521,"17":0.02607,"18":0.14075,"79":0,"80":0,"81":0,"83":0,"84":0.01043,"85":0.43268,"86":0.80802},I:{"3":0,"4":0.03933,_:"81","2.1":0,"2.2":0,"2.3":0.00031,"4.1":0.01982,"4.2-4.3":0.00881,"4.4":0,"4.4.3-4.4.4":0.07173},P:{"4":0.12231,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.03058,"8.2":0.01019,"9.2":0.06116,"10.1":0.08154,"11.1-11.2":0.1427,"12.0":2.54818},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.00555,"9":0.00555,"10":0,"11":1.19832,"5.5":0},J:{"7":0,"10":0.00957},N:{"10":0,"11":0.01436},S:{"2.5":0},R:{_:"0"},M:{"0":0.09095},Q:{"10.4":0.03351},O:{"0":4.80615},H:{"0":1.25084},L:{"0":40.79408}};
diff --git a/node_modules/caniuse-lite/data/regions/AF.js b/node_modules/caniuse-lite/data/regions/AF.js
new file mode 100644
index 0000000..a5e2b17
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/AF.js
@@ -0,0 +1 @@
+module.exports={C:{"2":0,"3":0,"4":0.00334,"5":0.00334,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0.01672,"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.00334,"30":0,"31":0.00334,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.05349,"39":0,"40":0,"41":0.00334,"42":0,"43":0.00334,"44":0.00334,"45":0,"46":0,"47":0.00669,"48":0.00334,"49":0,"50":0,"51":0,"52":0.00669,"53":0,"54":0,"55":0,"56":0.00334,"57":0.00334,"58":0,"59":0,"60":0.00334,"61":0,"62":0,"63":0,"64":0.02674,"65":0,"66":0,"67":0,"68":0.01337,"69":0.00334,"70":0.00669,"71":0.00334,"72":0.01672,"73":0,"74":0.00334,"75":0,"76":0.00334,"77":0.00334,"78":0.0234,"79":0.01003,"80":0.02006,"81":0.66526,"82":0.10698,"83":0.00334,"84":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.01003,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0.00334,"25":0.00669,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0.00334,"32":0,"33":0,"34":0.00334,"35":0,"36":0.00334,"37":0.00334,"38":0,"39":0.00334,"40":0.00334,"41":0,"42":0,"43":0.02006,"44":0.00334,"45":0.00334,"46":0.00669,"47":0.00334,"48":0,"49":0.02006,"50":0,"51":0.00334,"52":0.00334,"53":0,"54":0,"55":0.00334,"56":0.00334,"57":0.01337,"58":0.00669,"59":0.00334,"60":0,"61":0.00334,"62":0.01003,"63":0.01672,"64":0.00669,"65":0,"66":0.00334,"67":0.00334,"68":0,"69":0.01003,"70":0.02674,"71":0.01337,"72":0.01003,"73":0.01337,"74":0.01672,"75":0.00334,"76":0.01337,"77":0.01003,"78":0.02006,"79":0.05349,"80":0.07355,"81":0.02674,"83":0.0468,"84":0.14709,"85":2.98196,"86":4.68354,"87":0.01003,"88":0.00334,"89":0},F:{"9":0,"11":0,"12":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.00669,"51":0.03009,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0.01003,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.03677,"71":0.29753,"72":0.01003,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.00334},G:{"8":0,"14":3.30159,"3.2":0.00791,"4.0-4.1":0.00678,"4.2-4.3":0.00113,"5.0-5.1":0.00565,"6.0-6.1":0.00339,"7.0-7.1":0.00791,"8.1-8.4":0.02599,"9.0-9.2":0.01469,"9.3":0.18756,"10.0-10.2":0.03164,"10.3":0.17401,"11.0-11.2":0.06553,"11.3-11.4":0.11186,"12.0-12.1":0.11412,"12.2-12.4":1.13782,"13.0-13.1":0.09378,"13.2":0.04633,"13.3":0.35253,"13.4-13.7":1.8779},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.01337,"13":0.04012,"14":0.10698,_:"0","3.1":0,"3.2":0,"5.1":0.01672,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0.00334,"12.1":0.00669,"13.1":0.05349},B:{"12":0.00669,"13":0.01337,"14":0.00334,"15":0.00669,"16":0.01337,"17":0.02006,"18":0.14041,"79":0,"80":0,"81":0,"83":0.00334,"84":0.00669,"85":0.11032,"86":0.19055},I:{"3":0,"4":0.18447,_:"81","2.1":0,"2.2":0,"2.3":0.00148,"4.1":0.09297,"4.2-4.3":0.04132,"4.4":0,"4.4.3-4.4.4":0.33647},P:{"4":1.52519,"5.0-5.4":0.67674,"6.2-6.4":0.46463,"7.2-7.4":0.64644,"8.2":0.33332,"9.2":0.49493,"10.1":0.21211,"11.1-11.2":0.75754,"12.0":2.18173},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.02365,"9":0.01689,"10":0.00338,"11":0.27032,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0.00666},R:{_:"0"},M:{"0":0.0932},Q:{"10.4":0.00666},O:{"0":2.36989},H:{"0":1.02099},L:{"0":66.33238}};
diff --git a/node_modules/caniuse-lite/data/regions/AG.js b/node_modules/caniuse-lite/data/regions/AG.js
new file mode 100644
index 0000000..fed0ae9
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/AG.js
@@ -0,0 +1 @@
+module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0.00499,"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.00499,"30":0,"31":0.01496,"32":0,"33":0,"34":0,"35":0,"36":0.00499,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0.00499,"48":0.00499,"49":0,"50":0.00499,"51":0,"52":0.04487,"53":0,"54":0.00499,"55":0.00499,"56":0,"57":0,"58":0.01994,"59":0,"60":0,"61":0,"62":0.01994,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0.00997,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.00499,"78":0.18448,"79":0.00499,"80":0.07479,"81":1.1767,"82":0.09473,"83":0,"84":0,"3.5":0,"3.6":0},D:{"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.01994,"32":0,"33":0,"34":0,"35":0.00997,"36":0.00499,"37":0,"38":0.00997,"39":0,"40":0,"41":0.00499,"42":0.00499,"43":0,"44":0,"45":0,"46":0.00997,"47":0.00997,"48":0,"49":0.07479,"50":0,"51":0,"52":0.01496,"53":0.03989,"54":0,"55":0,"56":0.01994,"57":0.00997,"58":0.00499,"59":0,"60":0,"61":0.00499,"62":0.00499,"63":0.02493,"64":0.00997,"65":0.00499,"66":0,"67":0.01994,"68":0,"69":0.00499,"70":0.0349,"71":0.00499,"72":0,"73":0.00499,"74":0.11468,"75":0.00499,"76":0.01496,"77":0.00997,"78":0.01496,"79":0.01994,"80":0.99221,"81":0.09473,"83":0.05983,"84":0.13961,"85":5.22034,"86":8.14712,"87":0.03989,"88":0,"89":0},F:{"9":0,"11":0,"12":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,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.02992,"71":0.10969,"72":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":7.118,"3.2":0.01705,"4.0-4.1":0.01462,"4.2-4.3":0.00244,"5.0-5.1":0.01218,"6.0-6.1":0.00731,"7.0-7.1":0.01705,"8.1-8.4":0.05603,"9.0-9.2":0.03167,"9.3":0.40438,"10.0-10.2":0.06821,"10.3":0.37514,"11.0-11.2":0.14129,"11.3-11.4":0.24116,"12.0-12.1":0.24604,"12.2-12.4":2.45306,"13.0-13.1":0.20219,"13.2":0.09988,"13.3":0.76003,"13.4-13.7":4.04864},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00499,"12":0.00499,"13":0.0698,"14":0.69305,_:"0","3.1":0,"3.2":0,"5.1":0.00499,"6.1":0,"7.1":0,"9.1":0,"10.1":0.00499,"11.1":0.01994,"12.1":0.02992,"13.1":1.73513},B:{"12":0,"13":0.00997,"14":0.01994,"15":0.00499,"16":0.02493,"17":0.03989,"18":0.34902,"79":0,"80":0,"81":0.00499,"83":0,"84":0.03989,"85":0.81272,"86":1.26146},I:{"3":0,"4":0.28294,_:"81","2.1":0,"2.2":0,"2.3":0.00226,"4.1":0.1426,"4.2-4.3":0.06338,"4.4":0,"4.4.3-4.4.4":0.51609},P:{"4":0.0734,"5.0-5.4":0.01049,"6.2-6.4":0.01049,"7.2-7.4":0.10486,"8.2":0.01049,"9.2":0.10486,"10.1":0.10486,"11.1-11.2":0.30408,"12.0":4.7919},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.39389,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.16045},Q:{"10.4":0},O:{"0":0.14541},H:{"0":0.06646},L:{"0":50.91684}};
diff --git a/node_modules/caniuse-lite/data/regions/AI.js b/node_modules/caniuse-lite/data/regions/AI.js
new file mode 100644
index 0000000..b020c99
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/AI.js
@@ -0,0 +1 @@
+module.exports={C:{"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.01354,"69":0,"70":0,"71":0.00902,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.00451,"78":0.01805,"79":0,"80":0.02256,"81":0.78509,"82":0.01354,"83":0,"84":0,"3.5":0,"3.6":0},D:{"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.00451,"37":0,"38":0.00902,"39":0,"40":0,"41":0,"42":0.00451,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.00902,"50":0,"51":0,"52":0,"53":0.00902,"54":0,"55":0,"56":0,"57":0,"58":0.05414,"59":0,"60":0,"61":0,"62":0,"63":0.00451,"64":0,"65":0.00451,"66":0.00902,"67":0.00902,"68":0,"69":0,"70":0.00451,"71":0.00451,"72":0,"73":0.16243,"74":0,"75":0.02707,"76":0.00902,"77":0.01354,"78":0,"79":0.01805,"80":0.01354,"81":0.18048,"83":0.00902,"84":0.09926,"85":4.66541,"86":6.16339,"87":0.00902,"88":0,"89":0},F:{"9":0,"11":0,"12":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,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.04512,"71":0.20755,"72":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":7.62698,"3.2":0.01827,"4.0-4.1":0.01566,"4.2-4.3":0.00261,"5.0-5.1":0.01305,"6.0-6.1":0.00783,"7.0-7.1":0.01827,"8.1-8.4":0.06003,"9.0-9.2":0.03393,"9.3":0.43329,"10.0-10.2":0.07309,"10.3":0.40197,"11.0-11.2":0.15139,"11.3-11.4":0.25841,"12.0-12.1":0.26363,"12.2-12.4":2.62846,"13.0-13.1":0.21665,"13.2":0.10702,"13.3":0.81438,"13.4-13.7":4.33814},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.00902,"13":0.06317,"14":0.64973,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.20304,"10.1":0,"11.1":0.01354,"12.1":0.10378,"13.1":0.87984},B:{"12":0.00902,"13":0.01354,"14":0.00902,"15":0.00451,"16":0.01354,"17":0.01354,"18":0.21206,"79":0,"80":0,"81":0.00451,"83":0,"84":0.01354,"85":1.04678,"86":1.39872},I:{"3":0,"4":0.18713,_:"81","2.1":0,"2.2":0,"2.3":0.0015,"4.1":0.09431,"4.2-4.3":0.04192,"4.4":0,"4.4.3-4.4.4":0.34133},P:{"4":0.11396,"5.0-5.4":0,"6.2-6.4":0.01036,"7.2-7.4":1.35718,"8.2":0,"9.2":0.37297,"10.1":0.21756,"11.1-11.2":0.29009,"12.0":3.90579},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.28426,"5.5":0},J:{"7":0,"10":0.72442},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.06586},Q:{"10.4":0},O:{"0":0.03842},H:{"0":0.10911},L:{"0":53.81883}};
diff --git a/node_modules/caniuse-lite/data/regions/AL.js b/node_modules/caniuse-lite/data/regions/AL.js
new file mode 100644
index 0000000..db72727
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/AL.js
@@ -0,0 +1 @@
+module.exports={C:{"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.01263,"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.00947,"53":0,"54":0,"55":0,"56":0.00316,"57":0.00316,"58":0,"59":0,"60":0.00316,"61":0,"62":0,"63":0,"64":0.00316,"65":0,"66":0.00316,"67":0.00316,"68":0.00316,"69":0,"70":0,"71":0.00316,"72":0.00316,"73":0,"74":0,"75":0,"76":0,"77":0.00316,"78":0.01263,"79":0.00316,"80":0.01263,"81":0.38831,"82":0.04736,"83":0,"84":0,"3.5":0,"3.6":0},D:{"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.00631,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0.00316,"46":0.00316,"47":0,"48":0,"49":0.14838,"50":0,"51":0,"52":0,"53":0.01579,"54":0,"55":0.00316,"56":0.00316,"57":0,"58":0.00316,"59":0,"60":0,"61":0.0221,"62":0.00631,"63":0.00631,"64":0,"65":0.00631,"66":0.00316,"67":0.00947,"68":0.00316,"69":0.00316,"70":0.04736,"71":0.0221,"72":0.0442,"73":0.03157,"74":0.0221,"75":0.00947,"76":0.01263,"77":0.01579,"78":0.03157,"79":0.01894,"80":0.02841,"81":0.04104,"83":0.04104,"84":0.1105,"85":2.89181,"86":4.65342,"87":0.00947,"88":0.00631,"89":0},F:{"9":0,"11":0,"12":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.00316,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0.00631,"52":0,"53":0,"54":0,"55":0,"56":0.00316,"57":0.00316,"58":0,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0.00316,"67":0,"68":0,"69":0,"70":0.0221,"71":0.18311,"72":0.00316,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":13.33464,"3.2":0.03194,"4.0-4.1":0.02738,"4.2-4.3":0.00456,"5.0-5.1":0.02282,"6.0-6.1":0.01369,"7.0-7.1":0.03194,"8.1-8.4":0.10496,"9.0-9.2":0.05933,"9.3":0.75755,"10.0-10.2":0.12778,"10.3":0.70278,"11.0-11.2":0.26468,"11.3-11.4":0.45179,"12.0-12.1":0.46092,"12.2-12.4":4.59548,"13.0-13.1":0.37877,"13.2":0.1871,"13.3":1.42382,"13.4-13.7":7.58459},E:{"4":0,"5":0,"6":0,"7":0.00316,"8":0,"9":0,"10":0,"11":0,"12":0.00316,"13":0.02841,"14":0.10102,_:"0","3.1":0,"3.2":0,"5.1":0.00631,"6.1":0,"7.1":0,"9.1":0,"10.1":0.00631,"11.1":0.00947,"12.1":0.01579,"13.1":0.10418},B:{"12":0,"13":0,"14":0.00316,"15":0.00631,"16":0.00631,"17":0.00631,"18":0.0221,"79":0,"80":0,"81":0,"83":0,"84":0.00316,"85":0.11365,"86":0.17995},I:{"3":0,"4":0.03696,_:"81","2.1":0,"2.2":0,"2.3":0.0003,"4.1":0.01863,"4.2-4.3":0.00828,"4.4":0,"4.4.3-4.4.4":0.06741},P:{"4":0.26243,"5.0-5.4":0.01009,"6.2-6.4":0.02019,"7.2-7.4":0.13121,"8.2":0.03028,"9.2":0.1514,"10.1":0.12112,"11.1-11.2":0.3028,"12.0":4.20896},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0.00316,"8":0.00631,"9":0,"10":0,"11":0.03157,"5.5":0},J:{"7":0,"10":0.00684},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.17108},Q:{"10.4":0},O:{"0":0.03422},H:{"0":0.11013},L:{"0":52.10126}};
diff --git a/node_modules/caniuse-lite/data/regions/AM.js b/node_modules/caniuse-lite/data/regions/AM.js
new file mode 100644
index 0000000..af610ff
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/AM.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00821,"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.02463,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":31.30913,"53":0,"54":0,"55":0,"56":0.00821,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0.00821,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0.00821,"73":0,"74":0,"75":0,"76":0.00821,"77":0,"78":0.01642,"79":0.00821,"80":0.02463,"81":0.9112,"82":0.10672,"83":0.00821,"84":0,"3.5":0,"3.6":0},D:{"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.00821,"23":0,"24":0.00821,"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.00821,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.87015,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0.02463,"57":0.00821,"58":0.04925,"59":0,"60":0.00821,"61":0,"62":0,"63":0.00821,"64":0.00821,"65":0,"66":0,"67":0.00821,"68":0,"69":0.00821,"70":0.01642,"71":0.04925,"72":0.06567,"73":0.02463,"74":0.02463,"75":0.03284,"76":0.02463,"77":0.02463,"78":0.05746,"79":0.0903,"80":0.12314,"81":0.06567,"83":0.18881,"84":0.22985,"85":10.77842,"86":17.27174,"87":0.00821,"88":0.01642,"89":0},F:{"9":0,"11":0,"12":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,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.0903,"71":0.77165,"72":0.03284,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":3.51087,"3.2":0.00841,"4.0-4.1":0.00721,"4.2-4.3":0.0012,"5.0-5.1":0.00601,"6.0-6.1":0.0036,"7.0-7.1":0.00841,"8.1-8.4":0.02764,"9.0-9.2":0.01562,"9.3":0.19945,"10.0-10.2":0.03364,"10.3":0.18504,"11.0-11.2":0.06969,"11.3-11.4":0.11895,"12.0-12.1":0.12135,"12.2-12.4":1.20994,"13.0-13.1":0.09973,"13.2":0.04926,"13.3":0.37488,"13.4-13.7":1.99694},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00821,"12":0.00821,"13":0.04105,"14":0.49254,_:"0","3.1":0,"3.2":0,"5.1":0.60747,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0.00821,"12.1":0.02463,"13.1":0.50075},B:{"12":0,"13":0,"14":0.00821,"15":0.00821,"16":0,"17":0.00821,"18":0.03284,"79":0,"80":0,"81":0,"83":0,"84":0.00821,"85":0.23806,"86":0.47612},I:{"3":0,"4":0.01606,_:"81","2.1":0,"2.2":0,"2.3":0.00013,"4.1":0.00809,"4.2-4.3":0.0036,"4.4":0,"4.4.3-4.4.4":0.02929},P:{"4":0.03035,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.03035,"8.2":0.01012,"9.2":0.03035,"10.1":0.03035,"11.1-11.2":0.08092,"12.0":1.05202},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.01642,"9":0,"10":0,"11":0.06567,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.01791},Q:{"10.4":0.00179},O:{"0":0.13612},H:{"0":0.11869},L:{"0":21.81557}};
diff --git a/node_modules/caniuse-lite/data/regions/AN.js b/node_modules/caniuse-lite/data/regions/AN.js
new file mode 100644
index 0000000..9ce90e4
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/AN.js
@@ -0,0 +1 @@
+module.exports={D:{"11":0.080201,"21":0.051037,"22":0.080201,"24":0.029164,"26":0.131238,"28":0.102074,"31":0.51037,"32":0.306222,"33":2.223755,"34":0.204148,"35":1.407163,"36":28.87236,"38":0.080201,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 23 25 27 29 30 37 39 40"},C:{"10":0.029164,"12":0.051037,"21":0.029164,"26":0.051037,"27":0.029164,"29":0.029164,"30":4.031923,"31":10.827135,"32":0.051037,_:"2 3 4 5 6 7 8 9 11 13 14 15 16 17 18 19 20 22 23 24 25 28 33 34 3.5 3.6"},F:{"21":0.051037,"23":0.051037,"24":0.051037,_:"9 11 12 15 16 17 18 19 20 22 25 9.5-9.6 10.5 10.6 11.1 11.5 11.6","10.0-10.1":0,"12.1":0.539534},E:{"4":0,"5":0.233312,"6":0.102074,"7":6.05153,"8":0.029164,_:"3.1 3.2","5.1":0.765555,"6.1":0.561407},I:{"3":0,"4":0.648893454545,"2.1":0.00612163636364,"2.2":0.0428514545455,"2.3":0.832542545455,"4.1":1.62223363636,"4.2-4.3":1.69569327273,"4.4":1.279422,_:"4.4.3"},K:{"10":0,"11":0,"12":0.0000648307692308,_:"0","11.1":0,"11.5":0,"12.1":0.000356569230769},A:{"8":1.4582,"9":2.47894,"10":1.633184,"11":9.471009,_:"6 7 5.5"},G:{"8":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0.0939043474576,"6.0-6.1":0.473354567797,"7.0-7.1":8.93049508475},J:{"7":0.40838175,_:"10"},M:{"0":0.051471},N:{"10":0.09419193},H:{"5.0-7.0":0.0239596},L:{"0":8.88552}};
diff --git a/node_modules/caniuse-lite/data/regions/AO.js b/node_modules/caniuse-lite/data/regions/AO.js
new file mode 100644
index 0000000..4c66ddf
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/AO.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00588,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.00588,"30":0,"31":0.00588,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.00588,"39":0,"40":0.00588,"41":0.01764,"42":0,"43":0.00588,"44":0.00588,"45":0.00588,"46":0,"47":0.01176,"48":0.00588,"49":0,"50":0,"51":0,"52":0.02352,"53":0,"54":0,"55":0,"56":0,"57":0.01176,"58":0,"59":0.00588,"60":0.01176,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0.00588,"67":0,"68":0.04705,"69":0,"70":0,"71":0.00588,"72":0.02352,"73":0,"74":0.00588,"75":0,"76":0,"77":0.00588,"78":0.0941,"79":0.01764,"80":0.10586,"81":1.26442,"82":0.16467,"83":0.00588,"84":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00588,"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.00588,"26":0.02352,"27":0,"28":0.00588,"29":0,"30":0,"31":0.00588,"32":0,"33":0.00588,"34":0,"35":0.01176,"36":0.01176,"37":0,"38":0.00588,"39":0,"40":0.05293,"41":0,"42":0.02352,"43":0.11174,"44":0,"45":0,"46":0.03529,"47":0.01764,"48":0,"49":0.05293,"50":0.00588,"51":0,"52":0,"53":0.01176,"54":0.00588,"55":0.01176,"56":0.01176,"57":0.01764,"58":0.01176,"59":0.01176,"60":0.00588,"61":0.00588,"62":0.01176,"63":0.15879,"64":0.01176,"65":0.03529,"66":0.04117,"67":0.01764,"68":0.00588,"69":0.02941,"70":0.02352,"71":0.04705,"72":0.03529,"73":0.04117,"74":0.05293,"75":0.04705,"76":0.04117,"77":0.04705,"78":0.02352,"79":0.18231,"80":0.27641,"81":0.08822,"83":0.14114,"84":0.27053,"85":7.42182,"86":11.72083,"87":0.01764,"88":0.00588,"89":0},F:{"9":0,"11":0,"12":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.00588,"32":0,"33":0,"34":0.00588,"35":0.00588,"36":0.00588,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0.01176,"43":0,"44":0,"45":0,"46":0,"47":0.00588,"48":0.00588,"49":0,"50":0.01176,"51":0.03529,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0.00588,"62":0,"63":0,"64":0,"65":0,"66":0.00588,"67":0.00588,"68":0.01176,"69":0.00588,"70":0.18231,"71":1.41144,"72":0.04117,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.02352},G:{"8":0,"14":4.16274,"3.2":0.00997,"4.0-4.1":0.00855,"4.2-4.3":0.00142,"5.0-5.1":0.00712,"6.0-6.1":0.00427,"7.0-7.1":0.00997,"8.1-8.4":0.03277,"9.0-9.2":0.01852,"9.3":0.23649,"10.0-10.2":0.03989,"10.3":0.21939,"11.0-11.2":0.08263,"11.3-11.4":0.14104,"12.0-12.1":0.14389,"12.2-12.4":1.43459,"13.0-13.1":0.11824,"13.2":0.05841,"13.3":0.44448,"13.4-13.7":2.36772},E:{"4":0,"5":0,"6":0,"7":0,"8":0.07645,"9":0,"10":0.00588,"11":0.00588,"12":0.01176,"13":0.12938,"14":0.7116,_:"0","3.1":0,"3.2":0,"5.1":0.01764,"6.1":0,"7.1":0,"9.1":0.01176,"10.1":0.06469,"11.1":0.04117,"12.1":0.15879,"13.1":0.82334},B:{"12":0.05293,"13":0.03529,"14":0.04705,"15":0.02352,"16":0.01764,"17":0.05293,"18":0.69396,"79":0,"80":0,"81":0.00588,"83":0.01176,"84":0.02352,"85":1.23501,"86":1.79371},I:{"3":0,"4":0.2872,_:"81","2.1":0,"2.2":0,"2.3":0.0023,"4.1":0.14475,"4.2-4.3":0.06433,"4.4":0,"4.4.3-4.4.4":0.52386},P:{"4":0.62295,"5.0-5.4":0.04085,"6.2-6.4":0.04085,"7.2-7.4":0.1634,"8.2":0.03064,"9.2":0.19403,"10.1":0.15318,"11.1-11.2":0.1634,"12.0":1.55227},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.06821,"9":0.02274,"10":0.00758,"11":0.6366,"5.5":0},J:{"7":0,"10":0.01648},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.14417},Q:{"10.4":0.07002},O:{"0":0.39542},H:{"0":2.9715},L:{"0":46.33977}};
diff --git a/node_modules/caniuse-lite/data/regions/AR.js b/node_modules/caniuse-lite/data/regions/AR.js
new file mode 100644
index 0000000..b928538
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/AR.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00543,"49":0,"50":0,"51":0,"52":0.04342,"53":0,"54":0.00543,"55":0,"56":0,"57":0,"58":0,"59":0.00543,"60":0.00543,"61":0,"62":0,"63":0.00543,"64":0,"65":0.00543,"66":0.01085,"67":0,"68":0.01628,"69":0.00543,"70":0.00543,"71":0,"72":0.00543,"73":0.00543,"74":0,"75":0.00543,"76":0.00543,"77":0.00543,"78":0.04342,"79":0.01085,"80":0.02714,"81":0.96601,"82":0.15738,"83":0.00543,"84":0,"3.5":0,"3.6":0},D:{"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.00543,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0.00543,"33":0,"34":0.00543,"35":0,"36":0,"37":0,"38":0.01085,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.25507,"50":0,"51":0,"52":0,"53":0.00543,"54":0,"55":0,"56":0.04342,"57":0,"58":0.01085,"59":0,"60":0.00543,"61":0.01628,"62":0,"63":0.01085,"64":0,"65":0.01628,"66":0.02171,"67":0.01628,"68":0.00543,"69":0.01085,"70":0.02171,"71":0.02714,"72":0.02171,"73":0.02171,"74":0.02171,"75":0.02171,"76":0.02171,"77":0.02714,"78":0.03799,"79":0.07598,"80":0.09769,"81":0.09226,"83":0.11397,"84":0.22251,"85":8.98711,"86":14.24588,"87":0.01628,"88":0.00543,"89":0},F:{"9":0,"11":0,"12":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.00543,"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.00543,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.04884,"71":0.56441,"72":0.01085,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":2.50628,"3.2":0.006,"4.0-4.1":0.00515,"4.2-4.3":0.00086,"5.0-5.1":0.00429,"6.0-6.1":0.00257,"7.0-7.1":0.006,"8.1-8.4":0.01973,"9.0-9.2":0.01115,"9.3":0.14238,"10.0-10.2":0.02402,"10.3":0.13209,"11.0-11.2":0.04975,"11.3-11.4":0.08492,"12.0-12.1":0.08663,"12.2-12.4":0.86373,"13.0-13.1":0.07119,"13.2":0.03517,"13.3":0.26761,"13.4-13.7":1.42555},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00543,"12":0.01628,"13":0.04342,"14":0.29849,_:"0","3.1":0,"3.2":0,"5.1":0.45587,"6.1":0,"7.1":0,"9.1":0,"10.1":0.01085,"11.1":0.03256,"12.1":0.04884,"13.1":0.27678},B:{"12":0,"13":0.00543,"14":0.00543,"15":0.01628,"16":0.00543,"17":0.01085,"18":0.04884,"79":0,"80":0,"81":0,"83":0,"84":0.00543,"85":0.30391,"86":0.56984},I:{"3":0,"4":0.03186,_:"81","2.1":0,"2.2":0,"2.3":0.00025,"4.1":0.01606,"4.2-4.3":0.00714,"4.4":0,"4.4.3-4.4.4":0.05811},P:{"4":0.18288,"5.0-5.4":0.01016,"6.2-6.4":0,"7.2-7.4":0.1016,"8.2":0.02032,"9.2":0.09144,"10.1":0.0508,"11.1-11.2":0.13208,"12.0":1.93043},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.02221,"9":0.00555,"10":0.00555,"11":0.20547,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.09146},Q:{"10.4":0.00915},O:{"0":0.03201},H:{"0":0.15153},L:{"0":60.6928}};
diff --git a/node_modules/caniuse-lite/data/regions/AS.js b/node_modules/caniuse-lite/data/regions/AS.js
new file mode 100644
index 0000000..d28b658
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/AS.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00646,"49":0,"50":0,"51":0,"52":0.00646,"53":0,"54":0,"55":0,"56":0.00646,"57":0.01939,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0.01292,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.07108,"79":0,"80":0.00646,"81":0.56866,"82":0.09047,"83":0,"84":0,"3.5":0,"3.6":0},D:{"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.00646,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0.01292,"47":0,"48":0,"49":0.53635,"50":0,"51":0,"52":0,"53":0.00646,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0.01292,"62":0,"63":0,"64":0,"65":0.00646,"66":0.01292,"67":0,"68":0.00646,"69":0.01292,"70":0,"71":0,"72":0.03231,"73":0,"74":0.00646,"75":0.29079,"76":0.88529,"77":0.01292,"78":0,"79":0.06462,"80":0.10985,"81":0.05816,"83":0.04523,"84":0.11632,"85":11.32789,"86":17.70588,"87":0.01939,"88":0,"89":0},F:{"9":0,"11":0,"12":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,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.02585,"71":0.20032,"72":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":8.47435,"3.2":0.0203,"4.0-4.1":0.0174,"4.2-4.3":0.0029,"5.0-5.1":0.0145,"6.0-6.1":0.0087,"7.0-7.1":0.0203,"8.1-8.4":0.0667,"9.0-9.2":0.0377,"9.3":0.48143,"10.0-10.2":0.08121,"10.3":0.44663,"11.0-11.2":0.16821,"11.3-11.4":0.28712,"12.0-12.1":0.29292,"12.2-12.4":2.92049,"13.0-13.1":0.24072,"13.2":0.11891,"13.3":0.90486,"13.4-13.7":4.82011},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.01292,"11":0.00646,"12":0.01292,"13":0.06462,"14":1.105,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0.01939,"11.1":0.05816,"12.1":0.30371,"13.1":1.05977},B:{"12":0,"13":0,"14":0.00646,"15":0.01292,"16":0.01292,"17":0,"18":0.25848,"79":0,"80":0,"81":0.01292,"83":0,"84":0,"85":1.7512,"86":1.86106},I:{"3":0,"4":0.07822,_:"81","2.1":0,"2.2":0,"2.3":0.00063,"4.1":0.03943,"4.2-4.3":0.01752,"4.4":0,"4.4.3-4.4.4":0.14268},P:{"4":0,"5.0-5.4":0,"6.2-6.4":0.02071,"7.2-7.4":0.04143,"8.2":0,"9.2":0.1657,"10.1":0,"11.1-11.2":0.20713,"12.0":1.12883},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0.05928,"11":0.28321,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.11322},Q:{"10.4":0.12029},O:{"0":0.15921},H:{"0":0.32491},L:{"0":37.01606}};
diff --git a/node_modules/caniuse-lite/data/regions/AT.js b/node_modules/caniuse-lite/data/regions/AT.js
new file mode 100644
index 0000000..4895719
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/AT.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00604,"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.00604,"45":0,"46":0,"47":0,"48":0.01812,"49":0,"50":0,"51":0.00604,"52":0.07249,"53":0,"54":0,"55":0,"56":0.00604,"57":0.00604,"58":0.00604,"59":0.00604,"60":0.04833,"61":0.01208,"62":0.01812,"63":0.00604,"64":0.00604,"65":0.00604,"66":0.03625,"67":0.00604,"68":0.15103,"69":0.01208,"70":0.01208,"71":0.00604,"72":0.02416,"73":0.01208,"74":0.01208,"75":0.01208,"76":0.01812,"77":0.03021,"78":0.35642,"79":0.04833,"80":0.16311,"81":4.34348,"82":0.61014,"83":0.00604,"84":0.00604,"3.5":0,"3.6":0},D:{"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.00604,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.00604,"35":0,"36":0,"37":0,"38":0.01812,"39":0,"40":0.00604,"41":0,"42":0.00604,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.18123,"50":0,"51":0.00604,"52":0,"53":0.02416,"54":0,"55":0,"56":0,"57":0,"58":0.00604,"59":0.00604,"60":0.00604,"61":0.00604,"62":0,"63":0.02416,"64":0.07249,"65":0.00604,"66":0,"67":0.01812,"68":0.01208,"69":0.02416,"70":0.1027,"71":0.02416,"72":0.10874,"73":0.01812,"74":0.01812,"75":0.01812,"76":0.01812,"77":0.02416,"78":0.03625,"79":0.21748,"80":0.15707,"81":0.1027,"83":0.12686,"84":0.27789,"85":7.31565,"86":10.24554,"87":0.01208,"88":0.00604,"89":0},F:{"9":0,"11":0,"12":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.01208,"52":0,"53":0.00604,"54":0,"55":0,"56":0,"57":0.00604,"58":0,"60":0,"62":0,"63":0.00604,"64":0,"65":0,"66":0,"67":0.00604,"68":0.03625,"69":0,"70":0.12082,"71":1.15383,"72":0.02416,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":9.84853,"3.2":0.02359,"4.0-4.1":0.02022,"4.2-4.3":0.00337,"5.0-5.1":0.01685,"6.0-6.1":0.01011,"7.0-7.1":0.02359,"8.1-8.4":0.07752,"9.0-9.2":0.04382,"9.3":0.5595,"10.0-10.2":0.09437,"10.3":0.51905,"11.0-11.2":0.19549,"11.3-11.4":0.33368,"12.0-12.1":0.34042,"12.2-12.4":3.39407,"13.0-13.1":0.27975,"13.2":0.13819,"13.3":1.05159,"13.4-13.7":5.60173},E:{"4":0,"5":0,"6":0,"7":0,"8":0.00604,"9":0,"10":0.00604,"11":0.03021,"12":0.05437,"13":0.25372,"14":1.72169,_:"0","3.1":0,"3.2":0,"5.1":0.00604,"6.1":0.00604,"7.1":0,"9.1":0.01812,"10.1":0.03021,"11.1":0.14498,"12.1":0.18727,"13.1":1.75189},B:{"12":0,"13":0,"14":0.00604,"15":0.00604,"16":0.01812,"17":0.09062,"18":0.39267,"79":0,"80":0.00604,"81":0.00604,"83":0.00604,"84":0.03021,"85":1.01489,"86":1.915},I:{"3":0,"4":0.06642,_:"81","2.1":0,"2.2":0,"2.3":0.00053,"4.1":0.03348,"4.2-4.3":0.01488,"4.4":0,"4.4.3-4.4.4":0.12115},P:{"4":0.18559,"5.0-5.4":0,"6.2-6.4":0.01031,"7.2-7.4":0.03093,"8.2":0.01031,"9.2":0.06186,"10.1":0.05155,"11.1-11.2":0.15465,"12.0":3.83543},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.00631,"9":0.01262,"10":0,"11":0.97179,"5.5":0},J:{"7":0,"10":0.00396},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.47904},Q:{"10.4":0.00396},O:{"0":0.05939},H:{"0":0.22489},L:{"0":33.34836}};
diff --git a/node_modules/caniuse-lite/data/regions/AU.js b/node_modules/caniuse-lite/data/regions/AU.js
new file mode 100644
index 0000000..c024b0c
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/AU.js
@@ -0,0 +1 @@
+module.exports={C:{"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.01161,"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.0058,"49":0,"50":0,"51":0,"52":0.02902,"53":0,"54":0,"55":0,"56":0.0058,"57":0,"58":0,"59":0,"60":0.0058,"61":0,"62":0,"63":0.0058,"64":0.0058,"65":0.0058,"66":0.01161,"67":0.0058,"68":0.03482,"69":0,"70":0.0058,"71":0,"72":0.01161,"73":0.0058,"74":0.0058,"75":0.0058,"76":0.0058,"77":0.01161,"78":0.07545,"79":0.01741,"80":0.08126,"81":1.31751,"82":0.20894,"83":0.0058,"84":0,"3.5":0,"3.6":0},D:{"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.0058,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.0058,"35":0,"36":0,"37":0,"38":0.02902,"39":0,"40":0.01161,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0.0058,"48":0.0058,"49":0.16832,"50":0,"51":0,"52":0,"53":0.02902,"54":0,"55":0.0058,"56":0.0058,"57":0.0058,"58":0.0058,"59":0.01161,"60":0.0058,"61":0.0058,"62":0.0058,"63":0.01161,"64":0.01161,"65":0.03482,"66":0.01161,"67":0.03482,"68":0.02322,"69":0.03482,"70":0.04063,"71":0.04063,"72":0.04643,"73":0.06965,"74":0.06384,"75":0.05224,"76":0.04643,"77":0.05804,"78":0.06965,"79":0.10447,"80":0.20314,"81":0.1451,"83":0.36565,"84":0.60362,"85":8.1256,"86":10.08735,"87":0.01161,"88":0.0058,"89":0},F:{"9":0,"11":0,"12":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.01741,"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,"60":0.0058,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.02902,"71":0.16251,"72":0.0058,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":15.66248,"3.2":0.03752,"4.0-4.1":0.03216,"4.2-4.3":0.00536,"5.0-5.1":0.0268,"6.0-6.1":0.01608,"7.0-7.1":0.03752,"8.1-8.4":0.12328,"9.0-9.2":0.06968,"9.3":0.88979,"10.0-10.2":0.15009,"10.3":0.82547,"11.0-11.2":0.31089,"11.3-11.4":0.53066,"12.0-12.1":0.54138,"12.2-12.4":5.39771,"13.0-13.1":0.4449,"13.2":0.21977,"13.3":1.67238,"13.4-13.7":8.90864},E:{"4":0,"5":0,"6":0,"7":0,"8":0.0058,"9":0,"10":0.0058,"11":0.02322,"12":0.04643,"13":0.26698,"14":1.64834,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.01741,"10.1":0.05224,"11.1":0.11608,"12.1":0.22055,"13.1":2.7627},B:{"12":0,"13":0,"14":0.0058,"15":0.01161,"16":0.01161,"17":0.02902,"18":0.25538,"79":0,"80":0.0058,"81":0.0058,"83":0.0058,"84":0.01741,"85":0.75452,"86":1.41037},I:{"3":0,"4":0.06696,_:"81","2.1":0,"2.2":0,"2.3":0.00054,"4.1":0.03375,"4.2-4.3":0.015,"4.4":0,"4.4.3-4.4.4":0.12214},P:{"4":0.14896,"5.0-5.4":0,"6.2-6.4":0.01064,"7.2-7.4":0.02128,"8.2":0.01064,"9.2":0.06384,"10.1":0.0532,"11.1-11.2":0.11704,"12.0":2.84084},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0.00917,"10":0,"11":0.90786,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.30631},Q:{"10.4":0.1049},O:{"0":0.16784},H:{"0":0.21849},L:{"0":25.81859}};
diff --git a/node_modules/caniuse-lite/data/regions/AW.js b/node_modules/caniuse-lite/data/regions/AW.js
new file mode 100644
index 0000000..72dd1d0
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/AW.js
@@ -0,0 +1 @@
+module.exports={C:{"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.01119,"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.00373,"49":0,"50":0,"51":0,"52":0.00373,"53":0,"54":0,"55":0,"56":0.00373,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.01492,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0.00373,"77":0.00746,"78":0.02237,"79":0.00373,"80":0.01119,"81":0.47731,"82":0.06339,"83":0,"84":0,"3.5":0,"3.6":0},D:{"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.00746,"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.01865,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.01865,"50":0,"51":0,"52":0,"53":0.01492,"54":0.01119,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0.00373,"64":0,"65":0.00373,"66":0,"67":0.00746,"68":0.00746,"69":0,"70":0.01492,"71":0.00746,"72":0.00373,"73":0.00373,"74":0.00746,"75":0.00373,"76":0.02237,"77":0.00373,"78":0.01492,"79":0.00373,"80":0.03356,"81":0.01492,"83":0.07085,"84":0.11933,"85":2.79302,"86":4.58667,"87":0.01119,"88":0,"89":0},F:{"9":0,"11":0,"12":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.00373,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.01865,"71":0.0895,"72":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":9.26633,"3.2":0.0222,"4.0-4.1":0.01903,"4.2-4.3":0.00317,"5.0-5.1":0.01586,"6.0-6.1":0.00951,"7.0-7.1":0.0222,"8.1-8.4":0.07294,"9.0-9.2":0.04123,"9.3":0.52642,"10.0-10.2":0.08879,"10.3":0.48837,"11.0-11.2":0.18393,"11.3-11.4":0.31395,"12.0-12.1":0.32029,"12.2-12.4":3.19343,"13.0-13.1":0.26321,"13.2":0.13002,"13.3":0.98942,"13.4-13.7":5.27058},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.01865,"11":0.00373,"12":0.00746,"13":0.04102,"14":0.54443,_:"0","3.1":0,"3.2":0,"5.1":0.00746,"6.1":0,"7.1":0,"9.1":0,"10.1":0.0261,"11.1":0.05966,"12.1":0.09323,"13.1":0.89496},B:{"12":0,"13":0,"14":0.01119,"15":0.00373,"16":0.01492,"17":0.01865,"18":0.33188,"79":0,"80":0,"81":0,"83":0,"84":0.01492,"85":0.52952,"86":0.99937},I:{"3":0,"4":0.07375,_:"81","2.1":0,"2.2":0,"2.3":0.00059,"4.1":0.03717,"4.2-4.3":0.01652,"4.4":0,"4.4.3-4.4.4":0.13452},P:{"4":0.21974,"5.0-5.4":0,"6.2-6.4":0.03139,"7.2-7.4":0.10464,"8.2":0.05232,"9.2":0.41856,"10.1":0.1151,"11.1-11.2":0.72201,"12.0":10.86151},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.79801,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.22576},Q:{"10.4":0.00627},O:{"0":0.00627},H:{"0":0.0475},L:{"0":48.00351}};
diff --git a/node_modules/caniuse-lite/data/regions/AX.js b/node_modules/caniuse-lite/data/regions/AX.js
new file mode 100644
index 0000000..7294331
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/AX.js
@@ -0,0 +1 @@
+module.exports={C:{"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.03364,"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.04037,"49":0,"50":0,"51":0,"52":0.01346,"53":0,"54":0,"55":0,"56":0,"57":0.00673,"58":0,"59":0,"60":0,"61":0.01346,"62":0,"63":0,"64":0,"65":0.00673,"66":0,"67":0,"68":0.00673,"69":0,"70":0,"71":0,"72":0.00673,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.01346,"79":0.00673,"80":0.01346,"81":1.76274,"82":0.99574,"83":0.01346,"84":0,"3.5":0,"3.6":0},D:{"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.00673,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.11438,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0.02018,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.00673,"69":0,"70":0,"71":0,"72":0.00673,"73":0,"74":0.00673,"75":0,"76":0.0471,"77":0,"78":0.01346,"79":0,"80":0.02018,"81":0.04037,"83":0.02018,"84":0.16147,"85":3.71386,"86":24.35536,"87":0,"88":0,"89":0},F:{"9":0,"11":0,"12":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,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0.12783,"72":0.00673,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":10.41212,"3.2":0.02494,"4.0-4.1":0.02138,"4.2-4.3":0.00356,"5.0-5.1":0.01782,"6.0-6.1":0.01069,"7.0-7.1":0.02494,"8.1-8.4":0.08196,"9.0-9.2":0.04632,"9.3":0.59152,"10.0-10.2":0.09977,"10.3":0.54876,"11.0-11.2":0.20667,"11.3-11.4":0.35277,"12.0-12.1":0.3599,"12.2-12.4":3.5883,"13.0-13.1":0.29576,"13.2":0.1461,"13.3":1.11177,"13.4-13.7":5.92229},E:{"4":0,"5":0,"6":0,"7":0,"8":0.00673,"9":0,"10":0.00673,"11":0.01346,"12":0.0471,"13":0.27585,"14":2.38844,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.04037,"10.1":0.08074,"11.1":0.02018,"12.1":0.05382,"13.1":3.27654},B:{"12":0,"13":0,"14":0,"15":0,"16":0,"17":0.0471,"18":0.16147,"79":0,"80":0,"81":0,"83":0,"84":0.01346,"85":0.06055,"86":2.91995},I:{"3":0,"4":0.02906,_:"81","2.1":0,"2.2":0,"2.3":0.00023,"4.1":0.01465,"4.2-4.3":0.00651,"4.4":0,"4.4.3-4.4.4":0.05301},P:{"4":0,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.14269,"8.2":0.05488,"9.2":0.02195,"10.1":0.03293,"11.1-11.2":0.02195,"12.0":2.14033},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0.09419,"10":0,"11":0.3835,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.16033},Q:{"10.4":0},O:{"0":0.28139},H:{"0":0.32216},L:{"0":28.73542}};
diff --git a/node_modules/caniuse-lite/data/regions/AZ.js b/node_modules/caniuse-lite/data/regions/AZ.js
new file mode 100644
index 0000000..91607ee
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/AZ.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00535,"48":0.09088,"49":0,"50":0,"51":0,"52":0.01604,"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.00535,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0.00535,"77":0.00535,"78":0.01069,"79":0,"80":0.02673,"81":0.34214,"82":0.06415,"83":0,"84":0,"3.5":0,"3.6":0},D:{"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.00535,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0.02138,"23":0,"24":0,"25":0,"26":0.00535,"27":0,"28":0,"29":0.00535,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.01069,"39":0.00535,"40":0.00535,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.10157,"50":0,"51":0.00535,"52":0.00535,"53":0.04277,"54":0,"55":0.00535,"56":0.00535,"57":0.01069,"58":0.00535,"59":0.00535,"60":0,"61":0,"62":0,"63":0.02673,"64":0.00535,"65":0.01069,"66":0.01069,"67":0.00535,"68":0.01069,"69":0.01069,"70":0.02138,"71":0.03742,"72":0.02673,"73":0.01604,"74":0.07484,"75":0.03742,"76":0.05346,"77":0.0695,"78":0.03208,"79":0.08554,"80":0.19246,"81":0.11227,"83":0.10692,"84":0.24057,"85":8.00831,"86":12.93197,"87":0.01604,"88":0,"89":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0.00535,"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.00535,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.00535,"44":0,"45":0.00535,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0.01604,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.02673,"60":0.03742,"62":0.02138,"63":0.00535,"64":0,"65":0,"66":0,"67":0.00535,"68":0.02673,"69":0.00535,"70":1.14939,"71":0.79655,"72":0.03208,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.00535},G:{"8":0,"14":5.84081,"3.2":0.01399,"4.0-4.1":0.01199,"4.2-4.3":0.002,"5.0-5.1":0.00999,"6.0-6.1":0.006,"7.0-7.1":0.01399,"8.1-8.4":0.04597,"9.0-9.2":0.02599,"9.3":0.33182,"10.0-10.2":0.05597,"10.3":0.30783,"11.0-11.2":0.11594,"11.3-11.4":0.19789,"12.0-12.1":0.20189,"12.2-12.4":2.0129,"13.0-13.1":0.16591,"13.2":0.08196,"13.3":0.62366,"13.4-13.7":3.32218},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.01069,"13":0.14434,"14":0.24057,_:"0","3.1":0,"3.2":0,"5.1":0.08019,"6.1":0,"7.1":0,"9.1":0.03742,"10.1":0.00535,"11.1":0.02138,"12.1":0.05881,"13.1":0.37957},B:{"12":0.00535,"13":0,"14":0.00535,"15":0.00535,"16":0.00535,"17":0.00535,"18":0.10692,"79":0,"80":0,"81":0,"83":0,"84":0.00535,"85":0.13365,"86":0.35284},I:{"3":0,"4":0.06775,_:"81","2.1":0,"2.2":0,"2.3":0.00054,"4.1":0.03415,"4.2-4.3":0.01518,"4.4":0,"4.4.3-4.4.4":0.12358},P:{"4":0.54049,"5.0-5.4":0.0102,"6.2-6.4":0.03059,"7.2-7.4":0.09178,"8.2":0.0102,"9.2":0.11218,"10.1":0.09178,"11.1-11.2":0.24475,"12.0":2.80443},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.04594,"9":0.02297,"10":0.00574,"11":0.08039,"5.5":0},J:{"7":0,"10":0.00465},N:{"10":0,"11":0},S:{"2.5":0.00465},R:{_:"0"},M:{"0":0.04189},Q:{"10.4":0.00931},O:{"0":0.37232},H:{"0":0.52873},L:{"0":50.49934}};
diff --git a/node_modules/caniuse-lite/data/regions/BA.js b/node_modules/caniuse-lite/data/regions/BA.js
new file mode 100644
index 0000000..268d4d3
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/BA.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00297,"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.00297,"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.02374,"46":0,"47":0,"48":0,"49":0,"50":0.0089,"51":0.00297,"52":0.05044,"53":0,"54":0,"55":0,"56":0.00297,"57":0.00297,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0.00297,"67":0,"68":0.0089,"69":0,"70":0,"71":0,"72":0.00297,"73":0,"74":0.00297,"75":0,"76":0.00297,"77":0.00297,"78":0.0178,"79":0.00297,"80":0.02077,"81":0.68538,"82":0.09494,"83":0.00297,"84":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00297,"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.00297,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.00297,"39":0,"40":0,"41":0,"42":0,"43":0.00297,"44":0,"45":0,"46":0,"47":0.00297,"48":0,"49":0.03857,"50":0.00297,"51":0,"52":0,"53":0.00297,"54":0,"55":0,"56":0,"57":0,"58":0.00297,"59":0,"60":0,"61":0.0178,"62":0,"63":0.00297,"64":0,"65":0.00297,"66":0.00297,"67":0.0089,"68":0.00297,"69":0.00297,"70":0.0089,"71":0.0089,"72":0.0089,"73":0.00297,"74":0.00297,"75":0.00297,"76":0.00593,"77":0.00593,"78":0.01187,"79":0.0178,"80":0.42428,"81":0.03857,"83":0.0267,"84":0.05637,"85":2.16591,"86":3.45062,"87":0.00297,"88":0,"89":0},F:{"9":0,"11":0,"12":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.00297,"37":0,"38":0,"39":0,"40":0.00297,"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.00297,"54":0,"55":0,"56":0.01187,"57":0,"58":0,"60":0.00297,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.0267,"71":0.15725,"72":0.00297,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":3.43458,"3.2":0.00823,"4.0-4.1":0.00705,"4.2-4.3":0.00118,"5.0-5.1":0.00588,"6.0-6.1":0.00353,"7.0-7.1":0.00823,"8.1-8.4":0.02703,"9.0-9.2":0.01528,"9.3":0.19512,"10.0-10.2":0.03291,"10.3":0.18101,"11.0-11.2":0.06817,"11.3-11.4":0.11637,"12.0-12.1":0.11872,"12.2-12.4":1.18365,"13.0-13.1":0.09756,"13.2":0.04819,"13.3":0.36673,"13.4-13.7":1.95355},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.00297,"13":0.01187,"14":0.10088,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0.00297,"11.1":0.01187,"12.1":0.0089,"13.1":0.09791},B:{"12":0,"13":0.00297,"14":0.00297,"15":0.01484,"16":0.00297,"17":0.00593,"18":0.06231,"79":0,"80":0,"81":0,"83":0.00297,"84":0.00297,"85":0.15428,"86":0.19582},I:{"3":0,"4":0.08013,_:"81","2.1":0,"2.2":0,"2.3":0.00064,"4.1":0.04039,"4.2-4.3":0.01795,"4.4":0,"4.4.3-4.4.4":0.14616},P:{"4":0.11116,"5.0-5.4":0,"6.2-6.4":0.02021,"7.2-7.4":0.03032,"8.2":0.03032,"9.2":0.13137,"10.1":0.11116,"11.1-11.2":0.1718,"12.0":4.59808},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.18099,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.14769},Q:{"10.4":0},O:{"0":0.01407},H:{"0":0.23304},L:{"0":76.0347}};
diff --git a/node_modules/caniuse-lite/data/regions/BB.js b/node_modules/caniuse-lite/data/regions/BB.js
new file mode 100644
index 0000000..0784e72
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/BB.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00584,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0.00584,"49":0,"50":0,"51":0,"52":0.00584,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0.00584,"65":0,"66":0,"67":0,"68":0.01168,"69":0.00584,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0.00584,"77":0.00584,"78":0.07595,"79":0.00584,"80":0.06426,"81":1.36119,"82":0.1811,"83":0.00584,"84":0,"3.5":0,"3.6":0},D:{"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.05842,"50":0,"51":0,"52":0,"53":0.02337,"54":0,"55":0.01168,"56":0.00584,"57":0,"58":0.00584,"59":0.00584,"60":0,"61":0,"62":0,"63":0.00584,"64":0,"65":0.07595,"66":0.00584,"67":0.00584,"68":0.02337,"69":0.00584,"70":0.01168,"71":0.00584,"72":0.00584,"73":0.00584,"74":0.05258,"75":0.01753,"76":0.03505,"77":0.00584,"78":0.00584,"79":0.05258,"80":0.08179,"81":0.04674,"83":0.05258,"84":0.11684,"85":7.83412,"86":11.70153,"87":0.02921,"88":0,"89":0},F:{"9":0,"11":0,"12":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,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.08763,"71":0.42062,"72":0.01168,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":6.47812,"3.2":0.01552,"4.0-4.1":0.0133,"4.2-4.3":0.00222,"5.0-5.1":0.01109,"6.0-6.1":0.00665,"7.0-7.1":0.01552,"8.1-8.4":0.05099,"9.0-9.2":0.02882,"9.3":0.36802,"10.0-10.2":0.06208,"10.3":0.34142,"11.0-11.2":0.12859,"11.3-11.4":0.21948,"12.0-12.1":0.22392,"12.2-12.4":2.23254,"13.0-13.1":0.18401,"13.2":0.0909,"13.3":0.69171,"13.4-13.7":3.68468},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.01753,"12":0.02337,"13":0.09347,"14":1.53645,_:"0","3.1":0,"3.2":0,"5.1":0.01753,"6.1":0,"7.1":0,"9.1":0,"10.1":0.00584,"11.1":0.08179,"12.1":0.05258,"13.1":1.33782},B:{"12":0.01168,"13":0.00584,"14":0.00584,"15":0.02921,"16":0.04674,"17":0.04089,"18":0.222,"79":0,"80":0,"81":0.00584,"83":0,"84":0.01753,"85":1.48387,"86":2.7399},I:{"3":0,"4":0.48312,_:"81","2.1":0,"2.2":0,"2.3":0.00386,"4.1":0.24349,"4.2-4.3":0.10822,"4.4":0,"4.4.3-4.4.4":0.88122},P:{"4":0.22693,"5.0-5.4":0,"6.2-6.4":0.02161,"7.2-7.4":0.21612,"8.2":0.01081,"9.2":0.07564,"10.1":0.04322,"11.1-11.2":0.28096,"12.0":5.0249},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0.00603,"11":0.36786,"5.5":0},J:{"7":0,"10":0.02495},N:{"10":0,"11":0.00832},S:{"2.5":0},R:{_:"0"},M:{"0":0.17048},Q:{"10.4":0},O:{"0":0.10811},H:{"0":0.12597},L:{"0":42.50344}};
diff --git a/node_modules/caniuse-lite/data/regions/BD.js b/node_modules/caniuse-lite/data/regions/BD.js
new file mode 100644
index 0000000..3a8480f
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/BD.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00451,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.00451,"30":0,"31":0,"32":0,"33":0.00451,"34":0,"35":0,"36":0,"37":0.00451,"38":0,"39":0,"40":0.00451,"41":0,"42":0,"43":0.00902,"44":0.00451,"45":0.00451,"46":0.00451,"47":0.01804,"48":0.00902,"49":0.00451,"50":0.00451,"51":0.00451,"52":0.07214,"53":0.00451,"54":0,"55":0,"56":0.01804,"57":0.00451,"58":0.00451,"59":0.00451,"60":0.00902,"61":0,"62":0.00451,"63":0.00451,"64":0.00451,"65":0.00451,"66":0.00451,"67":0.00451,"68":0.03156,"69":0.00451,"70":0.00451,"71":0.00451,"72":0.02255,"73":0.00451,"74":0.00451,"75":0.00902,"76":0.00451,"77":0.00902,"78":0.04058,"79":0.01353,"80":0.03607,"81":1.95691,"82":0.52304,"83":0.09018,"84":0,"3.5":0,"3.6":0},D:{"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.00451,"30":0,"31":0.00451,"32":0,"33":0.00451,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0.00451,"41":0,"42":0.00451,"43":0.00451,"44":0,"45":0,"46":0,"47":0,"48":0.00451,"49":0.04509,"50":0.00451,"51":0,"52":0,"53":0.00451,"54":0,"55":0,"56":0.00451,"57":0,"58":0.00451,"59":0,"60":0,"61":0.02255,"62":0,"63":0.00902,"64":0.00451,"65":0.00451,"66":0,"67":0.00451,"68":0.00451,"69":0.00902,"70":0.01804,"71":0.04509,"72":0.02255,"73":0.02255,"74":0.04509,"75":0.01804,"76":0.01804,"77":0.00902,"78":0.01804,"79":0.04058,"80":0.07214,"81":0.08116,"83":0.05411,"84":0.12625,"85":4.75249,"86":8.25598,"87":0.04509,"88":0.01804,"89":0},F:{"9":0,"11":0,"12":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.01804,"29":0.00451,"30":0.00451,"31":0,"32":0.00451,"33":0,"34":0,"35":0,"36":0,"37":0.02705,"38":0.00902,"39":0,"40":0,"41":0,"42":0.00451,"43":0,"44":0,"45":0.00451,"46":0.02255,"47":0.02255,"48":0,"49":0,"50":0.13978,"51":0.88376,"52":0.01804,"53":0.00451,"54":0.00902,"55":0.01353,"56":0.00451,"57":0.00902,"58":0,"60":0.04058,"62":0,"63":0,"64":0.00902,"65":0,"66":0.00451,"67":0.02255,"68":0.13978,"69":0.01804,"70":0.05862,"71":0.07214,"72":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":0.94968,"3.2":0.00228,"4.0-4.1":0.00195,"4.2-4.3":0.00033,"5.0-5.1":0.00163,"6.0-6.1":0.00098,"7.0-7.1":0.00228,"8.1-8.4":0.00748,"9.0-9.2":0.00423,"9.3":0.05395,"10.0-10.2":0.0091,"10.3":0.05005,"11.0-11.2":0.01885,"11.3-11.4":0.03218,"12.0-12.1":0.03283,"12.2-12.4":0.32728,"13.0-13.1":0.02698,"13.2":0.01333,"13.3":0.1014,"13.4-13.7":0.54017},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.00902,"14":0.0496,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0.00451,"12.1":0.00902,"13.1":0.03607},B:{"12":0.03607,"13":0.00902,"14":0.00902,"15":0.00451,"16":0.00902,"17":0.04509,"18":0.05862,"79":0,"80":0,"81":0,"83":0,"84":0.00451,"85":0.21643,"86":0.43286},I:{"3":0,"4":0.1323,_:"81","2.1":0,"2.2":0,"2.3":0.00106,"4.1":0.06668,"4.2-4.3":0.02963,"4.4":0,"4.4.3-4.4.4":0.24131},P:{"4":0.36628,"5.0-5.4":0.03052,"6.2-6.4":0.03052,"7.2-7.4":0.0814,"8.2":0.0407,"9.2":0.10175,"10.1":0.06105,"11.1-11.2":0.17297,"12.0":1.19042},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.03661,"9":0.00523,"10":0.00523,"11":0.08369,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.19768},Q:{"10.4":0.00549},O:{"0":4.34887},H:{"0":4.216},L:{"0":62.66505}};
diff --git a/node_modules/caniuse-lite/data/regions/BE.js b/node_modules/caniuse-lite/data/regions/BE.js
new file mode 100644
index 0000000..b2cbd5d
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/BE.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00638,"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.01277,"49":0,"50":0,"51":0,"52":0.0383,"53":0,"54":0,"55":0,"56":0.0383,"57":0,"58":0,"59":0,"60":0.01915,"61":0,"62":0,"63":0.00638,"64":0.00638,"65":0.00638,"66":0.00638,"67":0.00638,"68":0.06383,"69":0.00638,"70":0.00638,"71":0,"72":0.01277,"73":0.00638,"74":0.00638,"75":0.00638,"76":0.01277,"77":0.01277,"78":0.16596,"79":0.02553,"80":0.10851,"81":2.5149,"82":0.3766,"83":0.00638,"84":0,"3.5":0,"3.6":0},D:{"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.00638,"39":0,"40":0.00638,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.17872,"50":0,"51":0,"52":0,"53":0.01277,"54":0,"55":0,"56":0,"57":0.00638,"58":0,"59":0.00638,"60":0.00638,"61":0.00638,"62":0.00638,"63":0.01277,"64":0.00638,"65":0.02553,"66":0.02553,"67":0.01277,"68":0.00638,"69":0.02553,"70":0.01915,"71":0.0383,"72":0.03192,"73":0.01915,"74":0.04468,"75":0.0383,"76":0.0383,"77":0.02553,"78":0.15319,"79":0.17872,"80":0.11489,"81":0.07021,"83":0.17234,"84":0.27447,"85":9.85535,"86":14.25962,"87":0.01277,"88":0.00638,"89":0},F:{"9":0,"11":0,"12":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.00638,"52":0,"53":0,"54":0,"55":0,"56":0.00638,"57":0,"58":0,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.00638,"69":0,"70":0.05745,"71":0.47234,"72":0.00638,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.01277},G:{"8":0,"14":9.78042,"3.2":0.02343,"4.0-4.1":0.02008,"4.2-4.3":0.00335,"5.0-5.1":0.01674,"6.0-6.1":0.01004,"7.0-7.1":0.02343,"8.1-8.4":0.07698,"9.0-9.2":0.04351,"9.3":0.55563,"10.0-10.2":0.09372,"10.3":0.51546,"11.0-11.2":0.19414,"11.3-11.4":0.33137,"12.0-12.1":0.33806,"12.2-12.4":3.3706,"13.0-13.1":0.27781,"13.2":0.13723,"13.3":1.04432,"13.4-13.7":5.56299},E:{"4":0,"5":0,"6":0,"7":0,"8":0.00638,"9":0,"10":0.00638,"11":0.02553,"12":0.05106,"13":0.25532,"14":1.98511,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.00638,"10.1":0.05106,"11.1":0.11489,"12.1":0.22979,"13.1":2.13192},B:{"12":0,"13":0,"14":0.00638,"15":0.01277,"16":0.03192,"17":0.05745,"18":0.29362,"79":0,"80":0,"81":0.01277,"83":0.00638,"84":0.02553,"85":1.11064,"86":2.1766},I:{"3":0,"4":0.06389,_:"81","2.1":0,"2.2":0,"2.3":0.00051,"4.1":0.0322,"4.2-4.3":0.01431,"4.4":0,"4.4.3-4.4.4":0.11653},P:{"4":0.09292,"5.0-5.4":0.01032,"6.2-6.4":0,"7.2-7.4":0.01032,"8.2":0.01032,"9.2":0.0413,"10.1":0.03097,"11.1-11.2":0.07227,"12.0":3.69631},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.00653,"9":0.00653,"10":0,"11":0.85503,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.24234},Q:{"10.4":0.00723},O:{"0":0.02894},H:{"0":0.10273},L:{"0":30.82397}};
diff --git a/node_modules/caniuse-lite/data/regions/BF.js b/node_modules/caniuse-lite/data/regions/BF.js
new file mode 100644
index 0000000..6404b89
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/BF.js
@@ -0,0 +1 @@
+module.exports={C:{"2":0,"3":0.00323,"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.01936,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0.00323,"40":0.00323,"41":0.00323,"42":0,"43":0.00323,"44":0,"45":0,"46":0,"47":0.00968,"48":0.00645,"49":0,"50":0.00323,"51":0,"52":0.0129,"53":0,"54":0,"55":0,"56":0.00323,"57":0.00323,"58":0,"59":0,"60":0.00645,"61":0.00323,"62":0,"63":0,"64":0,"65":0.00968,"66":0.00323,"67":0,"68":0.02903,"69":0.00323,"70":0.00323,"71":0,"72":0.0129,"73":0,"74":0.00323,"75":0.00645,"76":0.00645,"77":0.03226,"78":0.19679,"79":0.01613,"80":0.08065,"81":1.75172,"82":0.1742,"83":0.00645,"84":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00323,"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.00323,"27":0,"28":0.02258,"29":0.00323,"30":0,"31":0.00968,"32":0.00645,"33":0,"34":0,"35":0,"36":0,"37":0.00323,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.06129,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.00323,"59":0,"60":0,"61":0,"62":0,"63":0.00323,"64":0.00323,"65":0.01936,"66":0,"67":0.08065,"68":0,"69":0.00323,"70":0.00645,"71":0,"72":0,"73":0.00323,"74":0.00645,"75":0.01936,"76":0.00323,"77":0.03226,"78":0.00323,"79":0.04839,"80":0.06775,"81":0.06452,"83":0.02903,"84":0.03549,"85":1.64203,"86":2.57757,"87":0.00323,"88":0.00323,"89":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0.00323,"24":0.00645,"25":0,"26":0.0129,"27":0.00968,"28":0.02258,"29":0,"30":0.00968,"31":0.00323,"32":0.00645,"33":0.00323,"34":0,"35":0,"36":0,"37":0,"38":0.0129,"39":0,"40":0,"41":0,"42":0.0129,"43":0,"44":0,"45":0.00645,"46":0.01613,"47":0.02581,"48":0,"49":0,"50":0.09355,"51":0.36776,"52":0,"53":0.00968,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0.00323,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.00645,"69":0,"70":0.10646,"71":0.46132,"72":0.0129,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.01936},G:{"8":0,"14":2.25737,"3.2":0.00541,"4.0-4.1":0.00464,"4.2-4.3":0.00077,"5.0-5.1":0.00386,"6.0-6.1":0.00232,"7.0-7.1":0.00541,"8.1-8.4":0.01777,"9.0-9.2":0.01004,"9.3":0.12824,"10.0-10.2":0.02163,"10.3":0.11897,"11.0-11.2":0.04481,"11.3-11.4":0.07648,"12.0-12.1":0.07803,"12.2-12.4":0.77795,"13.0-13.1":0.06412,"13.2":0.03167,"13.3":0.24103,"13.4-13.7":1.28397},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.00645,"11":0.00645,"12":0.03871,"13":0.13227,"14":0.13549,_:"0","3.1":0,"3.2":0,"5.1":0.0129,"6.1":0,"7.1":0.00323,"9.1":0.00323,"10.1":0.0129,"11.1":0.06129,"12.1":0.02258,"13.1":0.15485},B:{"12":0.01936,"13":0.00968,"14":0.00323,"15":0.00645,"16":0.0129,"17":0.01936,"18":0.11291,"79":0,"80":0,"81":0.00323,"83":0,"84":0.00968,"85":0.23872,"86":0.38389},I:{"3":0,"4":0.09678,_:"81","2.1":0,"2.2":0,"2.3":0.00077,"4.1":0.04877,"4.2-4.3":0.02168,"4.4":0,"4.4.3-4.4.4":0.17652},P:{"4":0.10138,"5.0-5.4":0.01014,"6.2-6.4":0,"7.2-7.4":0.07097,"8.2":0.05069,"9.2":0.28386,"10.1":0.06083,"11.1-11.2":0.11152,"12.0":0.8009},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.0129,"9":0,"10":0,"11":0.1613,"5.5":0},J:{"7":0,"10":0.04064},N:{"10":0,"11":0},S:{"2.5":0.01355},R:{_:"0"},M:{"0":0.13548},Q:{"10.4":0.06774},O:{"0":1.07029},H:{"0":7.00961},L:{"0":71.416}};
diff --git a/node_modules/caniuse-lite/data/regions/BG.js b/node_modules/caniuse-lite/data/regions/BG.js
new file mode 100644
index 0000000..6b8a62b
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/BG.js
@@ -0,0 +1 @@
+module.exports={C:{"2":0.00519,"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.00519,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.00519,"39":0,"40":0,"41":0,"42":0,"43":0.00519,"44":0,"45":0.00519,"46":0,"47":0.00519,"48":0.00519,"49":0.00519,"50":0.00519,"51":0.00519,"52":0.1868,"53":0,"54":0,"55":0,"56":0.02076,"57":0.00519,"58":0.00519,"59":0.00519,"60":0.03632,"61":0.00519,"62":0.00519,"63":0.01038,"64":0.00519,"65":0.00519,"66":0.01038,"67":0.01038,"68":0.12973,"69":0.00519,"70":0.01038,"71":0.00519,"72":0.02076,"73":0.01038,"74":0.01038,"75":0.01038,"76":0.01557,"77":0.01557,"78":0.15567,"79":0.03113,"80":0.11416,"81":3.17048,"82":0.51371,"83":0.01038,"84":0,"3.5":0,"3.6":0},D:{"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.00519,"23":0,"24":0,"25":0,"26":0.00519,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.00519,"35":0,"36":0,"37":0,"38":0.01038,"39":0,"40":0.00519,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0.00519,"49":0.35285,"50":0.00519,"51":0,"52":0,"53":0.01557,"54":0.00519,"55":0.00519,"56":0.01038,"57":0.00519,"58":0.01557,"59":0,"60":0,"61":0.07784,"62":0.00519,"63":0.02595,"64":0.00519,"65":0.01038,"66":0.00519,"67":0.01038,"68":0.03113,"69":0.04151,"70":0.12973,"71":0.03632,"72":0.02076,"73":0.04151,"74":0.02076,"75":0.02076,"76":0.01557,"77":0.02595,"78":0.03113,"79":0.05708,"80":0.0934,"81":0.08302,"83":0.08302,"84":0.16605,"85":6.61079,"86":10.10298,"87":0.03113,"88":0.00519,"89":0},F:{"9":0,"11":0,"12":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.01038,"37":0,"38":0,"39":0,"40":0.00519,"41":0,"42":0,"43":0,"44":0,"45":0.00519,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0.02076,"52":0,"53":0.00519,"54":0,"55":0,"56":0,"57":0,"58":0.01038,"60":0.00519,"62":0,"63":0.00519,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0.00519,"70":0.1401,"71":0.79911,"72":0.02076,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":4.28525,"3.2":0.01027,"4.0-4.1":0.0088,"4.2-4.3":0.00147,"5.0-5.1":0.00733,"6.0-6.1":0.0044,"7.0-7.1":0.01027,"8.1-8.4":0.03373,"9.0-9.2":0.01907,"9.3":0.24345,"10.0-10.2":0.04106,"10.3":0.22585,"11.0-11.2":0.08506,"11.3-11.4":0.14519,"12.0-12.1":0.14812,"12.2-12.4":1.47681,"13.0-13.1":0.12172,"13.2":0.06013,"13.3":0.45756,"13.4-13.7":2.4374},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.00519,"11":0.01038,"12":0.01038,"13":0.04151,"14":0.24388,_:"0","3.1":0,"3.2":0,"5.1":0.00519,"6.1":0,"7.1":0,"9.1":0,"10.1":0.00519,"11.1":0.01557,"12.1":0.03113,"13.1":0.23351},B:{"12":0,"13":0,"14":0.00519,"15":0.01038,"16":0.00519,"17":0.01557,"18":0.11416,"79":0,"80":0,"81":0,"83":0,"84":0.00519,"85":0.3321,"86":0.66938},I:{"3":0,"4":0.09998,_:"81","2.1":0,"2.2":0,"2.3":0.0008,"4.1":0.05039,"4.2-4.3":0.0224,"4.4":0,"4.4.3-4.4.4":0.18237},P:{"4":0.16127,"5.0-5.4":0.01008,"6.2-6.4":0.01008,"7.2-7.4":0.03024,"8.2":0.01008,"9.2":0.07056,"10.1":0.06048,"11.1-11.2":0.13103,"12.0":2.59042},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.01602,"9":0.01068,"10":0.00534,"11":0.69441,"5.5":0},J:{"7":0,"10":0.00481},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.19244},Q:{"10.4":0.00481},O:{"0":0.07217},H:{"0":0.23229},L:{"0":57.68359}};
diff --git a/node_modules/caniuse-lite/data/regions/BH.js b/node_modules/caniuse-lite/data/regions/BH.js
new file mode 100644
index 0000000..0dbb1c4
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/BH.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00531,"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.01062,"69":0,"70":0,"71":0,"72":0.00531,"73":0,"74":0,"75":0.00531,"76":0,"77":0,"78":0.04777,"79":0.00531,"80":0.04777,"81":0.90767,"82":0.12739,"83":0.00531,"84":0,"3.5":0,"3.6":0},D:{"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.00531,"39":0,"40":0,"41":0,"42":0,"43":0.01062,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.11678,"50":0,"51":0,"52":0.00531,"53":0.01592,"54":0,"55":0,"56":0.00531,"57":0,"58":0,"59":0.00531,"60":0,"61":0,"62":0.00531,"63":0.00531,"64":0,"65":0.02654,"66":0,"67":0.02654,"68":0,"69":0.00531,"70":0.01592,"71":0.00531,"72":0.00531,"73":0.05308,"74":0.03716,"75":0.01062,"76":0.02654,"77":0.02654,"78":0.04246,"79":0.0637,"80":0.11147,"81":0.07431,"83":0.08493,"84":0.22824,"85":7.91954,"86":11.57144,"87":0.02123,"88":0.01592,"89":0},F:{"9":0,"11":0,"12":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.00531,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0.01062,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0.00531,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0.00531,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.02654,"69":0.00531,"70":0.03716,"71":0.07431,"72":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":9.03418,"3.2":0.02164,"4.0-4.1":0.01855,"4.2-4.3":0.00309,"5.0-5.1":0.01546,"6.0-6.1":0.00928,"7.0-7.1":0.02164,"8.1-8.4":0.07111,"9.0-9.2":0.04019,"9.3":0.51324,"10.0-10.2":0.08657,"10.3":0.47613,"11.0-11.2":0.17932,"11.3-11.4":0.30609,"12.0-12.1":0.31227,"12.2-12.4":3.11342,"13.0-13.1":0.25662,"13.2":0.12676,"13.3":0.96464,"13.4-13.7":5.13854},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.00531,"11":0.02123,"12":0.03185,"13":0.23355,"14":1.50216,_:"0","3.1":0,"3.2":0,"5.1":0.02654,"6.1":0,"7.1":0,"9.1":0,"10.1":0.01062,"11.1":0.07431,"12.1":0.16986,"13.1":1.45439},B:{"12":0.00531,"13":0.00531,"14":0.00531,"15":0.00531,"16":0.01062,"17":0.02123,"18":0.2017,"79":0,"80":0,"81":0.00531,"83":0.00531,"84":0.01592,"85":0.5998,"86":0.98729},I:{"3":0,"4":0.0258,_:"81","2.1":0,"2.2":0,"2.3":0.00021,"4.1":0.013,"4.2-4.3":0.00578,"4.4":0,"4.4.3-4.4.4":0.04706},P:{"4":0.20264,"5.0-5.4":0.0304,"6.2-6.4":0,"7.2-7.4":0.06079,"8.2":0.02026,"9.2":0.15198,"10.1":0.10132,"11.1-11.2":0.27356,"12.0":3.34356},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.00545,"9":0.00545,"10":0,"11":0.19612,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.13607},Q:{"10.4":0.00469},O:{"0":2.41638},H:{"0":0.29318},L:{"0":40.62728}};
diff --git a/node_modules/caniuse-lite/data/regions/BI.js b/node_modules/caniuse-lite/data/regions/BI.js
new file mode 100644
index 0000000..d6d6e0b
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/BI.js
@@ -0,0 +1 @@
+module.exports={C:{"2":0,"3":0,"4":0,"5":0.00485,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0.00485,"16":0,"17":0.00485,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0.14553,"25":0,"26":0.00485,"27":0,"28":0.00485,"29":0,"30":0,"31":0,"32":0.00485,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.00485,"44":0,"45":0.01455,"46":0,"47":0.0097,"48":0.00485,"49":0.00485,"50":0,"51":0.00485,"52":0.03396,"53":0,"54":0,"55":0,"56":0.30076,"57":0.0097,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0.0097,"65":0.00485,"66":0.00485,"67":0,"68":0.02911,"69":0,"70":0,"71":0,"72":0.02426,"73":0,"74":0.0097,"75":0,"76":0.02911,"77":0,"78":0.14068,"79":0.10672,"80":0.10672,"81":2.55648,"82":0.45599,"83":0.12613,"84":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00485,"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.00485,"25":0.00485,"26":0.0097,"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.00485,"41":0,"42":0.0097,"43":0.0194,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.08732,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0.00485,"58":0,"59":0,"60":0,"61":0.00485,"62":0,"63":0.02911,"64":0.00485,"65":0.00485,"66":0,"67":0.0097,"68":0.00485,"69":0.16008,"70":0.00485,"71":0.00485,"72":0.0097,"73":0.01455,"74":0.0194,"75":0.01455,"76":0.0097,"77":0.0194,"78":0.00485,"79":0.08247,"80":0.10672,"81":0.05821,"83":0.09217,"84":0.17949,"85":5.40887,"86":7.22314,"87":0.04851,"88":0.01455,"89":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0.00485,"17":0,"18":0,"19":0,"20":0.01455,"21":0,"22":0.00485,"23":0.0194,"24":0.04366,"25":0,"26":0.01455,"27":0.01455,"28":0.04851,"29":0.01455,"30":0.0097,"31":0.00485,"32":0.02426,"33":0.0194,"34":0,"35":0,"36":0.00485,"37":0,"38":0.01455,"39":0,"40":0,"41":0,"42":0.0194,"43":0,"44":0,"45":0.02426,"46":0.08732,"47":0.2571,"48":0,"49":0,"50":0.2571,"51":0.84407,"52":0.03396,"53":0.00485,"54":0.00485,"55":0,"56":0,"57":0,"58":0,"60":0.00485,"62":0,"63":0.00485,"64":0,"65":0,"66":0,"67":0.02911,"68":0.00485,"69":0,"70":0.16493,"71":1.36798,"72":0.04366,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.03396},G:{"8":0,"14":1.4134,"3.2":0.00339,"4.0-4.1":0.0029,"4.2-4.3":0.00048,"5.0-5.1":0.00242,"6.0-6.1":0.00145,"7.0-7.1":0.00339,"8.1-8.4":0.01113,"9.0-9.2":0.00629,"9.3":0.0803,"10.0-10.2":0.01354,"10.3":0.07449,"11.0-11.2":0.02806,"11.3-11.4":0.04789,"12.0-12.1":0.04885,"12.2-12.4":0.48709,"13.0-13.1":0.04015,"13.2":0.01983,"13.3":0.15092,"13.4-13.7":0.80392},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0.00485,"10":0,"11":0.05336,"12":0.00485,"13":0.0194,"14":0.02911,_:"0","3.1":0,"3.2":0,"5.1":0.39778,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0.07762,"12.1":0.10187,"13.1":0.16493},B:{"12":0.02911,"13":0.0097,"14":0.02911,"15":0.01455,"16":0.03881,"17":0.03881,"18":0.19404,"79":0,"80":0,"81":0.00485,"83":0.00485,"84":0.02911,"85":0.2571,"86":0.48025},I:{"3":0,"4":0.1652,_:"81","2.1":0,"2.2":0,"2.3":0.00132,"4.1":0.08326,"4.2-4.3":0.03701,"4.4":0,"4.4.3-4.4.4":0.30133},P:{"4":0.16601,"5.0-5.4":0.01038,"6.2-6.4":0.02075,"7.2-7.4":0.03113,"8.2":0,"9.2":0.0415,"10.1":0.083,"11.1-11.2":0.05188,"12.0":0.97529},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.02426,"9":0,"10":0,"11":0.19889,"5.5":0},J:{"7":0,"10":0.01545},N:{"10":0,"11":0},S:{"2.5":0.00515},R:{_:"0"},M:{"0":0.07724},Q:{"10.4":0.00515},O:{"0":0.46341},H:{"0":12.7182},L:{"0":51.22785}};
diff --git a/node_modules/caniuse-lite/data/regions/BJ.js b/node_modules/caniuse-lite/data/regions/BJ.js
new file mode 100644
index 0000000..965d342
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/BJ.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00503,"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.01006,"44":0,"45":0,"46":0,"47":0.00503,"48":0.00503,"49":0,"50":0.00503,"51":0.00503,"52":0.02011,"53":0,"54":0,"55":0,"56":0.00503,"57":0.00503,"58":0,"59":0,"60":0.00503,"61":0.01006,"62":0,"63":0.01006,"64":0,"65":0.00503,"66":0.01006,"67":0.00503,"68":0.0352,"69":0.07039,"70":0,"71":0,"72":0.0352,"73":0.00503,"74":0.01006,"75":0.00503,"76":0.00503,"77":0.00503,"78":0.09553,"79":0.02514,"80":0.11062,"81":2.09668,"82":0.22626,"83":0.00503,"84":0,"3.5":0,"3.6":0},D:{"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.00503,"23":0,"24":0.00503,"25":0,"26":0.00503,"27":0,"28":0,"29":0,"30":0.00503,"31":0.02011,"32":0,"33":0.10056,"34":0,"35":0.00503,"36":0.02514,"37":0.30168,"38":0.00503,"39":0,"40":0,"41":0,"42":0,"43":0.00503,"44":0.00503,"45":0,"46":0.00503,"47":0.01006,"48":0,"49":0.08045,"50":0.01508,"51":0,"52":0,"53":0.00503,"54":0,"55":0.00503,"56":0.00503,"57":0.01006,"58":0.07039,"59":0.00503,"60":0.03017,"61":0.00503,"62":0.00503,"63":0.02514,"64":0.00503,"65":0.01006,"66":0.01006,"67":0.00503,"68":0.00503,"69":0.06034,"70":0.02011,"71":0.02011,"72":0.03017,"73":0.01508,"74":0.18101,"75":0.04525,"76":0.05028,"77":0.04022,"78":0.03017,"79":0.13073,"80":0.25643,"81":0.10559,"83":0.17598,"84":0.3419,"85":5.59616,"86":8.59788,"87":0.02011,"88":0.00503,"89":0},F:{"9":0,"11":0,"12":0,"15":0.02514,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0.01006,"24":0.02514,"25":0,"26":0.02514,"27":0.02514,"28":0.02011,"29":0.00503,"30":0.03017,"31":0.01006,"32":0.01006,"33":0.01508,"34":0,"35":0.02514,"36":0,"37":0,"38":0.01006,"39":0,"40":0.00503,"41":0,"42":0.02514,"43":0,"44":0,"45":0.01006,"46":0.04022,"47":0.02011,"48":0,"49":0,"50":0.12067,"51":0.70392,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0.01006,"58":0,"60":0.03017,"62":0.00503,"63":0,"64":0,"65":0,"66":0.00503,"67":0,"68":0.02011,"69":0.01006,"70":0.20615,"71":1.23689,"72":0.04022,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.07542},G:{"8":0,"14":2.03016,"3.2":0.00486,"4.0-4.1":0.00417,"4.2-4.3":0.00069,"5.0-5.1":0.00347,"6.0-6.1":0.00208,"7.0-7.1":0.00486,"8.1-8.4":0.01598,"9.0-9.2":0.00903,"9.3":0.11533,"10.0-10.2":0.01945,"10.3":0.107,"11.0-11.2":0.0403,"11.3-11.4":0.06878,"12.0-12.1":0.07017,"12.2-12.4":0.69965,"13.0-13.1":0.05767,"13.2":0.02849,"13.3":0.21677,"13.4-13.7":1.15473},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.01006,"12":0.01006,"13":0.05028,"14":0.32179,_:"0","3.1":0,"3.2":0,"5.1":0.1257,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0.02011,"12.1":0.07542,"13.1":0.29162},B:{"12":0.01508,"13":0.00503,"14":0.00503,"15":0.01006,"16":0.01006,"17":0.01006,"18":0.0905,"79":0,"80":0,"81":0,"83":0.00503,"84":0.01508,"85":0.51286,"86":0.72906},I:{"3":0,"4":0.04072,_:"81","2.1":0,"2.2":0,"2.3":0.00033,"4.1":0.02052,"4.2-4.3":0.00912,"4.4":0,"4.4.3-4.4.4":0.07428},P:{"4":0.07355,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.01051,"8.2":0,"9.2":0.02101,"10.1":0.02101,"11.1-11.2":0.03152,"12.0":0.39926},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.06983,"9":0,"10":0,"11":0.18157,"5.5":0},J:{"7":0,"10":0.01492},N:{"10":0,"11":0.00497},S:{"2.5":0.03978},R:{_:"0"},M:{"0":0.19391},Q:{"10.4":0.1243},O:{"0":0.52703},H:{"0":6.75949},L:{"0":58.34858}};
diff --git a/node_modules/caniuse-lite/data/regions/BM.js b/node_modules/caniuse-lite/data/regions/BM.js
new file mode 100644
index 0000000..6b139a4
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/BM.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00842,"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.01685,"49":0,"50":0,"51":0.00842,"52":0.05897,"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.01685,"66":0,"67":0,"68":0.00842,"69":0,"70":0,"71":0,"72":0.01685,"73":0.01685,"74":0,"75":0.00842,"76":0,"77":0.00842,"78":0.09266,"79":0.01685,"80":0.2106,"81":1.87855,"82":0.0337,"83":0,"84":0,"3.5":0,"3.6":0},D:{"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.00842,"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.13478,"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.02527,"64":0,"65":0.05054,"66":0.05054,"67":0.02527,"68":0.06739,"69":0,"70":0.0337,"71":0.04212,"72":0.01685,"73":0.22745,"74":0.01685,"75":0.0337,"76":0.07582,"77":1.17094,"78":0.05897,"79":0.2106,"80":0.12636,"81":0.07582,"83":0.20218,"84":1.25518,"85":25.01928,"86":6.41066,"87":0.01685,"88":0,"89":0},F:{"9":0,"11":0,"12":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.00842,"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,"60":0,"62":0,"63":0.00842,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.04212,"71":0.07582,"72":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":8.53157,"3.2":0.02044,"4.0-4.1":0.01752,"4.2-4.3":0.00292,"5.0-5.1":0.0146,"6.0-6.1":0.00876,"7.0-7.1":0.02044,"8.1-8.4":0.06715,"9.0-9.2":0.03796,"9.3":0.48468,"10.0-10.2":0.08175,"10.3":0.44964,"11.0-11.2":0.16935,"11.3-11.4":0.28906,"12.0-12.1":0.2949,"12.2-12.4":2.94021,"13.0-13.1":0.24234,"13.2":0.11971,"13.3":0.91097,"13.4-13.7":4.85266},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0.02527,"10":0.00842,"11":0.0337,"12":0.07582,"13":0.5981,"14":3.62232,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0.00842,"7.1":0.05054,"9.1":0.04212,"10.1":0.18533,"11.1":0.4212,"12.1":0.51386,"13.1":8.6346},B:{"12":0.02527,"13":0.00842,"14":0.01685,"15":0.04212,"16":0.14321,"17":0.2443,"18":2.08073,"79":0.00842,"80":0,"81":0.0337,"83":0.00842,"84":0.00842,"85":6.47806,"86":0.96034},I:{"3":0,"4":0.14848,_:"81","2.1":0,"2.2":0,"2.3":0.00119,"4.1":0.07483,"4.2-4.3":0.03326,"4.4":0,"4.4.3-4.4.4":0.27083},P:{"4":0.04335,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.01084,"8.2":0.01084,"9.2":0.02168,"10.1":0.01084,"11.1-11.2":0.06503,"12.0":2.20005},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0.00842,"10":0,"11":4.00982,"5.5":0},J:{"7":0,"10":0.00473},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.07565},Q:{"10.4":0},O:{"0":0.00315},H:{"0":0.0179},L:{"0":9.0571}};
diff --git a/node_modules/caniuse-lite/data/regions/BN.js b/node_modules/caniuse-lite/data/regions/BN.js
new file mode 100644
index 0000000..8fa5327
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/BN.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00541,"30":0,"31":0,"32":0.01081,"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.01081,"46":0,"47":0.00541,"48":0.01622,"49":0,"50":0,"51":0,"52":0.04865,"53":0,"54":0,"55":0,"56":0,"57":0.00541,"58":0,"59":0,"60":0,"61":0.00541,"62":0,"63":0,"64":0,"65":0.01622,"66":0.02162,"67":0,"68":0.01081,"69":0,"70":0.00541,"71":0,"72":0.02162,"73":0,"74":0.00541,"75":0,"76":0.01081,"77":0.00541,"78":0.03784,"79":0.03243,"80":0.08108,"81":1.67015,"82":0.23242,"83":0.02162,"84":0,"3.5":0,"3.6":0},D:{"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.01622,"35":0,"36":0,"37":0,"38":0.03243,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0.01622,"48":0,"49":0.23782,"50":0.00541,"51":0,"52":0.00541,"53":0.01081,"54":0,"55":0.00541,"56":0,"57":0.00541,"58":0.00541,"59":0,"60":0.01081,"61":0.00541,"62":0,"63":0.01081,"64":0.00541,"65":0.01081,"66":0.00541,"67":0.12432,"68":0.00541,"69":0.09189,"70":0.01081,"71":0.04865,"72":0.03784,"73":0.03784,"74":0.04324,"75":0.02703,"76":0.01622,"77":0.01622,"78":0.04324,"79":0.03243,"80":0.09729,"81":0.23782,"83":0.07567,"84":0.22161,"85":7.66429,"86":11.50184,"87":0.04865,"88":0.01081,"89":0},F:{"9":0,"11":0,"12":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.00541,"37":0.02703,"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.01081,"51":0.08108,"52":0.00541,"53":0,"54":0.01081,"55":0.00541,"56":0,"57":0,"58":0,"60":0.04324,"62":0,"63":0.00541,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.05946,"71":0.37295,"72":0.01081,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.00541},G:{"8":0,"14":8.16311,"3.2":0.01956,"4.0-4.1":0.01676,"4.2-4.3":0.00279,"5.0-5.1":0.01397,"6.0-6.1":0.00838,"7.0-7.1":0.01956,"8.1-8.4":0.06425,"9.0-9.2":0.03632,"9.3":0.46375,"10.0-10.2":0.07822,"10.3":0.43023,"11.0-11.2":0.16203,"11.3-11.4":0.27657,"12.0-12.1":0.28216,"12.2-12.4":2.81323,"13.0-13.1":0.23187,"13.2":0.11454,"13.3":0.87163,"13.4-13.7":4.64309},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0.00541,"10":0,"11":0.01081,"12":0.03784,"13":0.24323,"14":0.70265,_:"0","3.1":0,"3.2":0,"5.1":0.02162,"6.1":0,"7.1":0,"9.1":0.01081,"10.1":0.03243,"11.1":0.05405,"12.1":0.27025,"13.1":1.13505},B:{"12":0.00541,"13":0,"14":0,"15":0.00541,"16":0.00541,"17":0.03243,"18":0.06486,"79":0,"80":0,"81":0,"83":0,"84":0.01081,"85":0.3243,"86":0.62158},I:{"3":0,"4":0.04084,_:"81","2.1":0,"2.2":0,"2.3":0.00033,"4.1":0.02059,"4.2-4.3":0.00915,"4.4":0,"4.4.3-4.4.4":0.0745},P:{"4":0.4635,"5.0-5.4":0.01053,"6.2-6.4":0.02107,"7.2-7.4":0.0316,"8.2":0.01053,"9.2":0.18961,"10.1":0.11588,"11.1-11.2":0.13694,"12.0":2.11736},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.00894,"9":0.00894,"10":0.00894,"11":0.2056,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.21597},Q:{"10.4":0.00919},O:{"0":1.88395},H:{"0":1.7923},L:{"0":42.73536}};
diff --git a/node_modules/caniuse-lite/data/regions/BO.js b/node_modules/caniuse-lite/data/regions/BO.js
new file mode 100644
index 0000000..0995fac
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/BO.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00603,"44":0,"45":0,"46":0,"47":0.00603,"48":0.01809,"49":0,"50":0,"51":0,"52":0.03618,"53":0,"54":0,"55":0,"56":0.00603,"57":0,"58":0.00603,"59":0,"60":0.00603,"61":0.00603,"62":0.00603,"63":0,"64":0.00603,"65":0.00603,"66":0.00603,"67":0.00603,"68":0.02412,"69":0.01206,"70":0.00603,"71":0.00603,"72":0.01809,"73":0.00603,"74":0.00603,"75":0,"76":0.00603,"77":0.01206,"78":0.22311,"79":0.01809,"80":0.06633,"81":2.39391,"82":0.31356,"83":0.01206,"84":0,"3.5":0,"3.6":0},D:{"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.00603,"32":0,"33":0,"34":0.00603,"35":0,"36":0,"37":0,"38":0.00603,"39":0,"40":0.00603,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0.00603,"47":0.01809,"48":0,"49":0.1809,"50":0,"51":0.00603,"52":0,"53":0.01206,"54":0,"55":0.00603,"56":0.00603,"57":0,"58":0.00603,"59":0,"60":0,"61":0,"62":0.00603,"63":0.02412,"64":0.01206,"65":0.03015,"66":0.01206,"67":0.02412,"68":0.01206,"69":0.01809,"70":0.03618,"71":0.03618,"72":0.03015,"73":0.04221,"74":0.04824,"75":0.03618,"76":0.04824,"77":0.06633,"78":0.04824,"79":0.15075,"80":0.13869,"81":0.11457,"83":0.16281,"84":0.27135,"85":9.96759,"86":16.41969,"87":0.01206,"88":0.00603,"89":0},F:{"9":0,"11":0,"12":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.01206,"51":0.02412,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0.00603,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.10854,"71":0.99495,"72":0.01809,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":1.32582,"3.2":0.00318,"4.0-4.1":0.00272,"4.2-4.3":0.00045,"5.0-5.1":0.00227,"6.0-6.1":0.00136,"7.0-7.1":0.00318,"8.1-8.4":0.01044,"9.0-9.2":0.0059,"9.3":0.07532,"10.0-10.2":0.0127,"10.3":0.06988,"11.0-11.2":0.02632,"11.3-11.4":0.04492,"12.0-12.1":0.04583,"12.2-12.4":0.45691,"13.0-13.1":0.03766,"13.2":0.0186,"13.3":0.14157,"13.4-13.7":0.75411},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.00603,"11":0.00603,"12":0.03618,"13":0.07236,"14":0.36783,_:"0","3.1":0,"3.2":0,"5.1":0.69345,"6.1":0,"7.1":0,"9.1":0.00603,"10.1":0.01809,"11.1":0.07839,"12.1":0.09648,"13.1":0.43416},B:{"12":0,"13":0,"14":0.00603,"15":0.00603,"16":0.00603,"17":0.01206,"18":0.05427,"79":0,"80":0.00603,"81":0,"83":0,"84":0.00603,"85":0.41004,"86":0.74169},I:{"3":0,"4":0.06791,_:"81","2.1":0,"2.2":0,"2.3":0.00054,"4.1":0.03423,"4.2-4.3":0.01521,"4.4":0,"4.4.3-4.4.4":0.12387},P:{"4":0.55182,"5.0-5.4":0.02007,"6.2-6.4":0.04013,"7.2-7.4":0.28093,"8.2":0.04013,"9.2":0.16053,"10.1":0.1204,"11.1-11.2":0.22073,"12.0":2.06681},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.01252,"9":0,"10":0,"11":0.15029,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.10719},Q:{"10.4":0.00794},O:{"0":0.24614},H:{"0":0.29317},L:{"0":54.2388}};
diff --git a/node_modules/caniuse-lite/data/regions/BR.js b/node_modules/caniuse-lite/data/regions/BR.js
new file mode 100644
index 0000000..96f7e4b
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/BR.js
@@ -0,0 +1 @@
+module.exports={C:{"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.02162,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0.00721,"61":0,"62":0,"63":0.00721,"64":0.00721,"65":0.01442,"66":0.00721,"67":0,"68":0.03604,"69":0,"70":0.00721,"71":0,"72":0.00721,"73":0,"74":0,"75":0.00721,"76":0.00721,"77":0.01442,"78":0.05046,"79":0.01442,"80":0.04325,"81":1.7083,"82":0.25228,"83":0.00721,"84":0,"3.5":0,"3.6":0},D:{"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.00721,"37":0,"38":0.00721,"39":0,"40":0,"41":0,"42":0,"43":0.00721,"44":0,"45":0,"46":0,"47":0,"48":0.00721,"49":0.10812,"50":0,"51":0,"52":0,"53":0.01442,"54":0.00721,"55":0.00721,"56":0,"57":0,"58":0.01442,"59":0,"60":0,"61":0.03604,"62":0,"63":0.02162,"64":0,"65":0.01442,"66":0.00721,"67":0.02162,"68":0.00721,"69":0.01442,"70":0.05766,"71":0.07929,"72":0.06487,"73":0.04325,"74":0.03604,"75":0.04325,"76":0.02883,"77":0.03604,"78":0.06487,"79":0.0865,"80":0.14416,"81":0.10091,"83":0.18741,"84":0.35319,"85":15.46837,"86":25.86951,"87":0.07929,"88":0.02883,"89":0},F:{"9":0,"11":0,"12":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.00721,"51":0.01442,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0.00721,"58":0.00721,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.00721,"69":0,"70":0.12974,"71":1.90291,"72":0.03604,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":3.03987,"3.2":0.00728,"4.0-4.1":0.00624,"4.2-4.3":0.00104,"5.0-5.1":0.0052,"6.0-6.1":0.00312,"7.0-7.1":0.00728,"8.1-8.4":0.02393,"9.0-9.2":0.01352,"9.3":0.1727,"10.0-10.2":0.02913,"10.3":0.16021,"11.0-11.2":0.06034,"11.3-11.4":0.10299,"12.0-12.1":0.10507,"12.2-12.4":1.04762,"13.0-13.1":0.08635,"13.2":0.04265,"13.3":0.32459,"13.4-13.7":1.72904},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.00721,"13":0.06487,"14":0.49735,_:"0","3.1":0,"3.2":0,"5.1":0.00721,"6.1":0,"7.1":0,"9.1":0,"10.1":0.00721,"11.1":0.02883,"12.1":0.05766,"13.1":0.46852},B:{"12":0,"13":0,"14":0.00721,"15":0.00721,"16":0.00721,"17":0.01442,"18":0.10091,"79":0,"80":0,"81":0,"83":0,"84":0.01442,"85":0.85775,"86":1.57134},I:{"3":0,"4":0.02247,_:"81","2.1":0,"2.2":0,"2.3":0.00018,"4.1":0.01133,"4.2-4.3":0.00503,"4.4":0,"4.4.3-4.4.4":0.04099},P:{"4":0.05129,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.10259,"8.2":0,"9.2":0.05129,"10.1":0.02052,"11.1-11.2":0.08207,"12.0":1.4875},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.0659,"9":0.00824,"10":0.00824,"11":0.14828,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.06701},Q:{"10.4":0.00279},O:{"0":0.07538},H:{"0":0.12688},L:{"0":37.60993}};
diff --git a/node_modules/caniuse-lite/data/regions/BS.js b/node_modules/caniuse-lite/data/regions/BS.js
new file mode 100644
index 0000000..df7803e
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/BS.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00428,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0.00428,"42":0,"43":0,"44":0,"45":0.00428,"46":0,"47":0,"48":0.02568,"49":0,"50":0,"51":0,"52":0.00856,"53":0.00428,"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.00428,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0.00428,"73":0,"74":0.01284,"75":0,"76":0,"77":0,"78":0.02568,"79":0.00856,"80":0.01712,"81":0.52216,"82":0.10272,"83":0.00428,"84":0,"3.5":0,"3.6":0},D:{"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.04708,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.00428,"59":0,"60":0,"61":0,"62":0,"63":0.00428,"64":0,"65":0.03852,"66":0,"67":0.01712,"68":0,"69":0.00428,"70":0.00856,"71":0.01712,"72":0.00428,"73":0.01284,"74":0.00856,"75":0.02568,"76":0.10272,"77":0.00856,"78":0.02996,"79":0.01712,"80":0.01284,"81":0.02568,"83":0.06848,"84":0.10272,"85":3.53528,"86":5.6068,"87":0.00856,"88":0.00428,"89":0},F:{"9":0,"11":0,"12":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,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.00856,"71":0.05136,"72":0.00428,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":10.91196,"3.2":0.02614,"4.0-4.1":0.02241,"4.2-4.3":0.00373,"5.0-5.1":0.01867,"6.0-6.1":0.0112,"7.0-7.1":0.02614,"8.1-8.4":0.08589,"9.0-9.2":0.04855,"9.3":0.61991,"10.0-10.2":0.10456,"10.3":0.5751,"11.0-11.2":0.2166,"11.3-11.4":0.36971,"12.0-12.1":0.37718,"12.2-12.4":3.76056,"13.0-13.1":0.30996,"13.2":0.15311,"13.3":1.16514,"13.4-13.7":6.2066},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.01712,"13":0.107,"14":0.79608,_:"0","3.1":0,"3.2":0,"5.1":0.00856,"6.1":0,"7.1":0,"9.1":0,"10.1":0.01712,"11.1":0.04708,"12.1":0.05564,"13.1":1.36104},B:{"12":0.00428,"13":0.03424,"14":0.00856,"15":0.02996,"16":0.02996,"17":0.06848,"18":0.29104,"79":0,"80":0,"81":0,"83":0,"84":0.00856,"85":0.8346,"86":1.78048},I:{"3":0,"4":0.18838,_:"81","2.1":0,"2.2":0,"2.3":0.00151,"4.1":0.09494,"4.2-4.3":0.0422,"4.4":0,"4.4.3-4.4.4":0.34361},P:{"4":0.08372,"5.0-5.4":0,"6.2-6.4":0.02093,"7.2-7.4":0.3558,"8.2":0.02093,"9.2":0.60696,"10.1":0.13604,"11.1-11.2":0.78486,"12.0":7.12656},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.35524,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.10296},Q:{"10.4":0},O:{"0":0.02288},H:{"0":0.02708},L:{"0":44.5126}};
diff --git a/node_modules/caniuse-lite/data/regions/BT.js b/node_modules/caniuse-lite/data/regions/BT.js
new file mode 100644
index 0000000..fc3bb0f
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/BT.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00391,"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.01174,"69":0.00391,"70":0,"71":0,"72":0.00391,"73":0,"74":0.00391,"75":0,"76":0,"77":0,"78":0.00782,"79":0.00391,"80":0.01565,"81":0.43032,"82":0.11345,"83":0.02347,"84":0,"3.5":0,"3.6":0},D:{"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.04694,"50":0,"51":0,"52":0,"53":0.00782,"54":0.00391,"55":0,"56":0,"57":0,"58":0,"59":0.00391,"60":0,"61":0,"62":0,"63":0.00782,"64":0,"65":0.00391,"66":0.01174,"67":0.05477,"68":0.01956,"69":0.00391,"70":0.00391,"71":0.00391,"72":0.00391,"73":0.01174,"74":0.01565,"75":0.02347,"76":0.00782,"77":0.02347,"78":0.01174,"79":0.01956,"80":0.12518,"81":0.05477,"83":0.04303,"84":0.1643,"85":3.93547,"86":5.84844,"87":0.04303,"88":0.01174,"89":0},F:{"9":0,"11":0,"12":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.01174,"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.00391,"52":0,"53":0,"54":0,"55":0.00391,"56":0,"57":0,"58":0,"60":0.01174,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0.00391,"70":0.01565,"71":0.12518,"72":0.00391,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":4.11206,"3.2":0.00985,"4.0-4.1":0.00844,"4.2-4.3":0.00141,"5.0-5.1":0.00704,"6.0-6.1":0.00422,"7.0-7.1":0.00985,"8.1-8.4":0.03237,"9.0-9.2":0.01829,"9.3":0.23361,"10.0-10.2":0.0394,"10.3":0.21672,"11.0-11.2":0.08162,"11.3-11.4":0.13932,"12.0-12.1":0.14213,"12.2-12.4":1.41713,"13.0-13.1":0.1168,"13.2":0.0577,"13.3":0.43907,"13.4-13.7":2.33889},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.01174,"13":0.02738,"14":0.18386,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0.00391,"11.1":0.00391,"12.1":0.02347,"13.1":0.11736},B:{"12":0.01565,"13":0.00782,"14":0.00391,"15":0.02738,"16":0.00391,"17":0.01565,"18":0.08606,"79":0,"80":0,"81":0.00391,"83":0,"84":0.01174,"85":0.29731,"86":0.6181},I:{"3":0,"4":0.0083,_:"81","2.1":0,"2.2":0,"2.3":0.00007,"4.1":0.00418,"4.2-4.3":0.00186,"4.4":0,"4.4.3-4.4.4":0.01515},P:{"4":0.67413,"5.0-5.4":0,"6.2-6.4":0.01006,"7.2-7.4":0.31191,"8.2":0.05031,"9.2":0.3924,"10.1":0.11068,"11.1-11.2":0.49302,"12.0":1.30801},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.02738,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.04262},Q:{"10.4":0},O:{"0":3.37884},H:{"0":0.25937},L:{"0":67.83225}};
diff --git a/node_modules/caniuse-lite/data/regions/BW.js b/node_modules/caniuse-lite/data/regions/BW.js
new file mode 100644
index 0000000..b3b322e
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/BW.js
@@ -0,0 +1 @@
+module.exports={C:{"2":0,"3":0,"4":0.00622,"5":0.00622,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0.00622,"16":0,"17":0.00622,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.01243,"30":0.00622,"31":0,"32":0.00622,"33":0.00622,"34":0.00622,"35":0.00622,"36":0,"37":0,"38":0,"39":0,"40":0.00622,"41":0.00622,"42":0,"43":0.0373,"44":0.00622,"45":0.00622,"46":0,"47":0.02487,"48":0.01865,"49":0.01243,"50":0.00622,"51":0,"52":0.02487,"53":0,"54":0,"55":0,"56":0.0373,"57":0,"58":0.00622,"59":0.00622,"60":0.01243,"61":0,"62":0.00622,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.0373,"69":0.00622,"70":0.00622,"71":0.00622,"72":0.02487,"73":0.00622,"74":0.01865,"75":0.00622,"76":0,"77":0.00622,"78":0.35437,"79":0.06217,"80":0.13056,"81":2.92821,"82":0.39167,"83":0.05595,"84":0,"3.5":0,"3.6":0},D:{"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.01865,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0.00622,"31":0,"32":0,"33":0.00622,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0.03109,"41":0,"42":0.00622,"43":0.03109,"44":0,"45":0,"46":0.00622,"47":0,"48":0,"49":0.28598,"50":0.00622,"51":0.00622,"52":0,"53":0.01865,"54":0,"55":0.00622,"56":0,"57":0.00622,"58":0.05595,"59":0,"60":0.00622,"61":0.00622,"62":0.00622,"63":0.04352,"64":0,"65":0.14299,"66":0.00622,"67":0.15543,"68":0.03109,"69":0.01865,"70":0.01865,"71":0.0373,"72":0.01865,"73":0.04974,"74":0.11812,"75":0.03109,"76":0.09326,"77":0.06839,"78":0.0373,"79":0.08082,"80":0.16164,"81":0.32328,"83":0.19273,"84":0.3668,"85":8.06967,"86":14.07529,"87":0.19894,"88":0.04352,"89":0},F:{"9":0,"11":0,"12":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.00622,"28":0.00622,"29":0,"30":0,"31":0.00622,"32":0,"33":0,"34":0,"35":0.00622,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0.00622,"47":0,"48":0,"49":0,"50":0.0373,"51":0.14921,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0.00622,"62":0,"63":0.00622,"64":0,"65":0,"66":0,"67":0.00622,"68":0.00622,"69":0,"70":0.10569,"71":0.76469,"72":0.00622,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.00622},G:{"8":0,"14":2.58919,"3.2":0.0062,"4.0-4.1":0.00532,"4.2-4.3":0.00089,"5.0-5.1":0.00443,"6.0-6.1":0.00266,"7.0-7.1":0.0062,"8.1-8.4":0.02038,"9.0-9.2":0.01152,"9.3":0.14709,"10.0-10.2":0.02481,"10.3":0.13646,"11.0-11.2":0.05139,"11.3-11.4":0.08772,"12.0-12.1":0.0895,"12.2-12.4":0.8923,"13.0-13.1":0.07355,"13.2":0.03633,"13.3":0.27646,"13.4-13.7":1.4727},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.00622,"11":0.01243,"12":0.0373,"13":0.13677,"14":0.97607,_:"0","3.1":0,"3.2":0,"5.1":0.15543,"6.1":0,"7.1":0,"9.1":0.00622,"10.1":0.0373,"11.1":0.13056,"12.1":0.18651,"13.1":0.56575},B:{"12":0.06217,"13":0.08082,"14":0.05595,"15":0.03109,"16":0.16164,"17":0.10569,"18":0.49114,"79":0,"80":0,"81":0.00622,"83":0.00622,"84":0.0373,"85":0.70252,"86":1.36152},I:{"3":0,"4":0.06286,_:"81","2.1":0,"2.2":0,"2.3":0.0005,"4.1":0.03168,"4.2-4.3":0.01408,"4.4":0,"4.4.3-4.4.4":0.11466},P:{"4":0.21358,"5.0-5.4":0,"6.2-6.4":0.01017,"7.2-7.4":0.24409,"8.2":0.04068,"9.2":0.12205,"10.1":0.04068,"11.1-11.2":0.12205,"12.0":1.85102},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.03125,"9":0,"10":0.01562,"11":1.14057,"5.5":0},J:{"7":0,"10":0.03026},N:{"10":0,"11":0},S:{"2.5":0.00378},R:{_:"0"},M:{"0":0.15889},Q:{"10.4":0.14375},O:{"0":0.86631},H:{"0":0.74137},L:{"0":49.11649}};
diff --git a/node_modules/caniuse-lite/data/regions/BY.js b/node_modules/caniuse-lite/data/regions/BY.js
new file mode 100644
index 0000000..fe3e087
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/BY.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00768,"28":0.00768,"29":0,"30":0.03072,"31":0.04607,"32":0.0384,"33":0.05375,"34":0.05375,"35":0.0384,"36":0.05375,"37":0.0384,"38":0.06911,"39":0.04607,"40":0.06143,"41":0.06143,"42":0.09215,"43":0.08447,"44":0.07679,"45":0.09983,"46":0.04607,"47":0.09215,"48":0.06911,"49":0.05375,"50":0.06911,"51":0.06143,"52":0.16126,"53":0.06143,"54":0.06143,"55":0.04607,"56":0.07679,"57":0.09215,"58":0.06911,"59":0.06143,"60":0.06143,"61":0.04607,"62":0.04607,"63":0.07679,"64":0.03072,"65":0.07679,"66":0.04607,"67":0.08447,"68":0.06143,"69":0.02304,"70":0.02304,"71":0.02304,"72":0.04607,"73":0.03072,"74":0.01536,"75":0.00768,"76":0.01536,"77":0.00768,"78":0.07679,"79":0.02304,"80":0.12286,"81":2.05797,"82":0.25341,"83":0.00768,"84":0,"3.5":0,"3.6":0},D:{"4":0,"5":0.02304,"6":0,"7":0,"8":0,"9":0,"10":0.00768,"11":0.01536,"12":0.00768,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0.00768,"21":0.01536,"22":0.00768,"23":0.00768,"24":0.00768,"25":0.00768,"26":0.02304,"27":0,"28":0,"29":0,"30":0,"31":0.04607,"32":0.01536,"33":0.00768,"34":0.03072,"35":0.02304,"36":0.0384,"37":0.02304,"38":0.02304,"39":0.02304,"40":0.01536,"41":0.06143,"42":0.02304,"43":0.01536,"44":0.00768,"45":0.03072,"46":0.09983,"47":0.09983,"48":0.05375,"49":0.4377,"50":0.02304,"51":0.06911,"52":0.0384,"53":0.06143,"54":0.04607,"55":0.06911,"56":0.08447,"57":0.09215,"58":0.06143,"59":0.08447,"60":0.12286,"61":0.08447,"62":0.09983,"63":0.13054,"64":0.09983,"65":0.07679,"66":0.09983,"67":0.12286,"68":0.09983,"69":0.09983,"70":0.23037,"71":0.15358,"72":0.1843,"73":0.13054,"74":0.1459,"75":0.13822,"76":0.08447,"77":0.19965,"78":0.19965,"79":0.27644,"80":0.36091,"81":0.12286,"83":0.23805,"84":0.36859,"85":12.66267,"86":19.44323,"87":0.02304,"88":0.01536,"89":0},F:{"9":0,"11":0.00768,"12":0.01536,"15":0.02304,"16":0.00768,"17":0.00768,"18":0,"19":0.01536,"20":0.00768,"21":0.00768,"22":0,"23":0,"24":0,"25":0.00768,"26":0,"27":0.00768,"28":0,"29":0.00768,"30":0,"31":0.00768,"32":0.01536,"33":0.00768,"34":0.01536,"35":0,"36":0.13054,"37":0.01536,"38":0.00768,"39":0.00768,"40":0.01536,"41":0.01536,"42":0.00768,"43":0.01536,"44":0.00768,"45":0.01536,"46":0.00768,"47":0,"48":0,"49":0,"50":0.01536,"51":0.05375,"52":0,"53":0.01536,"54":0.00768,"55":0,"56":0.00768,"57":0.01536,"58":0.00768,"60":0.01536,"62":0.02304,"63":0.00768,"64":0,"65":0.00768,"66":0,"67":0.00768,"68":0.03072,"69":0.01536,"70":0.67575,"71":4.53829,"72":0.06143,"9.5-9.6":0,"10.0-10.1":0.00768,"10.5":0,"10.6":0,"11.1":0,"11.5":0.00768,"11.6":0.01536,"12.1":0.06911},G:{"8":0,"14":2.85607,"3.2":0.00684,"4.0-4.1":0.00586,"4.2-4.3":0.00098,"5.0-5.1":0.00489,"6.0-6.1":0.00293,"7.0-7.1":0.00684,"8.1-8.4":0.02248,"9.0-9.2":0.01271,"9.3":0.16225,"10.0-10.2":0.02737,"10.3":0.15053,"11.0-11.2":0.05669,"11.3-11.4":0.09677,"12.0-12.1":0.09872,"12.2-12.4":0.98428,"13.0-13.1":0.08113,"13.2":0.04007,"13.3":0.30496,"13.4-13.7":1.6245},E:{"4":0.0384,"5":0.05375,"6":0.01536,"7":0.0384,"8":0.04607,"9":0.04607,"10":0.03072,"11":0.03072,"12":0.06143,"13":0.23805,"14":0.95988,_:"0","3.1":0.02304,"3.2":0.01536,"5.1":0.46842,"6.1":0.0384,"7.1":0.02304,"9.1":0.06143,"10.1":0.06911,"11.1":0.06911,"12.1":0.13054,"13.1":0.89844},B:{"12":0.03072,"13":0.0384,"14":0.07679,"15":0.03072,"16":0.01536,"17":0.0384,"18":0.13054,"79":0,"80":0,"81":0,"83":0,"84":0.00768,"85":0.27644,"86":0.4761},I:{"3":0,"4":0.04329,_:"81","2.1":0,"2.2":0,"2.3":0.00035,"4.1":0.02182,"4.2-4.3":0.0097,"4.4":0,"4.4.3-4.4.4":0.07895},P:{"4":0.07122,"5.0-5.4":0,"6.2-6.4":0.02035,"7.2-7.4":0.01017,"8.2":0.01017,"9.2":0.03052,"10.1":0.03052,"11.1-11.2":0.05087,"12.0":0.99702},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0.02432,"8":0.04053,"9":0.08106,"10":0.05674,"11":0.23506,"5.5":0},J:{"7":0,"10":0.00464},N:{"10":0.01277,"11":0.01277},S:{"2.5":0},R:{_:"0"},M:{"0":0.06731},Q:{"10.4":0.00696},O:{"0":0.1439},H:{"0":0.57791},L:{"0":29.76691}};
diff --git a/node_modules/caniuse-lite/data/regions/BZ.js b/node_modules/caniuse-lite/data/regions/BZ.js
new file mode 100644
index 0000000..c656d4c
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/BZ.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00556,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0.00556,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0.01113,"64":0,"65":0,"66":0,"67":0,"68":0.00556,"69":0,"70":0,"71":0,"72":0.02782,"73":0.00556,"74":0,"75":0.00556,"76":0,"77":0.00556,"78":0.05564,"79":0.01669,"80":0.10015,"81":1.77492,"82":0.31158,"83":0.01669,"84":0,"3.5":0,"3.6":0},D:{"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.26151,"50":0,"51":0,"52":0,"53":0.01113,"54":0,"55":0.05008,"56":0.00556,"57":0,"58":0.01113,"59":0.01113,"60":0.00556,"61":0,"62":0,"63":0.00556,"64":0,"65":0.01669,"66":0.01113,"67":0.00556,"68":0.00556,"69":0.00556,"70":0.09459,"71":0.02226,"72":0.03338,"73":0.00556,"74":0.01113,"75":0.07233,"76":0.10015,"77":0.03895,"78":0.02782,"79":0.02782,"80":0.04451,"81":0.05008,"83":0.1391,"84":0.17805,"85":6.78252,"86":11.11687,"87":0.02226,"88":0.00556,"89":0},F:{"9":0,"11":0,"12":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.00556,"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.07233,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0.01669,"58":0,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.10015,"71":0.90693,"72":0.01113,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":5.84023,"3.2":0.01399,"4.0-4.1":0.01199,"4.2-4.3":0.002,"5.0-5.1":0.00999,"6.0-6.1":0.006,"7.0-7.1":0.01399,"8.1-8.4":0.04597,"9.0-9.2":0.02598,"9.3":0.33179,"10.0-10.2":0.05596,"10.3":0.3078,"11.0-11.2":0.11593,"11.3-11.4":0.19787,"12.0-12.1":0.20187,"12.2-12.4":2.0127,"13.0-13.1":0.16589,"13.2":0.08195,"13.3":0.6236,"13.4-13.7":3.32186},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.02226,"12":0.08902,"13":0.08346,"14":0.57866,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0.00556,"11.1":0.07233,"12.1":0.03895,"13.1":1.27972},B:{"12":0.01113,"13":0.02226,"14":0.00556,"15":0.01113,"16":0.01669,"17":0.03338,"18":0.4173,"79":0,"80":0.00556,"81":0,"83":0.00556,"84":0.01113,"85":0.85686,"86":1.76379},I:{"3":0,"4":0.49538,_:"81","2.1":0,"2.2":0,"2.3":0.00396,"4.1":0.24967,"4.2-4.3":0.11097,"4.4":0,"4.4.3-4.4.4":0.90358},P:{"4":0.12778,"5.0-5.4":0,"6.2-6.4":0.01065,"7.2-7.4":0.14908,"8.2":0.01065,"9.2":0.13843,"10.1":0.0213,"11.1-11.2":0.41529,"12.0":3.88666},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.00581,"9":0,"10":0,"11":0.2557,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.23067},Q:{"10.4":0.03549},O:{"0":0.08872},H:{"0":0.21839},L:{"0":48.28544}};
diff --git a/node_modules/caniuse-lite/data/regions/CA.js b/node_modules/caniuse-lite/data/regions/CA.js
new file mode 100644
index 0000000..830080b
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/CA.js
@@ -0,0 +1 @@
+module.exports={C:{"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.01215,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.01215,"39":0,"40":0,"41":0,"42":0,"43":0.01215,"44":0.03646,"45":0.01215,"46":0,"47":0.00608,"48":0.01215,"49":0,"50":0,"51":0,"52":0.04861,"53":0.00608,"54":0,"55":0,"56":0.01215,"57":0,"58":0,"59":0,"60":0.00608,"61":0,"62":0,"63":0.24304,"64":0.01215,"65":0.01215,"66":0.01215,"67":0.00608,"68":0.04861,"69":0.00608,"70":0.00608,"71":0.00608,"72":0.01215,"73":0.00608,"74":0.00608,"75":0.01215,"76":0.00608,"77":0.01215,"78":0.09722,"79":0.0243,"80":0.10329,"81":1.87748,"82":0.31595,"83":0.00608,"84":0,"3.5":0,"3.6":0},D:{"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.01215,"26":0,"27":0,"28":0,"29":0.00608,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.00608,"39":0,"40":0.00608,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0.01215,"48":0.09722,"49":0.26127,"50":0,"51":0,"52":0.00608,"53":0.01215,"54":0,"55":0.00608,"56":0.00608,"57":0.00608,"58":0.00608,"59":0.00608,"60":0.00608,"61":0.0243,"62":0.00608,"63":0.01215,"64":0.00608,"65":0.0243,"66":0.01823,"67":0.03038,"68":0.1762,"69":0.03646,"70":0.3038,"71":0.09722,"72":0.08506,"73":0.06076,"74":0.03646,"75":0.05468,"76":0.06076,"77":0.03646,"78":0.05468,"79":0.09114,"80":0.15798,"81":0.13367,"83":0.26127,"84":0.41924,"85":7.80766,"86":10.84566,"87":0.01823,"88":0.01215,"89":0},F:{"9":0,"11":0,"12":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.00608,"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.01215,"52":0.00608,"53":0,"54":0,"55":0,"56":0.00608,"57":0.00608,"58":0.00608,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.00608,"69":0,"70":0.04253,"71":0.23089,"72":0.00608,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.00608},G:{"8":0,"14":14.21346,"3.2":0.03405,"4.0-4.1":0.02919,"4.2-4.3":0.00486,"5.0-5.1":0.02432,"6.0-6.1":0.01459,"7.0-7.1":0.03405,"8.1-8.4":0.11188,"9.0-9.2":0.06324,"9.3":0.80747,"10.0-10.2":0.1362,"10.3":0.7491,"11.0-11.2":0.28213,"11.3-11.4":0.48156,"12.0-12.1":0.49129,"12.2-12.4":4.89834,"13.0-13.1":0.40374,"13.2":0.19944,"13.3":1.51766,"13.4-13.7":8.08445},E:{"4":0,"5":0,"6":0,"7":0,"8":0.00608,"9":0.01215,"10":0.00608,"11":0.01823,"12":0.03038,"13":0.21874,"14":1.74989,_:"0","3.1":0,"3.2":0,"5.1":0.00608,"6.1":0.00608,"7.1":0,"9.1":0.01823,"10.1":0.06076,"11.1":0.13367,"12.1":0.20051,"13.1":2.49724},B:{"12":0.00608,"13":0.00608,"14":0.00608,"15":0.00608,"16":0.01215,"17":0.27342,"18":0.26734,"79":0,"80":0,"81":0.00608,"83":0.00608,"84":0.01215,"85":0.97216,"86":1.95647},I:{"3":0,"4":0.11208,_:"81","2.1":0,"2.2":0,"2.3":0.0009,"4.1":0.05649,"4.2-4.3":0.0251,"4.4":0,"4.4.3-4.4.4":0.20443},P:{"4":0.09575,"5.0-5.4":0.01064,"6.2-6.4":0,"7.2-7.4":0.02128,"8.2":0.01064,"9.2":0.04256,"10.1":0.02128,"11.1-11.2":0.07448,"12.0":3.36206},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.03547,"7":0,"8":0.03547,"9":0.02838,"10":0.01419,"11":1.02877,"5.5":0},J:{"7":0,"10":0.02354},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.32962},Q:{"10.4":0.04316},O:{"0":0.16873},H:{"0":0.12631},L:{"0":25.33088}};
diff --git a/node_modules/caniuse-lite/data/regions/CD.js b/node_modules/caniuse-lite/data/regions/CD.js
new file mode 100644
index 0000000..aaa6758
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/CD.js
@@ -0,0 +1 @@
+module.exports={C:{"3":0.02897,"29":0.00263,"30":0.01317,"32":0.00527,"33":0.00527,"34":0.00527,"40":0.00263,"41":0.00527,"43":0.01054,"44":0.01317,"45":0.0079,"47":0.01054,"48":0.01844,"49":0.00263,"52":0.05531,"56":0.00527,"57":0.00527,"60":0.01054,"67":0.00263,"68":0.06058,"69":0.00263,"70":0.00527,"72":0.06585,"74":0.0079,"75":0.0079,"76":0.02107,"77":0.02371,"78":0.10799,"79":0.06322,"80":0.1475,"81":3.03964,"82":0.31345,"83":0.01317,_:"2 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 31 35 36 37 38 39 42 46 50 51 53 54 55 58 59 61 62 63 64 65 66 71 73 84 3.5 3.6"},D:{"11":0.00263,"22":0.00263,"29":0.00527,"32":0.00263,"33":0.03424,"38":0.00527,"40":0.00527,"42":0.00263,"43":0.01844,"48":0.0079,"49":0.10799,"50":0.00527,"55":0.02371,"57":0.00527,"58":0.0079,"60":0.01054,"61":0.00263,"63":0.03424,"64":0.02634,"65":0.02107,"67":0.00527,"69":0.04741,"70":0.0158,"71":0.00527,"72":0.00263,"73":0.01054,"74":0.0158,"75":0.02107,"76":0.0079,"77":0.05005,"78":0.01844,"79":0.07902,"80":0.07639,"81":0.03161,"83":0.13697,"84":0.21862,"85":4.89397,"86":6.24521,"87":0.0079,"88":0.00263,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 23 24 25 26 27 28 30 31 34 35 36 37 39 41 44 45 46 47 51 52 53 54 56 59 62 66 68 89"},F:{"12":0.00263,"18":0.03161,"30":0.00263,"34":0.01054,"36":0.0079,"42":0.01317,"60":0.00527,"62":0.00527,"63":0.02371,"65":0.00263,"66":0.04478,"67":0.0079,"68":0.02107,"69":0.0079,"70":0.48202,"71":1.8517,"72":0.04478,_:"9 11 15 16 17 19 20 21 22 23 24 25 26 27 28 29 31 32 33 35 37 38 39 40 41 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 64 9.5-9.6 10.5 10.6 11.1 11.5 11.6","10.0-10.1":0,"12.1":0.0079},G:{"8":0,"14":2.03088,"3.2":0.00487,"4.0-4.1":0.00417,"4.2-4.3":0.0007,"5.0-5.1":0.00348,"6.0-6.1":0.00209,"7.0-7.1":0.00487,"8.1-8.4":0.01599,"9.0-9.2":0.00904,"9.3":0.11538,"10.0-10.2":0.01946,"10.3":0.10703,"11.0-11.2":0.04031,"11.3-11.4":0.06881,"12.0-12.1":0.0702,"12.2-12.4":0.6999,"13.0-13.1":0.05769,"13.2":0.0285,"13.3":0.21685,"13.4-13.7":1.15514},E:{"4":0,"10":0.00527,"11":0.04478,"12":0.24233,"13":0.13433,"14":0.33452,_:"0 5 6 7 8 9 3.1 3.2 6.1","5.1":0.06848,"7.1":0.00263,"9.1":0.0079,"10.1":0.1317,"11.1":0.03688,"12.1":0.21072,"13.1":0.32662},B:{"12":0.11326,"13":0.02897,"14":0.02897,"15":0.02371,"16":0.02897,"17":0.10009,"18":0.31345,"81":0.00263,"83":0.00263,"84":0.02371,"85":0.48729,"86":0.87712,_:"79 80"},I:{"3":0,"4":0.10966,_:"81","2.1":0,"2.2":0,"2.3":0.00088,"4.1":0.05527,"4.2-4.3":0.02456,"4.4":0,"4.4.3-4.4.4":0.20002},P:{"4":0.33026,"5.0-5.4":0.03096,"6.2-6.4":0.01032,"7.2-7.4":0.08256,"8.2":0,"9.2":0.13417,"10.1":0.13417,"11.1-11.2":0.11353,"12.0":1.04237},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.39115,"11":0.39115,_:"6 7 9 10 5.5"},J:{"7":0,"10":0.0442},N:{"10":0,"11":0},S:{"2.5":0.10312},R:{_:"0"},M:{"0":0.3462},Q:{"10.4":0.08103},O:{"0":1.34798},H:{"0":30.11223},L:{"0":35.47105}};
diff --git a/node_modules/caniuse-lite/data/regions/CF.js b/node_modules/caniuse-lite/data/regions/CF.js
new file mode 100644
index 0000000..68f4328
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/CF.js
@@ -0,0 +1 @@
+module.exports={C:{"2":0,"3":0,"4":0.00524,"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.00262,"24":0,"25":0.00524,"26":0,"27":0,"28":0,"29":0,"30":0.00262,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0.00787,"40":0,"41":0.00262,"42":0,"43":0,"44":0.00262,"45":0.00524,"46":0,"47":0.00262,"48":0,"49":0,"50":0,"51":0.00262,"52":0.00787,"53":0.00262,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0.00787,"60":0.00524,"61":0.00262,"62":0,"63":0,"64":0.00524,"65":0.00262,"66":0,"67":0,"68":0.07604,"69":0.00262,"70":0,"71":0.00262,"72":0.00262,"73":0,"74":0,"75":0,"76":0,"77":0.00524,"78":0.04195,"79":0.00787,"80":0.03409,"81":0.83117,"82":0.04195,"83":0,"84":0,"3.5":0,"3.6":0},D:{"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.01049,"35":0,"36":0,"37":0.00262,"38":0,"39":0,"40":0.00262,"41":0,"42":0,"43":0.00787,"44":0,"45":0,"46":0.00262,"47":0,"48":0,"49":0.00262,"50":0.01311,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0.00524,"57":0.00262,"58":0,"59":0.00262,"60":0,"61":0,"62":0,"63":0.00787,"64":0.00787,"65":0,"66":0,"67":0,"68":0.00787,"69":0,"70":0,"71":0,"72":0.00262,"73":0,"74":0.00787,"75":0.00262,"76":0.00787,"77":0.00524,"78":0,"79":0.02622,"80":0.01573,"81":0.05506,"83":0.0236,"84":0.0472,"85":1.0016,"86":1.67284,"87":0,"88":0,"89":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0.00262,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.00262,"37":0,"38":0.00262,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0.00262,"48":0,"49":0.00262,"50":0.00524,"51":0.02098,"52":0,"53":0.00262,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0.11799,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0.00524,"68":0.00262,"69":0,"70":0.0236,"71":0.07342,"72":0.01573,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.00787},G:{"8":0,"14":2.08088,"3.2":0.00499,"4.0-4.1":0.00427,"4.2-4.3":0.00071,"5.0-5.1":0.00356,"6.0-6.1":0.00214,"7.0-7.1":0.00499,"8.1-8.4":0.01638,"9.0-9.2":0.00926,"9.3":0.11822,"10.0-10.2":0.01994,"10.3":0.10967,"11.0-11.2":0.0413,"11.3-11.4":0.0705,"12.0-12.1":0.07193,"12.2-12.4":0.71713,"13.0-13.1":0.05911,"13.2":0.0292,"13.3":0.22219,"13.4-13.7":1.18358},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00262,"12":0,"13":0.00524,"14":0.02098,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0,"12.1":0.00524,"13.1":0.1547},B:{"12":0.04195,"13":0.03146,"14":0.03933,"15":0.37495,"16":0,"17":0.0472,"18":0.05244,"79":0,"80":0.00262,"81":0.00262,"83":0,"84":0.07079,"85":0.07342,"86":0.06555},I:{"3":0,"4":0.80585,_:"81","2.1":0,"2.2":0,"2.3":0.00645,"4.1":0.40615,"4.2-4.3":0.18051,"4.4":0,"4.4.3-4.4.4":1.46988},P:{"4":0.48993,"5.0-5.4":0.06124,"6.2-6.4":0.11228,"7.2-7.4":0.23476,"8.2":0.11228,"9.2":0.11228,"10.1":3.29682,"11.1-11.2":0.62262,"12.0":0.86758},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.01049,"9":0,"10":0,"11":0.07866,"5.5":0},J:{"7":0,"10":0.00738},N:{"10":0,"11":0},S:{"2.5":0.10329},R:{_:"0"},M:{"0":0.20658},Q:{"10.4":0.07378},O:{"0":0.55335},H:{"0":7.48095},L:{"0":68.30444}};
diff --git a/node_modules/caniuse-lite/data/regions/CG.js b/node_modules/caniuse-lite/data/regions/CG.js
new file mode 100644
index 0000000..b62652c
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/CG.js
@@ -0,0 +1 @@
+module.exports={C:{"3":0.07655,"15":0.0164,"17":0.0164,"29":0.0164,"39":0.03281,"40":0.01094,"42":0.01094,"43":0.02187,"45":0.00547,"46":0.00547,"47":0.0164,"48":0.06015,"52":0.2898,"60":0.02734,"65":0.0164,"69":0.10936,"70":0.01094,"72":0.07108,"74":0.01094,"76":0.06562,"77":0.02734,"78":0.3937,"79":0.03281,"80":0.22419,"81":7.28884,"82":0.84754,"83":0.06015,"84":0.02734,_:"2 4 5 6 7 8 9 10 11 12 13 14 16 18 19 20 21 22 23 24 25 26 27 28 30 31 32 33 34 35 36 37 38 41 44 49 50 51 53 54 55 56 57 58 59 61 62 63 64 66 67 68 71 73 75 3.5 3.6"},D:{"22":0.00547,"33":0.01094,"37":0.01094,"43":0.01094,"49":0.33355,"56":0.0164,"60":0.01094,"63":0.19138,"64":0.00547,"65":0.02187,"67":0.1531,"68":0.04374,"69":0.01094,"70":0.00547,"71":0.00547,"73":0.02187,"74":0.05468,"75":0.02187,"76":0.17498,"77":0.06015,"78":0.06562,"79":0.13123,"80":0.19685,"81":0.10936,"83":0.62882,"84":0.34448,"85":10.19782,"86":14.45739,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 23 24 25 26 27 28 29 30 31 32 34 35 36 38 39 40 41 42 44 45 46 47 48 50 51 52 53 54 55 57 58 59 61 62 66 72 87 88 89"},F:{"36":0.01094,"40":0.00547,"42":0.01094,"63":0.00547,"67":0.01094,"68":0.01094,"69":0.0164,"70":0.77646,"71":3.25346,"72":0.09296,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 41 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 64 65 66 9.5-9.6 10.5 10.6 11.1 11.5 11.6","10.0-10.1":0,"12.1":0.0164},G:{"8":0,"14":1.45316,"3.2":0.00348,"4.0-4.1":0.00298,"4.2-4.3":0.0005,"5.0-5.1":0.00249,"6.0-6.1":0.00149,"7.0-7.1":0.00348,"8.1-8.4":0.01144,"9.0-9.2":0.00647,"9.3":0.08255,"10.0-10.2":0.01392,"10.3":0.07659,"11.0-11.2":0.02884,"11.3-11.4":0.04923,"12.0-12.1":0.05023,"12.2-12.4":0.5008,"13.0-13.1":0.04128,"13.2":0.02039,"13.3":0.15516,"13.4-13.7":0.82654},E:{"4":0,"12":0.06015,"13":0.2898,"14":0.4265,_:"0 5 6 7 8 9 10 11 3.1 3.2 5.1 6.1","7.1":0.00547,"9.1":0.0164,"10.1":0.02734,"11.1":0.03828,"12.1":0.00547,"13.1":0.71631},B:{"12":0.06562,"13":0.0164,"14":0.02187,"15":0.02187,"16":0.03281,"17":0.04921,"18":3.10036,"81":0.01094,"83":0.01094,"84":0.0164,"85":0.88035,"86":1.85365,_:"79 80"},I:{"3":0,"4":0.17822,_:"81","2.1":0,"2.2":0,"2.3":0.00143,"4.1":0.08983,"4.2-4.3":0.03992,"4.4":0,"4.4.3-4.4.4":0.32508},P:{"4":0.36675,"5.0-5.4":0.03144,"6.2-6.4":0.01032,"7.2-7.4":0.13622,"8.2":0,"9.2":0.07335,"10.1":0.31436,"11.1-11.2":0.06287,"12.0":0.82781},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.20167,"11":0.94114,_:"6 7 9 10 5.5"},J:{"7":0,"10":0.05438},N:{"10":0,"11":0},S:{"2.5":0.61182},R:{_:"0"},M:{"0":0.29005},Q:{"10.4":0.05438},O:{"0":1.45024},H:{"0":2.25686},L:{"0":38.28804}};
diff --git a/node_modules/caniuse-lite/data/regions/CH.js b/node_modules/caniuse-lite/data/regions/CH.js
new file mode 100644
index 0000000..fde351b
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/CH.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00619,"29":0.01857,"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.00619,"46":0,"47":0,"48":0.02476,"49":0,"50":0,"51":0,"52":0.03713,"53":0,"54":0.00619,"55":0.00619,"56":0.04332,"57":0.01238,"58":0,"59":0.00619,"60":0.02476,"61":0,"62":0.00619,"63":0.00619,"64":0,"65":0.00619,"66":0.00619,"67":0.00619,"68":0.14235,"69":0.01238,"70":0.01238,"71":0.00619,"72":0.03713,"73":0.01238,"74":0.01238,"75":0.00619,"76":0.01857,"77":0.02476,"78":0.29707,"79":0.04951,"80":0.19805,"81":3.73816,"82":0.55701,"83":0.01238,"84":0,"3.5":0,"3.6":0},D:{"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.00619,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.00619,"29":0,"30":0,"31":0.00619,"32":0.00619,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.01238,"39":0,"40":0,"41":0.00619,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.12378,"50":0,"51":0,"52":0.06189,"53":0.01238,"54":0,"55":0,"56":0,"57":0.00619,"58":0,"59":0.00619,"60":0.0557,"61":0,"62":0.00619,"63":0.01238,"64":0.00619,"65":0.01857,"66":0.03713,"67":0.01857,"68":0.00619,"69":0.01238,"70":0.02476,"71":0.02476,"72":0.02476,"73":0.01857,"74":0.01857,"75":0.03095,"76":0.03095,"77":0.03713,"78":0.03713,"79":0.09902,"80":0.14854,"81":0.07427,"83":0.25375,"84":0.37753,"85":6.8079,"86":9.51868,"87":0.01238,"88":0.00619,"89":0},F:{"9":0,"11":0,"12":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.00619,"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.00619,"52":0,"53":0.00619,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0.00619,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.00619,"69":0,"70":0.09284,"71":0.60652,"72":0.01238,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":14.28819,"3.2":0.03423,"4.0-4.1":0.02934,"4.2-4.3":0.00489,"5.0-5.1":0.02445,"6.0-6.1":0.01467,"7.0-7.1":0.03423,"8.1-8.4":0.11247,"9.0-9.2":0.06357,"9.3":0.81172,"10.0-10.2":0.13692,"10.3":0.75304,"11.0-11.2":0.28361,"11.3-11.4":0.4841,"12.0-12.1":0.49388,"12.2-12.4":4.9241,"13.0-13.1":0.40586,"13.2":0.20048,"13.3":1.52564,"13.4-13.7":8.12696},E:{"4":0,"5":0,"6":0,"7":0,"8":0.00619,"9":0.02476,"10":0.02476,"11":0.04332,"12":0.06808,"13":0.34658,"14":2.85932,_:"0","3.1":0,"3.2":0,"5.1":0.00619,"6.1":0.00619,"7.1":0,"9.1":0.03095,"10.1":0.08665,"11.1":0.27232,"12.1":0.36515,"13.1":2.89645},B:{"12":0,"13":0,"14":0.00619,"15":0.00619,"16":0.03095,"17":0.06808,"18":0.48893,"79":0,"80":0.01238,"81":0.01238,"83":0.01238,"84":0.04332,"85":1.29969,"86":2.56225},I:{"3":0,"4":0.03999,_:"81","2.1":0,"2.2":0,"2.3":0.00032,"4.1":0.02016,"4.2-4.3":0.00896,"4.4":0,"4.4.3-4.4.4":0.07295},P:{"4":0.09424,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.02094,"8.2":0.01047,"9.2":0.05235,"10.1":0.06282,"11.1-11.2":0.11518,"12.0":3.82181},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.00639,"9":0.00639,"10":0,"11":1.15694,"5.5":0},J:{"7":0,"10":0.00381},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.52592},Q:{"10.4":0.02287},O:{"0":0.08003},H:{"0":0.18401},L:{"0":22.05996}};
diff --git a/node_modules/caniuse-lite/data/regions/CI.js b/node_modules/caniuse-lite/data/regions/CI.js
new file mode 100644
index 0000000..56ba549
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/CI.js
@@ -0,0 +1 @@
+module.exports={C:{"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.01053,"30":0,"31":0,"32":0.01053,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.00527,"44":0,"45":0,"46":0,"47":0.00527,"48":0.01053,"49":0,"50":0.00527,"51":0,"52":0.03686,"53":0,"54":0,"55":0,"56":0.00527,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0.00527,"67":0,"68":0.05266,"69":0,"70":0,"71":0.00527,"72":0.02633,"73":0.00527,"74":0.00527,"75":0,"76":0.00527,"77":0.00527,"78":0.23697,"79":0.0158,"80":0.05793,"81":1.88523,"82":0.27383,"83":0.0316,"84":0,"3.5":0,"3.6":0},D:{"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.00527,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.02633,"30":0,"31":0.00527,"32":0.00527,"33":0.0158,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0.00527,"41":0,"42":0,"43":0.0158,"44":0,"45":0,"46":0.00527,"47":0,"48":0,"49":0.19484,"50":0.00527,"51":0.00527,"52":0,"53":0.01053,"54":0.00527,"55":0.01053,"56":0.00527,"57":0.01053,"58":0.00527,"59":0,"60":0.00527,"61":0.0158,"62":0,"63":0.02633,"64":0.01053,"65":0.04213,"66":0.00527,"67":0.03686,"68":0.00527,"69":0.06319,"70":0.0316,"71":0.02106,"72":0.03686,"73":0.04739,"74":0.08426,"75":0.06846,"76":0.05793,"77":0.05793,"78":0.06846,"79":0.12638,"80":0.35809,"81":0.13692,"83":0.22644,"84":0.37389,"85":6.94585,"86":10.28976,"87":0.0316,"88":0.04213,"89":0},F:{"9":0,"11":0,"12":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.00527,"27":0.01053,"28":0.00527,"29":0,"30":0.00527,"31":0,"32":0.00527,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.00527,"39":0,"40":0,"41":0,"42":0.01053,"43":0,"44":0,"45":0,"46":0.00527,"47":0.00527,"48":0,"49":0.00527,"50":0.06319,"51":0.18958,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0.00527,"62":0,"63":0.01053,"64":0,"65":0,"66":0,"67":0.00527,"68":0.00527,"69":0.00527,"70":0.18431,"71":1.10059,"72":0.05793,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.00527},G:{"8":0,"14":5.21623,"3.2":0.0125,"4.0-4.1":0.01071,"4.2-4.3":0.00179,"5.0-5.1":0.00893,"6.0-6.1":0.00536,"7.0-7.1":0.0125,"8.1-8.4":0.04106,"9.0-9.2":0.02321,"9.3":0.29634,"10.0-10.2":0.04998,"10.3":0.27491,"11.0-11.2":0.10354,"11.3-11.4":0.17673,"12.0-12.1":0.1803,"12.2-12.4":1.79765,"13.0-13.1":0.14817,"13.2":0.07319,"13.3":0.55697,"13.4-13.7":2.96693},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.00527,"11":0.0316,"12":0.0316,"13":0.12112,"14":0.42128,_:"0","3.1":0,"3.2":0,"5.1":0.04213,"6.1":0,"7.1":0,"9.1":0.01053,"10.1":0.0158,"11.1":0.04213,"12.1":0.11059,"13.1":0.38968},B:{"12":0.0158,"13":0.00527,"14":0.0158,"15":0.01053,"16":0.01053,"17":0.0316,"18":0.14218,"79":0,"80":0,"81":0.00527,"83":0.00527,"84":0.0158,"85":0.495,"86":0.7899},I:{"3":0,"4":0.11309,_:"81","2.1":0,"2.2":0,"2.3":0.0009,"4.1":0.057,"4.2-4.3":0.02533,"4.4":0,"4.4.3-4.4.4":0.20628},P:{"4":0.07074,"5.0-5.4":0,"6.2-6.4":0.01011,"7.2-7.4":0.10106,"8.2":0.01011,"9.2":0.11117,"10.1":0.06064,"11.1-11.2":0.20212,"12.0":0.859},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.03717,"9":0,"10":0,"11":0.08921,"5.5":0},J:{"7":0,"10":0.03314},N:{"10":0,"11":0},S:{"2.5":0.0142},R:{_:"0"},M:{"0":0.2083},Q:{"10.4":0.0142},O:{"0":0.445},H:{"0":2.20059},L:{"0":53.98952}};
diff --git a/node_modules/caniuse-lite/data/regions/CK.js b/node_modules/caniuse-lite/data/regions/CK.js
new file mode 100644
index 0000000..6c581d1
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/CK.js
@@ -0,0 +1 @@
+module.exports={C:{"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.034,"28":0,"29":0.0085,"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,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.034,"79":0,"80":0.017,"81":0.646,"82":0.119,"83":0,"84":0,"3.5":0,"3.6":0},D:{"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":47.6085,"47":0,"48":0,"49":0.153,"50":0,"51":0,"52":0,"53":0.017,"54":0,"55":0.0425,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0.0085,"66":0,"67":0.034,"68":0,"69":0.0255,"70":0.0085,"71":0,"72":0,"73":0,"74":0.0085,"75":0,"76":0.0085,"77":0,"78":0,"79":0,"80":0,"81":0.0085,"83":0.0085,"84":0.0935,"85":3.0345,"86":17.0085,"87":0,"88":0,"89":0},F:{"9":0,"11":0,"12":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,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0.5695,"72":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":2.98177,"3.2":0.00714,"4.0-4.1":0.00612,"4.2-4.3":0.00102,"5.0-5.1":0.0051,"6.0-6.1":0.00306,"7.0-7.1":0.00714,"8.1-8.4":0.02347,"9.0-9.2":0.01327,"9.3":0.1694,"10.0-10.2":0.02857,"10.3":0.15715,"11.0-11.2":0.05919,"11.3-11.4":0.10102,"12.0-12.1":0.10307,"12.2-12.4":1.0276,"13.0-13.1":0.0847,"13.2":0.04184,"13.3":0.31838,"13.4-13.7":1.69599},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.068,"14":0.085,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0.0255,"11.1":0.0085,"12.1":0.0085,"13.1":0.221},B:{"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0.136,"79":0,"80":0.0085,"81":0,"83":0,"84":0.0255,"85":0.255,"86":0.3145},I:{"3":0,"4":0.00716,_:"81","2.1":0,"2.2":0,"2.3":0.00006,"4.1":0.00361,"4.2-4.3":0.0016,"4.4":0,"4.4.3-4.4.4":0.01307},P:{"4":0.02011,"5.0-5.4":0,"6.2-6.4":0.02011,"7.2-7.4":0.03016,"8.2":0,"9.2":0.10053,"10.1":0.20107,"11.1-11.2":0.09048,"12.0":1.79955},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.884,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.054},Q:{"10.4":0},O:{"0":0.117},H:{"0":0.09515},L:{"0":16.659}};
diff --git a/node_modules/caniuse-lite/data/regions/CL.js b/node_modules/caniuse-lite/data/regions/CL.js
new file mode 100644
index 0000000..f3561b2
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/CL.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00568,"49":0,"50":0,"51":0,"52":0.01705,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.00568,"59":0,"60":0.00568,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0.01136,"67":0,"68":0.02273,"69":0.00568,"70":0,"71":0,"72":0.00568,"73":0.00568,"74":0,"75":0,"76":0,"77":0.00568,"78":0.09091,"79":0.01136,"80":0.03977,"81":1.18754,"82":0.18182,"83":0.00568,"84":0,"3.5":0,"3.6":0},D:{"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.01136,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0.00568,"49":0.11364,"50":0,"51":0,"52":0,"53":0.03409,"54":0,"55":0,"56":0,"57":0,"58":0.00568,"59":0,"60":0,"61":0,"62":0,"63":0.00568,"64":0,"65":0.02273,"66":0.00568,"67":0.03409,"68":0.00568,"69":0.00568,"70":0.02841,"71":0.02273,"72":0.02841,"73":0.02841,"74":0.01705,"75":0.02841,"76":0.02273,"77":0.02273,"78":0.02841,"79":0.04546,"80":0.11932,"81":0.05682,"83":0.10796,"84":0.22728,"85":9.63667,"86":14.9323,"87":0.01136,"88":0.01136,"89":0},F:{"9":0,"11":0,"12":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,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.00568,"69":0.01136,"70":0.10228,"71":1.0739,"72":0.01705,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":4.35421,"3.2":0.01043,"4.0-4.1":0.00894,"4.2-4.3":0.00149,"5.0-5.1":0.00745,"6.0-6.1":0.00447,"7.0-7.1":0.01043,"8.1-8.4":0.03427,"9.0-9.2":0.01937,"9.3":0.24736,"10.0-10.2":0.04172,"10.3":0.22948,"11.0-11.2":0.08643,"11.3-11.4":0.14752,"12.0-12.1":0.1505,"12.2-12.4":1.50058,"13.0-13.1":0.12368,"13.2":0.0611,"13.3":0.46493,"13.4-13.7":2.47663},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.01136,"12":0.02841,"13":0.11364,"14":0.77275,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0.01136,"11.1":0.05682,"12.1":0.10796,"13.1":0.74434},B:{"12":0,"13":0,"14":0,"15":0,"16":0,"17":0.00568,"18":0.06818,"79":0,"80":0,"81":0,"83":0,"84":0.00568,"85":0.35797,"86":0.68752},I:{"3":0,"4":0.02126,_:"81","2.1":0,"2.2":0,"2.3":0.00017,"4.1":0.01071,"4.2-4.3":0.00476,"4.4":0,"4.4.3-4.4.4":0.03878},P:{"4":0.10075,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.05038,"8.2":0.01008,"9.2":0.11083,"10.1":0.0403,"11.1-11.2":0.18136,"12.0":1.41055},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.01215,"9":0.00607,"10":0.00607,"11":0.15185,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.10363},Q:{"10.4":0.00432},O:{"0":0.01727},H:{"0":0.1022},L:{"0":54.65484}};
diff --git a/node_modules/caniuse-lite/data/regions/CM.js b/node_modules/caniuse-lite/data/regions/CM.js
new file mode 100644
index 0000000..52de3e1
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/CM.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00415,"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.00415,"31":0,"32":0,"33":0.00415,"34":0.00415,"35":0,"36":0,"37":0,"38":0,"39":0.00415,"40":0,"41":0.00415,"42":0,"43":0.01246,"44":0.00415,"45":0.00415,"46":0,"47":0.01661,"48":0.01661,"49":0.01246,"50":0.00415,"51":0.00415,"52":0.08719,"53":0,"54":0.00415,"55":0,"56":0.0083,"57":0.00415,"58":0,"59":0.00415,"60":0.0083,"61":0.00415,"62":0.00415,"63":0.00415,"64":0.0083,"65":0.00415,"66":0.0083,"67":0.0083,"68":0.09965,"69":0.00415,"70":0.00415,"71":0.0083,"72":0.04567,"73":0.00415,"74":0.0083,"75":0.00415,"76":0.00415,"77":0.02076,"78":0.1993,"79":0.02491,"80":0.11626,"81":2.43722,"82":0.27403,"83":0.01246,"84":0.00415,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00415,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0.00415,"24":0.00415,"25":0.00415,"26":0,"27":0.00415,"28":0,"29":0,"30":0,"31":0.00415,"32":0.00415,"33":0.00415,"34":0,"35":0,"36":0,"37":0,"38":0.00415,"39":0,"40":0.00415,"41":0.00415,"42":0,"43":0.0083,"44":0,"45":0,"46":0,"47":0.00415,"48":0.01246,"49":0.07474,"50":0.00415,"51":0,"52":0,"53":0.00415,"54":0,"55":0.00415,"56":0.01246,"57":0.00415,"58":0.0083,"59":0,"60":0.00415,"61":0.06228,"62":0.00415,"63":0.03737,"64":0.0083,"65":0.0083,"66":0.00415,"67":0.01661,"68":0.0083,"69":0.02076,"70":0.0083,"71":0.01246,"72":0.01661,"73":0.01246,"74":0.04152,"75":0.0083,"76":0.0083,"77":0.02906,"78":0.02906,"79":0.06228,"80":0.14117,"81":0.05398,"83":0.08719,"84":0.15362,"85":3.06418,"86":4.68761,"87":0.0083,"88":0.01246,"89":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0.0083,"25":0,"26":0.0083,"27":0.01246,"28":0.01246,"29":0.00415,"30":0.0083,"31":0.00415,"32":0.0083,"33":0.01246,"34":0,"35":0,"36":0.00415,"37":0.01246,"38":0.01246,"39":0,"40":0,"41":0,"42":0.03737,"43":0.00415,"44":0,"45":0.02076,"46":0.04152,"47":0.02076,"48":0,"49":0,"50":0.16193,"51":0.40274,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0.0083,"62":0,"63":0.00415,"64":0,"65":0,"66":0,"67":0.00415,"68":0.00415,"69":0.00415,"70":0.15362,"71":0.99233,"72":0.02076,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.02076},G:{"8":0,"14":2.23878,"3.2":0.00536,"4.0-4.1":0.0046,"4.2-4.3":0.00077,"5.0-5.1":0.00383,"6.0-6.1":0.0023,"7.0-7.1":0.00536,"8.1-8.4":0.01762,"9.0-9.2":0.00996,"9.3":0.12719,"10.0-10.2":0.02145,"10.3":0.11799,"11.0-11.2":0.04444,"11.3-11.4":0.07585,"12.0-12.1":0.07738,"12.2-12.4":0.77154,"13.0-13.1":0.06359,"13.2":0.03141,"13.3":0.23905,"13.4-13.7":1.27339},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0.00415,"10":0,"11":0.00415,"12":0,"13":0.03322,"14":0.05813,_:"0","3.1":0,"3.2":0,"5.1":0.07058,"6.1":0,"7.1":0,"9.1":0.00415,"10.1":0.00415,"11.1":0.01661,"12.1":0.01246,"13.1":0.0955},B:{"12":0.02906,"13":0.01246,"14":0.03737,"15":0.02491,"16":0.01661,"17":0.02491,"18":0.0955,"79":0,"80":0,"81":0.00415,"83":0.0083,"84":0.01661,"85":0.24912,"86":0.36953},I:{"3":0,"4":0.08422,_:"81","2.1":0,"2.2":0,"2.3":0.00067,"4.1":0.04245,"4.2-4.3":0.01887,"4.4":0,"4.4.3-4.4.4":0.15362},P:{"4":0.48038,"5.0-5.4":0.14011,"6.2-6.4":0.03002,"7.2-7.4":0.09007,"8.2":0.01001,"9.2":0.15012,"10.1":0.10008,"11.1-11.2":0.19015,"12.0":0.75059},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.05212,"9":0,"10":0,"11":0.22587,"5.5":0},J:{"7":0,"10":0.03509},N:{"10":0,"11":0.0117},S:{"2.5":0.07018},R:{_:"0"},M:{"0":0.35673},Q:{"10.4":0.03509},O:{"0":1.14621},H:{"0":6.25625},L:{"0":64.81843}};
diff --git a/node_modules/caniuse-lite/data/regions/CN.js b/node_modules/caniuse-lite/data/regions/CN.js
new file mode 100644
index 0000000..42bdb55
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/CN.js
@@ -0,0 +1 @@
+module.exports={C:{"2":0,"3":0,"4":0.00393,"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.03537,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.00393,"30":0,"31":0,"32":0,"33":0.00786,"34":0,"35":0,"36":0.01965,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.75849,"44":0,"45":0.00393,"46":0,"47":0.00393,"48":0.00393,"49":0,"50":0.00393,"51":0,"52":0.01965,"53":0.00393,"54":0.00786,"55":0.00393,"56":0.00786,"57":0.00393,"58":0.00393,"59":0.00393,"60":0.00393,"61":0.00393,"62":0,"63":0.00393,"64":0.00393,"65":0.00393,"66":0.00393,"67":0.00393,"68":0.04323,"69":0.00393,"70":0.00393,"71":0.00393,"72":0.00393,"73":0.00393,"74":0.00393,"75":0.00393,"76":0.00393,"77":0.00393,"78":0.01572,"79":0.00786,"80":0.01965,"81":0.3144,"82":0.04323,"83":0,"84":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.01179,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0.00393,"18":0,"19":0.00786,"20":0,"21":0,"22":0,"23":0,"24":0.00393,"25":0,"26":0,"27":0,"28":0,"29":0.00393,"30":0,"31":0.00786,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.00393,"39":0.00393,"40":0.03537,"41":0.00393,"42":0.00786,"43":0.00786,"44":0,"45":0.02358,"46":0,"47":0.02358,"48":0.07074,"49":0.11397,"50":0.00786,"51":0.00393,"52":0.00393,"53":0.00393,"54":0.01572,"55":0.05502,"56":0.01572,"57":0.17292,"58":0.01179,"59":0.02751,"60":0.00393,"61":0.01179,"62":0.11004,"63":0.06681,"64":0.00393,"65":0.03537,"66":0.00393,"67":0.05109,"68":0.02358,"69":0.56985,"70":0.0393,"71":0.07074,"72":0.14148,"73":0.06681,"74":0.25938,"75":0.10218,"76":0.05895,"77":0.03537,"78":0.15327,"79":0.08646,"80":0.18471,"81":0.08646,"83":0.16506,"84":0.18078,"85":0.85674,"86":1.39908,"87":0.01572,"88":0.00393,"89":0},F:{"9":0,"11":0,"12":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,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.00393,"71":0.02358,"72":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.00393},G:{"8":0,"14":4.32552,"3.2":0.01036,"4.0-4.1":0.00888,"4.2-4.3":0.00148,"5.0-5.1":0.0074,"6.0-6.1":0.00444,"7.0-7.1":0.01036,"8.1-8.4":0.03405,"9.0-9.2":0.01924,"9.3":0.24573,"10.0-10.2":0.04145,"10.3":0.22797,"11.0-11.2":0.08586,"11.3-11.4":0.14655,"12.0-12.1":0.14951,"12.2-12.4":1.49069,"13.0-13.1":0.12287,"13.2":0.06069,"13.3":0.46186,"13.4-13.7":2.46031},E:{"4":0.00393,"5":0,"6":0.00393,"7":0,"8":0,"9":0.00393,"10":0.00393,"11":0.00393,"12":0.01179,"13":0.0393,"14":0.1572,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.00393,"10.1":0.00786,"11.1":0.01179,"12.1":0.02751,"13.1":0.18864},B:{"12":0,"13":0.00393,"14":0.00393,"15":0.00393,"16":0.00786,"17":0.02751,"18":0.51483,"79":0,"80":0.00393,"81":0,"83":0,"84":0.00393,"85":0.13362,"86":0.30654},I:{"3":0,"4":0.57812,_:"81","2.1":0,"2.2":0,"2.3":0.00462,"4.1":0.29137,"4.2-4.3":0.1295,"4.4":0,"4.4.3-4.4.4":1.05448},P:{"4":0.02061,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0,"8.2":0,"9.2":0.0103,"10.1":0.0103,"11.1-11.2":0.02061,"12.0":0.38128},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.03022,"7":0.03022,"8":0.69514,"9":0.45335,"10":0.18134,"11":3.68728,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.1214},Q:{"10.4":7.67248},O:{"0":14.37376},H:{"0":0.07471},L:{"0":41.39448}};
diff --git a/node_modules/caniuse-lite/data/regions/CO.js b/node_modules/caniuse-lite/data/regions/CO.js
new file mode 100644
index 0000000..bb88db8
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/CO.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00743,"49":0,"50":0.00743,"51":0,"52":0.00743,"53":0,"54":0,"55":0,"56":0.00743,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0.00743,"64":0,"65":0,"66":0.01487,"67":0,"68":0.00743,"69":0,"70":0,"71":0,"72":0.00743,"73":0.00743,"74":0.00743,"75":0.00743,"76":0.00743,"77":0.00743,"78":0.06691,"79":0.00743,"80":0.03717,"81":1.35299,"82":0.21559,"83":0.00743,"84":0,"3.5":0,"3.6":0},D:{"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.00743,"39":0,"40":0,"41":0,"42":0.00743,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.08177,"50":0,"51":0,"52":0,"53":0.01487,"54":0,"55":0,"56":0,"57":0,"58":0.00743,"59":0,"60":0,"61":0,"62":0.00743,"63":0.01487,"64":0.00743,"65":0.03717,"66":0.01487,"67":0.03717,"68":0.01487,"69":0.0223,"70":0.0446,"71":0.06691,"72":0.05204,"73":0.0446,"74":0.05947,"75":0.05947,"76":0.06691,"77":0.05204,"78":0.06691,"79":0.12638,"80":0.24532,"81":0.13381,"83":0.23789,"84":0.42374,"85":16.52578,"86":28.81418,"87":0.02974,"88":0.00743,"89":0},F:{"9":0,"11":0,"12":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,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.11151,"71":1.26378,"72":0.0223,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":2.06412,"3.2":0.00494,"4.0-4.1":0.00424,"4.2-4.3":0.00071,"5.0-5.1":0.00353,"6.0-6.1":0.00212,"7.0-7.1":0.00494,"8.1-8.4":0.01625,"9.0-9.2":0.00918,"9.3":0.11726,"10.0-10.2":0.01978,"10.3":0.10879,"11.0-11.2":0.04097,"11.3-11.4":0.06993,"12.0-12.1":0.07135,"12.2-12.4":0.71135,"13.0-13.1":0.05863,"13.2":0.02896,"13.3":0.2204,"13.4-13.7":1.17405},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.01487,"12":0.03717,"13":0.14868,"14":0.92182,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0.00743,"11.1":0.06691,"12.1":0.16355,"13.1":0.86234},B:{"12":0,"13":0,"14":0,"15":0,"16":0,"17":0.00743,"18":0.05947,"79":0,"80":0,"81":0,"83":0,"84":0.00743,"85":0.52781,"86":1.0928},I:{"3":0,"4":0.04164,_:"81","2.1":0,"2.2":0,"2.3":0.00033,"4.1":0.02098,"4.2-4.3":0.00933,"4.4":0,"4.4.3-4.4.4":0.07595},P:{"4":0.12069,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.03017,"8.2":0,"9.2":0.02012,"10.1":0.02012,"11.1-11.2":0.04023,"12.0":0.64368},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.01487,"9":0,"10":0,"11":0.06691,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.06158},Q:{"10.4":0},O:{"0":0.03849},H:{"0":0.05345},L:{"0":38.56259}};
diff --git a/node_modules/caniuse-lite/data/regions/CR.js b/node_modules/caniuse-lite/data/regions/CR.js
new file mode 100644
index 0000000..3c94016
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/CR.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00666,"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.00666,"49":0,"50":0,"51":0,"52":0.03331,"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.07994,"67":0.05996,"68":0.01999,"69":0,"70":0,"71":0,"72":0.01332,"73":0.02665,"74":0,"75":0,"76":0.00666,"77":0.00666,"78":0.16655,"79":0.01332,"80":0.07328,"81":2.31838,"82":0.31311,"83":0.01332,"84":0,"3.5":0,"3.6":0},D:{"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.00666,"39":0,"40":0,"41":0,"42":0.00666,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.10659,"50":0,"51":0,"52":0,"53":0.00666,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0.09993,"62":0,"63":0.00666,"64":0,"65":0.03331,"66":0.01332,"67":0.01999,"68":0.01332,"69":0.01999,"70":0.02665,"71":0.02665,"72":0.01999,"73":0.01999,"74":0.02665,"75":0.03997,"76":0.01999,"77":0.04663,"78":0.03997,"79":0.04663,"80":0.11325,"81":0.11325,"83":0.15989,"84":0.24649,"85":11.9916,"86":19.31314,"87":0.01999,"88":0.00666,"89":0},F:{"9":0,"11":0,"12":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.00666,"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.00666,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0.00666,"70":0.0533,"71":0.65954,"72":0.01332,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":4.51153,"3.2":0.01081,"4.0-4.1":0.00926,"4.2-4.3":0.00154,"5.0-5.1":0.00772,"6.0-6.1":0.00463,"7.0-7.1":0.01081,"8.1-8.4":0.03551,"9.0-9.2":0.02007,"9.3":0.2563,"10.0-10.2":0.04323,"10.3":0.23777,"11.0-11.2":0.08955,"11.3-11.4":0.15285,"12.0-12.1":0.15594,"12.2-12.4":1.5548,"13.0-13.1":0.12815,"13.2":0.0633,"13.3":0.48172,"13.4-13.7":2.56611},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.00666,"11":0.01999,"12":0.07994,"13":0.25316,"14":1.9986,_:"0","3.1":0,"3.2":0,"5.1":0.39306,"6.1":0,"7.1":0,"9.1":0.00666,"10.1":0.02665,"11.1":0.13324,"12.1":0.25316,"13.1":1.85204},B:{"12":0,"13":0,"14":0.00666,"15":0,"16":0.00666,"17":0.01999,"18":0.08661,"79":0,"80":0.00666,"81":0,"83":0,"84":0.00666,"85":0.57959,"86":1.09923},I:{"3":0,"4":0.05618,_:"81","2.1":0,"2.2":0,"2.3":0.00045,"4.1":0.02831,"4.2-4.3":0.01258,"4.4":0,"4.4.3-4.4.4":0.10246},P:{"4":0.09163,"5.0-5.4":0,"6.2-6.4":0.01018,"7.2-7.4":0.0509,"8.2":0,"9.2":0.08145,"10.1":0.06109,"11.1-11.2":0.15271,"12.0":1.79184},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.02665,"9":0,"10":0,"11":0.1399,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.19027},Q:{"10.4":0.00668},O:{"0":0.03004},H:{"0":0.10429},L:{"0":41.50976}};
diff --git a/node_modules/caniuse-lite/data/regions/CU.js b/node_modules/caniuse-lite/data/regions/CU.js
new file mode 100644
index 0000000..09a8c16
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/CU.js
@@ -0,0 +1 @@
+module.exports={C:{"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.0035,"18":0.01051,"19":0,"20":0,"21":0,"22":0,"23":0.00701,"24":0,"25":0.0035,"26":0.01051,"27":0.0035,"28":0.0035,"29":0.00701,"30":0.0035,"31":0.0035,"32":0.0035,"33":0.01752,"34":0.04554,"35":0.00701,"36":0.00701,"37":0.01051,"38":0.01752,"39":0.01401,"40":0.02102,"41":0.01401,"42":0.00701,"43":0.02102,"44":0.00701,"45":0.03153,"46":0.02802,"47":0.04554,"48":0.01752,"49":0.02102,"50":0.06656,"51":0.00701,"52":0.16464,"53":0.03503,"54":0.24171,"55":0.03503,"56":0.05955,"57":0.17165,"58":0.04204,"59":0.04904,"60":0.09458,"61":0.06656,"62":0.04204,"63":0.02102,"64":0.06305,"65":0.08057,"66":0.07356,"67":0.06305,"68":0.31877,"69":0.07356,"70":0.07006,"71":0.05955,"72":0.15413,"73":0.06305,"74":0.04554,"75":0.06656,"76":0.06305,"77":0.03853,"78":0.16464,"79":0.09808,"80":0.22069,"81":3.06513,"82":0.56048,"83":0.02452,"84":0,"3.5":0,"3.6":0},D:{"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.00701,"41":0,"42":0,"43":0.0035,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.04904,"50":0.0035,"51":0,"52":0.0035,"53":0.0035,"54":0.00701,"55":0.00701,"56":0.0035,"57":0.0035,"58":0.02102,"59":0.0035,"60":0.00701,"61":0.0035,"62":0.01401,"63":0.01051,"64":0.0035,"65":0.0035,"66":0.0035,"67":0.00701,"68":0.01401,"69":0.0035,"70":0.01051,"71":0.02102,"72":0.01752,"73":0.01401,"74":0.03503,"75":0.02102,"76":0.02452,"77":0.04554,"78":0.02802,"79":0.04204,"80":0.38533,"81":0.03503,"83":0.1191,"84":0.1121,"85":0.92129,"86":1.29961,"87":0.0035,"88":0,"89":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0.01051,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.0035,"30":0,"31":0,"32":0,"33":0.0035,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0.0035,"43":0,"44":0,"45":0.0035,"46":0.0035,"47":0,"48":0.0035,"49":0.0035,"50":0.03153,"51":0.01752,"52":0,"53":0.0035,"54":0.0035,"55":0.00701,"56":0,"57":0.0035,"58":0.0035,"60":0.02452,"62":0.00701,"63":0,"64":0,"65":0,"66":0.0035,"67":0.0035,"68":0.0035,"69":0.00701,"70":0.04204,"71":0.31177,"72":0.00701,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.00701},G:{"8":0,"14":2.98783,"3.2":0.00716,"4.0-4.1":0.00614,"4.2-4.3":0.00102,"5.0-5.1":0.00511,"6.0-6.1":0.00307,"7.0-7.1":0.00716,"8.1-8.4":0.02352,"9.0-9.2":0.01329,"9.3":0.16974,"10.0-10.2":0.02863,"10.3":0.15747,"11.0-11.2":0.05931,"11.3-11.4":0.10123,"12.0-12.1":0.10328,"12.2-12.4":1.02969,"13.0-13.1":0.08487,"13.2":0.04192,"13.3":0.31903,"13.4-13.7":1.69944},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.01401,"14":0.01752,_:"0","3.1":0,"3.2":0,"5.1":0.57449,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0.00701,"12.1":0.01752,"13.1":0.01401},B:{"12":0.0035,"13":0.01401,"14":0.01401,"15":0.01051,"16":0.01051,"17":0.01752,"18":0.08057,"79":0,"80":0,"81":0.00701,"83":0.0035,"84":0.00701,"85":0.08407,"86":0.1156},I:{"3":0,"4":0.17036,_:"81","2.1":0,"2.2":0,"2.3":0.00136,"4.1":0.08586,"4.2-4.3":0.03816,"4.4":0,"4.4.3-4.4.4":0.31074},P:{"4":0.58785,"5.0-5.4":0.08108,"6.2-6.4":0.06081,"7.2-7.4":0.27365,"8.2":0.04054,"9.2":0.30406,"10.1":0.22298,"11.1-11.2":0.25338,"12.0":0.95272},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.00701,"9":0,"10":0,"11":0.05605,"5.5":0},J:{"7":0,"10":0.0065},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":1.17596},Q:{"10.4":0.01949},O:{"0":0.28587},H:{"0":1.32245},L:{"0":73.0463}};
diff --git a/node_modules/caniuse-lite/data/regions/CV.js b/node_modules/caniuse-lite/data/regions/CV.js
new file mode 100644
index 0000000..f154f0d
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/CV.js
@@ -0,0 +1 @@
+module.exports={C:{"2":0,"3":0,"4":0.00593,"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.00593,"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.00593,"51":0,"52":0.01186,"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.01186,"69":0.00593,"70":0,"71":0,"72":0.00593,"73":0,"74":0,"75":0,"76":0.01779,"77":0,"78":0.02965,"79":0.01779,"80":0.02965,"81":1.48225,"82":0.17194,"83":0.00593,"84":0,"3.5":0,"3.6":0},D:{"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.00593,"35":0.00593,"36":0,"37":0,"38":0.01186,"39":0,"40":0.02965,"41":0,"42":0.00593,"43":0.07708,"44":0,"45":0,"46":0.00593,"47":0,"48":0.00593,"49":0.18973,"50":0.00593,"51":0,"52":0,"53":0.00593,"54":0,"55":0.02372,"56":0,"57":0.00593,"58":0,"59":0.00593,"60":0.00593,"61":0,"62":0,"63":0.02965,"64":0.02372,"65":0.03557,"66":0.02965,"67":0.00593,"68":0.01186,"69":0.02965,"70":0.03557,"71":0.01779,"72":0.00593,"73":0.00593,"74":0.10079,"75":0.02372,"76":0.02372,"77":0.23716,"78":0.08301,"79":0.14823,"80":0.21937,"81":0.68184,"83":0.35574,"84":0.48618,"85":7.98636,"86":13.87979,"87":0.01186,"88":0.01186,"89":0},F:{"9":0,"11":0,"12":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.09486,"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.00593,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.17787,"71":1.39332,"72":0.02965,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.00593},G:{"8":0,"14":3.02599,"3.2":0.00725,"4.0-4.1":0.00621,"4.2-4.3":0.00104,"5.0-5.1":0.00518,"6.0-6.1":0.00311,"7.0-7.1":0.00725,"8.1-8.4":0.02382,"9.0-9.2":0.01346,"9.3":0.17191,"10.0-10.2":0.029,"10.3":0.15948,"11.0-11.2":0.06006,"11.3-11.4":0.10252,"12.0-12.1":0.10459,"12.2-12.4":1.04284,"13.0-13.1":0.08595,"13.2":0.04246,"13.3":0.3231,"13.4-13.7":1.72115},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00593,"12":0.00593,"13":0.26681,"14":1.47632,_:"0","3.1":0,"3.2":0,"5.1":0.03557,"6.1":0,"7.1":0,"9.1":0.00593,"10.1":0.02965,"11.1":0.03557,"12.1":0.17787,"13.1":0.5514},B:{"12":0.02372,"13":0.00593,"14":0.00593,"15":0.01779,"16":0.05929,"17":0.0415,"18":0.1838,"79":0,"80":0,"81":0,"83":0.00593,"84":0.02965,"85":0.66998,"86":1.25695},I:{"3":0,"4":0.10249,_:"81","2.1":0,"2.2":0,"2.3":0.00082,"4.1":0.05165,"4.2-4.3":0.02296,"4.4":0,"4.4.3-4.4.4":0.18694},P:{"4":0.40007,"5.0-5.4":0.02052,"6.2-6.4":0.02052,"7.2-7.4":0.19491,"8.2":0.01026,"9.2":0.15387,"10.1":0.16413,"11.1-11.2":0.19491,"12.0":1.16944},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.01186,"9":0,"10":0,"11":0.23716,"5.5":0},J:{"7":0,"10":0.00407},N:{"10":0,"11":0},S:{"2.5":0.00407},R:{_:"0"},M:{"0":0.06514},Q:{"10.4":0.00407},O:{"0":0.13027},H:{"0":0.13104},L:{"0":54.43621}};
diff --git a/node_modules/caniuse-lite/data/regions/CX.js b/node_modules/caniuse-lite/data/regions/CX.js
new file mode 100644
index 0000000..109756e
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/CX.js
@@ -0,0 +1 @@
+module.exports={C:{"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,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":5.26,"82":2.63,"83":7.89,"84":0,"3.5":0,"3.6":0},D:{"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":2.63,"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,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":10.53,"81":23.68,"83":0,"84":0,"85":36.84,"86":10.53,"87":0,"88":0,"89":0},F:{"9":0,"11":0,"12":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,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0,"8.1-8.4":0,"9.0-9.2":0,"9.3":0,"10.0-10.2":0,"10.3":0,"11.0-11.2":0,"11.3-11.4":0,"12.0-12.1":0,"12.2-12.4":0,"13.0-13.1":0,"13.2":0,"13.3":0,"13.4-13.7":0},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0,"12.1":0,"13.1":0},B:{"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"79":0,"80":0,"81":0,"83":0,"84":0,"85":0,"86":0},I:{"3":0,"4":0,_:"81","2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0},P:{"4":0,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0,"8.2":0,"9.2":0,"10.1":0,"11.1-11.2":0,"12.0":0},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0},Q:{"10.4":0},O:{"0":0},H:{"0":0},L:{"0":0}};
diff --git a/node_modules/caniuse-lite/data/regions/CY.js b/node_modules/caniuse-lite/data/regions/CY.js
new file mode 100644
index 0000000..647e65f
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/CY.js
@@ -0,0 +1 @@
+module.exports={C:{"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.0055,"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.0055,"44":0,"45":0,"46":0,"47":0.0055,"48":0.011,"49":0,"50":0,"51":0,"52":0.03299,"53":0,"54":0,"55":0,"56":0.0055,"57":0,"58":0,"59":0,"60":0.011,"61":0,"62":0.0055,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.011,"69":0,"70":0.02749,"71":0,"72":0.05498,"73":0,"74":0,"75":0,"76":0.0055,"77":0.0055,"78":0.06048,"79":0.0055,"80":0.02749,"81":1.0996,"82":0.23641,"83":0.011,"84":0,"3.5":0,"3.6":0},D:{"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.0055,"34":0,"35":0,"36":0,"37":0,"38":0.011,"39":0,"40":0,"41":0,"42":0.77522,"43":0,"44":0,"45":0,"46":0,"47":0.0055,"48":0,"49":0.17044,"50":0,"51":0,"52":0,"53":0.02199,"54":0.011,"55":0,"56":0.0055,"57":0,"58":0.011,"59":0,"60":0,"61":0,"62":0.0055,"63":0.0055,"64":0,"65":0.02199,"66":0.0055,"67":0.0055,"68":0.0055,"69":0.011,"70":0.73673,"71":0.02199,"72":0.02749,"73":0.0055,"74":0.0055,"75":0.0055,"76":0.0055,"77":0.011,"78":0.02199,"79":0.07697,"80":0.03299,"81":0.03299,"83":0.08797,"84":0.16494,"85":7.58724,"86":12.05711,"87":0.011,"88":0,"89":0},F:{"9":0,"11":0,"12":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.02199,"52":0.0055,"53":0,"54":0,"55":0,"56":0.0055,"57":0,"58":0,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.04948,"71":0.44534,"72":0.02749,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":6.94642,"3.2":0.01664,"4.0-4.1":0.01426,"4.2-4.3":0.00238,"5.0-5.1":0.01189,"6.0-6.1":0.00713,"7.0-7.1":0.01664,"8.1-8.4":0.05468,"9.0-9.2":0.0309,"9.3":0.39463,"10.0-10.2":0.06656,"10.3":0.3661,"11.0-11.2":0.13788,"11.3-11.4":0.23535,"12.0-12.1":0.24011,"12.2-12.4":2.39392,"13.0-13.1":0.19731,"13.2":0.09747,"13.3":0.74171,"13.4-13.7":3.95104},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.0055,"12":0.03299,"13":0.09896,"14":0.75872,_:"0","3.1":0,"3.2":0,"5.1":0.0055,"6.1":0,"7.1":0,"9.1":0.0055,"10.1":0.01649,"11.1":0.04398,"12.1":0.2859,"13.1":1.16008},B:{"12":0,"13":0.0055,"14":0,"15":0.0055,"16":0.0055,"17":0.02749,"18":0.13745,"79":0,"80":0,"81":0,"83":0,"84":0.011,"85":0.87418,"86":1.28103},I:{"3":0,"4":0.09185,_:"81","2.1":0,"2.2":0,"2.3":0.00073,"4.1":0.04629,"4.2-4.3":0.02057,"4.4":0,"4.4.3-4.4.4":0.16753},P:{"4":0.09217,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0,"8.2":0.01024,"9.2":0.03072,"10.1":0.03072,"11.1-11.2":0.07169,"12.0":3.9018},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.0055,"9":0.0055,"10":0,"11":0.38486,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.13056},Q:{"10.4":0.0045},O:{"0":1.03096},H:{"0":0.20459},L:{"0":45.66079}};
diff --git a/node_modules/caniuse-lite/data/regions/CZ.js b/node_modules/caniuse-lite/data/regions/CZ.js
new file mode 100644
index 0000000..de88a34
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/CZ.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00676,"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.00676,"48":0.01352,"49":0,"50":0,"51":0,"52":0.10143,"53":0,"54":0,"55":0,"56":0.04057,"57":0.00676,"58":0,"59":0,"60":0.01352,"61":0.00676,"62":0.00676,"63":0.00676,"64":0.00676,"65":0.00676,"66":0.02029,"67":0,"68":0.08791,"69":0.00676,"70":0.00676,"71":0.00676,"72":0.02029,"73":0.00676,"74":0.00676,"75":0.01352,"76":0.01352,"77":0.02029,"78":0.16229,"79":0.03381,"80":0.16229,"81":4.5914,"82":0.71001,"83":0.00676,"84":0,"3.5":0,"3.6":0},D:{"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.00676,"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.00676,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.25696,"50":0.00676,"51":0,"52":0,"53":0.02705,"54":0,"55":0.00676,"56":0.00676,"57":0,"58":0.00676,"59":0,"60":0.00676,"61":0.12848,"62":0.00676,"63":0.01352,"64":0.00676,"65":0.00676,"66":0.01352,"67":0.02029,"68":0.00676,"69":0.03381,"70":0.06086,"71":0.06762,"72":0.04057,"73":0.04057,"74":0.02029,"75":0.02029,"76":0.02705,"77":0.02705,"78":0.04057,"79":0.0541,"80":0.14876,"81":0.14876,"83":0.23667,"84":0.41924,"85":10.12948,"86":16.83738,"87":0.01352,"88":0.00676,"89":0},F:{"9":0,"11":0,"12":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.01352,"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.03381,"52":0.01352,"53":0.00676,"54":0,"55":0,"56":0,"57":0.00676,"58":0,"60":0.00676,"62":0,"63":0.00676,"64":0,"65":0,"66":0,"67":0,"68":0.01352,"69":0.00676,"70":0.25019,"71":1.86631,"72":0.0541,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.03381},G:{"8":0,"14":5.39398,"3.2":0.01292,"4.0-4.1":0.01108,"4.2-4.3":0.00185,"5.0-5.1":0.00923,"6.0-6.1":0.00554,"7.0-7.1":0.01292,"8.1-8.4":0.04246,"9.0-9.2":0.024,"9.3":0.30643,"10.0-10.2":0.05169,"10.3":0.28428,"11.0-11.2":0.10707,"11.3-11.4":0.18275,"12.0-12.1":0.18645,"12.2-12.4":1.85891,"13.0-13.1":0.15322,"13.2":0.07569,"13.3":0.57595,"13.4-13.7":3.06804},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00676,"12":0.02029,"13":0.13524,"14":1.23068,_:"0","3.1":0,"3.2":0,"5.1":0.02705,"6.1":0,"7.1":0,"9.1":0.00676,"10.1":0.01352,"11.1":0.06762,"12.1":0.10819,"13.1":0.96697},B:{"12":0,"13":0.00676,"14":0.01352,"15":0.01352,"16":0.02029,"17":0.04733,"18":0.30429,"79":0,"80":0.00676,"81":0.00676,"83":0.00676,"84":0.01352,"85":1.02782,"86":2.27879},I:{"3":0,"4":0.07726,_:"81","2.1":0,"2.2":0,"2.3":0.00062,"4.1":0.03894,"4.2-4.3":0.01731,"4.4":0,"4.4.3-4.4.4":0.14092},P:{"4":0.05102,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.0102,"8.2":0.0102,"9.2":0.04082,"10.1":0.04082,"11.1-11.2":0.06123,"12.0":1.79601},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.01385,"9":0.00692,"10":0.12465,"11":1.00412,"5.5":0},J:{"7":0,"10":0.00648},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.29142},Q:{"10.4":0.00648},O:{"0":0.2299},H:{"0":0.3648},L:{"0":37.14146}};
diff --git a/node_modules/caniuse-lite/data/regions/DE.js b/node_modules/caniuse-lite/data/regions/DE.js
new file mode 100644
index 0000000..d8ed918
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/DE.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00613,"25":0,"26":0,"27":0,"28":0,"29":0.01225,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.00613,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0.01225,"46":0.00613,"47":0.00613,"48":0.01838,"49":0.00613,"50":0.00613,"51":0.01838,"52":0.08576,"53":0.00613,"54":0.00613,"55":0.00613,"56":0.01838,"57":0.00613,"58":0.00613,"59":0.00613,"60":0.03063,"61":0.00613,"62":0.00613,"63":0.01838,"64":0.01838,"65":0.01838,"66":0.01838,"67":0.00613,"68":0.17153,"69":0.01225,"70":0.01225,"71":0.00613,"72":0.03063,"73":0.0245,"74":0.01225,"75":0.01225,"76":0.01838,"77":0.07964,"78":0.31855,"79":0.11639,"80":0.22054,"81":5.39088,"82":0.73512,"83":0.01225,"84":0,"3.5":0,"3.6":0},D:{"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.01838,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.00613,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.00613,"39":0,"40":0.00613,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0.00613,"48":0.00613,"49":0.15928,"50":0.00613,"51":0.01225,"52":0.00613,"53":0.01225,"54":0.00613,"55":0.00613,"56":0.01225,"57":0.00613,"58":0.00613,"59":0.00613,"60":0.03676,"61":0.01838,"62":0.00613,"63":0.01225,"64":0.00613,"65":0.11639,"66":0.0245,"67":0.01225,"68":0.01225,"69":0.04288,"70":0.09802,"71":0.17153,"72":0.12865,"73":0.06739,"74":0.04288,"75":0.04901,"76":0.04288,"77":0.04288,"78":0.06739,"79":0.08576,"80":0.18991,"81":0.12252,"83":0.25117,"84":0.26954,"85":6.904,"86":9.37278,"87":0.01225,"88":0.00613,"89":0},F:{"9":0,"11":0,"12":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.00613,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0.00613,"43":0.00613,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0.00613,"51":0.01838,"52":0,"53":0.00613,"54":0,"55":0,"56":0.00613,"57":0.00613,"58":0.00613,"60":0.00613,"62":0,"63":0.00613,"64":0,"65":0,"66":0,"67":0,"68":0.01225,"69":0,"70":0.1654,"71":1.61726,"72":0.0245,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.00613},G:{"8":0,"14":9.55205,"3.2":0.02288,"4.0-4.1":0.01961,"4.2-4.3":0.00327,"5.0-5.1":0.01635,"6.0-6.1":0.00981,"7.0-7.1":0.02288,"8.1-8.4":0.07519,"9.0-9.2":0.0425,"9.3":0.54266,"10.0-10.2":0.09153,"10.3":0.50343,"11.0-11.2":0.1896,"11.3-11.4":0.32363,"12.0-12.1":0.33017,"12.2-12.4":3.29189,"13.0-13.1":0.27133,"13.2":0.13403,"13.3":1.01993,"13.4-13.7":5.43309},E:{"4":0.00613,"5":0,"6":0,"7":0.00613,"8":0.00613,"9":0.00613,"10":0.01838,"11":0.01838,"12":0.04288,"13":0.20828,"14":1.72753,_:"0","3.1":0,"3.2":0,"5.1":0.01838,"6.1":0,"7.1":0,"9.1":0.01225,"10.1":0.0245,"11.1":0.08576,"12.1":0.14702,"13.1":1.49474},B:{"12":0.03063,"13":0,"14":0.01838,"15":0.01225,"16":0.01838,"17":0.06126,"18":0.39206,"79":0,"80":0,"81":0.00613,"83":0.00613,"84":0.03063,"85":1.04755,"86":1.87456},I:{"3":0,"4":0.09042,_:"81","2.1":0,"2.2":0,"2.3":0.00072,"4.1":0.04557,"4.2-4.3":0.02025,"4.4":0,"4.4.3-4.4.4":0.16492},P:{"4":0.18605,"5.0-5.4":0.01034,"6.2-6.4":0,"7.2-7.4":0.03101,"8.2":0.02067,"9.2":0.06202,"10.1":0.06202,"11.1-11.2":0.12403,"12.0":4.38252},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.16195,"7":0.03887,"8":0.05182,"9":0.01943,"10":0.02591,"11":0.82919,"5.5":0},J:{"7":0,"10":0.00387},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.60822},Q:{"10.4":0.01162},O:{"0":0.19757},H:{"0":0.32642},L:{"0":31.51858}};
diff --git a/node_modules/caniuse-lite/data/regions/DJ.js b/node_modules/caniuse-lite/data/regions/DJ.js
new file mode 100644
index 0000000..1b2fc75
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/DJ.js
@@ -0,0 +1 @@
+module.exports={C:{"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.02577,"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.00322,"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.01611,"69":0,"70":0,"71":0,"72":0.00322,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.02255,"79":0.00966,"80":0.01611,"81":0.79881,"82":0.1385,"83":0.00966,"84":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00322,"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.00322,"47":0,"48":0,"49":0.00644,"50":0,"51":0,"52":0,"53":0.00322,"54":0,"55":0,"56":0,"57":0,"58":0.02255,"59":0.08053,"60":0,"61":0.00322,"62":0,"63":0.00644,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0.00322,"70":0,"71":0,"72":0.00322,"73":0,"74":0,"75":0,"76":0.00322,"77":0.01933,"78":0.00322,"79":0.02899,"80":0.04832,"81":0.03221,"83":0.06442,"84":0.18038,"85":2.7604,"86":4.3709,"87":0.00966,"88":0.00322,"89":0},F:{"9":0,"11":0,"12":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.00322,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0.00644,"47":0,"48":0,"49":0,"50":0.00322,"51":0.04187,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0.00322,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.01288,"71":0.07408,"72":0.00966,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.00322},G:{"8":0,"14":3.33881,"3.2":0.008,"4.0-4.1":0.00686,"4.2-4.3":0.00114,"5.0-5.1":0.00571,"6.0-6.1":0.00343,"7.0-7.1":0.008,"8.1-8.4":0.02628,"9.0-9.2":0.01485,"9.3":0.18968,"10.0-10.2":0.03199,"10.3":0.17597,"11.0-11.2":0.06627,"11.3-11.4":0.11312,"12.0-12.1":0.11541,"12.2-12.4":1.15064,"13.0-13.1":0.09484,"13.2":0.04685,"13.3":0.35651,"13.4-13.7":1.89908},E:{"4":0,"5":0,"6":0,"7":0.00322,"8":0,"9":0,"10":0,"11":0,"12":0.00322,"13":0.0773,"14":0.15139,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0.00644,"12.1":0.00644,"13.1":0.15139},B:{"12":0.00322,"13":0.00322,"14":0.00322,"15":0.00966,"16":0,"17":0.02255,"18":0.08697,"79":0,"80":0,"81":0.00322,"83":0.01933,"84":0.22225,"85":0.11274,"86":0.18682},I:{"3":0,"4":0.15512,_:"81","2.1":0,"2.2":0,"2.3":0.00124,"4.1":0.07818,"4.2-4.3":0.03475,"4.4":0,"4.4.3-4.4.4":0.28293},P:{"4":0.90417,"5.0-5.4":0.02032,"6.2-6.4":0.07111,"7.2-7.4":0.7721,"8.2":0.01016,"9.2":0.31493,"10.1":0.29462,"11.1-11.2":0.47748,"12.0":4.49036},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.0233,"9":0,"10":0,"11":0.10876,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.19659},Q:{"10.4":1.62018},O:{"0":0.79992},H:{"0":0.6803},L:{"0":67.51042}};
diff --git a/node_modules/caniuse-lite/data/regions/DK.js b/node_modules/caniuse-lite/data/regions/DK.js
new file mode 100644
index 0000000..276fd4e
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/DK.js
@@ -0,0 +1 @@
+module.exports={C:{"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.0075,"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.0075,"49":0,"50":0,"51":0,"52":0.02251,"53":0,"54":0,"55":0,"56":0.04502,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0.0075,"66":0,"67":0,"68":0.01501,"69":0,"70":0.0075,"71":0,"72":0.0075,"73":0,"74":0.0075,"75":0.0075,"76":0.0075,"77":0.0075,"78":0.06754,"79":0.02251,"80":0.06003,"81":1.28318,"82":0.1951,"83":0,"84":0,"3.5":0,"3.6":0},D:{"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.0075,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.06003,"50":0,"51":0,"52":0.03002,"53":0.0075,"54":0,"55":0,"56":0,"57":0.0075,"58":0.01501,"59":0.0075,"60":0.0075,"61":0,"62":0.0075,"63":0.0075,"64":0,"65":0.01501,"66":0.01501,"67":0.02251,"68":0.01501,"69":0.12757,"70":0.02251,"71":0.03002,"72":0.03752,"73":0.03002,"74":0.03002,"75":0.03752,"76":0.11256,"77":0.03752,"78":0.04502,"79":0.06754,"80":0.13507,"81":0.15008,"83":0.39021,"84":1.03555,"85":19.27778,"86":18.85005,"87":0.01501,"88":0,"89":0},F:{"9":0,"11":0,"12":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.02251,"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.0075,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.03752,"71":0.31517,"72":0.0075,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":12.06685,"3.2":0.02891,"4.0-4.1":0.02478,"4.2-4.3":0.00413,"5.0-5.1":0.02065,"6.0-6.1":0.01239,"7.0-7.1":0.02891,"8.1-8.4":0.09498,"9.0-9.2":0.05369,"9.3":0.68552,"10.0-10.2":0.11563,"10.3":0.63597,"11.0-11.2":0.23952,"11.3-11.4":0.40884,"12.0-12.1":0.41709,"12.2-12.4":4.15856,"13.0-13.1":0.34276,"13.2":0.16932,"13.3":1.28845,"13.4-13.7":6.86348},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.0075,"11":0.03752,"12":0.13507,"13":0.59282,"14":3.51938,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0.01501,"7.1":0,"9.1":0.02251,"10.1":0.06003,"11.1":0.21762,"12.1":0.53278,"13.1":4.04466},B:{"12":0,"13":0,"14":0,"15":0.0075,"16":0.0075,"17":0.02251,"18":0.21011,"79":0,"80":0,"81":0,"83":0.0075,"84":0.01501,"85":0.73539,"86":1.33571},I:{"3":0,"4":0.03018,_:"81","2.1":0,"2.2":0,"2.3":0.00024,"4.1":0.01521,"4.2-4.3":0.00676,"4.4":0,"4.4.3-4.4.4":0.05506},P:{"4":0.0105,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0,"8.2":0,"9.2":0.02101,"10.1":0.0105,"11.1-11.2":0.04202,"12.0":1.12402},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0.02278,"8":0.00759,"9":0,"10":0.00759,"11":0.60738,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.15475},Q:{"10.4":0.01248},O:{"0":0.02496},H:{"0":0.04962},L:{"0":14.45704}};
diff --git a/node_modules/caniuse-lite/data/regions/DM.js b/node_modules/caniuse-lite/data/regions/DM.js
new file mode 100644
index 0000000..c0983a1
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/DM.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00608,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.03042,"59":0,"60":0,"61":0,"62":0.03042,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.00608,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.02434,"79":0.01217,"80":0.05476,"81":1.30806,"82":0.1156,"83":0,"84":0,"3.5":0,"3.6":0},D:{"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.00608,"30":0,"31":0,"32":0,"33":0,"34":0.01217,"35":0,"36":0,"37":0,"38":0.01825,"39":0,"40":0,"41":0.04867,"42":0.00608,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.16427,"50":0,"51":0,"52":0.02434,"53":0.06692,"54":0,"55":0,"56":0.00608,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0.00608,"63":0.02434,"64":0,"65":0.1886,"66":0,"67":0,"68":0.00608,"69":0.07909,"70":0.06084,"71":0,"72":0.02434,"73":0.29203,"74":0.01825,"75":0.03042,"76":0.26161,"77":0.01825,"78":0.00608,"79":0.03042,"80":0.04259,"81":0.1521,"83":0.15818,"84":0.26161,"85":7.44073,"86":13.00759,"87":0.01825,"88":0,"89":0},F:{"9":0,"11":0,"12":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,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.09126,"71":0.19469,"72":0.00608,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":3.22784,"3.2":0.00773,"4.0-4.1":0.00663,"4.2-4.3":0.0011,"5.0-5.1":0.00552,"6.0-6.1":0.00331,"7.0-7.1":0.00773,"8.1-8.4":0.02541,"9.0-9.2":0.01436,"9.3":0.18337,"10.0-10.2":0.03093,"10.3":0.17012,"11.0-11.2":0.06407,"11.3-11.4":0.10936,"12.0-12.1":0.11157,"12.2-12.4":1.1124,"13.0-13.1":0.09169,"13.2":0.04529,"13.3":0.34466,"13.4-13.7":1.83596},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.17035,"14":2.83514,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0,"12.1":0.04259,"13.1":0.82134},B:{"12":0,"13":0.01217,"14":0.03042,"15":0.00608,"16":0.01825,"17":0.0365,"18":0.3042,"79":0,"80":0.00608,"81":0.00608,"83":0,"84":0.1156,"85":0.8761,"86":2.33017},I:{"3":0,"4":0.53358,_:"81","2.1":0,"2.2":0,"2.3":0.00427,"4.1":0.26892,"4.2-4.3":0.11952,"4.4":0,"4.4.3-4.4.4":0.97325},P:{"4":0.02158,"5.0-5.4":0,"6.2-6.4":0.01079,"7.2-7.4":0.18344,"8.2":0.01079,"9.2":0.02158,"10.1":0.03237,"11.1-11.2":0.18344,"12.0":3.90625},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.55364,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.14489},Q:{"10.4":0.00392},O:{"0":0.71271},H:{"0":0.04078},L:{"0":49.46375}};
diff --git a/node_modules/caniuse-lite/data/regions/DO.js b/node_modules/caniuse-lite/data/regions/DO.js
new file mode 100644
index 0000000..7e94cf9
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/DO.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00621,"49":0,"50":0,"51":0,"52":0.01241,"53":0.01241,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0.00621,"62":0,"63":0.00621,"64":0,"65":0.01862,"66":0.0869,"67":0,"68":0.01862,"69":0,"70":0,"71":0,"72":0.01241,"73":0.02483,"74":0,"75":0,"76":0.00621,"77":0.00621,"78":0.05586,"79":0.01862,"80":0.04345,"81":0.96829,"82":0.11793,"83":0.00621,"84":0,"3.5":0,"3.6":0},D:{"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.00621,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.01241,"39":0,"40":0,"41":0,"42":0,"43":0.00621,"44":0,"45":0.00621,"46":0,"47":0,"48":0.00621,"49":0.16138,"50":0,"51":0,"52":0,"53":0.01241,"54":0,"55":0,"56":0.00621,"57":0,"58":0.00621,"59":0,"60":0.00621,"61":0.01241,"62":0,"63":0.01241,"64":0.00621,"65":0.03104,"66":0.00621,"67":0.03724,"68":0.01241,"69":0.01241,"70":0.06828,"71":0.08069,"72":0.09931,"73":0.05586,"74":0.03724,"75":0.04345,"76":0.04966,"77":0.03104,"78":0.05586,"79":0.08069,"80":0.16759,"81":0.09931,"83":0.19242,"84":0.32276,"85":10.51466,"86":16.78373,"87":0.01241,"88":0.00621,"89":0},F:{"9":0,"11":0,"12":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.00621,"58":0.00621,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.00621,"69":0,"70":0.10552,"71":0.98071,"72":0.01241,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":6.2532,"3.2":0.01498,"4.0-4.1":0.01284,"4.2-4.3":0.00214,"5.0-5.1":0.0107,"6.0-6.1":0.00642,"7.0-7.1":0.01498,"8.1-8.4":0.04922,"9.0-9.2":0.02782,"9.3":0.35525,"10.0-10.2":0.05992,"10.3":0.32957,"11.0-11.2":0.12412,"11.3-11.4":0.21186,"12.0-12.1":0.21614,"12.2-12.4":2.15502,"13.0-13.1":0.17762,"13.2":0.08774,"13.3":0.66769,"13.4-13.7":3.55675},E:{"4":0.00621,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00621,"12":0.03724,"13":0.16138,"14":1.17312,_:"0","3.1":0,"3.2":0,"5.1":0.56484,"6.1":0,"7.1":0,"9.1":0.00621,"10.1":0.01241,"11.1":0.08069,"12.1":0.18621,"13.1":1.1545},B:{"12":0.00621,"13":0,"14":0.01862,"15":0.00621,"16":0.00621,"17":0.04345,"18":0.27932,"79":0,"80":0,"81":0,"83":0,"84":0.00621,"85":0.55242,"86":1.01174},I:{"3":0,"4":0.22375,_:"81","2.1":0,"2.2":0,"2.3":0.00179,"4.1":0.11277,"4.2-4.3":0.05012,"4.4":0,"4.4.3-4.4.4":0.40813},P:{"4":0.09176,"5.0-5.4":0.0102,"6.2-6.4":0.02039,"7.2-7.4":0.03059,"8.2":0.0102,"9.2":0.09176,"10.1":0.04078,"11.1-11.2":0.11215,"12.0":1.02973},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.06124,"9":0.01531,"10":0.02297,"11":0.13014,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.21241},Q:{"10.4":0},O:{"0":0.0569},H:{"0":0.12209},L:{"0":44.52057}};
diff --git a/node_modules/caniuse-lite/data/regions/DZ.js b/node_modules/caniuse-lite/data/regions/DZ.js
new file mode 100644
index 0000000..30e62d8
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/DZ.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00557,"39":0,"40":0,"41":0,"42":0,"43":0.00557,"44":0,"45":0,"46":0,"47":0.0167,"48":0.02227,"49":0.00557,"50":0,"51":0,"52":0.15031,"53":0,"54":0,"55":0.00557,"56":0.00557,"57":0,"58":0,"59":0.00557,"60":0.00557,"61":0.00557,"62":0,"63":0.00557,"64":0.00557,"65":0.01113,"66":0.00557,"67":0.00557,"68":0.0334,"69":0.00557,"70":0.00557,"71":0.00557,"72":0.0334,"73":0.00557,"74":0.00557,"75":0.00557,"76":0.00557,"77":0.01113,"78":0.08907,"79":0.02227,"80":0.09464,"81":1.98185,"82":0.33402,"83":0.0167,"84":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.00557,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0.00557,"23":0,"24":0,"25":0,"26":0.00557,"27":0,"28":0,"29":0.00557,"30":0.00557,"31":0.01113,"32":0.00557,"33":0.02784,"34":0.00557,"35":0,"36":0,"37":0,"38":0.01113,"39":0.00557,"40":0.03897,"41":0,"42":0.00557,"43":0.20041,"44":0.00557,"45":0.00557,"46":0.00557,"47":0.00557,"48":0.01113,"49":0.31732,"50":0.01113,"51":0.00557,"52":0.00557,"53":0.00557,"54":0.00557,"55":0.00557,"56":0.0167,"57":0.00557,"58":0.0167,"59":0.00557,"60":0.01113,"61":0.07794,"62":0.01113,"63":0.0501,"64":0.01113,"65":0.03897,"66":0.00557,"67":0.0167,"68":0.01113,"69":0.04454,"70":0.0501,"71":0.05567,"72":0.0501,"73":0.05567,"74":0.08351,"75":0.0334,"76":0.04454,"77":0.0501,"78":0.05567,"79":0.13361,"80":0.24495,"81":0.17814,"83":0.19485,"84":0.34515,"85":7.20927,"86":11.76864,"87":0.02227,"88":0.0167,"89":0},F:{"9":0,"11":0,"12":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.00557,"37":0.0167,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0.00557,"48":0,"49":0,"50":0.01113,"51":0.0501,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0.00557,"58":0.00557,"60":0.00557,"62":0,"63":0.00557,"64":0,"65":0,"66":0,"67":0.00557,"68":0.0167,"69":0.00557,"70":0.17814,"71":1.40845,"72":0.03897,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":1.18781,"3.2":0.00285,"4.0-4.1":0.00244,"4.2-4.3":0.00041,"5.0-5.1":0.00203,"6.0-6.1":0.00122,"7.0-7.1":0.00285,"8.1-8.4":0.00935,"9.0-9.2":0.00528,"9.3":0.06748,"10.0-10.2":0.01138,"10.3":0.0626,"11.0-11.2":0.02358,"11.3-11.4":0.04024,"12.0-12.1":0.04106,"12.2-12.4":0.40935,"13.0-13.1":0.03374,"13.2":0.01667,"13.3":0.12683,"13.4-13.7":0.67561},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.01113,"12":0.02784,"13":0.10021,"14":0.15588,_:"0","3.1":0,"3.2":0,"5.1":0.07237,"6.1":0,"7.1":0,"9.1":0,"10.1":0.00557,"11.1":0.0334,"12.1":0.05567,"13.1":0.11691},B:{"12":0.01113,"13":0.00557,"14":0.00557,"15":0.01113,"16":0.01113,"17":0.0167,"18":0.07237,"79":0,"80":0,"81":0.00557,"83":0.00557,"84":0.01113,"85":0.30619,"86":0.58454},I:{"3":0,"4":0.10747,_:"81","2.1":0,"2.2":0,"2.3":0.00086,"4.1":0.05416,"4.2-4.3":0.02407,"4.4":0,"4.4.3-4.4.4":0.19602},P:{"4":0.1828,"5.0-5.4":0.03047,"6.2-6.4":0.02031,"7.2-7.4":0.15233,"8.2":0.03047,"9.2":0.13202,"10.1":0.0914,"11.1-11.2":0.1828,"12.0":1.40147},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.11023,"9":0.02004,"10":0.02004,"11":0.25052,"5.5":0},J:{"7":0,"10":0.00443},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.12412},Q:{"10.4":0.03546},O:{"0":0.50536},H:{"0":0.61274},L:{"0":62.57242}};
diff --git a/node_modules/caniuse-lite/data/regions/EC.js b/node_modules/caniuse-lite/data/regions/EC.js
new file mode 100644
index 0000000..5f4f9f2
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/EC.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00738,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.00738,"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.00738,"45":0,"46":0,"47":0.00738,"48":0.01476,"49":0,"50":0,"51":0.00738,"52":0.02952,"53":0,"54":0,"55":0,"56":0.00738,"57":0,"58":0,"59":0.00738,"60":0.00738,"61":0.00738,"62":0,"63":0.00738,"64":0.00738,"65":0.00738,"66":0.02952,"67":0.00738,"68":0.01476,"69":0.00738,"70":0.00738,"71":0.00738,"72":0.01476,"73":0.01476,"74":0.00738,"75":0.00738,"76":0.01476,"77":0.02214,"78":0.22143,"79":0.02952,"80":0.08857,"81":3.39526,"82":0.45762,"83":0.00738,"84":0,"3.5":0,"3.6":0},D:{"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.01476,"23":0,"24":0,"25":0,"26":0.00738,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.02952,"39":0,"40":0,"41":0,"42":0.00738,"43":0,"44":0,"45":0,"46":0,"47":0.01476,"48":0.01476,"49":0.155,"50":0,"51":0,"52":0,"53":0.03691,"54":0,"55":0,"56":0,"57":0,"58":0.00738,"59":0,"60":0,"61":0.02214,"62":0.00738,"63":0.02952,"64":0.00738,"65":0.05167,"66":0.00738,"67":0.04429,"68":0.00738,"69":0.02952,"70":0.04429,"71":0.05167,"72":0.03691,"73":0.02952,"74":0.05905,"75":0.07381,"76":0.04429,"77":0.04429,"78":0.07381,"79":0.1181,"80":0.18453,"81":0.12548,"83":0.20667,"84":0.36167,"85":14.84319,"86":25.12492,"87":0.02214,"88":0.00738,"89":0},F:{"9":0,"11":0,"12":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.00738,"57":0,"58":0,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0.00738,"70":0.14762,"71":1.39501,"72":0.01476,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":2.31024,"3.2":0.00553,"4.0-4.1":0.00474,"4.2-4.3":0.00079,"5.0-5.1":0.00395,"6.0-6.1":0.00237,"7.0-7.1":0.00553,"8.1-8.4":0.01818,"9.0-9.2":0.01028,"9.3":0.13125,"10.0-10.2":0.02214,"10.3":0.12176,"11.0-11.2":0.04586,"11.3-11.4":0.07827,"12.0-12.1":0.07985,"12.2-12.4":0.79617,"13.0-13.1":0.06562,"13.2":0.03242,"13.3":0.24668,"13.4-13.7":1.31404},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.00738,"11":0.02214,"12":0.06643,"13":0.19191,"14":1.27691,_:"0","3.1":0,"3.2":0,"5.1":0.72334,"6.1":0,"7.1":0,"9.1":0.00738,"10.1":0.01476,"11.1":0.12548,"12.1":0.24357,"13.1":1.12929},B:{"12":0,"13":0,"14":0.00738,"15":0.00738,"16":0,"17":0.00738,"18":0.05167,"79":0,"80":0,"81":0,"83":0.00738,"84":0.00738,"85":0.55358,"86":1.10715},I:{"3":0,"4":0.05959,_:"81","2.1":0,"2.2":0,"2.3":0.00048,"4.1":0.03003,"4.2-4.3":0.01335,"4.4":0,"4.4.3-4.4.4":0.10869},P:{"4":0.13135,"5.0-5.4":0,"6.2-6.4":0.0101,"7.2-7.4":0.07073,"8.2":0.0101,"9.2":0.06062,"10.1":0.03031,"11.1-11.2":0.13135,"12.0":1.54587},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.01737,"9":0.00868,"10":0,"11":0.12157,"5.5":0},J:{"7":0,"10":0.00262},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.08905},Q:{"10.4":0.00262},O:{"0":0.0419},H:{"0":0.05951},L:{"0":36.76377}};
diff --git a/node_modules/caniuse-lite/data/regions/EE.js b/node_modules/caniuse-lite/data/regions/EE.js
new file mode 100644
index 0000000..e6e60d0
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/EE.js
@@ -0,0 +1 @@
+module.exports={C:{"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.0073,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0.0073,"49":0,"50":0,"51":0,"52":0.05837,"53":0,"54":0,"55":0.0073,"56":0.06566,"57":0,"58":0.0073,"59":0,"60":0.0073,"61":0,"62":0,"63":0.02189,"64":0,"65":0.04378,"66":0.01459,"67":0.05107,"68":0.08755,"69":0.0073,"70":0.0073,"71":0.01459,"72":0.0073,"73":0,"74":0,"75":0.0073,"76":0.01459,"77":0.01459,"78":0.12403,"79":0.06566,"80":0.15322,"81":3.24672,"82":0.51072,"83":0.0073,"84":0,"3.5":0,"3.6":0},D:{"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.0073,"35":0,"36":0,"37":0,"38":0.0073,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0.01459,"46":0,"47":0,"48":0,"49":0.13133,"50":0,"51":0,"52":0,"53":0.0073,"54":0,"55":0,"56":0,"57":0,"58":0.0073,"59":0,"60":0.01459,"61":0,"62":0,"63":0.0073,"64":0.0073,"65":0.05107,"66":0.0073,"67":0.01459,"68":0.01459,"69":0.7223,"70":0.04378,"71":0.08755,"72":0.10214,"73":0.02918,"74":0.0073,"75":0.02918,"76":0.02918,"77":0.03648,"78":0.10944,"79":0.11674,"80":0.24077,"81":0.07296,"83":0.1751,"84":0.40858,"85":16.99968,"86":19.1593,"87":0.02189,"88":0.0073,"89":0},F:{"9":0,"11":0,"12":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.0073,"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.0073,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0.0073,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.0073,"69":0.0073,"70":0.29914,"71":2.02099,"72":0.02189,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":6.46366,"3.2":0.01548,"4.0-4.1":0.01327,"4.2-4.3":0.00221,"5.0-5.1":0.01106,"6.0-6.1":0.00664,"7.0-7.1":0.01548,"8.1-8.4":0.05088,"9.0-9.2":0.02876,"9.3":0.3672,"10.0-10.2":0.06194,"10.3":0.34066,"11.0-11.2":0.1283,"11.3-11.4":0.21899,"12.0-12.1":0.22342,"12.2-12.4":2.22755,"13.0-13.1":0.1836,"13.2":0.09069,"13.3":0.69016,"13.4-13.7":3.67645},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.0073,"12":0.05107,"13":0.19699,"14":1.52486,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0.01459,"11.1":0.06566,"12.1":0.16051,"13.1":1.32787},B:{"12":0,"13":0,"14":0,"15":0.0073,"16":0.01459,"17":0.01459,"18":0.21888,"79":0,"80":0,"81":0,"83":0,"84":0.0073,"85":0.7296,"86":1.29869},I:{"3":0,"4":0.03872,_:"81","2.1":0,"2.2":0,"2.3":0.00031,"4.1":0.01952,"4.2-4.3":0.00867,"4.4":0,"4.4.3-4.4.4":0.07063},P:{"4":0.0103,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.02059,"8.2":0.0103,"9.2":0.06177,"10.1":0.04118,"11.1-11.2":0.08236,"12.0":2.27523},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.00777,"7":0,"8":0.04663,"9":0.00777,"10":0.01554,"11":0.63729,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.17035},Q:{"10.4":0.0027},O:{"0":0.05949},H:{"0":0.14592},L:{"0":27.24909}};
diff --git a/node_modules/caniuse-lite/data/regions/EG.js b/node_modules/caniuse-lite/data/regions/EG.js
new file mode 100644
index 0000000..72ae326
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/EG.js
@@ -0,0 +1 @@
+module.exports={C:{"2":0.00473,"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.00473,"16":0,"17":0,"18":0.00473,"19":0,"20":0,"21":0.00473,"22":0,"23":0.00473,"24":0,"25":0.00473,"26":0,"27":0,"28":0,"29":0,"30":0.00473,"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.00473,"44":0,"45":0,"46":0,"47":0.00473,"48":0.01419,"49":0.00473,"50":0,"51":0.00473,"52":0.08989,"53":0,"54":0,"55":0.00473,"56":0.00473,"57":0,"58":0,"59":0,"60":0.00473,"61":0,"62":0.00473,"63":0,"64":0.00473,"65":0.00473,"66":0.00473,"67":0.00473,"68":0.01419,"69":0,"70":0,"71":0,"72":0.01419,"73":0,"74":0.00473,"75":0.00473,"76":0.00473,"77":0.00473,"78":0.08043,"79":0.01419,"80":0.04731,"81":1.49027,"82":0.20816,"83":0.00946,"84":0,"3.5":0,"3.6":0},D:{"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.00473,"20":0,"21":0,"22":0,"23":0,"24":0.00946,"25":0,"26":0.01892,"27":0,"28":0,"29":0.00473,"30":0.00473,"31":0.00473,"32":0,"33":0.01892,"34":0.00473,"35":0.00473,"36":0,"37":0,"38":0.00473,"39":0,"40":0.02366,"41":0,"42":0,"43":0.17032,"44":0.00473,"45":0,"46":0.00473,"47":0.00473,"48":0.00473,"49":0.10881,"50":0,"51":0.00473,"52":0,"53":0.01419,"54":0.00473,"55":0.00473,"56":0.01419,"57":0,"58":0.00946,"59":0.00473,"60":0.00473,"61":0.01892,"62":0.00473,"63":0.03312,"64":0.00473,"65":0.00946,"66":0.00473,"67":0.00946,"68":0.00946,"69":0.02366,"70":0.02839,"71":0.04731,"72":0.03312,"73":0.02366,"74":0.06623,"75":0.03312,"76":0.05677,"77":0.04258,"78":0.07097,"79":0.10881,"80":0.16085,"81":0.15612,"83":0.12301,"84":0.25074,"85":5.6772,"86":9.76478,"87":0.01419,"88":0.00946,"89":0},F:{"9":0,"11":0,"12":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.00473,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.00473,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0.00473,"52":0,"53":0,"54":0.01892,"55":0,"56":0.00473,"57":0,"58":0,"60":0.00473,"62":0.00473,"63":0,"64":0.00946,"65":0,"66":0.00473,"67":0.00946,"68":0.04731,"69":0.00946,"70":0.26021,"71":0.22236,"72":0.00473,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":2.94433,"3.2":0.00705,"4.0-4.1":0.00605,"4.2-4.3":0.00101,"5.0-5.1":0.00504,"6.0-6.1":0.00302,"7.0-7.1":0.00705,"8.1-8.4":0.02318,"9.0-9.2":0.0131,"9.3":0.16727,"10.0-10.2":0.02821,"10.3":0.15518,"11.0-11.2":0.05844,"11.3-11.4":0.09976,"12.0-12.1":0.10177,"12.2-12.4":1.0147,"13.0-13.1":0.08363,"13.2":0.04131,"13.3":0.31438,"13.4-13.7":1.6747},E:{"4":0,"5":0.00473,"6":0,"7":0,"8":0,"9":0,"10":0.00473,"11":0.00473,"12":0.01892,"13":0.04258,"14":0.20343,_:"0","3.1":0,"3.2":0,"5.1":0.40214,"6.1":0,"7.1":0,"9.1":0,"10.1":0.00473,"11.1":0.02366,"12.1":0.04731,"13.1":0.19397},B:{"12":0.00473,"13":0.00473,"14":0.00473,"15":0.00473,"16":0.00946,"17":0.00946,"18":0.07097,"79":0,"80":0,"81":0,"83":0.00473,"84":0.00946,"85":0.26967,"86":0.52987},I:{"3":0,"4":0.11236,_:"81","2.1":0,"2.2":0,"2.3":0.0009,"4.1":0.05663,"4.2-4.3":0.02517,"4.4":0,"4.4.3-4.4.4":0.20494},P:{"4":0.19634,"5.0-5.4":0,"6.2-6.4":0.01033,"7.2-7.4":0.07234,"8.2":0.01033,"9.2":0.11367,"10.1":0.062,"11.1-11.2":0.20667,"12.0":1.72571},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.04021,"9":0.01005,"10":0.01005,"11":0.10053,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.12119},Q:{"10.4":0.00527},O:{"0":0.35829},H:{"0":0.60359},L:{"0":65.48988}};
diff --git a/node_modules/caniuse-lite/data/regions/ER.js b/node_modules/caniuse-lite/data/regions/ER.js
new file mode 100644
index 0000000..e4c9d10
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/ER.js
@@ -0,0 +1 @@
+module.exports={C:{"2":0,"3":0,"4":0.00194,"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.00194,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0.00194,"31":0.00194,"32":0,"33":0.00194,"34":0.00194,"35":0.00194,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0.00194,"42":0.00194,"43":0.01749,"44":0.00389,"45":0.00194,"46":0,"47":0.00972,"48":0.00194,"49":0,"50":0,"51":0,"52":0.00389,"53":0,"54":0,"55":0,"56":0.00389,"57":0,"58":0.00389,"59":0.00194,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0.00194,"67":0.00194,"68":0.00583,"69":0,"70":0,"71":0,"72":0.00777,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.00583,"79":0.00972,"80":0.0272,"81":0.28756,"82":0.09715,"83":0.03109,"84":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.0408,"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.00777,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0.00972,"34":0.00194,"35":0,"36":0,"37":0.00194,"38":0.00194,"39":0,"40":0.01166,"41":0,"42":0,"43":0.0136,"44":0,"45":0,"46":0.00583,"47":0,"48":0,"49":0.00583,"50":0.00583,"51":0.00194,"52":0.00194,"53":0,"54":0.00194,"55":0.00389,"56":0.00194,"57":0.00194,"58":0,"59":0,"60":0,"61":0.00194,"62":0.00194,"63":0.00583,"64":0.00194,"65":0,"66":0.00194,"67":0.00389,"68":0.00777,"69":0.00194,"70":0.00389,"71":0.00194,"72":0.00194,"73":0.00194,"74":0.02137,"75":0.00777,"76":0.00194,"77":0.0136,"78":0.00389,"79":0.02332,"80":0.01943,"81":0.04858,"83":0.00583,"84":0.09909,"85":0.13795,"86":1.43588,"87":0.00194,"88":0.00194,"89":0},F:{"9":0,"11":0,"12":0.00194,"15":0.00194,"16":0.00194,"17":0,"18":0.00194,"19":0.00583,"20":0.01166,"21":0,"22":0,"23":0.00389,"24":0,"25":0,"26":0,"27":0,"28":0.00777,"29":0.00583,"30":0.00583,"31":0,"32":0.00194,"33":0.00194,"34":0.00194,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0.00389,"43":0.00194,"44":0,"45":0.01554,"46":0.00389,"47":0.00194,"48":0.00194,"49":0,"50":0.06218,"51":0.0544,"52":0,"53":0.00389,"54":0,"55":0,"56":0.01166,"57":0,"58":0,"60":0.04469,"62":0.00194,"63":0,"64":0,"65":0,"66":0,"67":0.00194,"68":0,"69":0.00194,"70":0.00777,"71":0.17487,"72":0.02137,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.10492},G:{"8":0,"14":1.14624,"3.2":0.00275,"4.0-4.1":0.00235,"4.2-4.3":0.00039,"5.0-5.1":0.00196,"6.0-6.1":0.00118,"7.0-7.1":0.00275,"8.1-8.4":0.00902,"9.0-9.2":0.0051,"9.3":0.06512,"10.0-10.2":0.01098,"10.3":0.06041,"11.0-11.2":0.02275,"11.3-11.4":0.03884,"12.0-12.1":0.03962,"12.2-12.4":0.39503,"13.0-13.1":0.03256,"13.2":0.01608,"13.3":0.12239,"13.4-13.7":0.65197},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.00389,"14":0.01166,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.00194,"10.1":0.00194,"11.1":0.00194,"12.1":0.01943,"13.1":0.01554},B:{"12":0.01943,"13":0.00194,"14":0.00389,"15":0,"16":0.00194,"17":0.00972,"18":0.05829,"79":0,"80":0,"81":0.00194,"83":0.00194,"84":0.00389,"85":0.00777,"86":0.18653},I:{"3":0,"4":0.23549,_:"81","2.1":0,"2.2":0,"2.3":0.00188,"4.1":0.11869,"4.2-4.3":0.05275,"4.4":0,"4.4.3-4.4.4":0.42953},P:{"4":1.0623,"5.0-5.4":0.08094,"6.2-6.4":0.21246,"7.2-7.4":0.37433,"8.2":0.02023,"9.2":0.40469,"10.1":0.13152,"11.1-11.2":0.16187,"12.0":1.54792},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.02165,"9":0,"10":0,"11":0.05413,"5.5":0},J:{"7":0,"10":0.00806},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.07251},Q:{"10.4":1.54694},O:{"0":1.97397},H:{"0":28.42136},L:{"0":48.09138}};
diff --git a/node_modules/caniuse-lite/data/regions/ES.js b/node_modules/caniuse-lite/data/regions/ES.js
new file mode 100644
index 0000000..27fd60f
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/ES.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00561,"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.00561,"46":0,"47":0.00561,"48":0.01684,"49":0,"50":0,"51":0,"52":0.06736,"53":0,"54":0,"55":0,"56":0.00561,"57":0,"58":0,"59":0.00561,"60":0.01123,"61":0,"62":0.00561,"63":0.00561,"64":0.00561,"65":0.00561,"66":0.01684,"67":0.01684,"68":0.03929,"69":0.01123,"70":0.01123,"71":0,"72":0.01123,"73":0.00561,"74":0.00561,"75":0.00561,"76":0.00561,"77":0.01123,"78":0.15716,"79":0.02807,"80":0.07297,"81":2.00384,"82":0.33678,"83":0.00561,"84":0,"3.5":0,"3.6":0},D:{"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.01123,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0.00561,"47":0,"48":0,"49":0.21891,"50":0,"51":0.00561,"52":0,"53":0.02245,"54":0.01123,"55":0,"56":0.00561,"57":0.00561,"58":0.00561,"59":0,"60":0,"61":0.02245,"62":0.00561,"63":0.01123,"64":0.00561,"65":0.02245,"66":0.01123,"67":0.02245,"68":0.01123,"69":0.01684,"70":0.03368,"71":0.05613,"72":0.03368,"73":0.02807,"74":0.01684,"75":0.0449,"76":0.03368,"77":0.02807,"78":0.03929,"79":0.05613,"80":0.0842,"81":0.07858,"83":0.12349,"84":0.17962,"85":8.1613,"86":12.71345,"87":0.01123,"88":0.00561,"89":0},F:{"9":0,"11":0,"12":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.00561,"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.01123,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0.00561,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.00561,"69":0,"70":0.06174,"71":0.49956,"72":0.01123,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":6.25128,"3.2":0.01498,"4.0-4.1":0.01284,"4.2-4.3":0.00214,"5.0-5.1":0.0107,"6.0-6.1":0.00642,"7.0-7.1":0.01498,"8.1-8.4":0.04921,"9.0-9.2":0.02781,"9.3":0.35514,"10.0-10.2":0.0599,"10.3":0.32946,"11.0-11.2":0.12408,"11.3-11.4":0.2118,"12.0-12.1":0.21608,"12.2-12.4":2.15436,"13.0-13.1":0.17757,"13.2":0.08771,"13.3":0.66749,"13.4-13.7":3.55565},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.01123,"12":0.02245,"13":0.15155,"14":1.00473,_:"0","3.1":0,"3.2":0,"5.1":0.01684,"6.1":0,"7.1":0,"9.1":0.00561,"10.1":0.02245,"11.1":0.07297,"12.1":0.11787,"13.1":1.07208},B:{"12":0,"13":0,"14":0,"15":0.00561,"16":0.00561,"17":0.01684,"18":0.11226,"79":0,"80":0,"81":0,"83":0.00561,"84":0.00561,"85":0.52201,"86":1.06647},I:{"3":0,"4":0.05317,_:"81","2.1":0,"2.2":0,"2.3":0.00043,"4.1":0.0268,"4.2-4.3":0.01191,"4.4":0,"4.4.3-4.4.4":0.09699},P:{"4":0.11399,"5.0-5.4":0.01036,"6.2-6.4":0,"7.2-7.4":0.01036,"8.2":0.01036,"9.2":0.04145,"10.1":0.04145,"11.1-11.2":0.09327,"12.0":2.31095},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.01201,"9":0.01201,"10":0,"11":0.49238,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.26761},Q:{"10.4":0.01316},O:{"0":0.04826},H:{"0":0.23259},L:{"0":49.87612}};
diff --git a/node_modules/caniuse-lite/data/regions/ET.js b/node_modules/caniuse-lite/data/regions/ET.js
new file mode 100644
index 0000000..9ac01b2
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/ET.js
@@ -0,0 +1 @@
+module.exports={C:{"2":0,"3":0,"4":0.00511,"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.00511,"20":0.00511,"21":0,"22":0,"23":0,"24":0,"25":0.00511,"26":0,"27":0.00511,"28":0.01023,"29":0.00511,"30":0.01534,"31":0.02045,"32":0.00511,"33":0.00511,"34":0.01534,"35":0.01023,"36":0.00511,"37":0.00511,"38":0.00511,"39":0,"40":0.00511,"41":0.00511,"42":0.01023,"43":0.03068,"44":0.02045,"45":0.00511,"46":0.01023,"47":0.06647,"48":0.02557,"49":0.01023,"50":0.01023,"51":0,"52":0.27099,"53":0,"54":0.00511,"55":0.00511,"56":0.02045,"57":0.02045,"58":0.01023,"59":0.00511,"60":0.00511,"61":0.00511,"62":0.00511,"63":0.00511,"64":0.00511,"65":0.00511,"66":0.03068,"67":0.00511,"68":0.05624,"69":0.01023,"70":0.01023,"71":0.00511,"72":0.04602,"73":0.01023,"74":0.01023,"75":0.01534,"76":0.01023,"77":0.01534,"78":0.15339,"79":0.04602,"80":0.1176,"81":2.40822,"82":0.53687,"83":0.14316,"84":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.01534,"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.00511,"26":0.00511,"27":0,"28":0,"29":0,"30":0,"31":0.00511,"32":0.00511,"33":0.02557,"34":0.00511,"35":0,"36":0.00511,"37":0.00511,"38":0.00511,"39":0.00511,"40":0.05624,"41":0,"42":0.00511,"43":0.3528,"44":0,"45":0.00511,"46":0.00511,"47":0,"48":0,"49":0.02557,"50":0.00511,"51":0.02557,"52":0,"53":0.0409,"54":0,"55":0.01023,"56":0.00511,"57":0.00511,"58":0.01534,"59":0,"60":0.03579,"61":0.01023,"62":0.01023,"63":0.08181,"64":0.01023,"65":0.04602,"66":0.00511,"67":0.03068,"68":0.00511,"69":0.03579,"70":0.02045,"71":0.01534,"72":0.02557,"73":0.02557,"74":0.08181,"75":0.02557,"76":0.02045,"77":0.06136,"78":0.04602,"79":0.17384,"80":0.25054,"81":0.09203,"83":0.13805,"84":0.5522,"85":4.69373,"86":7.2349,"87":0.0409,"88":0.01534,"89":0},F:{"9":0,"11":0,"12":0,"15":0.00511,"16":0,"17":0,"18":0.00511,"19":0,"20":0.01534,"21":0.00511,"22":0,"23":0.01023,"24":0.00511,"25":0,"26":0,"27":0.00511,"28":0.01534,"29":0.00511,"30":0.00511,"31":0,"32":0.00511,"33":0,"34":0,"35":0,"36":0.01534,"37":0,"38":0,"39":0,"40":0.00511,"41":0,"42":0.01023,"43":0,"44":0,"45":0.00511,"46":0.01023,"47":0.00511,"48":0,"49":0,"50":0.0409,"51":0.1176,"52":0,"53":0.02045,"54":0,"55":0,"56":0.00511,"57":0.00511,"58":0.00511,"60":0.03068,"62":0.00511,"63":0.00511,"64":0,"65":0.00511,"66":0.00511,"67":0.00511,"68":0.01023,"69":0.00511,"70":0.7465,"71":1.91738,"72":0.06136,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.1176},G:{"8":0,"14":1.56747,"3.2":0.00376,"4.0-4.1":0.00322,"4.2-4.3":0.00054,"5.0-5.1":0.00268,"6.0-6.1":0.00161,"7.0-7.1":0.00376,"8.1-8.4":0.01234,"9.0-9.2":0.00697,"9.3":0.08905,"10.0-10.2":0.01502,"10.3":0.08261,"11.0-11.2":0.03111,"11.3-11.4":0.05311,"12.0-12.1":0.05418,"12.2-12.4":0.54019,"13.0-13.1":0.04452,"13.2":0.02199,"13.3":0.16737,"13.4-13.7":0.89156},E:{"4":0,"5":0,"6":0,"7":0.00511,"8":0,"9":0,"10":0.00511,"11":0.01023,"12":0.01023,"13":0.05113,"14":0.12271,_:"0","3.1":0,"3.2":0,"5.1":0.00511,"6.1":0,"7.1":0,"9.1":0.01023,"10.1":0.00511,"11.1":0.01534,"12.1":0.06647,"13.1":0.14316},B:{"12":0.14828,"13":0.02557,"14":0.01023,"15":0.01534,"16":0.03068,"17":0.04602,"18":0.78229,"79":0,"80":0,"81":0.00511,"83":0.01023,"84":0.02557,"85":0.44483,"86":0.69537},I:{"3":0,"4":0.15868,_:"81","2.1":0,"2.2":0,"2.3":0.00127,"4.1":0.07997,"4.2-4.3":0.03554,"4.4":0,"4.4.3-4.4.4":0.28943},P:{"4":0.54082,"5.0-5.4":0.06123,"6.2-6.4":0.05102,"7.2-7.4":0.20408,"8.2":0.02041,"9.2":0.2551,"10.1":0.09184,"11.1-11.2":0.2449,"12.0":1.41838},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.04243,"9":0.00849,"10":0,"11":0.3479,"5.5":0},J:{"7":0,"10":0.00489},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.20037},Q:{"10.4":0.32743},O:{"0":1.9939},H:{"0":11.10407},L:{"0":44.6738}};
diff --git a/node_modules/caniuse-lite/data/regions/FI.js b/node_modules/caniuse-lite/data/regions/FI.js
new file mode 100644
index 0000000..81d74dc
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/FI.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00595,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.00595,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0.01786,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0.00595,"48":0.00595,"49":0,"50":0,"51":0,"52":0.05359,"53":0,"54":0.01191,"55":0.01191,"56":0.01191,"57":0,"58":0,"59":0.01191,"60":0.01191,"61":0.00595,"62":0.00595,"63":0.02382,"64":0.02382,"65":0.01191,"66":0.00595,"67":0.00595,"68":0.10122,"69":0,"70":0,"71":0,"72":0.01191,"73":0,"74":0,"75":0.00595,"76":0.00595,"77":0.01786,"78":0.20839,"79":0.03572,"80":0.13694,"81":3.26875,"82":0.64899,"83":0.00595,"84":0,"3.5":0,"3.6":0},D:{"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.00595,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.00595,"39":0,"40":0,"41":0,"42":0,"43":0.00595,"44":0,"45":0,"46":0,"47":0,"48":0.00595,"49":0.07145,"50":0,"51":0,"52":0.04763,"53":0.01786,"54":0,"55":0,"56":0.00595,"57":0.01786,"58":0,"59":0.01191,"60":0.08931,"61":0.00595,"62":0,"63":0.01191,"64":0.23816,"65":0.00595,"66":0.04763,"67":0.01786,"68":0.01191,"69":0.1548,"70":0.30961,"71":0.11908,"72":0.36319,"73":0.04168,"74":0.01786,"75":0.02977,"76":0.03572,"77":0.02382,"78":0.02977,"79":0.51204,"80":0.32747,"81":0.16671,"83":0.13694,"84":0.30365,"85":8.31178,"86":11.55671,"87":0.01786,"88":0.00595,"89":0},F:{"9":0,"11":0,"12":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.01786,"52":0,"53":0,"54":0,"55":0,"56":0.01191,"57":0.01191,"58":0,"60":0.00595,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.06549,"71":0.46441,"72":0.02382,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":8.84398,"3.2":0.02119,"4.0-4.1":0.01816,"4.2-4.3":0.00303,"5.0-5.1":0.01513,"6.0-6.1":0.00908,"7.0-7.1":0.02119,"8.1-8.4":0.06961,"9.0-9.2":0.03935,"9.3":0.50243,"10.0-10.2":0.08475,"10.3":0.46611,"11.0-11.2":0.17555,"11.3-11.4":0.29964,"12.0-12.1":0.3057,"12.2-12.4":3.04787,"13.0-13.1":0.25122,"13.2":0.12409,"13.3":0.94433,"13.4-13.7":5.03035},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.00595,"11":0.00595,"12":0.02977,"13":0.20244,"14":1.29202,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.00595,"10.1":0.04168,"11.1":0.10717,"12.1":0.14885,"13.1":1.49445},B:{"12":0,"13":0,"14":0.01191,"15":0.00595,"16":0.01786,"17":0.05359,"18":0.19648,"79":0,"80":0,"81":0,"83":0.00595,"84":0.01191,"85":0.64303,"86":1.23248},I:{"3":0,"4":0.05063,_:"81","2.1":0,"2.2":0,"2.3":0.00041,"4.1":0.02552,"4.2-4.3":0.01134,"4.4":0,"4.4.3-4.4.4":0.09234},P:{"4":0.05231,"5.0-5.4":0.01046,"6.2-6.4":0,"7.2-7.4":0.03138,"8.2":0.02092,"9.2":0.12554,"10.1":0.10461,"11.1-11.2":0.17784,"12.0":2.53166},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.0061,"7":0,"8":0.02438,"9":0.01219,"10":0.0061,"11":0.46328,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0.00405},R:{_:"0"},M:{"0":0.42078},Q:{"10.4":0},O:{"0":0.12543},H:{"0":0.30644},L:{"0":38.61507}};
diff --git a/node_modules/caniuse-lite/data/regions/FJ.js b/node_modules/caniuse-lite/data/regions/FJ.js
new file mode 100644
index 0000000..021eae9
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/FJ.js
@@ -0,0 +1 @@
+module.exports={C:{"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.01087,"48":0.00544,"49":0,"50":0,"51":0,"52":0.03262,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.02175,"59":0,"60":0,"61":0,"62":0.00544,"63":0,"64":0.00544,"65":0.00544,"66":0,"67":0,"68":0.0435,"69":0.01087,"70":0,"71":0,"72":0.02175,"73":0,"74":0.01087,"75":0,"76":0.00544,"77":0.00544,"78":0.03262,"79":0.01087,"80":0.09243,"81":1.5278,"82":0.22292,"83":0.01087,"84":0,"3.5":0,"3.6":0},D:{"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.07068,"50":0,"51":0,"52":0,"53":0.00544,"54":0,"55":0.00544,"56":0.00544,"57":0,"58":0.01631,"59":0,"60":0,"61":0.02175,"62":0,"63":0.01087,"64":0,"65":0.07068,"66":0,"67":0,"68":0,"69":0.01087,"70":0,"71":0.00544,"72":0.00544,"73":0.00544,"74":0.01631,"75":0.00544,"76":0.01631,"77":0.0435,"78":0.01087,"79":0.07068,"80":0.12505,"81":0.0435,"83":0.07068,"84":0.07068,"85":4.92592,"86":7.51393,"87":0.00544,"88":0,"89":0},F:{"9":0,"11":0,"12":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.02175,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0.00544,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.07612,"71":0.21204,"72":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":2.00199,"3.2":0.0048,"4.0-4.1":0.00411,"4.2-4.3":0.00069,"5.0-5.1":0.00343,"6.0-6.1":0.00206,"7.0-7.1":0.0048,"8.1-8.4":0.01576,"9.0-9.2":0.00891,"9.3":0.11373,"10.0-10.2":0.01918,"10.3":0.10551,"11.0-11.2":0.03974,"11.3-11.4":0.06783,"12.0-12.1":0.0692,"12.2-12.4":0.68994,"13.0-13.1":0.05687,"13.2":0.02809,"13.3":0.21377,"13.4-13.7":1.13871},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.02175,"12":0.04893,"13":0.05981,"14":0.44583,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0.01087,"11.1":0.06524,"12.1":0.03262,"13.1":0.38059},B:{"12":0.01087,"13":0.00544,"14":0.00544,"15":0.01631,"16":0.02719,"17":0.0435,"18":9.3462,"79":0,"80":0,"81":0,"83":0,"84":0.01631,"85":0.38603,"86":0.96779},I:{"3":0,"4":0.07254,_:"81","2.1":0,"2.2":0,"2.3":0.00058,"4.1":0.03656,"4.2-4.3":0.01625,"4.4":0,"4.4.3-4.4.4":0.13232},P:{"4":0.65253,"5.0-5.4":0.03059,"6.2-6.4":0.05098,"7.2-7.4":0.78508,"8.2":0.02039,"9.2":0.44862,"10.1":0.18352,"11.1-11.2":0.64234,"12.0":10.79738},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0.01442,"11":0.64889,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.13233},Q:{"10.4":0.01369},O:{"0":1.35065},H:{"0":0.27216},L:{"0":43.26831}};
diff --git a/node_modules/caniuse-lite/data/regions/FK.js b/node_modules/caniuse-lite/data/regions/FK.js
new file mode 100644
index 0000000..94f056d
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/FK.js
@@ -0,0 +1 @@
+module.exports={C:{"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.07322,"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.0169,"69":0,"70":0.01126,"71":0,"72":0.00563,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.02816,"79":0.01126,"80":0.00563,"81":2.49498,"82":0.36045,"83":0,"84":0,"3.5":0,"3.6":0},D:{"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.02816,"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.00563,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0.23654,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0.02253,"83":0.00563,"84":0.00563,"85":1.18272,"86":8.97178,"87":0,"88":0,"89":0},F:{"9":0,"11":0,"12":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.00563,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.0169,"71":0.07885,"72":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":4.23944,"3.2":0.01016,"4.0-4.1":0.00871,"4.2-4.3":0.00145,"5.0-5.1":0.00725,"6.0-6.1":0.00435,"7.0-7.1":0.01016,"8.1-8.4":0.03337,"9.0-9.2":0.01886,"9.3":0.24084,"10.0-10.2":0.04062,"10.3":0.22343,"11.0-11.2":0.08415,"11.3-11.4":0.14364,"12.0-12.1":0.14654,"12.2-12.4":1.46102,"13.0-13.1":0.12042,"13.2":0.05949,"13.3":0.45267,"13.4-13.7":2.41134},E:{"4":0,"5":0,"6":0,"7":0,"8":0.4224,"9":0.1577,"10":0,"11":0,"12":0,"13":0.0169,"14":13.42106,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0.0169,"12.1":0.05069,"13.1":0.52378},B:{"12":0,"13":0.00563,"14":0,"15":0,"16":0,"17":0.05632,"18":0.77158,"79":0,"80":0,"81":0.00563,"83":0,"84":0.02816,"85":0.39424,"86":0.64768},I:{"3":0,"4":0.08472,_:"81","2.1":0,"2.2":0,"2.3":0.00068,"4.1":0.0427,"4.2-4.3":0.01898,"4.4":0,"4.4.3-4.4.4":0.15453},P:{"4":0,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.02044,"8.2":0,"9.2":1.94151,"10.1":0.02044,"11.1-11.2":0.31677,"12.0":2.75899},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.94054,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.07426},Q:{"10.4":0},O:{"0":0},H:{"0":0.10752},L:{"0":50.80619}};
diff --git a/node_modules/caniuse-lite/data/regions/FM.js b/node_modules/caniuse-lite/data/regions/FM.js
new file mode 100644
index 0000000..7b05aa0
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/FM.js
@@ -0,0 +1 @@
+module.exports={C:{"47":0.01909,"48":0.06362,"52":0.13996,"59":0.09543,"60":0.17177,"66":0.01909,"68":0.01909,"72":0.03181,"76":0.03181,"78":0.0509,"79":0.05726,"80":0.57258,"81":4.1353,"82":0.41353,"83":0.0509,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 49 50 51 53 54 55 56 57 58 61 62 63 64 65 67 69 70 71 73 74 75 77 84 3.5 3.6"},D:{"23":0.04453,"26":0.15905,"49":0.03817,"54":0.01272,"65":0.09543,"67":0.02545,"69":0.06998,"71":0.03181,"72":0.01272,"74":0.02545,"75":0.01909,"79":0.01909,"80":0.41989,"83":0.06998,"84":0.1336,"85":17.69272,"86":22.97954,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 24 25 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 50 51 52 53 55 56 57 58 59 60 61 62 63 64 66 68 70 73 76 77 78 81 87 88 89"},F:{"58":0.06998,"70":0.03817,"71":0.69346,"72":0.01909,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 60 62 63 64 65 66 67 68 69 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"14":1.98915,"3.2":0.00477,"4.0-4.1":0.00408,"4.2-4.3":0.00068,"5.0-5.1":0.0034,"6.0-6.1":0.00204,"7.0-7.1":0.00477,"8.1-8.4":0.01566,"9.0-9.2":0.00885,"9.3":0.113,"10.0-10.2":0.01906,"10.3":0.10484,"11.0-11.2":0.03948,"11.3-11.4":0.06739,"12.0-12.1":0.06876,"12.2-12.4":0.68552,"13.0-13.1":0.0565,"13.2":0.02791,"13.3":0.21239,"13.4-13.7":1.13141},E:{"4":0,"13":0.08271,"14":0.52168,_:"0 5 6 7 8 9 10 11 12 3.1 3.2 5.1 6.1 7.1","9.1":0.04453,"10.1":0.02545,"11.1":0.01909,"12.1":0.04453,"13.1":0.8207},B:{"13":0.02545,"15":0.13996,"16":0.01909,"17":0.69346,"18":0.78889,"84":0.0509,"85":1.9595,"86":4.7715,_:"12 14 79 80 81 83"},I:{"3":0,"4":0.02044,_:"81","2.1":0,"2.2":0,"2.3":0.00016,"4.1":0.0103,"4.2-4.3":0.00458,"4.4":0,"4.4.3-4.4.4":0.03729},P:{"4":0.08227,"5.0-5.4":0.02135,"6.2-6.4":0,"7.2-7.4":0.11742,"8.2":0.01028,"9.2":0.11742,"10.1":0.02135,"11.1-11.2":0.28821,"12.0":1.03542},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":1.07518,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0},Q:{"10.4":0.03639},O:{"0":0.2802},H:{"0":0.29973},L:{"0":32.88766}};
diff --git a/node_modules/caniuse-lite/data/regions/FO.js b/node_modules/caniuse-lite/data/regions/FO.js
new file mode 100644
index 0000000..ba5051a
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/FO.js
@@ -0,0 +1 @@
+module.exports={C:{"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.01102,"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.01102,"49":0,"50":0.01102,"51":0,"52":0.01102,"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.04959,"69":0.00551,"70":0.00551,"71":0,"72":0.00551,"73":0,"74":0,"75":0.00551,"76":0,"77":0.00551,"78":0.29203,"79":0.00551,"80":0.03857,"81":1.27832,"82":0.22591,"83":0,"84":0,"3.5":0,"3.6":0},D:{"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.00551,"35":0,"36":0,"37":0,"38":0.00551,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.13224,"50":0,"51":0,"52":0,"53":0.02755,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0.00551,"62":0,"63":0,"64":0,"65":0.00551,"66":0.00551,"67":0.03857,"68":0.00551,"69":0,"70":0.00551,"71":0.01102,"72":0.00551,"73":0,"74":0,"75":0.07163,"76":0.01653,"77":0.01102,"78":0.03857,"79":0.02204,"80":0.0551,"81":0.02204,"83":0.13775,"84":0.08265,"85":4.09944,"86":7.91787,"87":0.00551,"88":0,"89":0},F:{"9":0,"11":0,"12":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,"60":0.01102,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.00551,"71":0.0551,"72":0.00551,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":19.08838,"3.2":0.04573,"4.0-4.1":0.0392,"4.2-4.3":0.00653,"5.0-5.1":0.03266,"6.0-6.1":0.0196,"7.0-7.1":0.04573,"8.1-8.4":0.15025,"9.0-9.2":0.08492,"9.3":1.08442,"10.0-10.2":0.18291,"10.3":1.00603,"11.0-11.2":0.37889,"11.3-11.4":0.64673,"12.0-12.1":0.6598,"12.2-12.4":6.57837,"13.0-13.1":0.54221,"13.2":0.26784,"13.3":2.03818,"13.4-13.7":10.85725},E:{"4":0,"5":0,"6":0,"7":0,"8":0.00551,"9":0,"10":0,"11":0.00551,"12":0.01653,"13":0.28652,"14":1.28934,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0.01102,"7.1":0,"9.1":0.06612,"10.1":0.08816,"11.1":0.13775,"12.1":0.10469,"13.1":4.65595},B:{"12":0.00551,"13":0,"14":0.01653,"15":0.02755,"16":0.00551,"17":0.01653,"18":0.58406,"79":0,"80":0,"81":0,"83":0,"84":0.00551,"85":1.04139,"86":2.71643},I:{"3":0,"4":0.01559,_:"81","2.1":0,"2.2":0,"2.3":0.00012,"4.1":0.00786,"4.2-4.3":0.00349,"4.4":0,"4.4.3-4.4.4":0.02844},P:{"4":0.07622,"5.0-5.4":0.01089,"6.2-6.4":0.02178,"7.2-7.4":0.01089,"8.2":0.01089,"9.2":0.14155,"10.1":0.08711,"11.1-11.2":0.098,"12.0":5.8473},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0.00551,"10":0,"11":2.12135,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.20205},Q:{"10.4":0},O:{"0":0},H:{"0":0.06801},L:{"0":18.02645}};
diff --git a/node_modules/caniuse-lite/data/regions/FR.js b/node_modules/caniuse-lite/data/regions/FR.js
new file mode 100644
index 0000000..7be9a29
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/FR.js
@@ -0,0 +1 @@
+module.exports={C:{"2":0,"3":0.00559,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.01118,"12":0.00559,"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.00559,"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.01118,"46":0,"47":0.00559,"48":0.03355,"49":0,"50":0.00559,"51":0.00559,"52":0.08388,"53":0,"54":0,"55":0.00559,"56":0.02237,"57":0,"58":0,"59":0.01118,"60":0.04474,"61":0.00559,"62":0.00559,"63":0.01678,"64":0.01678,"65":0.02237,"66":0.03914,"67":0.00559,"68":0.12302,"69":0.02237,"70":0.00559,"71":0.00559,"72":0.02237,"73":0.00559,"74":0.01118,"75":0.01678,"76":0.01118,"77":0.02796,"78":0.29078,"79":0.02796,"80":0.12862,"81":3.10356,"82":0.45854,"83":0.00559,"84":0,"3.5":0,"3.6":0},D:{"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.00559,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0.00559,"38":0.00559,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0.01678,"49":0.27401,"50":0,"51":0.00559,"52":0.02796,"53":0.00559,"54":0.1398,"55":0.00559,"56":0.00559,"57":0.00559,"58":0.01118,"59":0.00559,"60":0.01118,"61":0.02237,"62":0.00559,"63":0.01678,"64":0.01678,"65":0.01678,"66":0.03914,"67":0.02796,"68":0.01678,"69":0.02237,"70":0.11184,"71":0.17894,"72":0.12302,"73":0.0727,"74":0.03914,"75":0.10625,"76":0.03914,"77":0.03355,"78":0.08388,"79":0.08947,"80":0.14539,"81":0.10066,"83":0.13421,"84":0.22927,"85":6.48113,"86":9.65738,"87":0.01118,"88":0.00559,"89":0},F:{"9":0,"11":0,"12":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.00559,"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.00559,"51":0.01678,"52":0,"53":0.00559,"54":0,"55":0,"56":0.00559,"57":0.00559,"58":0.00559,"60":0.00559,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.00559,"69":0,"70":0.05592,"71":0.45854,"72":0.01118,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":9.1663,"3.2":0.02196,"4.0-4.1":0.01882,"4.2-4.3":0.00314,"5.0-5.1":0.01568,"6.0-6.1":0.00941,"7.0-7.1":0.02196,"8.1-8.4":0.07215,"9.0-9.2":0.04078,"9.3":0.52074,"10.0-10.2":0.08784,"10.3":0.4831,"11.0-11.2":0.18195,"11.3-11.4":0.31056,"12.0-12.1":0.31684,"12.2-12.4":3.15896,"13.0-13.1":0.26037,"13.2":0.12862,"13.3":0.97874,"13.4-13.7":5.21369},E:{"4":0.00559,"5":0,"6":0,"7":0,"8":0,"9":0.00559,"10":0.00559,"11":0.01678,"12":0.05033,"13":0.20131,"14":1.29175,_:"0","3.1":0,"3.2":0,"5.1":0.01118,"6.1":0,"7.1":0,"9.1":0.01118,"10.1":0.03914,"11.1":0.12302,"12.1":0.2125,"13.1":1.38682},B:{"12":0,"13":0,"14":0.00559,"15":0.01118,"16":0.01118,"17":0.05592,"18":0.20131,"79":0,"80":0,"81":0.00559,"83":0.00559,"84":0.01118,"85":0.6263,"86":1.28057},I:{"3":0,"4":0.11321,_:"81","2.1":0,"2.2":0,"2.3":0.00091,"4.1":0.05706,"4.2-4.3":0.02536,"4.4":0,"4.4.3-4.4.4":0.20649},P:{"4":0.07285,"5.0-5.4":0.02081,"6.2-6.4":0,"7.2-7.4":0.03122,"8.2":0.02081,"9.2":0.10407,"10.1":0.07285,"11.1-11.2":0.1457,"12.0":2.67459},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.05085,"7":0,"8":0.08264,"9":0.02543,"10":0.03178,"11":0.55303,"5.5":0},J:{"7":0,"10":0.00441},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.36146},Q:{"10.4":0.01322},O:{"0":0.44962},H:{"0":0.27961},L:{"0":41.82851}};
diff --git a/node_modules/caniuse-lite/data/regions/GA.js b/node_modules/caniuse-lite/data/regions/GA.js
new file mode 100644
index 0000000..609fdc4
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/GA.js
@@ -0,0 +1 @@
+module.exports={C:{"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.0098,"28":0,"29":0.0049,"30":0,"31":0.0049,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.0049,"44":0,"45":0,"46":0,"47":0.0049,"48":0.18624,"49":0,"50":0.0049,"51":0,"52":0.06861,"53":0,"54":0.02451,"55":0,"56":0.0098,"57":0.0049,"58":0,"59":0,"60":0.0049,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.04901,"69":0.0147,"70":0,"71":0.0049,"72":0.0098,"73":0,"74":0,"75":0.0049,"76":0,"77":0.0049,"78":0.28426,"79":0.0147,"80":0.04901,"81":2.14174,"82":0.28916,"83":0.0147,"84":0,"3.5":0,"3.6":0},D:{"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.05881,"19":0,"20":0,"21":0,"22":0.0147,"23":0.0049,"24":0,"25":0.0049,"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.0049,"39":0,"40":0.0049,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0.0098,"47":0,"48":0,"49":0.22545,"50":0,"51":0,"52":0,"53":0.03431,"54":0,"55":0.0049,"56":0,"57":0.0049,"58":0.0049,"59":0,"60":0,"61":0,"62":0,"63":0.03921,"64":0,"65":0.0049,"66":0,"67":0.0098,"68":0.0049,"69":0.16663,"70":0.0049,"71":0.0098,"72":0.0049,"73":0.0049,"74":0.02941,"75":0.0196,"76":0.0098,"77":0.0049,"78":0.08332,"79":0.07352,"80":0.38228,"81":0.06371,"83":0.20584,"84":0.29896,"85":4.49912,"86":7.54754,"87":0,"88":0.0196,"89":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0.0098,"25":0,"26":0.0049,"27":0,"28":0.0196,"29":0,"30":0.0098,"31":0,"32":0.0049,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0.03921,"43":0,"44":0,"45":0,"46":0.0147,"47":0.0098,"48":0,"49":0,"50":0.08822,"51":0.76946,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0.0049,"62":0,"63":0.0098,"64":0,"65":0,"66":0,"67":0,"68":0.0098,"69":0.0049,"70":0.22055,"71":1.17134,"72":0.02941,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.0196},G:{"8":0,"14":2.55759,"3.2":0.00613,"4.0-4.1":0.00525,"4.2-4.3":0.00088,"5.0-5.1":0.00438,"6.0-6.1":0.00263,"7.0-7.1":0.00613,"8.1-8.4":0.02013,"9.0-9.2":0.01138,"9.3":0.1453,"10.0-10.2":0.02451,"10.3":0.13479,"11.0-11.2":0.05077,"11.3-11.4":0.08665,"12.0-12.1":0.0884,"12.2-12.4":0.88141,"13.0-13.1":0.07265,"13.2":0.03589,"13.3":0.27309,"13.4-13.7":1.45473},E:{"4":0,"5":0,"6":0,"7":0.0049,"8":0,"9":0,"10":0,"11":0.0049,"12":0.0049,"13":0.04901,"14":0.57342,_:"0","3.1":0,"3.2":0,"5.1":0.06861,"6.1":0,"7.1":0,"9.1":0,"10.1":0.0147,"11.1":0.0147,"12.1":0.39208,"13.1":0.36267},B:{"12":0.02451,"13":0.0098,"14":0.0196,"15":0.02451,"16":0.0147,"17":0.02451,"18":0.14213,"79":0,"80":0,"81":0,"83":0.0049,"84":0.02941,"85":0.55871,"86":1.21545},I:{"3":0,"4":0.11141,_:"81","2.1":0,"2.2":0,"2.3":0.00089,"4.1":0.05615,"4.2-4.3":0.02496,"4.4":0,"4.4.3-4.4.4":0.20322},P:{"4":0.35881,"5.0-5.4":0.01025,"6.2-6.4":0.03076,"7.2-7.4":0.84065,"8.2":0,"9.2":0.15378,"10.1":0.08201,"11.1-11.2":0.32806,"12.0":3.05503},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.04635,"9":0,"10":0,"11":0.38004,"5.5":0},J:{"7":0,"10":0.04589},N:{"10":0,"11":0.0204},S:{"2.5":0.0051},R:{_:"0"},M:{"0":0.09688},Q:{"10.4":0.12238},O:{"0":0.76485},H:{"0":2.96885},L:{"0":57.22551}};
diff --git a/node_modules/caniuse-lite/data/regions/GB.js b/node_modules/caniuse-lite/data/regions/GB.js
new file mode 100644
index 0000000..fcc2066
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/GB.js
@@ -0,0 +1 @@
+module.exports={C:{"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.0053,"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.0053,"49":0,"50":0,"51":0,"52":0.0265,"53":0,"54":0,"55":0,"56":0.0106,"57":0,"58":0,"59":0.0053,"60":0,"61":0,"62":0,"63":0.0053,"64":0.0053,"65":0.0053,"66":0.0053,"67":0,"68":0.0265,"69":0,"70":0,"71":0,"72":0.0106,"73":0,"74":0,"75":0.0053,"76":0.0053,"77":0.0106,"78":0.0636,"79":0.0106,"80":0.0583,"81":1.1554,"82":0.1855,"83":0.0053,"84":0,"3.5":0,"3.6":0},D:{"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.0053,"39":0,"40":0.0424,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.1325,"50":0,"51":0,"52":0,"53":0.0106,"54":0.053,"55":0,"56":0,"57":0,"58":0.0053,"59":0.0053,"60":0.0053,"61":0.0159,"62":0,"63":0.0106,"64":0.0053,"65":0.0159,"66":0.0265,"67":0.0159,"68":0.0053,"69":0.0424,"70":0.0159,"71":0.0318,"72":0.0265,"73":0.0159,"74":0.0159,"75":0.0477,"76":0.0477,"77":0.0265,"78":0.0318,"79":0.0477,"80":0.0901,"81":0.0742,"83":0.1537,"84":0.2544,"85":6.519,"86":8.4641,"87":0.0106,"88":0.0053,"89":0},F:{"9":0,"11":0,"12":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.0106,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0.0053,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.0371,"71":0.2756,"72":0.0053,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.0053},G:{"8":0,"14":16.55489,"3.2":0.03966,"4.0-4.1":0.03399,"4.2-4.3":0.00567,"5.0-5.1":0.02833,"6.0-6.1":0.017,"7.0-7.1":0.03966,"8.1-8.4":0.13031,"9.0-9.2":0.07365,"9.3":0.94049,"10.0-10.2":0.15864,"10.3":0.8725,"11.0-11.2":0.3286,"11.3-11.4":0.56089,"12.0-12.1":0.57223,"12.2-12.4":5.70526,"13.0-13.1":0.47024,"13.2":0.23229,"13.3":1.76767,"13.4-13.7":9.41623},E:{"4":0,"5":0,"6":0,"7":0,"8":0.0053,"9":0,"10":0.0053,"11":0.0106,"12":0.0318,"13":0.2067,"14":1.5317,_:"0","3.1":0,"3.2":0,"5.1":0.0053,"6.1":0,"7.1":0,"9.1":0.0106,"10.1":0.0318,"11.1":0.1007,"12.1":0.159,"13.1":2.1677},B:{"12":0,"13":0.0053,"14":0.0053,"15":0.0159,"16":0.0159,"17":0.0477,"18":0.4558,"79":0,"80":0.0053,"81":0.0053,"83":0.0053,"84":0.0159,"85":0.8639,"86":1.5953},I:{"3":0,"4":0.15115,_:"81","2.1":0,"2.2":0,"2.3":0.00121,"4.1":0.07618,"4.2-4.3":0.03386,"4.4":0,"4.4.3-4.4.4":0.2757},P:{"4":0.06405,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.02135,"8.2":0.01068,"9.2":0.05338,"10.1":0.0427,"11.1-11.2":0.10675,"12.0":3.93921},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.00559,"7":0,"8":0.01117,"9":0.00559,"10":0,"11":0.59775,"5.5":0},J:{"7":0,"10":0.0047},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.2444},Q:{"10.4":0.0094},O:{"0":0.1175},H:{"0":0.15574},L:{"0":27.7414}};
diff --git a/node_modules/caniuse-lite/data/regions/GD.js b/node_modules/caniuse-lite/data/regions/GD.js
new file mode 100644
index 0000000..44640f3
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/GD.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00411,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0.14807,"61":0,"62":0,"63":0,"64":0,"65":0.00411,"66":0,"67":0,"68":0.01645,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.00411,"78":0.02879,"79":0.00411,"80":0.02468,"81":0.46066,"82":0.06992,"83":0,"84":0,"3.5":0,"3.6":0},D:{"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.01645,"47":0,"48":0,"49":0.02057,"50":0.00411,"51":0,"52":0,"53":0.00411,"54":0,"55":0,"56":0,"57":0,"58":0.00411,"59":0.00411,"60":0.00411,"61":0,"62":0,"63":0.00411,"64":0,"65":0,"66":0,"67":0.00411,"68":0.00823,"69":0,"70":0.00411,"71":0.00823,"72":0.00823,"73":0,"74":0,"75":0.00823,"76":0.01234,"77":0.02879,"78":0.00411,"79":0.0329,"80":0.06992,"81":0.03702,"83":0.0329,"84":0.04936,"85":3.91558,"86":5.9474,"87":0.02057,"88":0,"89":0},F:{"9":0,"11":0,"12":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,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.02468,"71":0.21799,"72":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":4.39105,"3.2":0.01052,"4.0-4.1":0.00902,"4.2-4.3":0.0015,"5.0-5.1":0.00751,"6.0-6.1":0.00451,"7.0-7.1":0.01052,"8.1-8.4":0.03456,"9.0-9.2":0.01954,"9.3":0.24946,"10.0-10.2":0.04208,"10.3":0.23142,"11.0-11.2":0.08716,"11.3-11.4":0.14877,"12.0-12.1":0.15178,"12.2-12.4":1.51327,"13.0-13.1":0.12473,"13.2":0.06161,"13.3":0.46886,"13.4-13.7":2.49758},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.03702,"11":0,"12":0.00411,"13":0.10694,"14":0.56759,_:"0","3.1":0,"3.2":0,"5.1":0.25912,"6.1":0,"7.1":0,"9.1":0,"10.1":0.01645,"11.1":0.00823,"12.1":0.01645,"13.1":0.36606},B:{"12":0,"13":0.00411,"14":0.00411,"15":0.03702,"16":0.02468,"17":0.01645,"18":0.17686,"79":0,"80":0,"81":0,"83":0,"84":0.00411,"85":0.69098,"86":1.20511},I:{"3":0,"4":0.51052,_:"81","2.1":0,"2.2":0,"2.3":0.00408,"4.1":0.2573,"4.2-4.3":0.11436,"4.4":0,"4.4.3-4.4.4":0.93119},P:{"4":0.11895,"5.0-5.4":0.01081,"6.2-6.4":0,"7.2-7.4":0.34604,"8.2":0,"9.2":0.0757,"10.1":0.08651,"11.1-11.2":0.11895,"12.0":3.2874},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0.01032,"10":0.01548,"11":0.27857,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0.00589},R:{_:"0"},M:{"0":0.10597},Q:{"10.4":0},O:{"0":0.09419},H:{"0":0.06688},L:{"0":66.62378}};
diff --git a/node_modules/caniuse-lite/data/regions/GE.js b/node_modules/caniuse-lite/data/regions/GE.js
new file mode 100644
index 0000000..89827c5
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/GE.js
@@ -0,0 +1 @@
+module.exports={C:{"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.01279,"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.01279,"69":0,"70":0,"71":0,"72":0.00639,"73":0,"74":0,"75":0,"76":0.00639,"77":0.01918,"78":0.05755,"79":0.00639,"80":0.01918,"81":0.90795,"82":0.15346,"83":0.00639,"84":0,"3.5":0,"3.6":0},D:{"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.00639,"39":0.00639,"40":0,"41":0,"42":0,"43":0.00639,"44":0.00639,"45":0,"46":0,"47":0.00639,"48":0.00639,"49":0.28773,"50":0.00639,"51":0,"52":0,"53":0.01918,"54":0,"55":0,"56":0.01279,"57":0,"58":0.01279,"59":0.01918,"60":0,"61":0.06394,"62":0.00639,"63":0.02558,"64":0.00639,"65":0.02558,"66":0.01279,"67":0.01279,"68":0.04476,"69":0.01918,"70":0.02558,"71":0.03836,"72":0.05115,"73":0.05755,"74":0.05755,"75":0.03836,"76":0.05755,"77":0.03197,"78":0.05115,"79":0.15346,"80":0.22379,"81":0.15985,"83":0.19182,"84":0.40922,"85":10.20482,"86":18.10141,"87":0.03197,"88":0.01918,"89":0},F:{"9":0,"11":0,"12":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.00639,"36":0.01279,"37":0,"38":0,"39":0,"40":0.00639,"41":0,"42":0,"43":0,"44":0,"45":0.00639,"46":0.01918,"47":0.00639,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0.00639,"54":0,"55":0,"56":0,"57":0.00639,"58":0.00639,"60":0.03836,"62":0,"63":0.00639,"64":0,"65":0.00639,"66":0,"67":0.00639,"68":0.01918,"69":0.01279,"70":0.34528,"71":2.95403,"72":0.09591,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":5.35981,"3.2":0.01284,"4.0-4.1":0.01101,"4.2-4.3":0.00183,"5.0-5.1":0.00917,"6.0-6.1":0.0055,"7.0-7.1":0.01284,"8.1-8.4":0.04219,"9.0-9.2":0.02385,"9.3":0.30449,"10.0-10.2":0.05136,"10.3":0.28248,"11.0-11.2":0.10639,"11.3-11.4":0.1816,"12.0-12.1":0.18526,"12.2-12.4":1.84714,"13.0-13.1":0.15225,"13.2":0.07521,"13.3":0.5723,"13.4-13.7":3.0486},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.02558,"13":0.05115,"14":0.51152,_:"0","3.1":0,"3.2":0,"5.1":0.03836,"6.1":0,"7.1":0,"9.1":0.04476,"10.1":0.00639,"11.1":0.04476,"12.1":0.04476,"13.1":0.28134},B:{"12":0.01279,"13":0.08312,"14":0.19182,"15":0.01279,"16":0.17903,"17":0.03197,"18":0.51152,"79":0,"80":0,"81":0,"83":0,"84":0.01918,"85":0.44758,"86":1.04862},I:{"3":0,"4":0.21267,_:"81","2.1":0,"2.2":0,"2.3":0.0017,"4.1":0.10718,"4.2-4.3":0.04764,"4.4":0,"4.4.3-4.4.4":0.38791},P:{"4":0.39663,"5.0-5.4":0,"6.2-6.4":0.01017,"7.2-7.4":0.05085,"8.2":0.01017,"9.2":0.06102,"10.1":0.04068,"11.1-11.2":0.13221,"12.0":1.49498},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.02984,"9":0.00746,"10":0.00746,"11":0.22379,"5.5":0},J:{"7":0,"10":0.00361},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.0577},Q:{"10.4":0},O:{"0":0.10097},H:{"0":0.30384},L:{"0":42.4608}};
diff --git a/node_modules/caniuse-lite/data/regions/GF.js b/node_modules/caniuse-lite/data/regions/GF.js
new file mode 100644
index 0000000..39f4a5a
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/GF.js
@@ -0,0 +1 @@
+module.exports={C:{"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.01125,"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.00563,"48":0.00563,"49":0,"50":0,"51":0.00563,"52":0.0225,"53":0,"54":0,"55":0,"56":0,"57":0.00563,"58":0,"59":0,"60":0.14063,"61":0,"62":0,"63":0,"64":0,"65":0.00563,"66":0,"67":0,"68":0.12375,"69":0,"70":0,"71":0.00563,"72":0.00563,"73":0.00563,"74":0.00563,"75":0,"76":0,"77":0.00563,"78":0.12938,"79":0.06188,"80":0.05625,"81":2.52563,"82":0.30938,"83":0,"84":0,"3.5":0,"3.6":0},D:{"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.00563,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0.03375,"45":0,"46":0,"47":0,"48":0,"49":0.495,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0.07875,"58":0.00563,"59":0.00563,"60":0,"61":0,"62":0,"63":0.07313,"64":0,"65":0,"66":0,"67":0.135,"68":0,"69":0.03938,"70":0.0225,"71":0.00563,"72":0,"73":0.01125,"74":0.00563,"75":0.00563,"76":0.1575,"77":0.00563,"78":0.05625,"79":0.03375,"80":0.10688,"81":0.01688,"83":1.44563,"84":0.20813,"85":6.77813,"86":8.57813,"87":0,"88":0,"89":0},F:{"9":0,"11":0,"12":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.00563,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0.00563,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0.00563,"68":0,"69":0,"70":0.01125,"71":0.12938,"72":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":7.80669,"3.2":0.0187,"4.0-4.1":0.01603,"4.2-4.3":0.00267,"5.0-5.1":0.01336,"6.0-6.1":0.00802,"7.0-7.1":0.0187,"8.1-8.4":0.06145,"9.0-9.2":0.03473,"9.3":0.4435,"10.0-10.2":0.07481,"10.3":0.41144,"11.0-11.2":0.15496,"11.3-11.4":0.2645,"12.0-12.1":0.26984,"12.2-12.4":2.69039,"13.0-13.1":0.22175,"13.2":0.10954,"13.3":0.83357,"13.4-13.7":4.44035},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.03375,"13":0.12375,"14":1.62,_:"0","3.1":0,"3.2":0,"5.1":0.03375,"6.1":0,"7.1":0,"9.1":0,"10.1":0.1125,"11.1":0.02813,"12.1":0.36563,"13.1":0.75938},B:{"12":0.00563,"13":0,"14":0.00563,"15":0.00563,"16":0.0225,"17":0.01688,"18":1.62563,"79":0,"80":0,"81":0,"83":0.00563,"84":0.01688,"85":1.11938,"86":1.62563},I:{"3":0,"4":0.08848,_:"81","2.1":0,"2.2":0,"2.3":0.00071,"4.1":0.0446,"4.2-4.3":0.01982,"4.4":0,"4.4.3-4.4.4":0.16139},P:{"4":0.04186,"5.0-5.4":0,"6.2-6.4":0.01046,"7.2-7.4":0.07325,"8.2":0,"9.2":0.05232,"10.1":0.04186,"11.1-11.2":0.1465,"12.0":2.4172},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.6975,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.09625},Q:{"10.4":0.13563},O:{"0":0.05688},H:{"0":0.05799},L:{"0":46.56}};
diff --git a/node_modules/caniuse-lite/data/regions/GG.js b/node_modules/caniuse-lite/data/regions/GG.js
new file mode 100644
index 0000000..06e5c91
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/GG.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00591,"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.02363,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0.00591,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.01182,"69":0,"70":0,"71":0,"72":0,"73":0.00591,"74":0,"75":0,"76":0,"77":0.00591,"78":0.0709,"79":0.00591,"80":0.15361,"81":1.05162,"82":0.13588,"83":0,"84":0,"3.5":0,"3.6":0},D:{"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.00591,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.08862,"50":0,"51":0,"52":0,"53":0.03545,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0.01772,"66":0,"67":0.02363,"68":0,"69":0,"70":0.01182,"71":0,"72":0,"73":0,"74":0.00591,"75":0,"76":0.02363,"77":0.00591,"78":0,"79":0,"80":0.08862,"81":0.04136,"83":0.08862,"84":0.21269,"85":6.30384,"86":7.4618,"87":0,"88":0,"89":0},F:{"9":0,"11":0,"12":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,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.00591,"69":0,"70":0.00591,"71":0.04726,"72":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":19.9567,"3.2":0.04781,"4.0-4.1":0.04098,"4.2-4.3":0.00683,"5.0-5.1":0.03415,"6.0-6.1":0.02049,"7.0-7.1":0.04781,"8.1-8.4":0.15709,"9.0-9.2":0.08879,"9.3":1.13375,"10.0-10.2":0.19123,"10.3":1.05179,"11.0-11.2":0.39613,"11.3-11.4":0.67615,"12.0-12.1":0.68981,"12.2-12.4":6.87762,"13.0-13.1":0.56687,"13.2":0.28002,"13.3":2.1309,"13.4-13.7":11.35114},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.12407,"13":0.73259,"14":2.83584,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0.03545,"7.1":0,"9.1":0.00591,"10.1":0.10634,"11.1":0.3663,"12.1":0.41947,"13.1":5.45899},B:{"12":0,"13":0,"14":0,"15":0.00591,"16":0,"17":0.01182,"18":0.21269,"79":0,"80":0,"81":0,"83":0,"84":0.00591,"85":1.58334,"86":2.15051},I:{"3":0,"4":0.15766,_:"81","2.1":0,"2.2":0,"2.3":0.00126,"4.1":0.07946,"4.2-4.3":0.03532,"4.4":0,"4.4.3-4.4.4":0.28757},P:{"4":0.32779,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0,"8.2":0,"9.2":0,"10.1":0.02261,"11.1-11.2":0.03391,"12.0":4.22738},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.90392,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.29872},Q:{"10.4":0},O:{"0":0},H:{"0":0.0155},L:{"0":14.89028}};
diff --git a/node_modules/caniuse-lite/data/regions/GH.js b/node_modules/caniuse-lite/data/regions/GH.js
new file mode 100644
index 0000000..b54814a
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/GH.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00337,"29":0.00337,"30":0.00337,"31":0.00337,"32":0.00337,"33":0.00337,"34":0.00337,"35":0,"36":0.00337,"37":0,"38":0.00337,"39":0.00337,"40":0.00337,"41":0.00675,"42":0.00337,"43":0.00675,"44":0.00675,"45":0.00337,"46":0.00337,"47":0.00675,"48":0.00675,"49":0.00337,"50":0.00337,"51":0.00337,"52":0.01687,"53":0.00337,"54":0.00337,"55":0.00337,"56":0.00675,"57":0.00675,"58":0.00337,"59":0.00337,"60":0.00337,"61":0.00337,"62":0.00337,"63":0.00337,"64":0.00337,"65":0.00675,"66":0.00337,"67":0.00337,"68":0.04722,"69":0.00675,"70":0.00675,"71":0.00337,"72":0.01349,"73":0.00675,"74":0.00675,"75":0.00337,"76":0.00675,"77":0.01012,"78":0.0506,"79":0.02024,"80":0.05734,"81":0.97142,"82":0.19226,"83":0.02698,"84":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00337,"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.00337,"32":0,"33":0.00337,"34":0,"35":0,"36":0,"37":0.00337,"38":0.00337,"39":0.00337,"40":0.00675,"41":0.00337,"42":0.00337,"43":0.00337,"44":0.00337,"45":0.00337,"46":0.00675,"47":0.00337,"48":0.00337,"49":0.01687,"50":0.01349,"51":0.00337,"52":0.00337,"53":0.00337,"54":0.00337,"55":0.00675,"56":0.00337,"57":0.00675,"58":0.00675,"59":0.00675,"60":0.01012,"61":0.00675,"62":0.00337,"63":0.02698,"64":0.01012,"65":0.01012,"66":0.00675,"67":0.00675,"68":0.01012,"69":0.02361,"70":0.02024,"71":0.01012,"72":0.01349,"73":0.00675,"74":0.04722,"75":0.01687,"76":0.01349,"77":0.02024,"78":0.02361,"79":0.06071,"80":0.10794,"81":0.06409,"83":0.09107,"84":0.17202,"85":2.24642,"86":3.39998,"87":0.01687,"88":0.00337,"89":0},F:{"9":0,"11":0,"12":0,"15":0.00337,"16":0.00337,"17":0,"18":0,"19":0,"20":0.00337,"21":0,"22":0,"23":0.01012,"24":0.07421,"25":0.00337,"26":0.05734,"27":0.11468,"28":0.0506,"29":0.00675,"30":0.05734,"31":0.02698,"32":0.04722,"33":0.03036,"34":0,"35":0.01012,"36":0.00337,"37":0.00337,"38":0.05397,"39":0,"40":0,"41":0.00337,"42":0.09444,"43":0.00337,"44":0.00337,"45":0.04048,"46":0.18552,"47":0.14504,"48":0.00337,"49":0,"50":0.72182,"51":2.28689,"52":0,"53":0.00337,"54":0.00337,"55":0,"56":0.00337,"57":0,"58":0,"60":0.04048,"62":0,"63":0,"64":0.00337,"65":0,"66":0,"67":0,"68":0.00675,"69":0.00337,"70":0.10456,"71":0.52956,"72":0.01687,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.02698},G:{"8":0,"14":4.5514,"3.2":0.0109,"4.0-4.1":0.00935,"4.2-4.3":0.00156,"5.0-5.1":0.00779,"6.0-6.1":0.00467,"7.0-7.1":0.0109,"8.1-8.4":0.03583,"9.0-9.2":0.02025,"9.3":0.25857,"10.0-10.2":0.04361,"10.3":0.23988,"11.0-11.2":0.09034,"11.3-11.4":0.15421,"12.0-12.1":0.15732,"12.2-12.4":1.56854,"13.0-13.1":0.12928,"13.2":0.06386,"13.3":0.48598,"13.4-13.7":2.58878},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.00337,"11":0.00675,"12":0.02024,"13":0.04048,"14":0.20575,_:"0","3.1":0,"3.2":0,"5.1":0.02698,"6.1":0,"7.1":0,"9.1":0,"10.1":0.00337,"11.1":0.02361,"12.1":0.03373,"13.1":0.14504},B:{"12":0.01349,"13":0.01012,"14":0.01349,"15":0.01687,"16":0.00675,"17":0.01349,"18":0.0877,"79":0,"80":0,"81":0.00337,"83":0.00337,"84":0.01687,"85":0.24286,"86":0.38452},I:{"3":0,"4":0.05726,_:"81","2.1":0,"2.2":0,"2.3":0.00046,"4.1":0.02886,"4.2-4.3":0.01283,"4.4":0,"4.4.3-4.4.4":0.10444},P:{"4":0.26531,"5.0-5.4":0.03061,"6.2-6.4":0.0102,"7.2-7.4":0.11224,"8.2":0.0102,"9.2":0.10204,"10.1":0.07143,"11.1-11.2":0.18367,"12.0":1},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.0213,"9":0.00426,"10":0.00426,"11":0.05113,"5.5":0},J:{"7":0,"10":0.03976},N:{"10":0,"11":0.01988},S:{"2.5":0.00663},R:{_:"0"},M:{"0":0.32472},Q:{"10.4":0.01325},O:{"0":3.15445},H:{"0":15.85444},L:{"0":49.23892}};
diff --git a/node_modules/caniuse-lite/data/regions/GI.js b/node_modules/caniuse-lite/data/regions/GI.js
new file mode 100644
index 0000000..0f1f554
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/GI.js
@@ -0,0 +1 @@
+module.exports={C:{"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.01766,"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.01177,"53":0,"54":0,"55":0,"56":0.00589,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.11185,"69":0,"70":0,"71":0,"72":0.00589,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.01766,"79":0.01177,"80":0.10008,"81":0.97724,"82":0.15306,"83":0.00589,"84":0,"3.5":0,"3.6":0},D:{"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.00589,"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.00589,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.1825,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0.02355,"61":0,"62":0.01177,"63":0,"64":0,"65":0,"66":0,"67":0.01177,"68":0.00589,"69":0.03532,"70":0.00589,"71":0.00589,"72":0,"73":0,"74":0.02355,"75":0.00589,"76":0.00589,"77":0.01766,"78":0.01766,"79":0.01766,"80":0.03532,"81":0.08242,"83":0.10597,"84":0.28258,"85":9.16017,"86":12.59229,"87":0,"88":0.00589,"89":0},F:{"9":0,"11":0,"12":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.00589,"33":0,"34":0,"35":0,"36":0.01177,"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.35322,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.01766,"71":0.09419,"72":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.01177},G:{"8":0,"14":15.37897,"3.2":0.03684,"4.0-4.1":0.03158,"4.2-4.3":0.00526,"5.0-5.1":0.02632,"6.0-6.1":0.01579,"7.0-7.1":0.03684,"8.1-8.4":0.12105,"9.0-9.2":0.06842,"9.3":0.87369,"10.0-10.2":0.14737,"10.3":0.81053,"11.0-11.2":0.30526,"11.3-11.4":0.52105,"12.0-12.1":0.53158,"12.2-12.4":5.30001,"13.0-13.1":0.43684,"13.2":0.21579,"13.3":1.64211,"13.4-13.7":8.74738},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.12363,"13":0.22371,"14":2.52552,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0.03532,"11.1":0.07064,"12.1":0.36499,"13.1":2.48431},B:{"12":0.00589,"13":0.00589,"14":0,"15":0.00589,"16":0,"17":0.02355,"18":0.4533,"79":0,"80":0,"81":0,"83":0,"84":0.05887,"85":0.62402,"86":1.47175},I:{"3":0,"4":0.04861,_:"81","2.1":0,"2.2":0,"2.3":0.00039,"4.1":0.0245,"4.2-4.3":0.01089,"4.4":0,"4.4.3-4.4.4":0.08867},P:{"4":0.30174,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0,"8.2":0,"9.2":0.02081,"10.1":0.0104,"11.1-11.2":0.06243,"12.0":5.55613},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.37677,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.36194},Q:{"10.4":0},O:{"0":0.27557},H:{"0":0.67754},L:{"0":19.96486}};
diff --git a/node_modules/caniuse-lite/data/regions/GL.js b/node_modules/caniuse-lite/data/regions/GL.js
new file mode 100644
index 0000000..83d84dc
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/GL.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00643,"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.00643,"48":0.03856,"49":0,"50":0,"51":0,"52":0.05141,"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.00643,"68":0.00643,"69":0,"70":0,"71":0.00643,"72":0,"73":0,"74":0,"75":0,"76":0.01928,"77":0.01285,"78":0.31487,"79":0.00643,"80":0.04498,"81":1.83141,"82":0.10924,"83":0,"84":0,"3.5":0,"3.6":0},D:{"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.00643,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.00643,"50":0.00643,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0.0257,"57":0,"58":0,"59":0,"60":0.01285,"61":0,"62":0,"63":0,"64":0,"65":0.01285,"66":0,"67":0.05783,"68":0.01285,"69":0,"70":0.00643,"71":0,"72":0.00643,"73":0.01928,"74":0.00643,"75":0.01928,"76":0.00643,"77":0,"78":0,"79":0.0257,"80":0.20563,"81":0.08996,"83":0.55906,"84":0.35986,"85":9.33698,"86":16.08428,"87":0,"88":0,"89":0},F:{"9":0,"11":0,"12":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.01285,"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,"60":0.00643,"62":0,"63":0,"64":0,"65":0,"66":0.00643,"67":0,"68":0,"69":0,"70":0.00643,"71":0.16708,"72":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":13.54691,"3.2":0.03245,"4.0-4.1":0.02782,"4.2-4.3":0.00464,"5.0-5.1":0.02318,"6.0-6.1":0.01391,"7.0-7.1":0.03245,"8.1-8.4":0.10663,"9.0-9.2":0.06027,"9.3":0.76961,"10.0-10.2":0.12981,"10.3":0.71397,"11.0-11.2":0.2689,"11.3-11.4":0.45898,"12.0-12.1":0.46825,"12.2-12.4":4.66863,"13.0-13.1":0.3848,"13.2":0.19008,"13.3":1.44649,"13.4-13.7":7.70533},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.00643,"11":0,"12":0.00643,"13":0.22491,"14":2.06275,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0.04498,"11.1":0.04498,"12.1":0.27632,"13.1":2.30051},B:{"12":0.00643,"13":0.00643,"14":0.19921,"15":0.03856,"16":0.00643,"17":0.00643,"18":0.62332,"79":0,"80":0,"81":0,"83":0,"84":0.00643,"85":0.68116,"86":1.42015},I:{"3":0,"4":0.01224,_:"81","2.1":0,"2.2":0,"2.3":0.0001,"4.1":0.00617,"4.2-4.3":0.00274,"4.4":0,"4.4.3-4.4.4":0.02233},P:{"4":0.09349,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0,"8.2":0,"9.2":0.03116,"10.1":0.06233,"11.1-11.2":0.09349,"12.0":3.50081},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.01285,"9":0.00643,"10":0,"11":1.78643,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.05361},Q:{"10.4":0.00357},O:{"0":0.11794},H:{"0":0.11504},L:{"0":22.48078}};
diff --git a/node_modules/caniuse-lite/data/regions/GM.js b/node_modules/caniuse-lite/data/regions/GM.js
new file mode 100644
index 0000000..98bbee5
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/GM.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00354,"29":0,"30":0,"31":0,"32":0,"33":0.00707,"34":0.00354,"35":0,"36":0,"37":0,"38":0.00707,"39":0,"40":0.00354,"41":0,"42":0.01061,"43":0.00354,"44":0.01061,"45":0.00707,"46":0.00707,"47":0.01414,"48":0.00354,"49":0,"50":0.00354,"51":0,"52":0.00707,"53":0.01061,"54":0.00354,"55":0.00707,"56":0.00354,"57":0,"58":0.01414,"59":0,"60":0.00354,"61":0,"62":0,"63":0.00354,"64":0,"65":0,"66":0,"67":0.00354,"68":0.01768,"69":0,"70":0.00354,"71":0.00354,"72":0.01061,"73":0.00354,"74":0.00354,"75":0,"76":0.00354,"77":0,"78":0.07072,"79":0.01061,"80":0.07072,"81":0.95472,"82":0.20155,"83":0.03182,"84":0,"3.5":0,"3.6":0},D:{"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.00354,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.00354,"30":0.00354,"31":0.00354,"32":0,"33":0,"34":0.01061,"35":0,"36":0,"37":0,"38":0,"39":0.00354,"40":0.00354,"41":0.00354,"42":0.00354,"43":0.01061,"44":0.00354,"45":0,"46":0.00354,"47":0.00354,"48":0.00354,"49":0.05304,"50":0.00707,"51":0.00707,"52":0.00354,"53":0.00707,"54":0.01061,"55":0.01768,"56":0.00354,"57":0.01061,"58":0.00707,"59":0.00354,"60":0.11315,"61":0.00707,"62":0.00707,"63":0.02475,"64":0.01061,"65":0.01061,"66":0.00707,"67":0.01061,"68":0.00354,"69":0.07426,"70":0.01768,"71":0.00354,"72":0.01061,"73":0,"74":0.01061,"75":0.00707,"76":0.00707,"77":0.00707,"78":0.02122,"79":0.03182,"80":0.04597,"81":0.03182,"83":0.01768,"84":0.05658,"85":2.27365,"86":3.61026,"87":0.01061,"88":0.00354,"89":0},F:{"9":0,"11":0,"12":0,"15":0.00354,"16":0,"17":0,"18":0,"19":0,"20":0.04243,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0.00354,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0.00707,"41":0,"42":0,"43":0,"44":0,"45":0.00354,"46":0.00354,"47":0,"48":0,"49":0,"50":0.10962,"51":0.08133,"52":0,"53":0.00707,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0.01061,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.07072,"71":0.442,"72":0.01414,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.02829},G:{"8":0,"14":6.09702,"3.2":0.01461,"4.0-4.1":0.01252,"4.2-4.3":0.00209,"5.0-5.1":0.01043,"6.0-6.1":0.00626,"7.0-7.1":0.01461,"8.1-8.4":0.04799,"9.0-9.2":0.02713,"9.3":0.34637,"10.0-10.2":0.05842,"10.3":0.32133,"11.0-11.2":0.12102,"11.3-11.4":0.20657,"12.0-12.1":0.21075,"12.2-12.4":2.1012,"13.0-13.1":0.17319,"13.2":0.08555,"13.3":0.65102,"13.4-13.7":3.46791},E:{"4":0,"5":0,"6":0.00354,"7":0,"8":0,"9":0,"10":0.01061,"11":0,"12":0.00707,"13":0.00707,"14":0.14851,_:"0","3.1":0,"3.2":0,"5.1":0.31824,"6.1":0,"7.1":0,"9.1":0,"10.1":0.00354,"11.1":0.01414,"12.1":0.01768,"13.1":0.14498},B:{"12":0.01061,"13":0.00707,"14":0.01414,"15":0.02475,"16":0.02122,"17":0.02122,"18":1.0997,"79":0,"80":0.00354,"81":0,"83":0,"84":0.01768,"85":0.16266,"86":0.442},I:{"3":0,"4":0.09341,_:"81","2.1":0,"2.2":0,"2.3":0.00075,"4.1":0.04708,"4.2-4.3":0.02092,"4.4":0,"4.4.3-4.4.4":0.17038},P:{"4":0.58828,"5.0-5.4":0.09129,"6.2-6.4":0.04057,"7.2-7.4":0.31443,"8.2":0.01014,"9.2":0.15214,"10.1":0.213,"11.1-11.2":0.18257,"12.0":2.80956},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.03874,"9":0.01107,"10":0,"11":0.07748,"5.5":0},J:{"7":0,"10":0.01939},N:{"10":0,"11":0.01293},S:{"2.5":0.00646},R:{_:"0"},M:{"0":0.18746},Q:{"10.4":0.00646},O:{"0":1.28634},H:{"0":3.78197},L:{"0":60.49184}};
diff --git a/node_modules/caniuse-lite/data/regions/GN.js b/node_modules/caniuse-lite/data/regions/GN.js
new file mode 100644
index 0000000..0cb5e72
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/GN.js
@@ -0,0 +1 @@
+module.exports={C:{"2":0,"3":0,"4":0.00191,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0.00191,"16":0,"17":0.00191,"18":0,"19":0,"20":0,"21":0.00191,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0.00382,"34":0.00191,"35":0,"36":0,"37":0,"38":0.00191,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0.00191,"46":0.00191,"47":0,"48":0.00191,"49":0.00191,"50":0,"51":0.00191,"52":0,"53":0,"54":0,"55":0,"56":0.00191,"57":0,"58":0,"59":0,"60":0,"61":0.02484,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.01147,"69":0.00382,"70":0,"71":0,"72":0.00191,"73":0,"74":0.00382,"75":0,"76":0,"77":0,"78":0.02484,"79":0.00382,"80":0.02293,"81":0.45482,"82":0.04586,"83":0,"84":0,"3.5":0,"3.6":0},D:{"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.00382,"25":0.00191,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0.04395,"34":0,"35":0.00191,"36":0,"37":0,"38":0,"39":0,"40":0.02102,"41":0,"42":0,"43":0.00382,"44":0,"45":0,"46":0,"47":0,"48":0.02484,"49":0.00382,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0.00191,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0.00191,"64":0.00191,"65":0,"66":0,"67":0.00573,"68":0.00191,"69":0.00764,"70":0.00191,"71":0,"72":0.02102,"73":0.00191,"74":0.00573,"75":0.00191,"76":0.00573,"77":0.00382,"78":0.00764,"79":0.00191,"80":0.00573,"81":0.02293,"83":0.01911,"84":0.0688,"85":0.81026,"86":0.67841,"87":0,"88":0,"89":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0.00382,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0.01147,"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.00191,"37":0,"38":0.00191,"39":0,"40":0,"41":0,"42":0.00191,"43":0,"44":0,"45":0.00191,"46":0.00573,"47":0.00764,"48":0,"49":0,"50":0.00764,"51":0.14524,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0.00764,"62":0.00191,"63":0,"64":0,"65":0,"66":0,"67":0.00191,"68":0.00191,"69":0,"70":0.02484,"71":0.1567,"72":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.02102},G:{"8":0,"14":2.83609,"3.2":0.00679,"4.0-4.1":0.00582,"4.2-4.3":0.00097,"5.0-5.1":0.00485,"6.0-6.1":0.00291,"7.0-7.1":0.00679,"8.1-8.4":0.02232,"9.0-9.2":0.01262,"9.3":0.16112,"10.0-10.2":0.02718,"10.3":0.14947,"11.0-11.2":0.05629,"11.3-11.4":0.09609,"12.0-12.1":0.09803,"12.2-12.4":0.97739,"13.0-13.1":0.08056,"13.2":0.03979,"13.3":0.30283,"13.4-13.7":1.61314},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00573,"12":0,"13":0.00191,"14":0.0344,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.00191,"10.1":0.02484,"11.1":0.00764,"12.1":0.00764,"13.1":0.04013},B:{"12":0.00956,"13":0.00382,"14":0.00191,"15":0.00191,"16":0.00382,"17":0.00956,"18":0.02484,"79":0,"80":0,"81":0,"83":0,"84":0.00382,"85":0.05351,"86":0.09746},I:{"3":0,"4":0.13673,_:"81","2.1":0,"2.2":0,"2.3":0.00109,"4.1":0.06891,"4.2-4.3":0.03063,"4.4":0,"4.4.3-4.4.4":0.24939},P:{"4":0.25256,"5.0-5.4":0.09092,"6.2-6.4":0.06062,"7.2-7.4":0.15154,"8.2":0,"9.2":0.33338,"10.1":0.10103,"11.1-11.2":0.45462,"12.0":0.89913},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.01588,"9":0,"10":0.00397,"11":0.08335,"5.5":0},J:{"7":0,"10":0.00809},N:{"10":0,"11":0},S:{"2.5":0.04853},R:{_:"0"},M:{"0":0.05662},Q:{"10.4":0.10516},O:{"0":1.12437},H:{"0":18.61694},L:{"0":61.96167}};
diff --git a/node_modules/caniuse-lite/data/regions/GP.js b/node_modules/caniuse-lite/data/regions/GP.js
new file mode 100644
index 0000000..92c6076
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/GP.js
@@ -0,0 +1 @@
+module.exports={C:{"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.01078,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.00539,"39":0,"40":0.00539,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0.02156,"49":0,"50":0.00539,"51":0,"52":0.02695,"53":0,"54":0,"55":0,"56":0.00539,"57":0,"58":0,"59":0,"60":0.02156,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.02695,"69":0.00539,"70":0,"71":0.02695,"72":0.01078,"73":0.00539,"74":0.00539,"75":0,"76":0.00539,"77":0.00539,"78":0.30178,"79":0.01078,"80":0.12395,"81":2.84539,"82":0.26406,"83":0.00539,"84":0,"3.5":0,"3.6":0},D:{"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.00539,"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.17784,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.00539,"59":0,"60":0,"61":0,"62":0,"63":0.01078,"64":0,"65":0.0485,"66":0.00539,"67":0.00539,"68":0,"69":0.00539,"70":0.00539,"71":0,"72":0,"73":0.00539,"74":0.00539,"75":0,"76":0.04311,"77":0.00539,"78":0.00539,"79":0.01078,"80":0.15089,"81":0.08084,"83":0.07006,"84":0.32334,"85":5.89557,"86":8.58468,"87":0.00539,"88":0,"89":0},F:{"9":0,"11":0,"12":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.02695,"47":0,"48":0,"49":0,"50":0.00539,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.03233,"71":0.27484,"72":0.00539,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":8.33316,"3.2":0.01996,"4.0-4.1":0.01711,"4.2-4.3":0.00285,"5.0-5.1":0.01426,"6.0-6.1":0.00856,"7.0-7.1":0.01996,"8.1-8.4":0.06559,"9.0-9.2":0.03707,"9.3":0.47341,"10.0-10.2":0.07985,"10.3":0.43919,"11.0-11.2":0.16541,"11.3-11.4":0.28233,"12.0-12.1":0.28804,"12.2-12.4":2.87183,"13.0-13.1":0.23671,"13.2":0.11693,"13.3":0.88978,"13.4-13.7":4.73981},E:{"4":0,"5":0,"6":0,"7":0,"8":0.00539,"9":0,"10":0,"11":0.02156,"12":0.08084,"13":0.24789,"14":2.09632,_:"0","3.1":0,"3.2":0,"5.1":0.01617,"6.1":0.04311,"7.1":0,"9.1":0.02695,"10.1":0.06467,"11.1":0.07545,"12.1":0.48501,"13.1":2.24721},B:{"12":0.01078,"13":0.00539,"14":0.00539,"15":0.00539,"16":0.00539,"17":0.03233,"18":0.25328,"79":0,"80":0,"81":0.00539,"83":0,"84":0.01078,"85":0.6844,"86":1.43347},I:{"3":0,"4":0.06788,_:"81","2.1":0,"2.2":0,"2.3":0.00054,"4.1":0.03421,"4.2-4.3":0.01521,"4.4":0,"4.4.3-4.4.4":0.12382},P:{"4":0.09279,"5.0-5.4":0.01031,"6.2-6.4":0.01031,"7.2-7.4":0.1031,"8.2":0,"9.2":0.1031,"10.1":0.08248,"11.1-11.2":0.14434,"12.0":3.61889},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.27484,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.2951},Q:{"10.4":0},O:{"0":0.00461},H:{"0":0.09167},L:{"0":45.73101}};
diff --git a/node_modules/caniuse-lite/data/regions/GQ.js b/node_modules/caniuse-lite/data/regions/GQ.js
new file mode 100644
index 0000000..92cef7e
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/GQ.js
@@ -0,0 +1 @@
+module.exports={C:{"2":0,"3":0,"4":0.01649,"5":0.01649,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0.01649,"16":0.02198,"17":0.02748,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0.0055,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.03297,"30":0.01099,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0.01649,"43":0.01649,"44":0,"45":0.0055,"46":0,"47":0.0055,"48":0,"49":0.0055,"50":0,"51":0,"52":0.04396,"53":0,"54":0.01099,"55":0.0055,"56":0.01649,"57":0.02748,"58":0,"59":0,"60":0.0055,"61":0,"62":0.01099,"63":0,"64":0.01099,"65":0,"66":0.0055,"67":0.0055,"68":0.02198,"69":0.01649,"70":0,"71":0.0055,"72":0.0055,"73":0,"74":0.0055,"75":0,"76":0,"77":0.01649,"78":0.04946,"79":0.02748,"80":0.26376,"81":2.12657,"82":0.30772,"83":0.02748,"84":0,"3.5":0,"3.6":0},D:{"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.01649,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.01649,"35":0.0055,"36":0,"37":0,"38":0.0055,"39":0,"40":0,"41":0,"42":0,"43":0.02748,"44":0,"45":0.41762,"46":0.01649,"47":0,"48":0,"49":0.13188,"50":0,"51":0.01099,"52":0,"53":0.02198,"54":0,"55":0.0055,"56":0,"57":0.79128,"58":0.0055,"59":0,"60":0.19782,"61":0,"62":0.0055,"63":0.03297,"64":0.02748,"65":0.05495,"66":0.0055,"67":0.01649,"68":0.07144,"69":0.01099,"70":0.0055,"71":0.02748,"72":0.03297,"73":0.90668,"74":0.38465,"75":0.08243,"76":0.01649,"77":0.02198,"78":0.0055,"79":0.09342,"80":0.12089,"81":0.06594,"83":0.06594,"84":0.14287,"85":5.37961,"86":8.30844,"87":0.02748,"88":0,"89":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0.02748,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.0055,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.0055,"36":0.0055,"37":0,"38":0,"39":0,"40":0.0055,"41":0,"42":0,"43":0,"44":0,"45":0.07144,"46":0.05495,"47":0,"48":0,"49":0,"50":0.01099,"51":0.02198,"52":0,"53":0.04396,"54":0,"55":0,"56":0,"57":0.0055,"58":0,"60":0.0055,"62":0,"63":0.02748,"64":0.08243,"65":0.18134,"66":0,"67":0.0055,"68":0.03847,"69":0.01099,"70":0.01649,"71":0.07693,"72":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":3.68107,"3.2":0.00882,"4.0-4.1":0.00756,"4.2-4.3":0.00126,"5.0-5.1":0.0063,"6.0-6.1":0.00378,"7.0-7.1":0.00882,"8.1-8.4":0.02897,"9.0-9.2":0.01638,"9.3":0.20912,"10.0-10.2":0.03527,"10.3":0.19401,"11.0-11.2":0.07307,"11.3-11.4":0.12472,"12.0-12.1":0.12724,"12.2-12.4":1.2686,"13.0-13.1":0.10456,"13.2":0.05165,"13.3":0.39305,"13.4-13.7":2.09375},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.0055,"12":0.0055,"13":0.14287,"14":0.36817,_:"0","3.1":0,"3.2":0,"5.1":0.62094,"6.1":0,"7.1":0,"9.1":0.04396,"10.1":0.03847,"11.1":0.03847,"12.1":0.02748,"13.1":0.25277},B:{"12":0.08792,"13":0.02748,"14":0.04396,"15":0.01099,"16":0.02748,"17":0.09342,"18":0.31322,"79":0,"80":0,"81":0.0055,"83":0.01649,"84":0.01099,"85":1.23088,"86":1.82434},I:{"3":0,"4":0.2279,_:"81","2.1":0,"2.2":0,"2.3":0.00182,"4.1":0.11486,"4.2-4.3":0.05105,"4.4":0,"4.4.3-4.4.4":0.4157},P:{"4":0.5535,"5.0-5.4":0.041,"6.2-6.4":0.041,"7.2-7.4":0.09225,"8.2":0,"9.2":0.07175,"10.1":0.05125,"11.1-11.2":0.0615,"12.0":2.02951},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.11144,"9":0,"10":0.05143,"11":2.40879,"5.5":0},J:{"7":0,"10":0.03604},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.16669},Q:{"10.4":0.0856},O:{"0":0.51808},H:{"0":0.87433},L:{"0":53.86833}};
diff --git a/node_modules/caniuse-lite/data/regions/GR.js b/node_modules/caniuse-lite/data/regions/GR.js
new file mode 100644
index 0000000..4f783ec
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/GR.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00638,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.01915,"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.00638,"44":0,"45":0.00638,"46":0,"47":0.00638,"48":0.01915,"49":0,"50":0,"51":0,"52":0.55523,"53":0,"54":0,"55":0,"56":0.01276,"57":0,"58":0,"59":0.01915,"60":0.00638,"61":0,"62":0,"63":0.00638,"64":0.00638,"65":0.00638,"66":0.00638,"67":0,"68":0.02553,"69":0,"70":0.00638,"71":0,"72":0.01276,"73":0,"74":0.00638,"75":0.00638,"76":0.00638,"77":0.01276,"78":0.07658,"79":0.01276,"80":0.1404,"81":4.77374,"82":0.61905,"83":0.00638,"84":0,"3.5":0,"3.6":0},D:{"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.22975,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.00638,"35":0,"36":0,"37":0,"38":0.06382,"39":0,"40":0,"41":0,"42":0,"43":0.00638,"44":0,"45":0,"46":0,"47":0.03829,"48":0,"49":1.11047,"50":0,"51":0,"52":0.00638,"53":0.01915,"54":0,"55":0.00638,"56":0.00638,"57":0.00638,"58":0.01276,"59":0,"60":0.00638,"61":0.05106,"62":0,"63":0.00638,"64":0.01915,"65":0.01915,"66":0.00638,"67":0.03191,"68":0.00638,"69":0.01915,"70":0.11488,"71":0.06382,"72":0.27443,"73":0.03829,"74":0.1404,"75":0.02553,"76":0.02553,"77":0.12764,"78":0.03191,"79":0.0702,"80":0.08935,"81":0.15317,"83":0.06382,"84":0.26166,"85":9.6432,"86":15.22745,"87":0.00638,"88":0.00638,"89":0},F:{"9":0,"11":0,"12":0.03829,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0.00638,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0.06382,"32":0,"33":0,"34":0,"35":0,"36":0.04467,"37":0,"38":0,"39":0,"40":0.26804,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0.01276,"52":0,"53":0.00638,"54":0,"55":0,"56":0,"57":0,"58":0.00638,"60":0,"62":0,"63":0,"64":0,"65":0.01276,"66":0,"67":0,"68":0,"69":0,"70":0.08297,"71":0.65735,"72":0.01276,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":3.72142,"3.2":0.00892,"4.0-4.1":0.00764,"4.2-4.3":0.00127,"5.0-5.1":0.00637,"6.0-6.1":0.00382,"7.0-7.1":0.00892,"8.1-8.4":0.02929,"9.0-9.2":0.01656,"9.3":0.21142,"10.0-10.2":0.03566,"10.3":0.19613,"11.0-11.2":0.07387,"11.3-11.4":0.12609,"12.0-12.1":0.12863,"12.2-12.4":1.2825,"13.0-13.1":0.10571,"13.2":0.05222,"13.3":0.39736,"13.4-13.7":2.1167},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00638,"12":0.01276,"13":0.05744,"14":0.33825,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0.01276,"11.1":0.05106,"12.1":0.04467,"13.1":0.37654},B:{"12":0,"13":0,"14":0.00638,"15":0.01276,"16":0,"17":0.01276,"18":0.0702,"79":0,"80":0,"81":0,"83":0,"84":0.00638,"85":0.50418,"86":1.08494},I:{"3":0,"4":0.42173,_:"81","2.1":0,"2.2":0,"2.3":0.00337,"4.1":0.21255,"4.2-4.3":0.09447,"4.4":0,"4.4.3-4.4.4":0.76923},P:{"4":0.37579,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0,"8.2":0,"9.2":0.03132,"10.1":0.03132,"11.1-11.2":0.07307,"12.0":1.67017},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.07189,"9":0,"10":0,"11":0.47058,"5.5":0},J:{"7":0,"10":0.00362},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.1411},Q:{"10.4":0.00724},O:{"0":0.06874},H:{"0":0.40076},L:{"0":45.49267}};
diff --git a/node_modules/caniuse-lite/data/regions/GT.js b/node_modules/caniuse-lite/data/regions/GT.js
new file mode 100644
index 0000000..df4e779
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/GT.js
@@ -0,0 +1 @@
+module.exports={C:{"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.01132,"49":0,"50":0,"51":0,"52":0.01697,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0.00566,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0.02829,"67":0,"68":0.01697,"69":0,"70":0,"71":0,"72":0.00566,"73":0.02829,"74":0,"75":0.01132,"76":0.00566,"77":0.00566,"78":0.07355,"79":0.00566,"80":0.02829,"81":1.55595,"82":0.20369,"83":0.01132,"84":0,"3.5":0,"3.6":0},D:{"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.00566,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.00566,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0.00566,"47":0,"48":0,"49":0.13579,"50":0,"51":0,"52":0,"53":0.01697,"54":0,"55":0.00566,"56":0,"57":0,"58":0.00566,"59":0.00566,"60":0,"61":0.00566,"62":0,"63":0.00566,"64":0.00566,"65":0.01697,"66":0.00566,"67":0.02263,"68":0.00566,"69":0.01697,"70":0.01132,"71":0.01697,"72":0.01697,"73":0.00566,"74":0.02263,"75":0.02829,"76":0.02829,"77":0.02829,"78":0.03395,"79":0.05658,"80":0.08487,"81":0.05658,"83":0.09053,"84":0.22066,"85":8.89438,"86":14.48448,"87":0.01132,"88":0.01132,"89":0},F:{"9":0,"11":0,"12":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.00566,"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.00566,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0.00566,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.00566,"69":0,"70":0.07921,"71":0.72988,"72":0.01132,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":3.43062,"3.2":0.00822,"4.0-4.1":0.00704,"4.2-4.3":0.00117,"5.0-5.1":0.00587,"6.0-6.1":0.00352,"7.0-7.1":0.00822,"8.1-8.4":0.027,"9.0-9.2":0.01526,"9.3":0.19489,"10.0-10.2":0.03287,"10.3":0.18081,"11.0-11.2":0.0681,"11.3-11.4":0.11623,"12.0-12.1":0.11858,"12.2-12.4":1.18228,"13.0-13.1":0.09745,"13.2":0.04814,"13.3":0.36631,"13.4-13.7":1.9513},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.01132,"12":0.05658,"13":0.13013,"14":1.10897,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0.00566,"11.1":0.08487,"12.1":0.14711,"13.1":0.85436},B:{"12":0.00566,"13":0,"14":0,"15":0,"16":0,"17":0.01132,"18":0.04526,"79":0,"80":0,"81":0,"83":0,"84":0.00566,"85":0.42435,"86":0.79778},I:{"3":0,"4":0.04007,_:"81","2.1":0,"2.2":0,"2.3":0.00032,"4.1":0.02019,"4.2-4.3":0.00897,"4.4":0,"4.4.3-4.4.4":0.07308},P:{"4":0.1711,"5.0-5.4":0.01006,"6.2-6.4":0.01006,"7.2-7.4":0.13084,"8.2":0.01006,"9.2":0.15097,"10.1":0.06039,"11.1-11.2":0.21136,"12.0":2.08342},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.01132,"9":0,"10":0,"11":0.07355,"5.5":0},J:{"7":0,"10":0.00434},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.19539},Q:{"10.4":0},O:{"0":0.08684},H:{"0":0.18909},L:{"0":55.63808}};
diff --git a/node_modules/caniuse-lite/data/regions/GU.js b/node_modules/caniuse-lite/data/regions/GU.js
new file mode 100644
index 0000000..def9f7c
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/GU.js
@@ -0,0 +1 @@
+module.exports={C:{"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.0048,"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.0048,"49":0,"50":0,"51":0,"52":0.0048,"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.0576,"68":0.0144,"69":0,"70":0,"71":0,"72":0.0048,"73":0,"74":0,"75":0,"76":0,"77":0.0048,"78":0.0864,"79":0.0048,"80":0.0768,"81":0.8688,"82":0.1056,"83":0,"84":0,"3.5":0,"3.6":0},D:{"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.0048,"48":0,"49":0.0288,"50":0,"51":0,"52":0,"53":0.0384,"54":0,"55":0.0192,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0.0048,"66":0,"67":0.0048,"68":0.0048,"69":0.0144,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0.0096,"76":0.0768,"77":0.0048,"78":0,"79":0.024,"80":0.216,"81":0.0768,"83":0.0528,"84":0.1536,"85":4.8672,"86":7.3968,"87":0,"88":0,"89":0},F:{"9":0,"11":0,"12":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.0048,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.024,"71":0.168,"72":0.0048,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.0048},G:{"8":0,"14":16.81463,"3.2":0.04028,"4.0-4.1":0.03453,"4.2-4.3":0.00575,"5.0-5.1":0.02877,"6.0-6.1":0.01726,"7.0-7.1":0.04028,"8.1-8.4":0.13235,"9.0-9.2":0.07481,"9.3":0.95525,"10.0-10.2":0.16113,"10.3":0.88619,"11.0-11.2":0.33376,"11.3-11.4":0.56969,"12.0-12.1":0.5812,"12.2-12.4":5.79478,"13.0-13.1":0.47762,"13.2":0.23593,"13.3":1.7954,"13.4-13.7":9.56397},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.0048,"11":0.0096,"12":0.024,"13":0.4272,"14":1.5504,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.0096,"10.1":0.0336,"11.1":0.0768,"12.1":0.1344,"13.1":2.0064},B:{"12":0,"13":0,"14":0,"15":0.0048,"16":0.0288,"17":0.0096,"18":0.2112,"79":0,"80":0,"81":0,"83":0,"84":0.0096,"85":0.6816,"86":1.2336},I:{"3":0,"4":0.09191,_:"81","2.1":0,"2.2":0,"2.3":0.00074,"4.1":0.04632,"4.2-4.3":0.02059,"4.4":0,"4.4.3-4.4.4":0.16764},P:{"4":0.31809,"5.0-5.4":0.03181,"6.2-6.4":0,"7.2-7.4":0.03181,"8.2":0.02121,"9.2":0.18025,"10.1":0.02121,"11.1-11.2":0.26507,"12.0":4.80315},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.4128,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.3484},Q:{"10.4":0},O:{"0":0.026},H:{"0":0.08369},L:{"0":30.272}};
diff --git a/node_modules/caniuse-lite/data/regions/GW.js b/node_modules/caniuse-lite/data/regions/GW.js
new file mode 100644
index 0000000..e88c531
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/GW.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00233,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0.00233,"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.00233,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.00233,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0.00467,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0.00233,"81":0.14704,"82":0.01167,"83":0,"84":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.03034,"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.00467,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0.014,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0.01867,"41":0,"42":0.00233,"43":0.02334,"44":0,"45":0,"46":0,"47":0.00467,"48":0,"49":0.014,"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.00233,"64":0.00934,"65":0,"66":0,"67":0,"68":0,"69":0.007,"70":0.06535,"71":0,"72":0,"73":0,"74":0.04435,"75":0.00467,"76":0.00233,"77":0.00233,"78":0.00233,"79":0.02567,"80":0.02801,"81":0.02334,"83":0.007,"84":0.07702,"85":0.76322,"86":1.62913,"87":0.00467,"88":0.00233,"89":0},F:{"9":0,"11":0,"12":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,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.00233,"69":0,"70":0.02101,"71":0.19606,"72":0.02101,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.00467},G:{"8":0,"14":2.25962,"3.2":0.00541,"4.0-4.1":0.00464,"4.2-4.3":0.00077,"5.0-5.1":0.00387,"6.0-6.1":0.00232,"7.0-7.1":0.00541,"8.1-8.4":0.01779,"9.0-9.2":0.01005,"9.3":0.12837,"10.0-10.2":0.02165,"10.3":0.11909,"11.0-11.2":0.04485,"11.3-11.4":0.07656,"12.0-12.1":0.0781,"12.2-12.4":0.77872,"13.0-13.1":0.06418,"13.2":0.03171,"13.3":0.24127,"13.4-13.7":1.28524},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00467,"12":0,"13":0.00934,"14":0.74921,_:"0","3.1":0,"3.2":0,"5.1":0.00467,"6.1":0,"7.1":0,"9.1":0,"10.1":0.00467,"11.1":0.00467,"12.1":0,"13.1":0.03034},B:{"12":0.00934,"13":0.00233,"14":0.007,"15":0.03734,"16":0.00467,"17":0.01867,"18":0.03968,"79":0,"80":0,"81":0,"83":0,"84":0.00467,"85":0.06068,"86":0.23573},I:{"3":0,"4":0.08896,_:"81","2.1":0,"2.2":0,"2.3":0.00071,"4.1":0.04483,"4.2-4.3":0.01993,"4.4":0,"4.4.3-4.4.4":0.16225},P:{"4":0.85369,"5.0-5.4":0.03049,"6.2-6.4":0.09147,"7.2-7.4":0.84352,"8.2":0,"9.2":0.34554,"10.1":0.16261,"11.1-11.2":0.30489,"12.0":0.91466},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.00934,"9":0.007,"10":0,"11":0.06302,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.01533},Q:{"10.4":0.00767},O:{"0":0.69761},H:{"0":8.45519},L:{"0":73.662}};
diff --git a/node_modules/caniuse-lite/data/regions/GY.js b/node_modules/caniuse-lite/data/regions/GY.js
new file mode 100644
index 0000000..ec1d2bd
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/GY.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00472,"48":0.00472,"49":0,"50":0,"51":0,"52":0.00472,"53":0,"54":0,"55":0,"56":0.00472,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0.00943,"64":0,"65":0,"66":0,"67":0.00943,"68":0.00472,"69":0,"70":0.00472,"71":0,"72":0.00472,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.01415,"79":0.00943,"80":0.03773,"81":0.87718,"82":0.16978,"83":0.00472,"84":0,"3.5":0,"3.6":0},D:{"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.00472,"39":0.00943,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.0896,"50":0.00472,"51":0,"52":0,"53":0.01886,"54":0,"55":0.00472,"56":0,"57":0,"58":0.00472,"59":0,"60":0,"61":0.00472,"62":0,"63":0.01415,"64":0.00472,"65":0.01415,"66":0.00472,"67":0.00472,"68":0.00472,"69":0.00943,"70":0.01886,"71":0.00943,"72":0.00943,"73":0.01415,"74":0.02358,"75":0.01886,"76":0.02358,"77":0.01886,"78":0.00472,"79":0.18864,"80":0.09432,"81":0.1462,"83":0.04716,"84":0.4716,"85":5.32436,"86":7.30037,"87":0.00943,"88":0.00472,"89":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0.00472,"18":0,"19":0,"20":0,"21":0,"22":0.00472,"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,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0.00472,"68":0.00943,"69":0,"70":0.04244,"71":0.53762,"72":0.00472,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.00472},G:{"8":0,"14":4.9555,"3.2":0.01187,"4.0-4.1":0.01018,"4.2-4.3":0.0017,"5.0-5.1":0.00848,"6.0-6.1":0.00509,"7.0-7.1":0.01187,"8.1-8.4":0.03901,"9.0-9.2":0.02205,"9.3":0.28152,"10.0-10.2":0.04749,"10.3":0.26117,"11.0-11.2":0.09836,"11.3-11.4":0.1679,"12.0-12.1":0.17129,"12.2-12.4":1.7078,"13.0-13.1":0.14076,"13.2":0.06953,"13.3":0.52913,"13.4-13.7":2.81863},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.00472,"13":0.08017,"14":0.19807,_:"0","3.1":0,"3.2":0,"5.1":0.01415,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0.00472,"12.1":0.00943,"13.1":0.72155},B:{"12":0.00472,"13":0.00472,"14":0,"15":0.01415,"16":0.01886,"17":0.0283,"18":0.18864,"79":0,"80":0.00472,"81":0.00472,"83":0.00472,"84":0.02358,"85":0.61308,"86":1.2686},I:{"3":0,"4":0.7826,_:"81","2.1":0,"2.2":0,"2.3":0.00626,"4.1":0.39443,"4.2-4.3":0.1753,"4.4":0,"4.4.3-4.4.4":1.42747},P:{"4":0.44962,"5.0-5.4":0.0329,"6.2-6.4":0.02193,"7.2-7.4":0.17546,"8.2":0.01097,"9.2":0.18643,"10.1":0.31803,"11.1-11.2":0.35093,"12.0":4.56204},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0.0136,"11":0.3401,"5.5":0},J:{"7":0,"10":0.00528},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.12153},Q:{"10.4":0.06869},O:{"0":0.99868},H:{"0":0.32016},L:{"0":55.4677}};
diff --git a/node_modules/caniuse-lite/data/regions/HK.js b/node_modules/caniuse-lite/data/regions/HK.js
new file mode 100644
index 0000000..148df13
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/HK.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00566,"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.00566,"49":0,"50":0,"51":0,"52":0.02264,"53":0,"54":0,"55":0,"56":0.00566,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0.00566,"66":0.00566,"67":0.00566,"68":0.04529,"69":0,"70":0,"71":0.00566,"72":0.01132,"73":0,"74":0.00566,"75":0.00566,"76":0.01132,"77":0.01132,"78":0.05095,"79":0.01132,"80":0.04529,"81":0.95105,"82":0.13586,"83":0,"84":0,"3.5":0,"3.6":0},D:{"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.01132,"23":0,"24":0,"25":0,"26":0.01698,"27":0,"28":0,"29":0,"30":0.00566,"31":0,"32":0,"33":0,"34":0.05661,"35":0,"36":0,"37":0,"38":0.12454,"39":0,"40":0.00566,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0.00566,"48":0.01132,"49":0.12454,"50":0,"51":0,"52":0,"53":0.2038,"54":0.00566,"55":0.02264,"56":0.00566,"57":0.01698,"58":0.00566,"59":0.00566,"60":0.00566,"61":0.01132,"62":0.02264,"63":0.01698,"64":0.01132,"65":0.03397,"66":0.01132,"67":0.03963,"68":0.05661,"69":0.03963,"70":0.04529,"71":0.07359,"72":0.05095,"73":0.06793,"74":0.05095,"75":0.08492,"76":0.07359,"77":0.06227,"78":0.14153,"79":0.09624,"80":0.2038,"81":0.15285,"83":0.26607,"84":0.47552,"85":7.47252,"86":10.60871,"87":0.02831,"88":0.01132,"89":0},F:{"9":0,"11":0,"12":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.02264,"37":0,"38":0,"39":0,"40":0.00566,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0.01132,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.01698,"71":0.09624,"72":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":12.74314,"3.2":0.03053,"4.0-4.1":0.02617,"4.2-4.3":0.00436,"5.0-5.1":0.02181,"6.0-6.1":0.01308,"7.0-7.1":0.03053,"8.1-8.4":0.10031,"9.0-9.2":0.05669,"9.3":0.72394,"10.0-10.2":0.12211,"10.3":0.67161,"11.0-11.2":0.25294,"11.3-11.4":0.43175,"12.0-12.1":0.44047,"12.2-12.4":4.39163,"13.0-13.1":0.36197,"13.2":0.17881,"13.3":1.36066,"13.4-13.7":7.24815},E:{"4":0,"5":0,"6":0,"7":0,"8":0.01132,"9":0.01132,"10":0.00566,"11":0.01698,"12":0.03963,"13":0.29437,"14":1.27939,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.00566,"10.1":0.03397,"11.1":0.08492,"12.1":0.15851,"13.1":2.43989},B:{"12":0.00566,"13":0,"14":0.00566,"15":0,"16":0.00566,"17":0.02264,"18":0.14153,"79":0,"80":0,"81":0,"83":0,"84":0.01132,"85":0.50949,"86":1.04729},I:{"3":0,"4":0.08437,_:"81","2.1":0,"2.2":0,"2.3":0.00067,"4.1":0.04252,"4.2-4.3":0.0189,"4.4":0,"4.4.3-4.4.4":0.1539},P:{"4":0.80288,"5.0-5.4":0.01071,"6.2-6.4":0.02141,"7.2-7.4":0.04282,"8.2":0.02141,"9.2":0.11776,"10.1":0.06423,"11.1-11.2":0.13917,"12.0":4.47471},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.03311,"9":0.01104,"10":0.01104,"11":0.81662,"5.5":0},J:{"7":0,"10":0.00434},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.1779},Q:{"10.4":0.19959},O:{"0":0.54671},H:{"0":0.07394},L:{"0":30.41306}};
diff --git a/node_modules/caniuse-lite/data/regions/HN.js b/node_modules/caniuse-lite/data/regions/HN.js
new file mode 100644
index 0000000..d3f2127
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/HN.js
@@ -0,0 +1 @@
+module.exports={C:{"2":0,"3":0,"4":0.00657,"5":0.00657,"6":0.00657,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0.00657,"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.00657,"53":0,"54":0,"55":0.00657,"56":0,"57":0,"58":0,"59":0,"60":0.01971,"61":0,"62":0,"63":0,"64":0.00657,"65":0.00657,"66":0.02628,"67":0,"68":0.01314,"69":0,"70":0,"71":0.00657,"72":0.00657,"73":0.03941,"74":0,"75":0,"76":0.00657,"77":0,"78":0.05912,"79":0.01971,"80":0.03285,"81":1.87873,"82":0.2759,"83":0.02628,"84":0,"3.5":0,"3.6":0},D:{"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.00657,"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.01314,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0.00657,"49":0.11167,"50":0,"51":0,"52":0,"53":0.03941,"54":0.00657,"55":0,"56":0,"57":0,"58":0.00657,"59":0.00657,"60":0,"61":0,"62":0.00657,"63":0.01971,"64":0.01314,"65":0.02628,"66":0.00657,"67":0.00657,"68":0.00657,"69":0.11167,"70":0.01971,"71":0.01971,"72":0.02628,"73":0.06569,"74":0.01971,"75":0.05912,"76":0.04598,"77":0.05912,"78":0.05255,"79":0.07883,"80":0.15766,"81":0.1051,"83":0.16423,"84":0.28904,"85":10.53011,"86":20.01574,"87":0.05255,"88":0.00657,"89":0},F:{"9":0,"11":0,"12":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.00657,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0.00657,"58":0,"60":0,"62":0,"63":0.01314,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.11167,"71":1.35978,"72":0.01971,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":3.72958,"3.2":0.00893,"4.0-4.1":0.00766,"4.2-4.3":0.00128,"5.0-5.1":0.00638,"6.0-6.1":0.00383,"7.0-7.1":0.00893,"8.1-8.4":0.02936,"9.0-9.2":0.01659,"9.3":0.21188,"10.0-10.2":0.03574,"10.3":0.19656,"11.0-11.2":0.07403,"11.3-11.4":0.12636,"12.0-12.1":0.12891,"12.2-12.4":1.28531,"13.0-13.1":0.10594,"13.2":0.05233,"13.3":0.39823,"13.4-13.7":2.12134},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.01314,"12":0.02628,"13":0.12481,"14":1.09702,_:"0","3.1":0,"3.2":0,"5.1":0.52552,"6.1":0,"7.1":0,"9.1":0,"10.1":0.01314,"11.1":0.04598,"12.1":0.13795,"13.1":0.91309},B:{"12":0.00657,"13":0.00657,"14":0.00657,"15":0.01314,"16":0.00657,"17":0.02628,"18":0.0854,"79":0,"80":0,"81":0,"83":0.00657,"84":0.01971,"85":0.61749,"86":1.42547},I:{"3":0,"4":0.10977,_:"81","2.1":0,"2.2":0,"2.3":0.00088,"4.1":0.05533,"4.2-4.3":0.02459,"4.4":0,"4.4.3-4.4.4":0.20023},P:{"4":0.184,"5.0-5.4":0.02044,"6.2-6.4":0,"7.2-7.4":0.092,"8.2":0.01022,"9.2":0.10222,"10.1":0.06133,"11.1-11.2":0.16355,"12.0":1.83998},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.0268,"9":0.00893,"10":0.0268,"11":0.16081,"5.5":0},J:{"7":0,"10":0.00343},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.08921},Q:{"10.4":0.00686},O:{"0":0.08234},H:{"0":0.14292},L:{"0":44.70717}};
diff --git a/node_modules/caniuse-lite/data/regions/HR.js b/node_modules/caniuse-lite/data/regions/HR.js
new file mode 100644
index 0000000..fb6a617
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/HR.js
@@ -0,0 +1 @@
+module.exports={C:{"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.0101,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0.00505,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0.00505,"48":0.01515,"49":0,"50":0,"51":0,"52":0.09593,"53":0,"54":0,"55":0,"56":0.00505,"57":0.00505,"58":0,"59":0,"60":0,"61":0.00505,"62":0,"63":0,"64":0,"65":0.00505,"66":0.00505,"67":0.00505,"68":0.04039,"69":0,"70":0.00505,"71":0.00505,"72":0.0202,"73":0,"74":0.00505,"75":0.00505,"76":0.00505,"77":0.00505,"78":0.07069,"79":0.03534,"80":0.09088,"81":2.62043,"82":0.39887,"83":0.00505,"84":0,"3.5":0,"3.6":0},D:{"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.00505,"39":0.00505,"40":0.00505,"41":0,"42":0.00505,"43":0.16157,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.14137,"50":0,"51":0,"52":0,"53":0.01515,"54":0,"55":0,"56":0.00505,"57":0,"58":0.00505,"59":0.00505,"60":0,"61":0.00505,"62":0,"63":0.0101,"64":0.00505,"65":0.00505,"66":0.00505,"67":0.0101,"68":0.00505,"69":0.01515,"70":0.01515,"71":0.02525,"72":0.01515,"73":0.0101,"74":0.01515,"75":0.06564,"76":0.02525,"77":0.09088,"78":0.03534,"79":0.04544,"80":0.07069,"81":0.18681,"83":0.06564,"84":0.14642,"85":6.18503,"86":10.09295,"87":0.0101,"88":0.00505,"89":0},F:{"9":0,"11":0,"12":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.0101,"33":0.00505,"34":0,"35":0,"36":0.0101,"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.03029,"52":0,"53":0.00505,"54":0,"55":0,"56":0,"57":0.00505,"58":0,"60":0.0101,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.09593,"71":0.69676,"72":0.01515,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":4.27874,"3.2":0.01025,"4.0-4.1":0.00879,"4.2-4.3":0.00146,"5.0-5.1":0.00732,"6.0-6.1":0.00439,"7.0-7.1":0.01025,"8.1-8.4":0.03368,"9.0-9.2":0.01904,"9.3":0.24308,"10.0-10.2":0.041,"10.3":0.2255,"11.0-11.2":0.08493,"11.3-11.4":0.14497,"12.0-12.1":0.1479,"12.2-12.4":1.47457,"13.0-13.1":0.12154,"13.2":0.06004,"13.3":0.45687,"13.4-13.7":2.4337},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.0101,"12":0.0101,"13":0.04544,"14":0.36858,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0.01515,"11.1":0.02525,"12.1":0.09088,"13.1":0.39887},B:{"12":0,"13":0.00505,"14":0.0101,"15":0.0101,"16":0.0101,"17":0.02525,"18":0.13632,"79":0,"80":0,"81":0.00505,"83":0,"84":0.00505,"85":0.33828,"86":0.66142},I:{"3":0,"4":0.07025,_:"81","2.1":0,"2.2":0,"2.3":0.00056,"4.1":0.03541,"4.2-4.3":0.01574,"4.4":0,"4.4.3-4.4.4":0.12814},P:{"4":0.1325,"5.0-5.4":0.01019,"6.2-6.4":0.02038,"7.2-7.4":0.03058,"8.2":0.02038,"9.2":0.08154,"10.1":0.10192,"11.1-11.2":0.19365,"12.0":4.09717},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.06617,"9":0,"10":0,"11":0.55991,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.23765},Q:{"10.4":0},O:{"0":0.05446},H:{"0":0.34217},L:{"0":57.06983}};
diff --git a/node_modules/caniuse-lite/data/regions/HT.js b/node_modules/caniuse-lite/data/regions/HT.js
new file mode 100644
index 0000000..cb24c1f
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/HT.js
@@ -0,0 +1 @@
+module.exports={C:{"2":0,"3":0.00284,"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.00284,"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.00284,"44":0,"45":0,"46":0,"47":0,"48":0.00284,"49":0,"50":0,"51":0,"52":0.00569,"53":0,"54":0.00284,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0.00569,"64":0,"65":0,"66":0,"67":0,"68":0.01706,"69":0,"70":0,"71":0,"72":0.00569,"73":0,"74":0.00284,"75":0,"76":0,"77":0,"78":0.0455,"79":0.00569,"80":0.01138,"81":0.33559,"82":0.04266,"83":0,"84":0,"3.5":0,"3.6":0},D:{"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.00284,"43":0.01138,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.04835,"50":0.00284,"51":0.00284,"52":0,"53":0,"54":0,"55":0.01991,"56":0.00284,"57":0,"58":0.00853,"59":0,"60":0.00284,"61":0,"62":0,"63":0.01422,"64":0.00284,"65":0.01138,"66":0.01706,"67":0.00284,"68":0.00284,"69":0.00284,"70":0.00284,"71":0.00284,"72":0.00569,"73":0.00284,"74":0.00569,"75":0.00853,"76":0.01706,"77":0.00853,"78":0.00284,"79":0.03128,"80":0.04835,"81":0.01991,"83":0.0455,"84":0.04835,"85":1.71778,"86":2.56529,"87":0.00569,"88":0.00284,"89":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0.01138,"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.00284,"46":0,"47":0,"48":0,"49":0,"50":0.00284,"51":0.02844,"52":0,"53":0.00569,"54":0,"55":0,"56":0,"57":0,"58":0.00284,"60":0.00853,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0.00284,"68":0.00569,"69":0,"70":0.06826,"71":0.42091,"72":0.02275,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.00284},G:{"8":0,"14":4.30643,"3.2":0.01032,"4.0-4.1":0.00884,"4.2-4.3":0.00147,"5.0-5.1":0.00737,"6.0-6.1":0.00442,"7.0-7.1":0.01032,"8.1-8.4":0.0339,"9.0-9.2":0.01916,"9.3":0.24465,"10.0-10.2":0.04127,"10.3":0.22696,"11.0-11.2":0.08548,"11.3-11.4":0.14591,"12.0-12.1":0.14885,"12.2-12.4":1.48411,"13.0-13.1":0.12232,"13.2":0.06043,"13.3":0.45982,"13.4-13.7":2.44945},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.00284,"11":0.00853,"12":0.01706,"13":0.08248,"14":0.33559,_:"0","3.1":0,"3.2":0,"5.1":0.03697,"6.1":0,"7.1":0,"9.1":0,"10.1":0.03413,"11.1":0.0256,"12.1":0.03697,"13.1":0.22752},B:{"12":0.01138,"13":0.0256,"14":0.00853,"15":0.02275,"16":0.00853,"17":0.0256,"18":0.07679,"79":0,"80":0,"81":0.00284,"83":0.00853,"84":0.00853,"85":0.19624,"86":0.38678},I:{"3":0,"4":0.06726,_:"81","2.1":0,"2.2":0,"2.3":0.00054,"4.1":0.0339,"4.2-4.3":0.01507,"4.4":0,"4.4.3-4.4.4":0.12268},P:{"4":0.41002,"5.0-5.4":0.18451,"6.2-6.4":0.09225,"7.2-7.4":0.34852,"8.2":0.07175,"9.2":0.26651,"10.1":0.1025,"11.1-11.2":0.37927,"12.0":1.16856},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.00569,"9":0,"10":0,"11":0.0967,"5.5":0},J:{"7":0,"10":0.05009},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.1145},Q:{"10.4":0.02862},O:{"0":0.47945},H:{"0":1.36174},L:{"0":75.69394}};
diff --git a/node_modules/caniuse-lite/data/regions/HU.js b/node_modules/caniuse-lite/data/regions/HU.js
new file mode 100644
index 0000000..14f0540
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/HU.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00563,"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.00563,"48":0.00563,"49":0,"50":0,"51":0.00563,"52":0.11268,"53":0,"54":0,"55":0,"56":0.01127,"57":0.00563,"58":0,"59":0.00563,"60":0.00563,"61":0.00563,"62":0.00563,"63":0.01127,"64":0,"65":0.00563,"66":0.01127,"67":0.00563,"68":0.03944,"69":0.00563,"70":0.00563,"71":0.00563,"72":0.02254,"73":0.00563,"74":0.01127,"75":0.00563,"76":0.01127,"77":0.01127,"78":0.10705,"79":0.03944,"80":0.51833,"81":3.79732,"82":0.59157,"83":0.00563,"84":0,"3.5":0,"3.6":0},D:{"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.00563,"23":0,"24":0,"25":0,"26":0.00563,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.0169,"35":0,"36":0,"37":0,"38":0.03944,"39":0,"40":0,"41":0,"42":0,"43":0.00563,"44":0,"45":0,"46":0,"47":0,"48":0.00563,"49":0.24226,"50":0,"51":0,"52":0,"53":0.07324,"54":0,"55":0,"56":0.00563,"57":0.00563,"58":0.01127,"59":0,"60":0,"61":0.00563,"62":0.00563,"63":0.00563,"64":0.00563,"65":0.00563,"66":0.0338,"67":0.01127,"68":0.0169,"69":0.01127,"70":0.0169,"71":0.02817,"72":0.0169,"73":0.0169,"74":0.0169,"75":0.01127,"76":0.0169,"77":0.02254,"78":0.02817,"79":0.0338,"80":0.05634,"81":0.07324,"83":0.08451,"84":0.16902,"85":7.56646,"86":12.62579,"87":0.01127,"88":0.00563,"89":0},F:{"9":0,"11":0,"12":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.01127,"37":0,"38":0,"39":0,"40":0.00563,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0.0338,"52":0,"53":0.00563,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0.00563,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.00563,"69":0,"70":0.12958,"71":1.04229,"72":0.0338,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":5.91068,"3.2":0.01416,"4.0-4.1":0.01214,"4.2-4.3":0.00202,"5.0-5.1":0.01011,"6.0-6.1":0.00607,"7.0-7.1":0.01416,"8.1-8.4":0.04652,"9.0-9.2":0.0263,"9.3":0.33579,"10.0-10.2":0.05664,"10.3":0.31151,"11.0-11.2":0.11732,"11.3-11.4":0.20026,"12.0-12.1":0.2043,"12.2-12.4":2.03698,"13.0-13.1":0.16789,"13.2":0.08294,"13.3":0.63112,"13.4-13.7":3.36192},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00563,"12":0.01127,"13":0.06761,"14":0.5296,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0.00563,"7.1":0,"9.1":0.00563,"10.1":0.00563,"11.1":0.0338,"12.1":0.04507,"13.1":0.43382},B:{"12":0,"13":0,"14":0.00563,"15":0.0169,"16":0.00563,"17":0.0169,"18":0.15775,"79":0,"80":0,"81":0,"83":0,"84":0.00563,"85":0.46762,"86":0.96341},I:{"3":0,"4":0.05424,_:"81","2.1":0,"2.2":0,"2.3":0.00043,"4.1":0.02734,"4.2-4.3":0.01215,"4.4":0,"4.4.3-4.4.4":0.09894},P:{"4":0.37001,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.01028,"8.2":0.01028,"9.2":0.04111,"10.1":0.06167,"11.1-11.2":0.11306,"12.0":2.52839},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.0059,"9":0,"10":0,"11":0.24199,"5.5":0},J:{"7":0,"10":0.00437},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.29252},Q:{"10.4":0},O:{"0":0.05676},H:{"0":0.38441},L:{"0":48.97187}};
diff --git a/node_modules/caniuse-lite/data/regions/ID.js b/node_modules/caniuse-lite/data/regions/ID.js
new file mode 100644
index 0000000..22fbc8f
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/ID.js
@@ -0,0 +1 @@
+module.exports={C:{"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.02872,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.00479,"44":0,"45":0,"46":0,"47":0.00479,"48":0.00479,"49":0,"50":0,"51":0,"52":0.02872,"53":0.00479,"54":0,"55":0.00479,"56":0.00957,"57":0.00479,"58":0.00479,"59":0.00479,"60":0.00479,"61":0.00479,"62":0.00479,"63":0.00479,"64":0.01436,"65":0.00479,"66":0.00957,"67":0.00479,"68":0.01915,"69":0.00957,"70":0.00957,"71":0.00479,"72":0.02872,"73":0.00479,"74":0.00957,"75":0.00957,"76":0.00957,"77":0.01436,"78":0.05744,"79":0.02394,"80":0.06702,"81":2.135,"82":0.33509,"83":0.03351,"84":0,"3.5":0,"3.6":0},D:{"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.00479,"39":0,"40":0,"41":0,"42":0,"43":0.00479,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.06223,"50":0,"51":0.00479,"52":0,"53":0.00479,"54":0.00479,"55":0.00479,"56":0.00479,"57":0,"58":0.02394,"59":0.00479,"60":0.00479,"61":0.04308,"62":0.00479,"63":0.03351,"64":0.00479,"65":0.00957,"66":0.00479,"67":0.01436,"68":0.00479,"69":0.02394,"70":0.03351,"71":0.05744,"72":0.02394,"73":0.0383,"74":0.10531,"75":0.04787,"76":0.04787,"77":0.04787,"78":0.07181,"79":0.09574,"80":0.20584,"81":0.07659,"83":0.12925,"84":0.18191,"85":5.60079,"86":8.82244,"87":0.01436,"88":0.00479,"89":0},F:{"9":0,"11":0,"12":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.00479,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0.06702,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0.00479,"46":0.00957,"47":0.00479,"48":0,"49":0,"50":0.05266,"51":0.22499,"52":0.00479,"53":0,"54":0,"55":0.00479,"56":0,"57":0.00957,"58":0,"60":0.00479,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.06223,"71":0.36381,"72":0.00479,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":2.60175,"3.2":0.00623,"4.0-4.1":0.00534,"4.2-4.3":0.00089,"5.0-5.1":0.00445,"6.0-6.1":0.00267,"7.0-7.1":0.00623,"8.1-8.4":0.02048,"9.0-9.2":0.01158,"9.3":0.14781,"10.0-10.2":0.02493,"10.3":0.13712,"11.0-11.2":0.05164,"11.3-11.4":0.08815,"12.0-12.1":0.08993,"12.2-12.4":0.89663,"13.0-13.1":0.0739,"13.2":0.03651,"13.3":0.2778,"13.4-13.7":1.47984},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00479,"12":0.02394,"13":0.05744,"14":0.21063,_:"0","3.1":0,"3.2":0,"5.1":0.68933,"6.1":0,"7.1":0,"9.1":0,"10.1":0.00479,"11.1":0.02394,"12.1":0.05266,"13.1":0.23935},B:{"12":0,"13":0,"14":0,"15":0,"16":0,"17":0.00479,"18":0.02872,"79":0,"80":0,"81":0,"83":0,"84":0.00479,"85":0.23456,"86":0.45955},I:{"3":0,"4":0.09793,_:"81","2.1":0,"2.2":0,"2.3":0.00078,"4.1":0.04936,"4.2-4.3":0.02194,"4.4":0,"4.4.3-4.4.4":0.17862},P:{"4":0.52147,"5.0-5.4":0.02006,"6.2-6.4":0.03008,"7.2-7.4":0.0702,"8.2":0.03008,"9.2":0.15042,"10.1":0.11031,"11.1-11.2":0.23065,"12.0":1.33375},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.01044,"9":0,"10":0.00522,"11":0.04178,"5.5":0},J:{"7":0,"10":0.00521},N:{"10":0,"11":0.01043},S:{"2.5":0},R:{_:"0"},M:{"0":0.10426},Q:{"10.4":0.00521},O:{"0":1.74636},H:{"0":1.35722},L:{"0":63.00978}};
diff --git a/node_modules/caniuse-lite/data/regions/IE.js b/node_modules/caniuse-lite/data/regions/IE.js
new file mode 100644
index 0000000..782dc19
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/IE.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00437,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.01747,"39":0,"40":0,"41":0,"42":0,"43":0.0131,"44":0.06551,"45":0.0131,"46":0,"47":0,"48":0.00437,"49":0,"50":0,"51":0,"52":0.0131,"53":0,"54":0,"55":0,"56":0.00437,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0.00437,"65":0.00437,"66":0,"67":0,"68":0.0393,"69":0,"70":0.00437,"71":0,"72":0.03494,"73":0,"74":0,"75":0,"76":0,"77":0.00873,"78":0.07861,"79":0.00873,"80":0.04367,"81":0.70309,"82":0.11354,"83":0,"84":0,"3.5":0,"3.6":0},D:{"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.00437,"35":0,"36":0,"37":0,"38":0.00437,"39":0,"40":0.00873,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0.00437,"47":0.01747,"48":0.16595,"49":0.14411,"50":0,"51":0,"52":0,"53":0.00873,"54":0,"55":0.00437,"56":0.0131,"57":0,"58":0,"59":0,"60":0,"61":0.00873,"62":0,"63":0.00437,"64":0,"65":0.0131,"66":0.00437,"67":0.0131,"68":0.00873,"69":0.0262,"70":0.02184,"71":0.0393,"72":0.02184,"73":0.01747,"74":0.0131,"75":0.0393,"76":0.03057,"77":0.0262,"78":0.02184,"79":0.04367,"80":0.0393,"81":0.0524,"83":0.09171,"84":0.15285,"85":4.7513,"86":6.61164,"87":0.00873,"88":0.00437,"89":0},F:{"9":0,"11":0,"12":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.00437,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0.00437,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.02184,"71":0.16595,"72":0.00437,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":15.48932,"3.2":0.03711,"4.0-4.1":0.03181,"4.2-4.3":0.0053,"5.0-5.1":0.0265,"6.0-6.1":0.0159,"7.0-7.1":0.03711,"8.1-8.4":0.12192,"9.0-9.2":0.06891,"9.3":0.87995,"10.0-10.2":0.14843,"10.3":0.81634,"11.0-11.2":0.30745,"11.3-11.4":0.52479,"12.0-12.1":0.53539,"12.2-12.4":5.33804,"13.0-13.1":0.43998,"13.2":0.21734,"13.3":1.65389,"13.4-13.7":8.81015},E:{"4":0,"5":0,"6":0,"7":0,"8":0.00873,"9":0.0262,"10":0,"11":0.00437,"12":0.0131,"13":0.24892,"14":0.78606,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.00437,"10.1":0.01747,"11.1":0.04367,"12.1":0.08297,"13.1":1.37997},B:{"12":0.00437,"13":0.00437,"14":0.00437,"15":0.00437,"16":0.00873,"17":0.02184,"18":0.18778,"79":0,"80":0.00437,"81":0.00437,"83":0,"84":0.00873,"85":0.3712,"86":0.72492},I:{"3":0,"4":0.11229,_:"81","2.1":0,"2.2":0,"2.3":0.0009,"4.1":0.05659,"4.2-4.3":0.02515,"4.4":0,"4.4.3-4.4.4":0.20481},P:{"4":0.05228,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.03137,"8.2":0.01046,"9.2":0.07319,"10.1":0.06273,"11.1-11.2":0.14637,"12.0":3.83709},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.02026,"9":0.03546,"10":0,"11":0.32421,"5.5":0},J:{"7":0,"10":0.00563},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.27038},Q:{"10.4":0.0338},O:{"0":0.0338},H:{"0":0.12266},L:{"0":38.98425}};
diff --git a/node_modules/caniuse-lite/data/regions/IL.js b/node_modules/caniuse-lite/data/regions/IL.js
new file mode 100644
index 0000000..a80b52c
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/IL.js
@@ -0,0 +1 @@
+module.exports={C:{"2":0,"3":0.00522,"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.00522,"25":0.00522,"26":0.01566,"27":0.00522,"28":0,"29":0.00522,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.00522,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0.00522,"49":0,"50":0,"51":0,"52":0.01566,"53":0,"54":0.00522,"55":0.01044,"56":0.01566,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0.00522,"64":0,"65":0.00522,"66":0.00522,"67":0,"68":0.01566,"69":0,"70":0,"71":0,"72":0.00522,"73":0,"74":0.00522,"75":0,"76":0,"77":0.00522,"78":0.03131,"79":0.09394,"80":0.04175,"81":0.74632,"82":0.1096,"83":0.00522,"84":0,"3.5":0,"3.6":0},D:{"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.00522,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0.03131,"32":0.01044,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.01566,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.0835,"50":0,"51":0,"52":0,"53":0.0261,"54":0,"55":0,"56":0.00522,"57":0.00522,"58":0,"59":0.00522,"60":0.0261,"61":0.01044,"62":0.00522,"63":0.00522,"64":0.00522,"65":0.01566,"66":0.00522,"67":0.02088,"68":0.01044,"69":0.00522,"70":0.0261,"71":0.04697,"72":0.0261,"73":0.0261,"74":0.02088,"75":0.03653,"76":0.01566,"77":0.02088,"78":0.0261,"79":0.04697,"80":0.1096,"81":0.09916,"83":0.08872,"84":0.18788,"85":8.63745,"86":12.70305,"87":0.01044,"88":0.00522,"89":0},F:{"9":0,"11":0,"12":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.00522,"57":0,"58":0,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.04175,"71":0.26095,"72":0.00522,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.00522},G:{"8":0,"14":7.33023,"3.2":0.01756,"4.0-4.1":0.01505,"4.2-4.3":0.00251,"5.0-5.1":0.01254,"6.0-6.1":0.00753,"7.0-7.1":0.01756,"8.1-8.4":0.0577,"9.0-9.2":0.03261,"9.3":0.41643,"10.0-10.2":0.07024,"10.3":0.38633,"11.0-11.2":0.1455,"11.3-11.4":0.24835,"12.0-12.1":0.25337,"12.2-12.4":2.52619,"13.0-13.1":0.20822,"13.2":0.10285,"13.3":0.78269,"13.4-13.7":4.16935},E:{"4":0,"5":0,"6":0,"7":0.00522,"8":0.05219,"9":0,"10":0,"11":0.00522,"12":0.01044,"13":0.04697,"14":0.38099,_:"0","3.1":0,"3.2":0,"5.1":0.01044,"6.1":0.00522,"7.1":0,"9.1":0,"10.1":0.01044,"11.1":0.02088,"12.1":0.03131,"13.1":0.38099},B:{"12":0,"13":0,"14":0.00522,"15":0,"16":0.00522,"17":0.01566,"18":0.0835,"79":0,"80":0,"81":0,"83":0,"84":0.00522,"85":0.36533,"86":0.68369},I:{"3":0,"4":0.03982,_:"81","2.1":0,"2.2":0,"2.3":0.00032,"4.1":0.02007,"4.2-4.3":0.00892,"4.4":0,"4.4.3-4.4.4":0.07263},P:{"4":0.11192,"5.0-5.4":0.01017,"6.2-6.4":0.01017,"7.2-7.4":0.06105,"8.2":0.02035,"9.2":0.25436,"10.1":0.14244,"11.1-11.2":0.29506,"12.0":4.80237},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.00528,"9":0.00528,"10":0.00528,"11":0.40689,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.11953},Q:{"10.4":0.00478},O:{"0":0.04781},H:{"0":0.14937},L:{"0":47.06438}};
diff --git a/node_modules/caniuse-lite/data/regions/IM.js b/node_modules/caniuse-lite/data/regions/IM.js
new file mode 100644
index 0000000..c2f9194
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/IM.js
@@ -0,0 +1 @@
+module.exports={C:{"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.01648,"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.00549,"46":0,"47":0,"48":0.01648,"49":0,"50":0,"51":0,"52":0.00549,"53":0,"54":0,"55":0,"56":0.13735,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0.01648,"67":0,"68":0.00549,"69":0,"70":0,"71":0,"72":0,"73":0.00549,"74":0,"75":0,"76":0.00549,"77":0.00549,"78":0.04395,"79":0.01648,"80":0.06043,"81":1.20868,"82":0.17031,"83":0,"84":0,"3.5":0,"3.6":0},D:{"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.30217,"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.00549,"64":0,"65":0.00549,"66":0,"67":0.12636,"68":0,"69":0,"70":0.00549,"71":0.03846,"72":0.07692,"73":0,"74":0.00549,"75":0.03296,"76":0.01099,"77":0.07692,"78":0.13186,"79":0.06043,"80":0.23624,"81":0.07692,"83":0.16482,"84":0.26921,"85":6.02142,"86":7.6916,"87":0,"88":0,"89":0},F:{"9":0,"11":0,"12":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,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.01648,"69":0,"70":0.05494,"71":0.25822,"72":0.00549,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":19.00921,"3.2":0.04554,"4.0-4.1":0.03903,"4.2-4.3":0.00651,"5.0-5.1":0.03253,"6.0-6.1":0.01952,"7.0-7.1":0.04554,"8.1-8.4":0.14963,"9.0-9.2":0.08457,"9.3":1.07992,"10.0-10.2":0.18216,"10.3":1.00185,"11.0-11.2":0.37732,"11.3-11.4":0.64405,"12.0-12.1":0.65706,"12.2-12.4":6.55109,"13.0-13.1":0.53996,"13.2":0.26673,"13.3":2.02973,"13.4-13.7":10.81222},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0.00549,"10":0.00549,"11":0.01099,"12":0.01099,"13":0.19778,"14":1.63172,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.00549,"10.1":0.05494,"11.1":0.1868,"12.1":0.17031,"13.1":3.52165},B:{"12":0.00549,"13":0,"14":0.03846,"15":0.00549,"16":0.01099,"17":0.02198,"18":0.1868,"79":0,"80":0,"81":0.00549,"83":0,"84":0.01099,"85":1.20868,"86":2.03278},I:{"3":0,"4":0.1455,_:"81","2.1":0,"2.2":0,"2.3":0.00116,"4.1":0.07333,"4.2-4.3":0.03259,"4.4":0,"4.4.3-4.4.4":0.26539},P:{"4":0.03283,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0,"8.2":0,"9.2":0,"10.1":0.0766,"11.1-11.2":0.08755,"12.0":4.62895},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0.11808,"10":0,"11":0.67306,"5.5":0},J:{"7":0,"10":0.00451},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.34246},Q:{"10.4":0},O:{"0":0.00901},H:{"0":0.0256},L:{"0":20.17996}};
diff --git a/node_modules/caniuse-lite/data/regions/IN.js b/node_modules/caniuse-lite/data/regions/IN.js
new file mode 100644
index 0000000..ae3000c
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/IN.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00353,"43":0.00353,"44":0,"45":0,"46":0,"47":0.00706,"48":0.00353,"49":0,"50":0,"51":0,"52":0.01412,"53":0,"54":0,"55":0,"56":0.00353,"57":0,"58":0,"59":0,"60":0.00353,"61":0,"62":0,"63":0,"64":0,"65":0.00353,"66":0.00353,"67":0,"68":0.01412,"69":0,"70":0,"71":0,"72":0.00353,"73":0,"74":0.00353,"75":0,"76":0.00353,"77":0.00353,"78":0.01412,"79":0.00706,"80":0.02117,"81":0.50112,"82":0.09881,"83":0.01412,"84":0,"3.5":0,"3.6":0},D:{"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.00353,"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.03176,"50":0,"51":0.00353,"52":0,"53":0,"54":0,"55":0.00353,"56":0.00353,"57":0,"58":0.00706,"59":0,"60":0,"61":0.01059,"62":0,"63":0.01412,"64":0.00353,"65":0.00353,"66":0.00353,"67":0.00353,"68":0.00353,"69":0.01059,"70":0.01412,"71":0.03882,"72":0.01059,"73":0.01059,"74":0.04941,"75":0.01059,"76":0.01059,"77":0.01412,"78":0.02117,"79":0.03529,"80":0.05294,"81":0.03529,"83":0.05294,"84":0.10234,"85":3.57135,"86":5.50524,"87":0.01765,"88":0.01059,"89":0},F:{"9":0,"11":0,"12":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.01412,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0.00353,"46":0.00353,"47":0.00353,"48":0,"49":0,"50":0.03882,"51":0.12704,"52":0.1094,"53":0,"54":0.00353,"55":0.01059,"56":0,"57":0,"58":0,"60":0.02117,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.01765,"71":0.12352,"72":0.00353,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":1.10937,"3.2":0.00266,"4.0-4.1":0.00228,"4.2-4.3":0.00038,"5.0-5.1":0.0019,"6.0-6.1":0.00114,"7.0-7.1":0.00266,"8.1-8.4":0.00873,"9.0-9.2":0.00494,"9.3":0.06302,"10.0-10.2":0.01063,"10.3":0.05847,"11.0-11.2":0.02202,"11.3-11.4":0.03759,"12.0-12.1":0.03835,"12.2-12.4":0.38232,"13.0-13.1":0.03151,"13.2":0.01557,"13.3":0.11845,"13.4-13.7":0.63099},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.00353,"13":0.01412,"14":0.10587,_:"0","3.1":0,"3.2":0,"5.1":0.0247,"6.1":0,"7.1":0,"9.1":0,"10.1":0.00353,"11.1":0.00353,"12.1":0.01059,"13.1":0.0847},B:{"12":0.00353,"13":0,"14":0.00353,"15":0.00353,"16":0.00353,"17":0.00706,"18":0.02823,"79":0,"80":0,"81":0,"83":0,"84":0.00353,"85":0.11646,"86":0.21527},I:{"3":0,"4":0.02545,_:"81","2.1":0,"2.2":0,"2.3":0.0002,"4.1":0.01282,"4.2-4.3":0.0057,"4.4":0,"4.4.3-4.4.4":0.04641},P:{"4":0.33557,"5.0-5.4":0.02034,"6.2-6.4":0.03051,"7.2-7.4":0.11186,"8.2":0.02034,"9.2":0.12202,"10.1":0.06101,"11.1-11.2":0.19321,"12.0":0.8135},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.00353,"9":0,"10":0,"11":0.03176,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0.31061},R:{_:"0"},M:{"0":0.13589},Q:{"10.4":0},O:{"0":4.53617},H:{"0":2.53017},L:{"0":73.22638}};
diff --git a/node_modules/caniuse-lite/data/regions/IQ.js b/node_modules/caniuse-lite/data/regions/IQ.js
new file mode 100644
index 0000000..fd4474f
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/IQ.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00306,"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.00306,"48":0,"49":0,"50":0,"51":0,"52":0.00613,"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.00613,"69":0.00306,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.00613,"79":0.00919,"80":0.01532,"81":0.39819,"82":0.06126,"83":0.00613,"84":0,"3.5":0,"3.6":0},D:{"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.00306,"34":0,"35":0,"36":0,"37":0,"38":0.00613,"39":0,"40":0.00613,"41":0,"42":0,"43":0.03982,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.00613,"50":0,"51":0,"52":0,"53":0.00613,"54":0,"55":0,"56":0.00306,"57":0.00306,"58":0.00306,"59":0,"60":0.00306,"61":0.01838,"62":0,"63":0.02757,"64":0,"65":0.00306,"66":0,"67":0.00306,"68":0.01838,"69":0.00919,"70":0.00919,"71":0.01225,"72":0.00306,"73":0.00613,"74":0.01532,"75":0.00613,"76":0.00613,"77":0.01532,"78":0.01838,"79":0.04288,"80":0.03982,"81":0.06432,"83":0.06432,"84":0.11333,"85":2.34932,"86":3.8747,"87":0.00306,"88":0.00306,"89":0},F:{"9":0,"11":0,"12":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.00306,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.04288,"71":0.30324,"72":0.00613,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":7.20984,"3.2":0.01727,"4.0-4.1":0.0148,"4.2-4.3":0.00247,"5.0-5.1":0.01234,"6.0-6.1":0.0074,"7.0-7.1":0.01727,"8.1-8.4":0.05675,"9.0-9.2":0.03208,"9.3":0.40959,"10.0-10.2":0.06909,"10.3":0.37998,"11.0-11.2":0.14311,"11.3-11.4":0.24428,"12.0-12.1":0.24921,"12.2-12.4":2.48471,"13.0-13.1":0.2048,"13.2":0.10116,"13.3":0.76984,"13.4-13.7":4.10087},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.00306,"13":0.02144,"14":0.34918,_:"0","3.1":0,"3.2":0,"5.1":0.07351,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0.00306,"12.1":0.00919,"13.1":0.23279},B:{"12":0,"13":0,"14":0,"15":0,"16":0.00306,"17":0.00613,"18":0.04288,"79":0,"80":0,"81":0.00306,"83":0,"84":0.00306,"85":0.14702,"86":0.28792},I:{"3":0,"4":0.06215,_:"81","2.1":0,"2.2":0,"2.3":0.0005,"4.1":0.03132,"4.2-4.3":0.01392,"4.4":0,"4.4.3-4.4.4":0.11336},P:{"4":0.13451,"5.0-5.4":0.01035,"6.2-6.4":0.01035,"7.2-7.4":0.13451,"8.2":0.01035,"9.2":0.24832,"10.1":0.11381,"11.1-11.2":0.38283,"12.0":4.43874},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.01575,"9":0,"10":0,"11":0.05776,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.06937},Q:{"10.4":0.00694},O:{"0":0.36766},H:{"0":0.22986},L:{"0":66.00078}};
diff --git a/node_modules/caniuse-lite/data/regions/IR.js b/node_modules/caniuse-lite/data/regions/IR.js
new file mode 100644
index 0000000..0af9f45
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/IR.js
@@ -0,0 +1 @@
+module.exports={C:{"3":0.00317,"16":0.01585,"25":0.00317,"27":0.00634,"29":0.01585,"30":0.00951,"31":0.00951,"32":0.00634,"33":0.02219,"34":0.00634,"35":0.00634,"37":0.00634,"38":0.00634,"39":0.00634,"40":0.00634,"41":0.00951,"42":0.00634,"43":0.02853,"44":0.00634,"45":0.00951,"46":0.00634,"47":0.04755,"48":0.01585,"49":0.01268,"50":0.00951,"51":0.00317,"52":0.26628,"53":0.00634,"54":0.00951,"55":0.00951,"56":0.02219,"57":0.00951,"58":0.00634,"59":0.00634,"60":0.01585,"61":0.00634,"62":0.00951,"63":0.02219,"64":0.02853,"65":0.02219,"66":0.01585,"67":0.00634,"68":0.03487,"69":0.00951,"70":0.00951,"71":0.00951,"72":0.06657,"73":0.00951,"74":0.00951,"75":0.01902,"76":0.01902,"77":0.02219,"78":0.18069,"79":0.04755,"80":0.17752,"81":4.38094,"82":0.64034,"83":0.02219,_:"2 4 5 6 7 8 9 10 11 12 13 14 15 17 18 19 20 21 22 23 24 26 28 36 84 3.5 3.6"},D:{"11":0.00317,"13":0.80518,"29":0.01585,"30":0.00634,"31":0.00634,"33":0.00951,"34":0.00634,"35":0.01585,"38":0.01902,"39":0.00951,"40":0.01268,"41":0.00317,"42":0.00317,"43":0.00634,"44":0.00634,"45":0.00317,"46":0.00634,"47":0.00317,"48":0.01268,"49":0.12363,"50":0.00317,"51":0.00951,"52":0.00317,"53":0.01268,"54":0.00951,"55":0.00634,"56":0.00634,"57":0.00634,"58":0.01268,"59":0.00634,"60":0.01268,"61":0.03487,"62":0.01268,"63":0.04755,"64":0.00634,"65":0.00951,"66":0.00634,"67":0.01902,"68":0.01268,"69":0.02853,"70":0.12046,"71":0.1902,"72":0.13314,"73":0.07608,"74":0.01902,"75":0.19971,"76":0.10778,"77":0.03487,"78":0.05389,"79":0.10778,"80":0.25677,"81":0.10461,"83":0.14899,"84":0.24092,"85":5.59822,"86":9.59242,"87":0.00951,"88":0.00317,_:"4 5 6 7 8 9 10 12 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 32 36 37 89"},F:{"36":0.00634,"56":0.00634,"57":0.00634,"58":0.00634,"64":0.00951,"67":0.00317,"68":0.00634,"69":0.00317,"70":0.0951,"71":0.54841,"72":0.01585,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 60 62 63 65 66 9.5-9.6 10.5 10.6 11.1","10.0-10.1":0,"11.5":0.00317,"11.6":0.00634,"12.1":0.01585},G:{"8":0,"14":1.54618,"3.2":0.0037,"4.0-4.1":0.00317,"4.2-4.3":0.00053,"5.0-5.1":0.00265,"6.0-6.1":0.00159,"7.0-7.1":0.0037,"8.1-8.4":0.01217,"9.0-9.2":0.00688,"9.3":0.08784,"10.0-10.2":0.01482,"10.3":0.08149,"11.0-11.2":0.03069,"11.3-11.4":0.05239,"12.0-12.1":0.05344,"12.2-12.4":0.53285,"13.0-13.1":0.04392,"13.2":0.0217,"13.3":0.1651,"13.4-13.7":0.87945},E:{"4":0.00634,"12":0.00634,"13":0.0317,"14":0.05389,_:"0 5 6 7 8 9 10 11 3.1 3.2 6.1 7.1 9.1 10.1","5.1":0.06974,"11.1":0.00634,"12.1":0.00634,"13.1":0.05706},B:{"12":0.02219,"13":0.02219,"14":0.02536,"15":0.01902,"16":0.02536,"17":0.04438,"18":0.22507,"81":0.00317,"83":0.00634,"84":0.01585,"85":0.18386,"86":0.37406,_:"79 80"},I:{"3":0,"4":0.08057,_:"81","2.1":0,"2.2":0,"2.3":0.00064,"4.1":0.04061,"4.2-4.3":0.01805,"4.4":0,"4.4.3-4.4.4":0.14695},P:{"4":1.98174,"5.0-5.4":0.27299,"6.2-6.4":0.19211,"7.2-7.4":0.80887,"8.2":0.22244,"9.2":1.37508,"10.1":0.75832,"11.1-11.2":1.45597,"12.0":5.40933},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":1.01318,"9":0.37311,"10":0.0386,"11":2.74684,_:"6 7 5.5"},J:{"7":0,"10":0},N:{"10":0,"11":0.01043},S:{"2.5":0},R:{_:"0"},M:{"0":0.77851},Q:{"10.4":0},O:{"0":0.13658},H:{"0":0.4461},L:{"0":51.13958}};
diff --git a/node_modules/caniuse-lite/data/regions/IS.js b/node_modules/caniuse-lite/data/regions/IS.js
new file mode 100644
index 0000000..a48d07b
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/IS.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00694,"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.02774,"49":0,"50":0,"51":0,"52":0.01387,"53":0,"54":0.00694,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0.00694,"61":0.00694,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.00694,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0.01387,"77":0.05548,"78":0.06935,"79":0.01387,"80":0.13177,"81":2.27468,"82":0.42997,"83":0,"84":0,"3.5":0,"3.6":0},D:{"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.18725,"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.00694,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.09016,"50":0,"51":0,"52":0,"53":0.00694,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0.02081,"62":0,"63":0,"64":0,"65":0.03468,"66":0.00694,"67":0.04855,"68":0,"69":0.01387,"70":0.01387,"71":0.00694,"72":0.02774,"73":0.01387,"74":0.02774,"75":0.02081,"76":0.03468,"77":0.01387,"78":0.02774,"79":0.04855,"80":0.1179,"81":0.12483,"83":0.35369,"84":0.57561,"85":14.01564,"86":17.39992,"87":0.00694,"88":0,"89":0},F:{"9":0,"11":0,"12":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.07629,"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.00694,"57":0,"58":0,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.06935,"71":0.64496,"72":0.01387,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":11.90034,"3.2":0.02851,"4.0-4.1":0.02444,"4.2-4.3":0.00407,"5.0-5.1":0.02036,"6.0-6.1":0.01222,"7.0-7.1":0.02851,"8.1-8.4":0.09367,"9.0-9.2":0.05294,"9.3":0.67606,"10.0-10.2":0.11403,"10.3":0.62719,"11.0-11.2":0.23621,"11.3-11.4":0.40319,"12.0-12.1":0.41134,"12.2-12.4":4.10118,"13.0-13.1":0.33803,"13.2":0.16698,"13.3":1.27067,"13.4-13.7":6.76878},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.01387,"11":0.01387,"12":0.14564,"13":0.47852,"14":2.58676,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.00694,"10.1":0.05548,"11.1":0.33982,"12.1":0.42997,"13.1":3.0306},B:{"12":0,"13":0,"14":0,"15":0,"16":0,"17":0.02081,"18":0.22886,"79":0,"80":0,"81":0,"83":0,"84":0.00694,"85":0.70044,"86":1.387},I:{"3":0,"4":0.04082,_:"81","2.1":0,"2.2":0,"2.3":0.00033,"4.1":0.02057,"4.2-4.3":0.00914,"4.4":0,"4.4.3-4.4.4":0.07446},P:{"4":0.02038,"5.0-5.4":0,"6.2-6.4":0.01019,"7.2-7.4":0.01019,"8.2":0.01019,"9.2":0.02038,"10.1":0.03058,"11.1-11.2":0.08154,"12.0":2.76201},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.38143,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.17164},Q:{"10.4":0},O:{"0":0.00613},H:{"0":0.04062},L:{"0":20.11531}};
diff --git a/node_modules/caniuse-lite/data/regions/IT.js b/node_modules/caniuse-lite/data/regions/IT.js
new file mode 100644
index 0000000..eb9a1fd
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/IT.js
@@ -0,0 +1 @@
+module.exports={C:{"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.0058,"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.0058,"48":0.04057,"49":0,"50":0,"51":0,"52":0.06375,"53":0,"54":0,"55":0,"56":0.02318,"57":0,"58":0,"59":0.0058,"60":0.01159,"61":0,"62":0,"63":0.0058,"64":0.0058,"65":0.0058,"66":0.0058,"67":0,"68":0.02898,"69":0.0058,"70":0.0058,"71":0,"72":0.01159,"73":0,"74":0.0058,"75":0.0058,"76":0.0058,"77":0.01159,"78":0.19703,"79":0.01739,"80":0.08693,"81":2.27744,"82":0.33611,"83":0.0058,"84":0,"3.5":0,"3.6":0},D:{"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.01739,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0.0058,"49":0.24339,"50":0.06375,"51":0,"52":0.01159,"53":0.02898,"54":0,"55":0,"56":0,"57":0,"58":0.0058,"59":0.0058,"60":0,"61":0.06375,"62":0.0058,"63":0.01159,"64":0.0058,"65":0.02318,"66":0.04636,"67":0.02898,"68":0.0058,"69":0.03477,"70":0.03477,"71":0.04636,"72":0.02898,"73":0.02318,"74":0.02898,"75":0.02318,"76":0.01739,"77":0.03477,"78":0.06954,"79":0.05795,"80":0.08113,"81":0.08693,"83":0.10431,"84":0.17385,"85":8.26367,"86":12.99819,"87":0.01159,"88":0.0058,"89":0},F:{"9":0,"11":0,"12":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.0058,"33":0,"34":0,"35":0,"36":0.0058,"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,"60":0.0058,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.0058,"69":0,"70":0.05795,"71":0.45781,"72":0.01739,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":7.65664,"3.2":0.01834,"4.0-4.1":0.01572,"4.2-4.3":0.00262,"5.0-5.1":0.0131,"6.0-6.1":0.00786,"7.0-7.1":0.01834,"8.1-8.4":0.06027,"9.0-9.2":0.03406,"9.3":0.43498,"10.0-10.2":0.07337,"10.3":0.40353,"11.0-11.2":0.15198,"11.3-11.4":0.25941,"12.0-12.1":0.26465,"12.2-12.4":2.63869,"13.0-13.1":0.21749,"13.2":0.10743,"13.3":0.81755,"13.4-13.7":4.35501},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0.0058,"10":0.0058,"11":0.01159,"12":0.04636,"13":0.22601,"14":1.55306,_:"0","3.1":0,"3.2":0,"5.1":0.0058,"6.1":0,"7.1":0,"9.1":0.01159,"10.1":0.02898,"11.1":0.13329,"12.1":0.19703,"13.1":1.36762},B:{"12":0,"13":0,"14":0.0058,"15":0.0058,"16":0.0058,"17":0.01739,"18":0.13908,"79":0,"80":0,"81":0,"83":0.0058,"84":0.01159,"85":0.57371,"86":1.14162},I:{"3":0,"4":0.05426,_:"81","2.1":0,"2.2":0,"2.3":0.00043,"4.1":0.02735,"4.2-4.3":0.01216,"4.4":0,"4.4.3-4.4.4":0.09898},P:{"4":0.24634,"5.0-5.4":0.01026,"6.2-6.4":0,"7.2-7.4":0.03079,"8.2":0.02053,"9.2":0.09238,"10.1":0.09238,"11.1-11.2":0.18475,"12.0":2.87394},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.01893,"9":0.01262,"10":0.00631,"11":0.53005,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.20184},Q:{"10.4":0.03785},O:{"0":0.14297},H:{"0":0.16322},L:{"0":42.96363}};
diff --git a/node_modules/caniuse-lite/data/regions/JE.js b/node_modules/caniuse-lite/data/regions/JE.js
new file mode 100644
index 0000000..0aa29a4
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/JE.js
@@ -0,0 +1 @@
+module.exports={C:{"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.01055,"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.00528,"49":0,"50":0,"51":0,"52":0.01055,"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.00528,"66":0,"67":0,"68":0.01055,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.03694,"79":0.10026,"80":0.04749,"81":1.03429,"82":0.16886,"83":0,"84":0,"3.5":0,"3.6":0},D:{"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.03694,"50":0,"51":0,"52":0,"53":0.02639,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0.01583,"66":0.00528,"67":0.01055,"68":0,"69":0.00528,"70":0,"71":0.02111,"72":0.03694,"73":0,"74":0,"75":0.00528,"76":0.00528,"77":0.00528,"78":0.01055,"79":0.00528,"80":0.01055,"81":0.03166,"83":0.14248,"84":0.30079,"85":5.48808,"86":6.52765,"87":0.00528,"88":0.00528,"89":0},F:{"9":0,"11":0,"12":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.00528,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.03166,"71":0.34828,"72":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":22.15181,"3.2":0.05307,"4.0-4.1":0.04549,"4.2-4.3":0.00758,"5.0-5.1":0.03791,"6.0-6.1":0.02274,"7.0-7.1":0.05307,"8.1-8.4":0.17436,"9.0-9.2":0.09855,"9.3":1.25845,"10.0-10.2":0.21227,"10.3":1.16748,"11.0-11.2":0.4397,"11.3-11.4":0.75052,"12.0-12.1":0.76569,"12.2-12.4":7.63411,"13.0-13.1":0.62923,"13.2":0.31082,"13.3":2.36529,"13.4-13.7":12.5997},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.00528,"11":0.00528,"12":0.16359,"13":0.26913,"14":2.33771,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.02111,"10.1":0.04749,"11.1":0.09499,"12.1":0.25857,"13.1":3.85749},B:{"12":0,"13":0,"14":0,"15":0.01583,"16":0.00528,"17":0.02111,"18":0.24802,"79":0,"80":0,"81":0.00528,"83":0,"84":0.01583,"85":0.9868,"86":1.82584},I:{"3":0,"4":0.09276,_:"81","2.1":0,"2.2":0,"2.3":0.00074,"4.1":0.04675,"4.2-4.3":0.02078,"4.4":0,"4.4.3-4.4.4":0.1692},P:{"4":0.16395,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0,"8.2":0,"9.2":0,"10.1":0.01093,"11.1-11.2":0.03279,"12.0":3.41015},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.00528,"7":0,"8":0,"9":0,"10":0,"11":0.8021,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.16531},Q:{"10.4":0},O:{"0":0},H:{"0":0.04919},L:{"0":17.38062}};
diff --git a/node_modules/caniuse-lite/data/regions/JM.js b/node_modules/caniuse-lite/data/regions/JM.js
new file mode 100644
index 0000000..9e2ab16
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/JM.js
@@ -0,0 +1 @@
+module.exports={C:{"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.01044,"53":0,"54":0,"55":0.00522,"56":0.00522,"57":0.01044,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.01565,"69":0,"70":0,"71":0,"72":0.00522,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.05218,"79":0.01044,"80":0.03653,"81":0.83488,"82":0.15132,"83":0.00522,"84":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00522,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0.00522,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0.05218,"34":0,"35":0.00522,"36":0,"37":0,"38":0.00522,"39":0,"40":0,"41":0,"42":0.00522,"43":0.00522,"44":0,"45":0,"46":0.00522,"47":0.00522,"48":0,"49":0.06783,"50":0,"51":0,"52":0,"53":0.01044,"54":0,"55":0.00522,"56":0,"57":0,"58":0.00522,"59":0,"60":0.00522,"61":0.00522,"62":0.00522,"63":0.01044,"64":0,"65":0.04174,"66":0,"67":0.01044,"68":0,"69":0.02609,"70":0.03131,"71":0.01044,"72":0.00522,"73":0.00522,"74":0.02087,"75":0.04174,"76":0.05218,"77":0.04696,"78":0.02609,"79":0.04696,"80":0.10958,"81":0.08349,"83":0.09392,"84":0.17219,"85":6.36074,"86":10.12814,"87":0.03653,"88":0.02087,"89":0},F:{"9":0,"11":0,"12":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.00522,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.03131,"71":0.38613,"72":0.01565,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":6.7846,"3.2":0.01625,"4.0-4.1":0.01393,"4.2-4.3":0.00232,"5.0-5.1":0.01161,"6.0-6.1":0.00697,"7.0-7.1":0.01625,"8.1-8.4":0.0534,"9.0-9.2":0.03018,"9.3":0.38544,"10.0-10.2":0.06501,"10.3":0.35757,"11.0-11.2":0.13467,"11.3-11.4":0.22987,"12.0-12.1":0.23451,"12.2-12.4":2.33816,"13.0-13.1":0.19272,"13.2":0.0952,"13.3":0.72443,"13.4-13.7":3.859},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.01044,"13":0.10436,"14":0.65225,_:"0","3.1":0,"3.2":0,"5.1":0.08871,"6.1":0,"7.1":0,"9.1":0.01044,"10.1":0.01044,"11.1":0.04174,"12.1":0.08871,"13.1":0.69399},B:{"12":0.01044,"13":0.01044,"14":0.01565,"15":0.02609,"16":0.03653,"17":0.04174,"18":0.23481,"79":0,"80":0.00522,"81":0.00522,"83":0.00522,"84":0.01565,"85":0.7253,"86":1.47669},I:{"3":0,"4":0.44252,_:"81","2.1":0,"2.2":0,"2.3":0.00354,"4.1":0.22303,"4.2-4.3":0.09912,"4.4":0,"4.4.3-4.4.4":0.80716},P:{"4":0.1277,"5.0-5.4":0.01064,"6.2-6.4":0,"7.2-7.4":0.15963,"8.2":0.03193,"9.2":0.13835,"10.1":0.06385,"11.1-11.2":0.22348,"12.0":3.67148},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.04563,"9":0.0057,"10":0.0057,"11":0.18821,"5.5":0},J:{"7":0,"10":0.00478},N:{"10":0,"11":0},S:{"2.5":0.00478},R:{_:"0"},M:{"0":0.1339},Q:{"10.4":0.00478},O:{"0":0.4782},H:{"0":0.18562},L:{"0":50.98185}};
diff --git a/node_modules/caniuse-lite/data/regions/JO.js b/node_modules/caniuse-lite/data/regions/JO.js
new file mode 100644
index 0000000..1e5a643
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/JO.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00451,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0.00451,"49":0,"50":0,"51":0,"52":0.00901,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0.00451,"60":0,"61":0,"62":0,"63":0.01802,"64":0,"65":0,"66":0,"67":0,"68":0.01352,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.00451,"78":0.11713,"79":0.00451,"80":0.03604,"81":0.74783,"82":0.09911,"83":0.00451,"84":0,"3.5":0,"3.6":0},D:{"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.00451,"33":0.00901,"34":0,"35":0,"36":0,"37":0.00451,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.00451,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.06307,"50":0,"51":0,"52":0,"53":0.00451,"54":0.00451,"55":0,"56":0,"57":0.00451,"58":0.00451,"59":0,"60":0,"61":0.00451,"62":0,"63":0.02253,"64":0,"65":0.00901,"66":0.01352,"67":0.03154,"68":0,"69":0.00901,"70":0.01802,"71":0.02703,"72":0.01802,"73":0.00901,"74":0.02253,"75":0.04055,"76":0.02253,"77":0.02253,"78":0.04055,"79":0.09461,"80":0.04956,"81":0.05406,"83":0.0901,"84":0.16218,"85":5.72586,"86":9.03703,"87":0.01352,"88":0.00451,"89":0},F:{"9":0,"11":0,"12":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.00451,"60":0.00451,"62":0,"63":0.00451,"64":0,"65":0,"66":0,"67":0,"68":0.00451,"69":0,"70":0.10362,"71":0.65323,"72":0.00901,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":5.50315,"3.2":0.01318,"4.0-4.1":0.0113,"4.2-4.3":0.00188,"5.0-5.1":0.00942,"6.0-6.1":0.00565,"7.0-7.1":0.01318,"8.1-8.4":0.04332,"9.0-9.2":0.02448,"9.3":0.31264,"10.0-10.2":0.05273,"10.3":0.29004,"11.0-11.2":0.10923,"11.3-11.4":0.18645,"12.0-12.1":0.19022,"12.2-12.4":1.89653,"13.0-13.1":0.15632,"13.2":0.07722,"13.3":0.58761,"13.4-13.7":3.13013},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.01352,"13":0.06758,"14":0.40545,_:"0","3.1":0,"3.2":0,"5.1":0.11263,"6.1":0,"7.1":0,"9.1":0,"10.1":0.00451,"11.1":0.02703,"12.1":0.15768,"13.1":0.38743},B:{"12":0,"13":0,"14":0,"15":0.00451,"16":0,"17":0.00901,"18":0.06307,"79":0,"80":0,"81":0,"83":0,"84":0.00901,"85":0.31986,"86":0.72531},I:{"3":0,"4":0.03034,_:"81","2.1":0,"2.2":0,"2.3":0.00024,"4.1":0.01529,"4.2-4.3":0.0068,"4.4":0,"4.4.3-4.4.4":0.05535},P:{"4":0.15155,"5.0-5.4":0.02021,"6.2-6.4":0.02021,"7.2-7.4":0.16165,"8.2":0.0101,"9.2":0.17175,"10.1":0.06062,"11.1-11.2":0.28289,"12.0":1.99031},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.03339,"9":0,"10":0,"11":0.0477,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.09891},Q:{"10.4":0},O:{"0":0.28574},H:{"0":0.21329},L:{"0":62.11913}};
diff --git a/node_modules/caniuse-lite/data/regions/JP.js b/node_modules/caniuse-lite/data/regions/JP.js
new file mode 100644
index 0000000..f626933
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/JP.js
@@ -0,0 +1 @@
+module.exports={C:{"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.01187,"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.00594,"46":0,"47":0.00594,"48":0.02969,"49":0,"50":0,"51":0,"52":0.0475,"53":0.00594,"54":0,"55":0.00594,"56":0.02969,"57":0.00594,"58":0,"59":0,"60":0.01187,"61":0,"62":0.00594,"63":0.01187,"64":0.00594,"65":0.00594,"66":0.01187,"67":0.00594,"68":0.09499,"69":0,"70":0.00594,"71":0,"72":0.01187,"73":0,"74":0.00594,"75":0.00594,"76":0.00594,"77":0.02969,"78":0.10687,"79":0.01781,"80":0.07124,"81":1.65642,"82":0.24342,"83":0.00594,"84":0,"3.5":0,"3.6":0},D:{"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.00594,"44":0,"45":0,"46":0.00594,"47":0.01187,"48":0.00594,"49":0.30279,"50":0.00594,"51":0,"52":0.00594,"53":0.00594,"54":0.00594,"55":0.01187,"56":0.01187,"57":0.01187,"58":0.00594,"59":0.00594,"60":0.00594,"61":0.06531,"62":0.01781,"63":0.00594,"64":0.00594,"65":0.03562,"66":0.01187,"67":0.0475,"68":0.01187,"69":0.07124,"70":0.04156,"71":0.04156,"72":0.03562,"73":0.02969,"74":0.04156,"75":0.03562,"76":0.02375,"77":0.02375,"78":0.0475,"79":0.07124,"80":0.12468,"81":0.14249,"83":0.17217,"84":0.29685,"85":6.691,"86":9.35078,"87":0.01781,"88":0.00594,"89":0},F:{"9":0,"11":0,"12":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.00594,"52":0,"53":0,"54":0,"55":0,"56":0.00594,"57":0,"58":0.00594,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.02969,"71":0.13655,"72":0.00594,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":17.7783,"3.2":0.04259,"4.0-4.1":0.03651,"4.2-4.3":0.00608,"5.0-5.1":0.03042,"6.0-6.1":0.01825,"7.0-7.1":0.04259,"8.1-8.4":0.13994,"9.0-9.2":0.0791,"9.3":1.00999,"10.0-10.2":0.17036,"10.3":0.93698,"11.0-11.2":0.35289,"11.3-11.4":0.60234,"12.0-12.1":0.61451,"12.2-12.4":6.12688,"13.0-13.1":0.505,"13.2":0.24946,"13.3":1.8983,"13.4-13.7":10.11209},E:{"4":0,"5":0,"6":0,"7":0,"8":0.00594,"9":0.00594,"10":0.00594,"11":0.02375,"12":0.03562,"13":0.1603,"14":1.16959,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.01187,"10.1":0.02969,"11.1":0.1128,"12.1":0.17811,"13.1":1.43675},B:{"12":0,"13":0,"14":0.00594,"15":0.00594,"16":0.01187,"17":0.04156,"18":0.30872,"79":0,"80":0,"81":0.00594,"83":0.00594,"84":0.01187,"85":1.30614,"86":2.63009},I:{"3":0,"4":0.17302,_:"81","2.1":0,"2.2":0,"2.3":0.00138,"4.1":0.0872,"4.2-4.3":0.03876,"4.4":0,"4.4.3-4.4.4":0.31558},P:{"4":0,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0,"8.2":0,"9.2":0.02174,"10.1":0.02174,"11.1-11.2":0.04348,"12.0":1.15225},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.02642,"9":0.01982,"10":0.00661,"11":2.9394,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.19096},Q:{"10.4":0.10158},O:{"0":0.30066},H:{"0":0.12694},L:{"0":23.89083}};
diff --git a/node_modules/caniuse-lite/data/regions/KE.js b/node_modules/caniuse-lite/data/regions/KE.js
new file mode 100644
index 0000000..1852a80
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/KE.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00357,"33":0,"34":0.00357,"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.00357,"48":0.00357,"49":0,"50":0.00357,"51":0,"52":0.02144,"53":0,"54":0,"55":0,"56":0,"57":0.00357,"58":0,"59":0,"60":0.00357,"61":0.00357,"62":0,"63":0.00357,"64":0,"65":0,"66":0.00357,"67":0.00715,"68":0.03931,"69":0.00357,"70":0,"71":0.00357,"72":0.00715,"73":0.00357,"74":0.00357,"75":0.00357,"76":0.00357,"77":0.0143,"78":0.04289,"79":0.0143,"80":0.04646,"81":1.04003,"82":0.20372,"83":0.02502,"84":0,"3.5":0,"3.6":0},D:{"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.00357,"39":0.00357,"40":0.00357,"41":0,"42":0.00357,"43":0,"44":0,"45":0,"46":0,"47":0.00357,"48":0,"49":0.03217,"50":0.00357,"51":0.00357,"52":0,"53":0.00715,"54":0,"55":0.00357,"56":0,"57":0.00357,"58":0.00357,"59":0,"60":0,"61":0,"62":0,"63":0.00715,"64":0.00357,"65":0.01072,"66":0.00715,"67":0.01072,"68":0.00715,"69":0.00715,"70":0.00715,"71":0.01072,"72":0.01072,"73":0.01072,"74":0.02144,"75":0.00715,"76":0.0143,"77":0.01072,"78":0.02144,"79":0.02859,"80":0.04646,"81":0.05718,"83":0.06076,"84":0.12509,"85":2.93425,"86":4.74627,"87":0.01072,"88":0.00357,"89":0},F:{"9":0,"11":0,"12":0,"15":0.00357,"16":0.00357,"17":0,"18":0,"19":0.00357,"20":0.01072,"21":0.00357,"22":0,"23":0.02502,"24":0.07863,"25":0.00715,"26":0.06076,"27":0.08935,"28":0.05361,"29":0.01072,"30":0.05004,"31":0.03217,"32":0.05718,"33":0.05004,"34":0,"35":0.01072,"36":0.00357,"37":0.0143,"38":0.03931,"39":0.00357,"40":0,"41":0.00357,"42":0.03574,"43":0.00357,"44":0.00357,"45":0.02502,"46":0.16798,"47":0.11794,"48":0,"49":0,"50":0.53253,"51":1.49393,"52":0.00357,"53":0.01072,"54":0.0143,"55":0,"56":0.00357,"57":0,"58":0.00715,"60":0.07505,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.06433,"71":0.41101,"72":0.01072,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.10007},G:{"8":0,"14":1.20369,"3.2":0.00288,"4.0-4.1":0.00247,"4.2-4.3":0.00041,"5.0-5.1":0.00206,"6.0-6.1":0.00124,"7.0-7.1":0.00288,"8.1-8.4":0.00947,"9.0-9.2":0.00536,"9.3":0.06838,"10.0-10.2":0.01153,"10.3":0.06344,"11.0-11.2":0.02389,"11.3-11.4":0.04078,"12.0-12.1":0.04161,"12.2-12.4":0.41482,"13.0-13.1":0.03419,"13.2":0.01689,"13.3":0.12853,"13.4-13.7":0.68464},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.00715,"13":0.02144,"14":0.13581,_:"0","3.1":0,"3.2":0,"5.1":0.06791,"6.1":0,"7.1":0,"9.1":0.00357,"10.1":0.00357,"11.1":0.0143,"12.1":0.03574,"13.1":0.15726},B:{"12":0.00715,"13":0.00357,"14":0.00715,"15":0.02502,"16":0.00357,"17":0.00715,"18":0.07505,"79":0,"80":0,"81":0,"83":0.00357,"84":0.00715,"85":0.18227,"86":0.35025},I:{"3":0,"4":0.06241,_:"81","2.1":0,"2.2":0,"2.3":0.0005,"4.1":0.03145,"4.2-4.3":0.01398,"4.4":0,"4.4.3-4.4.4":0.11383},P:{"4":0.21389,"5.0-5.4":0.01019,"6.2-6.4":0.01019,"7.2-7.4":0.05093,"8.2":0,"9.2":0.0713,"10.1":0.0713,"11.1-11.2":0.10185,"12.0":0.96762},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.00484,"9":0,"10":0.00484,"11":0.07253,"5.5":0},J:{"7":0,"10":0.01928},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.21848},Q:{"10.4":0.00643},O:{"0":0.41769},H:{"0":23.1729},L:{"0":49.18416}};
diff --git a/node_modules/caniuse-lite/data/regions/KG.js b/node_modules/caniuse-lite/data/regions/KG.js
new file mode 100644
index 0000000..3ffe647
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/KG.js
@@ -0,0 +1 @@
+module.exports={C:{"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.02691,"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.02691,"66":0.00673,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0.00673,"73":0,"74":0.00673,"75":0,"76":0,"77":0,"78":0.02018,"79":0.00673,"80":0.03364,"81":0.6727,"82":0.10091,"83":0,"84":0,"3.5":0,"3.6":0},D:{"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.11436,"50":0,"51":0.00673,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.00673,"59":0.01345,"60":0.00673,"61":0,"62":0,"63":0.00673,"64":0.00673,"65":0.01345,"66":0.02018,"67":0.01345,"68":0.01345,"69":0.00673,"70":0.01345,"71":0.06054,"72":0.01345,"73":0.10763,"74":0.02691,"75":0.02691,"76":0.04036,"77":0.03364,"78":0.02018,"79":0.074,"80":0.15472,"81":0.05382,"83":0.1749,"84":0.32962,"85":19.62266,"86":14.22088,"87":0.05382,"88":0.03364,"89":0},F:{"9":0,"11":0,"12":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.00673,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0.00673,"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,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0.00673,"68":0.01345,"69":0,"70":0.3229,"71":2.12573,"72":0.04709,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":2.43133,"3.2":0.00582,"4.0-4.1":0.00499,"4.2-4.3":0.00083,"5.0-5.1":0.00416,"6.0-6.1":0.0025,"7.0-7.1":0.00582,"8.1-8.4":0.01914,"9.0-9.2":0.01082,"9.3":0.13812,"10.0-10.2":0.0233,"10.3":0.12814,"11.0-11.2":0.04826,"11.3-11.4":0.08238,"12.0-12.1":0.08404,"12.2-12.4":0.8379,"13.0-13.1":0.06906,"13.2":0.03412,"13.3":0.25961,"13.4-13.7":1.38291},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.12109,"14":0.64579,_:"0","3.1":0,"3.2":0,"5.1":2.15937,"6.1":0,"7.1":0,"9.1":0,"10.1":0.00673,"11.1":0.04709,"12.1":0.04036,"13.1":0.3498},B:{"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0.04036,"79":0,"80":0,"81":0,"83":0,"84":0.00673,"85":0.12109,"86":0.18836},I:{"3":0,"4":0.02911,_:"81","2.1":0,"2.2":0,"2.3":0.00023,"4.1":0.01467,"4.2-4.3":0.00652,"4.4":0,"4.4.3-4.4.4":0.0531},P:{"4":0.46673,"5.0-5.4":0.03044,"6.2-6.4":0.10146,"7.2-7.4":0.14205,"8.2":0.04059,"9.2":0.14205,"10.1":0.11161,"11.1-11.2":0.24351,"12.0":1.15668},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.00942,"9":0,"10":0.00942,"11":0.16952,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.02291},Q:{"10.4":0.00655},O:{"0":0.46477},H:{"0":0.24789},L:{"0":43.83272}};
diff --git a/node_modules/caniuse-lite/data/regions/KH.js b/node_modules/caniuse-lite/data/regions/KH.js
new file mode 100644
index 0000000..20bf16e
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/KH.js
@@ -0,0 +1 @@
+module.exports={C:{"2":0,"3":0,"4":0.00706,"5":0.00706,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0.00706,"16":0,"17":0.01411,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.01411,"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.00706,"44":0,"45":0,"46":0,"47":0.00706,"48":0.01411,"49":0,"50":0.00706,"51":0,"52":0.01411,"53":0,"54":0.00706,"55":0.00706,"56":0.01411,"57":0.00706,"58":0.00706,"59":0,"60":0.00706,"61":0.02822,"62":0.02822,"63":0.04939,"64":0.02822,"65":0.03528,"66":0.01411,"67":0.00706,"68":0.02117,"69":0.04939,"70":0.02117,"71":0.00706,"72":0.03528,"73":0.00706,"74":0.00706,"75":0,"76":0.03528,"77":0.02117,"78":0.05644,"79":0.02822,"80":0.07761,"81":3.1042,"82":0.50796,"83":0.0635,"84":0,"3.5":0,"3.6":0},D:{"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.00706,"24":0.01411,"25":0.00706,"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.00706,"39":0,"40":0,"41":0.00706,"42":0,"43":0.01411,"44":0,"45":0,"46":0,"47":0,"48":0.03528,"49":0.04939,"50":0,"51":0,"52":0.00706,"53":0.02822,"54":0,"55":0.01411,"56":0.01411,"57":0,"58":0.00706,"59":0,"60":0,"61":0.00706,"62":0.00706,"63":0.03528,"64":0.00706,"65":0.01411,"66":0.00706,"67":0.02822,"68":0.02117,"69":0.01411,"70":0.24693,"71":0.23987,"72":0.23282,"73":0.28926,"74":0.11288,"75":0.05644,"76":0.02117,"77":0.03528,"78":0.10583,"79":0.18343,"80":0.2822,"81":0.16932,"83":0.15521,"84":0.2822,"85":13.08703,"86":22.05393,"87":0.07761,"88":0.07055,"89":0},F:{"9":0,"11":0,"12":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.00706,"37":0.01411,"38":0,"39":0,"40":0.00706,"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.00706,"55":0.02117,"56":0.01411,"57":0.01411,"58":0.02822,"60":0.00706,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.00706,"69":0,"70":0.10583,"71":0.75489,"72":0.01411,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":8.60468,"3.2":0.02061,"4.0-4.1":0.01767,"4.2-4.3":0.00294,"5.0-5.1":0.01472,"6.0-6.1":0.00883,"7.0-7.1":0.02061,"8.1-8.4":0.06773,"9.0-9.2":0.03828,"9.3":0.48884,"10.0-10.2":0.08245,"10.3":0.4535,"11.0-11.2":0.1708,"11.3-11.4":0.29153,"12.0-12.1":0.29742,"12.2-12.4":2.96541,"13.0-13.1":0.24442,"13.2":0.12074,"13.3":0.91878,"13.4-13.7":4.89424},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00706,"12":0.03528,"13":0.23987,"14":0.76194,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0.00706,"11.1":0.03528,"12.1":0.19754,"13.1":1.1288},B:{"12":0.00706,"13":0,"14":0.02117,"15":0.00706,"16":0.01411,"17":0.02117,"18":0.14816,"79":0,"80":0,"81":0,"83":0,"84":0.01411,"85":0.55029,"86":1.15702},I:{"3":0,"4":0.05587,_:"81","2.1":0,"2.2":0,"2.3":0.00045,"4.1":0.02816,"4.2-4.3":0.01252,"4.4":0,"4.4.3-4.4.4":0.10191},P:{"4":0.13144,"5.0-5.4":0.03033,"6.2-6.4":0,"7.2-7.4":0.02022,"8.2":0.01011,"9.2":0.05055,"10.1":0.05055,"11.1-11.2":0.05055,"12.0":0.93016},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.10159,"9":0.01129,"10":0.03386,"11":0.30478,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0.00295},R:{_:"0"},M:{"0":0.10308},Q:{"10.4":0.13842},O:{"0":0.59489},H:{"0":0.47677},L:{"0":26.89369}};
diff --git a/node_modules/caniuse-lite/data/regions/KI.js b/node_modules/caniuse-lite/data/regions/KI.js
new file mode 100644
index 0000000..7449ecd
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/KI.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00424,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0.02118,"55":0,"56":0.0593,"57":0.00424,"58":0,"59":0.00424,"60":0.00847,"61":0,"62":0,"63":0,"64":0.00424,"65":0,"66":0.00424,"67":0,"68":0.0466,"69":0.00847,"70":0.00847,"71":0.00847,"72":0.02542,"73":0.00424,"74":0,"75":0,"76":0,"77":0.0466,"78":0.02118,"79":0,"80":0.03389,"81":0.82178,"82":0.09319,"83":0,"84":0,"3.5":0,"3.6":0},D:{"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.01271,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0.00424,"58":0,"59":0.01694,"60":0,"61":0,"62":0,"63":0.01694,"64":0.00847,"65":0.06354,"66":0.02542,"67":0.04236,"68":0.00424,"69":0.02542,"70":0,"71":0.00424,"72":0,"73":0.00847,"74":0.00424,"75":0.00424,"76":0.02118,"77":0.01271,"78":0,"79":0.08896,"80":0.13132,"81":0.05083,"83":0.17368,"84":0.81755,"85":3.35068,"86":5.32042,"87":0.02118,"88":0,"89":0},F:{"9":0,"11":0.00424,"12":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,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.0466,"71":0.52526,"72":0.44054,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":2.96291,"3.2":0.0071,"4.0-4.1":0.00608,"4.2-4.3":0.00101,"5.0-5.1":0.00507,"6.0-6.1":0.00304,"7.0-7.1":0.0071,"8.1-8.4":0.02332,"9.0-9.2":0.01318,"9.3":0.16832,"10.0-10.2":0.02839,"10.3":0.15616,"11.0-11.2":0.05881,"11.3-11.4":0.10039,"12.0-12.1":0.10241,"12.2-12.4":1.0211,"13.0-13.1":0.08416,"13.2":0.04157,"13.3":0.31637,"13.4-13.7":1.68527},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.01694,"14":0.00424,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0,"12.1":0.00424,"13.1":2.3891},B:{"12":0.01271,"13":0.03389,"14":0.02965,"15":0.09743,"16":0.34735,"17":0.08896,"18":0.34312,"79":0,"80":0.00847,"81":0,"83":0.01694,"84":0.02965,"85":0.26263,"86":0.29228},I:{"3":0,"4":0.13711,_:"81","2.1":0,"2.2":0,"2.3":0.0011,"4.1":0.06911,"4.2-4.3":0.03071,"4.4":0,"4.4.3-4.4.4":0.25009},P:{"4":0.90489,"5.0-5.4":0.08134,"6.2-6.4":0.0305,"7.2-7.4":0.68121,"8.2":0.12201,"9.2":0.15251,"10.1":0.09151,"11.1-11.2":0.48803,"12.0":0.48803},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.11014,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.10375},Q:{"10.4":0},O:{"0":0.57064},H:{"0":0.09277},L:{"0":70.61509}};
diff --git a/node_modules/caniuse-lite/data/regions/KM.js b/node_modules/caniuse-lite/data/regions/KM.js
new file mode 100644
index 0000000..cad7309
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/KM.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00728,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0.01821,"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.00728,"57":0.00364,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.00364,"69":0,"70":0,"71":0,"72":0.00364,"73":0,"74":0.01093,"75":0,"76":0,"77":0,"78":0.00728,"79":0.1129,"80":0.28043,"81":1.24192,"82":0.55723,"83":0,"84":0,"3.5":0,"3.6":0},D:{"4":0.00364,"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.00364,"40":0,"41":0,"42":0,"43":0.01457,"44":0,"45":0,"46":0.00728,"47":0,"48":0,"49":0.00364,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0.00364,"56":0,"57":0,"58":0.01093,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0.00364,"65":0,"66":0,"67":0,"68":0,"69":0.06556,"70":0,"71":0,"72":0,"73":0.01093,"74":0.01093,"75":0.09105,"76":0.02549,"77":0.0437,"78":0.02549,"79":0.03278,"80":0.01457,"81":0.10198,"83":0.01093,"84":0.03642,"85":1.44587,"86":4.53793,"87":0.00728,"88":0,"89":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0.00364,"22":0,"23":0,"24":0,"25":0,"26":0.01093,"27":0,"28":0.01093,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.00728,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.0437,"44":0,"45":0,"46":0.00364,"47":0,"48":0,"49":0,"50":0.00364,"51":0.00728,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0.01457,"62":0,"63":0,"64":0.00364,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.15296,"71":0.99791,"72":0.01457,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.00728},G:{"8":0,"14":2.8657,"3.2":0.00687,"4.0-4.1":0.00588,"4.2-4.3":0.00098,"5.0-5.1":0.0049,"6.0-6.1":0.00294,"7.0-7.1":0.00687,"8.1-8.4":0.02256,"9.0-9.2":0.01275,"9.3":0.1628,"10.0-10.2":0.02746,"10.3":0.15103,"11.0-11.2":0.05688,"11.3-11.4":0.09709,"12.0-12.1":0.09905,"12.2-12.4":0.9876,"13.0-13.1":0.0814,"13.2":0.04021,"13.3":0.30599,"13.4-13.7":1.62998},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.00728,"14":0.04006,_:"0","3.1":0,"3.2":0,"5.1":0.08741,"6.1":0,"7.1":0,"9.1":0.00728,"10.1":0.00364,"11.1":0,"12.1":0,"13.1":0.08741},B:{"12":0.03278,"13":0.02549,"14":0.00728,"15":0.04735,"16":0.00728,"17":0.03278,"18":0.0437,"79":0,"80":0,"81":0,"83":0,"84":0.01457,"85":0.32778,"86":0.32414},I:{"3":0,"4":0.23524,_:"81","2.1":0,"2.2":0,"2.3":0.00188,"4.1":0.11856,"4.2-4.3":0.05269,"4.4":0,"4.4.3-4.4.4":0.42909},P:{"4":0.55333,"5.0-5.4":0.14346,"6.2-6.4":0.01025,"7.2-7.4":0.18444,"8.2":0,"9.2":0.20494,"10.1":0.19469,"11.1-11.2":0.08197,"12.0":0.73777},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.05099,"9":0.00364,"10":0.00364,"11":0.05827,"5.5":0},J:{"7":0,"10":0.01907},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.02543},Q:{"10.4":0.02543},O:{"0":0.45142},H:{"0":0.92698},L:{"0":75.7111}};
diff --git a/node_modules/caniuse-lite/data/regions/KN.js b/node_modules/caniuse-lite/data/regions/KN.js
new file mode 100644
index 0000000..0ff96a8
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/KN.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00528,"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.00528,"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.00528,"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.00528,"69":0,"70":0,"71":0,"72":0.00528,"73":0.00528,"74":0.00528,"75":0,"76":0,"77":0,"78":0.00528,"79":0,"80":0.01585,"81":0.80302,"82":0.36453,"83":0,"84":0,"3.5":0,"3.6":0},D:{"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.00528,"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.00528,"49":0.04755,"50":0.00528,"51":0,"52":0,"53":0.03698,"54":0.00528,"55":0,"56":0.00528,"57":0,"58":0,"59":0,"60":0,"61":0.00528,"62":0,"63":0.01057,"64":0,"65":0,"66":0,"67":0.00528,"68":0,"69":0,"70":0.01057,"71":0,"72":0,"73":0.00528,"74":0,"75":0.19019,"76":0.01057,"77":0,"78":0,"79":0.01057,"80":0.04226,"81":0.02642,"83":0.02113,"84":0.17434,"85":6.36073,"86":10.006,"87":0.01057,"88":0,"89":0},F:{"9":0,"11":0,"12":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.00528,"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,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.01585,"71":0.15321,"72":0.00528,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":6.10355,"3.2":0.01462,"4.0-4.1":0.01253,"4.2-4.3":0.00209,"5.0-5.1":0.01044,"6.0-6.1":0.00627,"7.0-7.1":0.01462,"8.1-8.4":0.04804,"9.0-9.2":0.02715,"9.3":0.34675,"10.0-10.2":0.05849,"10.3":0.32168,"11.0-11.2":0.12115,"11.3-11.4":0.20679,"12.0-12.1":0.21097,"12.2-12.4":2.10345,"13.0-13.1":0.17337,"13.2":0.08564,"13.3":0.65171,"13.4-13.7":3.47163},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0.01585,"10":0,"11":0,"12":0.01585,"13":0.06868,"14":1.48981,_:"0","3.1":0,"3.2":0,"5.1":0.05283,"6.1":0,"7.1":0,"9.1":0,"10.1":0.01057,"11.1":0.02113,"12.1":0.05811,"13.1":0.72377},B:{"12":0,"13":0.01057,"14":0.00528,"15":0.01057,"16":0.00528,"17":0.0317,"18":0.36981,"79":0,"80":0,"81":0,"83":0.00528,"84":0.00528,"85":1.37886,"86":1.74339},I:{"3":0,"4":0.59328,_:"81","2.1":0,"2.2":0,"2.3":0.00475,"4.1":0.29901,"4.2-4.3":0.13289,"4.4":0,"4.4.3-4.4.4":1.08214},P:{"4":0.03194,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.07454,"8.2":0,"9.2":0.06389,"10.1":0,"11.1-11.2":0.35139,"12.0":5.20697},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.00528,"9":0.00528,"10":0,"11":0.59698,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.37264},Q:{"10.4":0},O:{"0":0.07547},H:{"0":0.17863},L:{"0":49.05271}};
diff --git a/node_modules/caniuse-lite/data/regions/KP.js b/node_modules/caniuse-lite/data/regions/KP.js
new file mode 100644
index 0000000..5ba356e
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/KP.js
@@ -0,0 +1 @@
+module.exports={C:{"51":0.1771,"52":15.20404,"74":0.54016,"78":2.14291,"81":15.38114,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 75 76 77 79 80 82 83 84 3.5 3.6"},D:{"56":0.1771,"58":0.71726,"65":0.3542,"77":0.3542,"80":0.1771,"81":0.89436,"83":3.57742,"84":14.13258,"85":8.0492,"86":8.0492,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 57 59 60 61 62 63 64 66 67 68 69 70 71 72 73 74 75 76 78 79 87 88 89"},F:{"56":0.1771,"63":1.61161,"70":2.14291,"71":0.54016,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 57 58 60 62 64 65 66 67 68 69 72 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"14":1.47404,"3.2":0.00353,"4.0-4.1":0.00303,"4.2-4.3":0.0005,"5.0-5.1":0.00252,"6.0-6.1":0.00151,"7.0-7.1":0.00353,"8.1-8.4":0.0116,"9.0-9.2":0.00656,"9.3":0.08374,"10.0-10.2":0.01412,"10.3":0.07769,"11.0-11.2":0.02926,"11.3-11.4":0.04994,"12.0-12.1":0.05095,"12.2-12.4":0.50799,"13.0-13.1":0.04187,"13.2":0.02068,"13.3":0.15739,"13.4-13.7":0.83842},E:{"4":0,"10":0.1771,"13":0.3542,"14":3.40032,_:"0 5 6 7 8 9 11 12 3.1 3.2 5.1 6.1 7.1 9.1 11.1 12.1","10.1":0.54016,"13.1":0.71726},B:{"14":0.3542,"18":1.07146,"86":1.24856,_:"12 13 15 16 17 79 80 81 83 84 85"},I:{"3":0,"4":0.10549,_:"81","2.1":0,"2.2":0,"2.3":0.00084,"4.1":0.05317,"4.2-4.3":0.02363,"4.4":0,"4.4.3-4.4.4":0.19242},P:{"4":0.90489,"5.0-5.4":0.08134,"6.2-6.4":0.0305,"7.2-7.4":0.68121,"8.2":0.12201,"9.2":0.15251,"10.1":0.09151,"11.1-11.2":0.48803,"12.0":0.37556},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{_:"6 7 8 9 10 11 5.5"},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0},Q:{"10.4":0},O:{"0":0},H:{"0":0.17778},L:{"0":7.82925}};
diff --git a/node_modules/caniuse-lite/data/regions/KR.js b/node_modules/caniuse-lite/data/regions/KR.js
new file mode 100644
index 0000000..9cde1af
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/KR.js
@@ -0,0 +1 @@
+module.exports={C:{"52":0.01647,"60":0.00549,"63":0.01647,"64":0.01647,"65":0.01098,"66":0.00549,"78":0.01098,"79":0.00549,"80":0.02196,"81":0.56537,"82":0.0988,"83":0.00549,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 61 62 67 68 69 70 71 72 73 74 75 76 77 84 3.5 3.6"},D:{"31":0.32934,"42":0.02745,"49":0.07685,"53":0.00549,"56":0.01098,"59":0.00549,"61":0.01098,"62":0.00549,"63":0.01098,"64":0.01098,"65":0.01647,"66":0.00549,"67":0.01647,"68":0.07136,"69":0.02745,"70":0.10978,"71":0.13723,"72":0.10429,"73":0.06587,"74":0.03293,"75":0.02745,"76":0.02196,"77":0.15369,"78":0.03842,"79":0.05489,"80":0.0988,"81":0.08234,"83":0.11527,"84":0.21407,"85":13.45903,"86":22.74093,"87":0.01098,"88":0.01098,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 32 33 34 35 36 37 38 39 40 41 43 44 45 46 47 48 50 51 52 54 55 57 58 60 89"},F:{"56":0.01098,"57":0.00549,"58":0.01098,"70":0.02196,"71":0.13174,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 60 62 63 64 65 66 67 68 69 72 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"14":4.16123,"3.2":0.00997,"4.0-4.1":0.00854,"4.2-4.3":0.00142,"5.0-5.1":0.00712,"6.0-6.1":0.00427,"7.0-7.1":0.00997,"8.1-8.4":0.03275,"9.0-9.2":0.01851,"9.3":0.2364,"10.0-10.2":0.03987,"10.3":0.21931,"11.0-11.2":0.0826,"11.3-11.4":0.14099,"12.0-12.1":0.14383,"12.2-12.4":1.43407,"13.0-13.1":0.1182,"13.2":0.05839,"13.3":0.44432,"13.4-13.7":2.36686},E:{"4":0,"8":0.01098,"11":0.00549,"12":0.02745,"13":0.10429,"14":0.77395,_:"0 5 6 7 9 10 3.1 3.2 5.1 6.1 7.1 9.1","10.1":0.01098,"11.1":0.03842,"12.1":0.0988,"13.1":0.52694},B:{"14":0.00549,"16":0.01098,"17":0.03293,"18":0.25249,"84":0.01647,"85":1.56437,"86":3.37574,_:"12 13 15 79 80 81 83"},I:{"3":0,"4":0.0076,_:"81","2.1":0,"2.2":0,"2.3":0.00006,"4.1":0.00383,"4.2-4.3":0.0017,"4.4":0,"4.4.3-4.4.4":0.01386},P:{"4":0.01013,"5.0-5.4":0.04051,"6.2-6.4":0.0305,"7.2-7.4":0.04051,"8.2":0.05064,"9.2":0.14178,"10.1":0.19241,"11.1-11.2":0.32407,"12.0":11.44359},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.02814,"9":0.02814,"10":0.01688,"11":5.04259,_:"6 7 5.5"},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.12628},Q:{"10.4":0.01804},O:{"0":0.08569},H:{"0":0.11528},L:{"0":18.41078}};
diff --git a/node_modules/caniuse-lite/data/regions/KW.js b/node_modules/caniuse-lite/data/regions/KW.js
new file mode 100644
index 0000000..1b25b56
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/KW.js
@@ -0,0 +1 @@
+module.exports={C:{"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.004,"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.01199,"49":0,"50":0,"51":0,"52":0.02398,"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.00799,"66":0,"67":0.07193,"68":0.01598,"69":0,"70":0,"71":0,"72":0.00799,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.0999,"79":0.00799,"80":0.02398,"81":0.60739,"82":0.07992,"83":0.004,"84":0,"3.5":0,"3.6":0},D:{"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.01199,"39":0,"40":0,"41":0,"42":0,"43":0.00799,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.06394,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0.004,"56":0,"57":0.004,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0.004,"64":0.004,"65":0.01199,"66":0.004,"67":0.004,"68":0.004,"69":0.01598,"70":0.01199,"71":0.01598,"72":0.004,"73":0.00799,"74":0.01598,"75":0.00799,"76":0.01598,"77":0.01199,"78":0.02797,"79":0.03596,"80":0.02797,"81":0.03197,"83":0.03996,"84":0.12787,"85":3.992,"86":5.93006,"87":0.004,"88":0,"89":0},F:{"9":0,"11":0,"12":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.01199,"52":0,"53":0.004,"54":0,"55":0,"56":0,"57":0,"58":0.004,"60":0.00799,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.03197,"71":0.26374,"72":0.00799,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":13.52321,"3.2":0.0324,"4.0-4.1":0.02777,"4.2-4.3":0.00463,"5.0-5.1":0.02314,"6.0-6.1":0.01388,"7.0-7.1":0.0324,"8.1-8.4":0.10645,"9.0-9.2":0.06016,"9.3":0.76826,"10.0-10.2":0.12959,"10.3":0.71272,"11.0-11.2":0.26843,"11.3-11.4":0.45818,"12.0-12.1":0.46743,"12.2-12.4":4.66046,"13.0-13.1":0.38413,"13.2":0.18975,"13.3":1.44396,"13.4-13.7":7.69185},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.004,"11":0.004,"12":0.03197,"13":0.11588,"14":0.93906,_:"0","3.1":0,"3.2":0,"5.1":0.02797,"6.1":0,"7.1":0,"9.1":0.004,"10.1":0.01598,"11.1":0.07592,"12.1":0.1039,"13.1":0.75924},B:{"12":0.004,"13":0.004,"14":0.004,"15":0.004,"16":0.00799,"17":0.02398,"18":0.12787,"79":0,"80":0,"81":0,"83":0.00799,"84":0.004,"85":0.31568,"86":0.5994},I:{"3":0,"4":0.0264,_:"81","2.1":0,"2.2":0,"2.3":0.00021,"4.1":0.01331,"4.2-4.3":0.00591,"4.4":0,"4.4.3-4.4.4":0.04816},P:{"4":0.17378,"5.0-5.4":0.02044,"6.2-6.4":0.01022,"7.2-7.4":0.092,"8.2":0.06133,"9.2":0.26578,"10.1":0.184,"11.1-11.2":0.35778,"12.0":3.56759},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.00417,"9":0,"10":0,"11":0.47935,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.10807},Q:{"10.4":0.01801},O:{"0":2.43162},H:{"0":0.77305},L:{"0":41.82649}};
diff --git a/node_modules/caniuse-lite/data/regions/KY.js b/node_modules/caniuse-lite/data/regions/KY.js
new file mode 100644
index 0000000..57154a9
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/KY.js
@@ -0,0 +1 @@
+module.exports={C:{"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.06338,"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,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.06914,"78":0.01729,"79":0,"80":0.02881,"81":1.08902,"82":0.05762,"83":0,"84":0,"3.5":0,"3.6":0},D:{"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.0461,"50":0,"51":0,"52":0,"53":0.00576,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0.00576,"63":0,"64":0,"65":0.00576,"66":0,"67":0.00576,"68":0.00576,"69":0,"70":0.03457,"71":0.09219,"72":0.04033,"73":0,"74":0.00576,"75":0.04033,"76":0.00576,"77":0,"78":0.00576,"79":0.00576,"80":0.05186,"81":0.01152,"83":0.23624,"84":0.11524,"85":7.73837,"86":10.48684,"87":0.01729,"88":0.00576,"89":0},F:{"9":0,"11":0,"12":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,"60":0.01152,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.02881,"71":0.29386,"72":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":13.45852,"3.2":0.03224,"4.0-4.1":0.02764,"4.2-4.3":0.00461,"5.0-5.1":0.02303,"6.0-6.1":0.01382,"7.0-7.1":0.03224,"8.1-8.4":0.10594,"9.0-9.2":0.05988,"9.3":0.76458,"10.0-10.2":0.12897,"10.3":0.70931,"11.0-11.2":0.26714,"11.3-11.4":0.45599,"12.0-12.1":0.4652,"12.2-12.4":4.63817,"13.0-13.1":0.38229,"13.2":0.18884,"13.3":1.43705,"13.4-13.7":7.65505},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.09795,"13":0.13253,"14":2.11465,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0.02881,"11.1":0.09219,"12.1":0.06914,"13.1":3.26129},B:{"12":0,"13":0,"14":0,"15":0.01729,"16":0.04033,"17":0.02305,"18":0.38605,"79":0,"80":0,"81":0,"83":0.00576,"84":0.01152,"85":1.33102,"86":2.78881},I:{"3":0,"4":0.13305,_:"81","2.1":0,"2.2":0,"2.3":0.00106,"4.1":0.06706,"4.2-4.3":0.0298,"4.4":0,"4.4.3-4.4.4":0.24269},P:{"4":0.06234,"5.0-5.4":0,"6.2-6.4":0.01039,"7.2-7.4":0.01039,"8.2":0,"9.2":0.07274,"10.1":0.03117,"11.1-11.2":0.21821,"12.0":6.17213},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.79516,"5.5":0},J:{"7":0,"10":0.02967},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.09747},Q:{"10.4":0},O:{"0":0.95355},H:{"0":0.02407},L:{"0":24.32168}};
diff --git a/node_modules/caniuse-lite/data/regions/KZ.js b/node_modules/caniuse-lite/data/regions/KZ.js
new file mode 100644
index 0000000..4288ecc
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/KZ.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00696,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0.05569,"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.00696,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0.00696,"52":0.1253,"53":0.00696,"54":0,"55":0.00696,"56":0.02088,"57":0,"58":0,"59":0.00696,"60":0,"61":0,"62":0,"63":0.00696,"64":0.01392,"65":0,"66":0.00696,"67":0.00696,"68":0.01392,"69":0,"70":0.00696,"71":0.00696,"72":0.00696,"73":0,"74":0.00696,"75":0,"76":0.00696,"77":0,"78":0.05569,"79":0.02088,"80":0.04177,"81":1.42004,"82":0.16706,"83":0,"84":0,"3.5":0,"3.6":0},D:{"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.00696,"23":0,"24":0.00696,"25":0,"26":0,"27":0,"28":0,"29":0.00696,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0.00696,"41":0,"42":0,"43":0,"44":0,"45":0.00696,"46":0,"47":0,"48":0,"49":0.14618,"50":0,"51":0.00696,"52":0,"53":0.00696,"54":0,"55":0.00696,"56":0,"57":0.00696,"58":0,"59":0.00696,"60":0.01392,"61":0.00696,"62":0,"63":0.01392,"64":0.00696,"65":0.00696,"66":0.02088,"67":0.01392,"68":0.01392,"69":0.01392,"70":0.11138,"71":0.09745,"72":0.05569,"73":0.05569,"74":0.06265,"75":0.03481,"76":0.04873,"77":0.04873,"78":0.04177,"79":0.07657,"80":0.18795,"81":0.11138,"83":0.18795,"84":0.37589,"85":11.06799,"86":18.71117,"87":0.02088,"88":0.02784,"89":0},F:{"9":0,"11":0,"12":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.00696,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.01392,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0.03481,"47":0,"48":0,"49":0,"50":0.00696,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0.01392,"57":0,"58":0.00696,"60":0.00696,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0.00696,"68":0.02088,"69":0.00696,"70":0.4107,"71":3.67541,"72":0.05569,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0.21579,"12.1":0},G:{"8":0,"14":4.47935,"3.2":0.01073,"4.0-4.1":0.0092,"4.2-4.3":0.00153,"5.0-5.1":0.00766,"6.0-6.1":0.0046,"7.0-7.1":0.01073,"8.1-8.4":0.03526,"9.0-9.2":0.01993,"9.3":0.25447,"10.0-10.2":0.04292,"10.3":0.23608,"11.0-11.2":0.08891,"11.3-11.4":0.15176,"12.0-12.1":0.15483,"12.2-12.4":1.54371,"13.0-13.1":0.12724,"13.2":0.06285,"13.3":0.47829,"13.4-13.7":2.5478},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.01392,"12":0.02088,"13":0.1253,"14":0.63345,_:"0","3.1":0,"3.2":0,"5.1":0.80748,"6.1":0,"7.1":0,"9.1":0,"10.1":0.00696,"11.1":0.03481,"12.1":0.09745,"13.1":0.63345},B:{"12":0,"13":0,"14":0.00696,"15":0,"16":0.00696,"17":0.02088,"18":0.13922,"79":0,"80":0,"81":0,"83":0,"84":0.01392,"85":0.31325,"86":0.60561},I:{"3":0,"4":0.03773,_:"81","2.1":0,"2.2":0,"2.3":0.0003,"4.1":0.01901,"4.2-4.3":0.00845,"4.4":0,"4.4.3-4.4.4":0.06882},P:{"4":0.13169,"5.0-5.4":0.01013,"6.2-6.4":0.02026,"7.2-7.4":0.06078,"8.2":0.01013,"9.2":0.11143,"10.1":0.07091,"11.1-11.2":0.22286,"12.0":1.54989},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.04801,"9":0.012,"10":0.024,"11":0.26404,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.1094},Q:{"10.4":0.03951},O:{"0":0.33733},H:{"0":0.21291},L:{"0":35.46819}};
diff --git a/node_modules/caniuse-lite/data/regions/LA.js b/node_modules/caniuse-lite/data/regions/LA.js
new file mode 100644
index 0000000..978301e
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/LA.js
@@ -0,0 +1 @@
+module.exports={C:{"2":0,"3":0,"4":0.0053,"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.0053,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0.0053,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.0053,"44":0.0053,"45":0,"46":0,"47":0.0053,"48":0.03181,"49":0,"50":0.0053,"51":0.0053,"52":0.0106,"53":0,"54":0,"55":0.0053,"56":0.0053,"57":0,"58":0.0053,"59":0,"60":0.0106,"61":0.0053,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.0159,"69":0,"70":0.0106,"71":0,"72":0.0053,"73":0,"74":0.0106,"75":0,"76":0.0053,"77":0.0053,"78":0.07421,"79":0.0106,"80":0.03181,"81":1.66982,"82":0.23855,"83":0.0159,"84":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.0053,"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.0106,"34":0,"35":0,"36":0.0053,"37":0.0053,"38":0.0053,"39":0,"40":0.0053,"41":0.0106,"42":0.0053,"43":0.05831,"44":0,"45":0,"46":0,"47":0.0053,"48":0,"49":0.06891,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0.0106,"56":0.0159,"57":0.0106,"58":0.0053,"59":0.0053,"60":0,"61":0,"62":0.0106,"63":0.07952,"64":0.0053,"65":0.0212,"66":0.0053,"67":0.0106,"68":0.0106,"69":0.0106,"70":0.21734,"71":0.03711,"72":0.02651,"73":0.02651,"74":0.05301,"75":0.04771,"76":0.03711,"77":0.07421,"78":0.06361,"79":0.06361,"80":0.14313,"81":0.07421,"83":0.09012,"84":0.5036,"85":6.80118,"86":10.89356,"87":0.0159,"88":0.0106,"89":0},F:{"9":0,"11":0,"12":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.03181,"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,"60":0.0053,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0.0212,"68":0,"69":0,"70":0.08482,"71":0.5195,"72":0.0053,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":6.67796,"3.2":0.016,"4.0-4.1":0.01371,"4.2-4.3":0.00229,"5.0-5.1":0.01143,"6.0-6.1":0.00686,"7.0-7.1":0.016,"8.1-8.4":0.05256,"9.0-9.2":0.02971,"9.3":0.37938,"10.0-10.2":0.06399,"10.3":0.35195,"11.0-11.2":0.13255,"11.3-11.4":0.22626,"12.0-12.1":0.23083,"12.2-12.4":2.30141,"13.0-13.1":0.18969,"13.2":0.0937,"13.3":0.71305,"13.4-13.7":3.79835},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.0053,"11":0.0053,"12":0.0106,"13":0.07421,"14":0.5354,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0.0106,"11.1":0.03181,"12.1":0.15373,"13.1":0.43998},B:{"12":0.0106,"13":0.0053,"14":0.0053,"15":0.0053,"16":0.0106,"17":0.02651,"18":0.11132,"79":0,"80":0.0053,"81":0.0053,"83":0,"84":0.0159,"85":0.78985,"86":1.34645},I:{"3":0,"4":0.08556,_:"81","2.1":0,"2.2":0,"2.3":0.00068,"4.1":0.04312,"4.2-4.3":0.01916,"4.4":0,"4.4.3-4.4.4":0.15606},P:{"4":1.09129,"5.0-5.4":0.02021,"6.2-6.4":0.05052,"7.2-7.4":0.18188,"8.2":0.04042,"9.2":0.26272,"10.1":0.15157,"11.1-11.2":0.39408,"12.0":2.03101},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.10963,"9":0.00843,"10":0,"11":0.253,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.10338},Q:{"10.4":0.20206},O:{"0":0.84112},H:{"0":0.37814},L:{"0":48.78479}};
diff --git a/node_modules/caniuse-lite/data/regions/LB.js b/node_modules/caniuse-lite/data/regions/LB.js
new file mode 100644
index 0000000..3793e87
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/LB.js
@@ -0,0 +1 @@
+module.exports={C:{"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.02278,"49":0,"50":0,"51":0,"52":0.01708,"53":0,"54":0.00569,"55":0,"56":0.00569,"57":0.00569,"58":0.01139,"59":0,"60":0.00569,"61":0,"62":0,"63":0,"64":0,"65":0.00569,"66":0.00569,"67":0.48399,"68":0.03986,"69":0.00569,"70":0,"71":0,"72":0.00569,"73":0,"74":0.00569,"75":0,"76":0.00569,"77":0.01708,"78":0.1879,"79":0.01139,"80":0.05125,"81":1.48044,"82":0.20498,"83":0.00569,"84":0,"3.5":0,"3.6":0},D:{"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.01139,"37":0,"38":0.00569,"39":0,"40":0.00569,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.14235,"50":0,"51":0,"52":0,"53":0.02278,"54":0,"55":0.01708,"56":0,"57":0,"58":0.01139,"59":0.03986,"60":0,"61":0,"62":0.00569,"63":0.03986,"64":0,"65":0.04555,"66":0.01139,"67":0.03416,"68":0.00569,"69":0.01708,"70":0.03416,"71":0.02847,"72":0.01708,"73":0.06263,"74":0.05694,"75":0.02278,"76":0.02278,"77":0.01708,"78":0.05125,"79":0.07402,"80":0.11957,"81":0.06263,"83":0.24484,"84":0.21637,"85":9.25844,"86":12.65207,"87":0.01708,"88":0.01139,"89":0},F:{"9":0,"11":0,"12":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.00569,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0,"62":0,"63":0.01139,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.05125,"71":0.35872,"72":0.01139,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":6.10339,"3.2":0.01462,"4.0-4.1":0.01253,"4.2-4.3":0.00209,"5.0-5.1":0.01044,"6.0-6.1":0.00627,"7.0-7.1":0.01462,"8.1-8.4":0.04804,"9.0-9.2":0.02715,"9.3":0.34674,"10.0-10.2":0.05849,"10.3":0.32167,"11.0-11.2":0.12115,"11.3-11.4":0.20679,"12.0-12.1":0.21097,"12.2-12.4":2.10339,"13.0-13.1":0.17337,"13.2":0.08564,"13.3":0.6517,"13.4-13.7":3.47154},E:{"4":0,"5":0,"6":0,"7":0,"8":0.00569,"9":0.00569,"10":0.03416,"11":0.04555,"12":0.0968,"13":0.17082,"14":0.70606,_:"0","3.1":0,"3.2":0,"5.1":1.34948,"6.1":0,"7.1":0,"9.1":0.00569,"10.1":0.05125,"11.1":0.15943,"12.1":0.30748,"13.1":0.81994},B:{"12":0.00569,"13":0.00569,"14":0.00569,"15":0.00569,"16":0.02278,"17":0.05694,"18":0.17651,"79":0,"80":0,"81":0,"83":0.00569,"84":0.01708,"85":0.44413,"86":0.73453},I:{"3":0,"4":0.03812,_:"81","2.1":0,"2.2":0,"2.3":0.0003,"4.1":0.01921,"4.2-4.3":0.00854,"4.4":0,"4.4.3-4.4.4":0.06952},P:{"4":0.15304,"5.0-5.4":0.0102,"6.2-6.4":0.02041,"7.2-7.4":0.16324,"8.2":0.04081,"9.2":0.16324,"10.1":0.09183,"11.1-11.2":0.3673,"12.0":4.25457},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.02375,"9":0.01187,"10":0.00594,"11":0.23745,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.09904},Q:{"10.4":0},O:{"0":0.22822},H:{"0":0.15084},L:{"0":44.78767}};
diff --git a/node_modules/caniuse-lite/data/regions/LC.js b/node_modules/caniuse-lite/data/regions/LC.js
new file mode 100644
index 0000000..beef9cb
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/LC.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00448,"65":0,"66":0.00448,"67":0,"68":0.00896,"69":0,"70":0.00448,"71":0,"72":0.00448,"73":0,"74":0,"75":0.00448,"76":0,"77":0,"78":0.01345,"79":0,"80":0.01793,"81":0.73953,"82":0.10309,"83":0,"84":0,"3.5":0,"3.6":0},D:{"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.00448,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.01793,"35":0,"36":0,"37":0,"38":0,"39":0.00896,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.02241,"50":0,"51":0.00448,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0.00448,"58":0,"59":0,"60":0,"61":0,"62":0.00448,"63":0.01345,"64":0,"65":0,"66":0.00448,"67":0,"68":0.00448,"69":0.03137,"70":0.01793,"71":0.00448,"72":0.00448,"73":0.00448,"74":0.01793,"75":0.01345,"76":0.08964,"77":0.00896,"78":0.02241,"79":0.00896,"80":0.03586,"81":0.05827,"83":0.04482,"84":0.1255,"85":4.45511,"86":7.18465,"87":0.04482,"88":0.00448,"89":0},F:{"9":0,"11":0,"12":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.00448,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0.00448,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.01345,"71":0.64093,"72":0.00896,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":5.21472,"3.2":0.01249,"4.0-4.1":0.01071,"4.2-4.3":0.00178,"5.0-5.1":0.00892,"6.0-6.1":0.00535,"7.0-7.1":0.01249,"8.1-8.4":0.04105,"9.0-9.2":0.0232,"9.3":0.29625,"10.0-10.2":0.04997,"10.3":0.27483,"11.0-11.2":0.10351,"11.3-11.4":0.17668,"12.0-12.1":0.18025,"12.2-12.4":1.79713,"13.0-13.1":0.14813,"13.2":0.07317,"13.3":0.55681,"13.4-13.7":2.96607},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.08068,"14":0.61852,_:"0","3.1":0,"3.2":0,"5.1":0.04482,"6.1":0,"7.1":0,"9.1":0,"10.1":0.00448,"11.1":0.00448,"12.1":0.08516,"13.1":0.73057},B:{"12":0,"13":0.00896,"14":0.03586,"15":0.00896,"16":0.00448,"17":0.03586,"18":0.16135,"79":0,"80":0,"81":0,"83":0.00448,"84":0.00448,"85":0.58266,"86":1.18773},I:{"3":0,"4":0.38498,_:"81","2.1":0,"2.2":0,"2.3":0.00308,"4.1":0.19403,"4.2-4.3":0.08624,"4.4":0,"4.4.3-4.4.4":0.7022},P:{"4":0.06352,"5.0-5.4":0,"6.2-6.4":0.0741,"7.2-7.4":0.88926,"8.2":0.01059,"9.2":0.17997,"10.1":0.09528,"11.1-11.2":0.40228,"12.0":8.28914},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.13894,"5.5":0},J:{"7":0,"10":0.00552},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.25383},Q:{"10.4":0},O:{"0":0.20968},H:{"0":0.17239},L:{"0":53.76788}};
diff --git a/node_modules/caniuse-lite/data/regions/LI.js b/node_modules/caniuse-lite/data/regions/LI.js
new file mode 100644
index 0000000..f81b5d4
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/LI.js
@@ -0,0 +1 @@
+module.exports={C:{"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.04475,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.00746,"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.01492,"51":0,"52":0.05966,"53":0,"54":0,"55":0,"56":0.00746,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0.04475,"63":0,"64":0.00746,"65":0,"66":0.02237,"67":0,"68":0.07458,"69":0.00746,"70":0.09695,"71":0.02983,"72":0.02237,"73":0,"74":0.00746,"75":0,"76":0.00746,"77":0.13424,"78":0.26103,"79":0.02237,"80":0.11933,"81":4.7582,"82":0.38782,"83":0.00746,"84":0,"3.5":0,"3.6":0},D:{"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.03729,"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.10441,"50":0.06712,"51":0,"52":0,"53":0.00746,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0.03729,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.20137,"71":0.55935,"72":1.14107,"73":0.06712,"74":0,"75":0.00746,"76":0.01492,"77":0.00746,"78":0.56681,"79":0.05966,"80":0.977,"81":0.09695,"83":0.05966,"84":0.30578,"85":10.25475,"86":13.73764,"87":0,"88":0,"89":0},F:{"9":0,"11":0,"12":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,"60":0.00746,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.15662,"69":0,"70":0.02237,"71":0.21628,"72":0.02237,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":10.65239,"3.2":0.02552,"4.0-4.1":0.02187,"4.2-4.3":0.00365,"5.0-5.1":0.01823,"6.0-6.1":0.01094,"7.0-7.1":0.02552,"8.1-8.4":0.08385,"9.0-9.2":0.04739,"9.3":0.60517,"10.0-10.2":0.10208,"10.3":0.56142,"11.0-11.2":0.21144,"11.3-11.4":0.36091,"12.0-12.1":0.3682,"12.2-12.4":3.6711,"13.0-13.1":0.30258,"13.2":0.14947,"13.3":1.13742,"13.4-13.7":6.05896},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.00746,"11":0.00746,"12":1.80484,"13":0.54443,"14":3.73646,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.02237,"10.1":0.03729,"11.1":0.38782,"12.1":0.20882,"13.1":3.43814},B:{"12":0,"13":0,"14":0.00746,"15":0,"16":0.00746,"17":0.02983,"18":0.44748,"79":0,"80":0.00746,"81":0.01492,"83":0,"84":0.09695,"85":2.06587,"86":4.1019},I:{"3":0,"4":0.04789,_:"81","2.1":0,"2.2":0,"2.3":0.00038,"4.1":0.02414,"4.2-4.3":0.01073,"4.4":0,"4.4.3-4.4.4":0.08736},P:{"4":0.04124,"5.0-5.4":0.01031,"6.2-6.4":0,"7.2-7.4":0,"8.2":0.01031,"9.2":0.01031,"10.1":0.03093,"11.1-11.2":0.04124,"12.0":2.45359},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":1.87196,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.31521},Q:{"10.4":0},O:{"0":0.01779},H:{"0":0.03129},L:{"0":15.92968}};
diff --git a/node_modules/caniuse-lite/data/regions/LK.js b/node_modules/caniuse-lite/data/regions/LK.js
new file mode 100644
index 0000000..1cc2df9
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/LK.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00464,"44":0,"45":0,"46":0,"47":0.00464,"48":0.00464,"49":0,"50":0,"51":0,"52":0.01393,"53":0,"54":0,"55":0,"56":0.00464,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0.00464,"65":0.00464,"66":0.00464,"67":0,"68":0.02321,"69":0.00464,"70":0,"71":0.00464,"72":0.00928,"73":0,"74":0,"75":0,"76":0.00928,"77":0.00928,"78":0.03249,"79":0.01393,"80":0.0557,"81":1.22085,"82":0.20425,"83":0.01857,"84":0,"3.5":0,"3.6":0},D:{"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.00464,"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.00464,"32":0,"33":0.00464,"34":0,"35":0,"36":0,"37":0,"38":0.00464,"39":0,"40":0.01393,"41":0,"42":0.00464,"43":0.00464,"44":0,"45":0,"46":0.00464,"47":0,"48":0,"49":0.03249,"50":0.00464,"51":0.00464,"52":0,"53":0.00464,"54":0.00464,"55":0.00464,"56":0,"57":0,"58":0.00928,"59":0,"60":0.00928,"61":0.00464,"62":0.00464,"63":0.01857,"64":0.00928,"65":0.00464,"66":0.00464,"67":0.00928,"68":0.00464,"69":0.01857,"70":0.01857,"71":0.02321,"72":0.01393,"73":0.01857,"74":0.08356,"75":0.00928,"76":0.01857,"77":0.01857,"78":0.02785,"79":0.0557,"80":0.06499,"81":0.09284,"83":0.11141,"84":0.16711,"85":5.51934,"86":9.36756,"87":0.01393,"88":0.00464,"89":0},F:{"9":0,"11":0,"12":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.02321,"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.00928,"51":0.02321,"52":0,"53":0.00464,"54":0.00464,"55":0.00928,"56":0,"57":0,"58":0,"60":0.01393,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.00464,"69":0,"70":0.09284,"71":0.70558,"72":0.02321,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.00464},G:{"8":0,"14":2.7762,"3.2":0.00665,"4.0-4.1":0.0057,"4.2-4.3":0.00095,"5.0-5.1":0.00475,"6.0-6.1":0.00285,"7.0-7.1":0.00665,"8.1-8.4":0.02185,"9.0-9.2":0.01235,"9.3":0.15772,"10.0-10.2":0.0266,"10.3":0.14632,"11.0-11.2":0.05511,"11.3-11.4":0.09406,"12.0-12.1":0.09596,"12.2-12.4":0.95675,"13.0-13.1":0.07886,"13.2":0.03895,"13.3":0.29643,"13.4-13.7":1.57907},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.00928,"13":0.03249,"14":0.19032,_:"0","3.1":0,"3.2":0,"5.1":0.10212,"6.1":0,"7.1":0,"9.1":0,"10.1":0.00464,"11.1":0.00928,"12.1":0.03249,"13.1":0.13926},B:{"12":0.00464,"13":0.00464,"14":0.01393,"15":0.00928,"16":0.00928,"17":0.01393,"18":0.06963,"79":0,"80":0,"81":0,"83":0,"84":0.00928,"85":0.44563,"86":1.08159},I:{"3":0,"4":0.05488,_:"81","2.1":0,"2.2":0,"2.3":0.00044,"4.1":0.02766,"4.2-4.3":0.01229,"4.4":0,"4.4.3-4.4.4":0.10009},P:{"4":1.21119,"5.0-5.4":0.07065,"6.2-6.4":0.07065,"7.2-7.4":0.4441,"8.2":0.09084,"9.2":0.36336,"10.1":0.17159,"11.1-11.2":0.57532,"12.0":1.59473},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.0099,"9":0,"10":0,"11":0.28719,"5.5":0},J:{"7":0,"10":0.00536},N:{"10":0,"11":0.01072},S:{"2.5":0},R:{_:"0"},M:{"0":0.11252},Q:{"10.4":0},O:{"0":2.36288},H:{"0":1.97832},L:{"0":58.99152}};
diff --git a/node_modules/caniuse-lite/data/regions/LR.js b/node_modules/caniuse-lite/data/regions/LR.js
new file mode 100644
index 0000000..8608f2a
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/LR.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00268,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0.00536,"25":0,"26":0.00268,"27":0,"28":0,"29":0,"30":0.00268,"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.00268,"44":0.00268,"45":0,"46":0,"47":0.00268,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0.06437,"57":0.00268,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.03218,"69":0.00268,"70":0.00268,"71":0,"72":0.00268,"73":0,"74":0,"75":0,"76":0,"77":0.00268,"78":0.00536,"79":0.00268,"80":0.02414,"81":0.35671,"82":0.03755,"83":0.00805,"84":0,"3.5":0,"3.6":0},D:{"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.00268,"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.00536,"38":0.00268,"39":0,"40":0,"41":0.00268,"42":0,"43":0.00805,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.01877,"50":0.00805,"51":0.00268,"52":0,"53":0.00268,"54":0.00268,"55":0.00268,"56":0,"57":0,"58":0,"59":0.00268,"60":0.00536,"61":0,"62":0,"63":0.01341,"64":0.0295,"65":0.00536,"66":0.00268,"67":0.00536,"68":0,"69":0.01341,"70":0.00268,"71":0.00536,"72":0.01341,"73":0.00268,"74":0.01073,"75":0.01341,"76":0.01877,"77":0.00536,"78":0.00805,"79":0.02146,"80":0.06705,"81":0.01609,"83":0.05364,"84":0.04023,"85":1.13449,"86":1.78353,"87":0.00268,"88":0.00268,"89":0},F:{"9":0,"11":0.00268,"12":0,"15":0,"16":0,"17":0.00268,"18":0,"19":0,"20":0.00536,"21":0,"22":0,"23":0.03755,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.00268,"30":0.00268,"31":0,"32":0.00268,"33":0.00268,"34":0,"35":0,"36":0,"37":0.01341,"38":0,"39":0,"40":0.00268,"41":0,"42":0.00268,"43":0,"44":0,"45":0,"46":0.10192,"47":0.00268,"48":0,"49":0,"50":0.02414,"51":0.02146,"52":0,"53":0,"54":0,"55":0,"56":0.00268,"57":0,"58":0,"60":0.00268,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.0295,"71":0.13142,"72":0.00268,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.08851},G:{"8":0,"14":2.32086,"3.2":0.00556,"4.0-4.1":0.00477,"4.2-4.3":0.00079,"5.0-5.1":0.00397,"6.0-6.1":0.00238,"7.0-7.1":0.00556,"8.1-8.4":0.01827,"9.0-9.2":0.01033,"9.3":0.13185,"10.0-10.2":0.02224,"10.3":0.12232,"11.0-11.2":0.04607,"11.3-11.4":0.07863,"12.0-12.1":0.08022,"12.2-12.4":0.79983,"13.0-13.1":0.06592,"13.2":0.03257,"13.3":0.24781,"13.4-13.7":1.32008},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.00268,"13":0.00805,"14":0.08314,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0.00268,"11.1":0.04828,"12.1":0.00268,"13.1":0.06169},B:{"12":0.03755,"13":0.01341,"14":0.00805,"15":0.01073,"16":0.01073,"17":0.01341,"18":0.09923,"79":0,"80":0,"81":0,"83":0.00268,"84":0.00536,"85":0.23065,"86":0.27625},I:{"3":0,"4":0.06302,_:"81","2.1":0,"2.2":0,"2.3":0.0005,"4.1":0.03176,"4.2-4.3":0.01412,"4.4":0,"4.4.3-4.4.4":0.11496},P:{"4":0.48787,"5.0-5.4":0.07115,"6.2-6.4":0.01016,"7.2-7.4":0.10164,"8.2":0.01016,"9.2":0.23377,"10.1":0.20328,"11.1-11.2":0.19311,"12.0":0.70131},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.00559,"9":0,"10":0.00279,"11":0.05867,"5.5":0},J:{"7":0,"10":0.03659},N:{"10":0,"11":0.00732},S:{"2.5":0.15368},R:{_:"0"},M:{"0":0.21954},Q:{"10.4":0.01464},O:{"0":1.44165},H:{"0":10.48238},L:{"0":70.38635}};
diff --git a/node_modules/caniuse-lite/data/regions/LS.js b/node_modules/caniuse-lite/data/regions/LS.js
new file mode 100644
index 0000000..632cf4d
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/LS.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00385,"47":0,"48":0,"49":0,"50":0.01154,"51":0.00769,"52":0.00769,"53":0,"54":0,"55":0.00385,"56":0,"57":0,"58":0,"59":0.00385,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.01538,"69":0,"70":0,"71":0,"72":0.00385,"73":0,"74":0,"75":0,"76":0,"77":0.00385,"78":0.00385,"79":0.00385,"80":0.01538,"81":0.42306,"82":0.04615,"83":0.00769,"84":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00385,"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.01923,"35":0.00385,"36":0.01154,"37":0,"38":0,"39":0,"40":0.02692,"41":0,"42":0,"43":0.01923,"44":0,"45":0,"46":0.06538,"47":0,"48":0,"49":0.00385,"50":0.00385,"51":0.00385,"52":0,"53":0,"54":0,"55":0.04615,"56":0.00385,"57":0,"58":0.00385,"59":0,"60":0,"61":0,"62":0,"63":0.00385,"64":0.00385,"65":0.00385,"66":0.01923,"67":0,"68":0,"69":0.01923,"70":0.01538,"71":0.00769,"72":0.00385,"73":0,"74":0.01923,"75":0.00385,"76":0.03461,"77":0.00385,"78":0.00769,"79":0.05384,"80":0.1423,"81":0.04231,"83":0.14615,"84":0.05,"85":1.69609,"86":2.71143,"87":0.00769,"88":0,"89":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0.00385,"18":0,"19":0,"20":0.00385,"21":0.00769,"22":0,"23":0,"24":0,"25":0,"26":0.00769,"27":0,"28":0.00385,"29":0,"30":0.00385,"31":0,"32":0,"33":0,"34":0,"35":0.00769,"36":0,"37":0.00385,"38":0.01154,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0.00769,"47":0.00769,"48":0,"49":0,"50":0.03846,"51":0.05,"52":0,"53":0.00385,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0.00769,"62":0,"63":0.00385,"64":0,"65":0,"66":0,"67":0.00385,"68":0.00385,"69":0,"70":0.03846,"71":0.27691,"72":0.00385,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.23076},G:{"8":0,"14":1.10774,"3.2":0.00265,"4.0-4.1":0.00227,"4.2-4.3":0.00038,"5.0-5.1":0.0019,"6.0-6.1":0.00114,"7.0-7.1":0.00265,"8.1-8.4":0.00872,"9.0-9.2":0.00493,"9.3":0.06293,"10.0-10.2":0.01061,"10.3":0.05838,"11.0-11.2":0.02199,"11.3-11.4":0.03753,"12.0-12.1":0.03829,"12.2-12.4":0.38176,"13.0-13.1":0.03147,"13.2":0.01554,"13.3":0.11828,"13.4-13.7":0.63007},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00385,"12":0,"13":0.00385,"14":0.07692,_:"0","3.1":0,"3.2":0,"5.1":0.05384,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0.00385,"12.1":0.00385,"13.1":0.07307},B:{"12":0.02692,"13":0.01154,"14":0.01538,"15":3.90754,"16":0.01538,"17":0.03846,"18":0.27307,"79":0,"80":0,"81":0.00385,"83":0,"84":0.00769,"85":0.33076,"86":0.35768},I:{"3":0,"4":0.1398,_:"81","2.1":0,"2.2":0,"2.3":0.00112,"4.1":0.07046,"4.2-4.3":0.03132,"4.4":0,"4.4.3-4.4.4":0.255},P:{"4":1.12651,"5.0-5.4":0.01015,"6.2-6.4":0.0203,"7.2-7.4":0.50744,"8.2":0.05074,"9.2":0.20297,"10.1":0.12178,"11.1-11.2":0.16238,"12.0":1.26859},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.00385,"9":0,"10":0,"11":0.19999,"5.5":0},J:{"7":0,"10":0.05539},N:{"10":0,"11":0.01231},S:{"2.5":0},R:{_:"0"},M:{"0":0.19077},Q:{"10.4":0.10462},O:{"0":1.61235},H:{"0":7.43424},L:{"0":66.98725}};
diff --git a/node_modules/caniuse-lite/data/regions/LT.js b/node_modules/caniuse-lite/data/regions/LT.js
new file mode 100644
index 0000000..7d6c6de
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/LT.js
@@ -0,0 +1 @@
+module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.00665,"13":0,"14":0,"15":0,"16":0.00665,"17":0.00665,"18":0,"19":0.00665,"20":0,"21":0.01329,"22":0.00665,"23":0.00665,"24":0.00665,"25":0.00665,"26":0.00665,"27":0.00665,"28":0.01329,"29":0.01329,"30":0.00665,"31":0.01994,"32":0.01994,"33":0.00665,"34":0.00665,"35":0,"36":0.00665,"37":0.00665,"38":0.00665,"39":0,"40":0.00665,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0.00665,"48":0.01329,"49":0,"50":0.01994,"51":0.01329,"52":0.12626,"53":0,"54":0,"55":0.00665,"56":0.03987,"57":0,"58":0.00665,"59":0,"60":0.01994,"61":0,"62":0.00665,"63":0.00665,"64":0.00665,"65":0.01994,"66":0.01994,"67":0,"68":0.03987,"69":0.00665,"70":0.00665,"71":0.00665,"72":0.01994,"73":0.00665,"74":0.00665,"75":0.00665,"76":0.02658,"77":0.01994,"78":0.09968,"79":0.02658,"80":0.17277,"81":4.21958,"82":0.61799,"83":0.01329,"84":0,"3.5":0,"3.6":0},D:{"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.01994,"39":0,"40":0,"41":0.00665,"42":0,"43":0,"44":0,"45":0,"46":0.00665,"47":0,"48":0.01329,"49":0.32561,"50":0,"51":0.04652,"52":0.00665,"53":0.01329,"54":0,"55":0.00665,"56":0.0731,"57":0.00665,"58":0.00665,"59":0,"60":0.01994,"61":0.01329,"62":0.01329,"63":0.01994,"64":0.02658,"65":0.01329,"66":0.01329,"67":0.23258,"68":0.00665,"69":0.17942,"70":0.06645,"71":0.03987,"72":0.05981,"73":0.04652,"74":0.03323,"75":0.03323,"76":0.01994,"77":0.03323,"78":0.05316,"79":0.11961,"80":0.10632,"81":0.08639,"83":0.16613,"84":0.34554,"85":10.24659,"86":17.29694,"87":0.01329,"88":0.00665,"89":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0.00665,"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.00665,"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.00665,"51":0.01329,"52":0,"53":0.00665,"54":0,"55":0,"56":0.00665,"57":0,"58":0,"60":0.00665,"62":0,"63":0,"64":0,"65":0.00665,"66":0,"67":0,"68":0.00665,"69":0,"70":0.27909,"71":1.78086,"72":0.03323,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.00665},G:{"8":0,"14":6.03982,"3.2":0.01447,"4.0-4.1":0.0124,"4.2-4.3":0.00207,"5.0-5.1":0.01034,"6.0-6.1":0.0062,"7.0-7.1":0.01447,"8.1-8.4":0.04754,"9.0-9.2":0.02687,"9.3":0.34312,"10.0-10.2":0.05788,"10.3":0.31832,"11.0-11.2":0.11989,"11.3-11.4":0.20463,"12.0-12.1":0.20877,"12.2-12.4":2.08149,"13.0-13.1":0.17156,"13.2":0.08475,"13.3":0.64491,"13.4-13.7":3.43538},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00665,"12":0.01994,"13":0.15284,"14":0.99011,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0.01994,"11.1":0.05316,"12.1":0.16613,"13.1":1.10307},B:{"12":0,"13":0.01329,"14":0.02658,"15":0.01329,"16":0.00665,"17":0.02658,"18":0.21264,"79":0,"80":0,"81":0.00665,"83":0,"84":0.01994,"85":0.69773,"86":1.46855},I:{"3":0,"4":0.04777,_:"81","2.1":0,"2.2":0,"2.3":0.00038,"4.1":0.02408,"4.2-4.3":0.0107,"4.4":0,"4.4.3-4.4.4":0.08713},P:{"4":0.07126,"5.0-5.4":0.02036,"6.2-6.4":0,"7.2-7.4":0.03054,"8.2":0.01018,"9.2":0.06108,"10.1":0.06108,"11.1-11.2":0.14253,"12.0":3.14583},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.00682,"7":0.00682,"8":0.09554,"9":0.0273,"10":0.02047,"11":0.60056,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0.01678},S:{"2.5":0},R:{_:"0"},M:{"0":0.22814},Q:{"10.4":0},O:{"0":0.11072},H:{"0":0.26363},L:{"0":35.12256}};
diff --git a/node_modules/caniuse-lite/data/regions/LU.js b/node_modules/caniuse-lite/data/regions/LU.js
new file mode 100644
index 0000000..7eea05f
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/LU.js
@@ -0,0 +1 @@
+module.exports={C:{"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.0425,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.00607,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0.03036,"46":0,"47":0,"48":0.04857,"49":0,"50":0.00607,"51":0.01214,"52":0.0425,"53":0.00607,"54":0,"55":0,"56":0.00607,"57":0,"58":0,"59":0.00607,"60":0.01821,"61":0.00607,"62":0.01214,"63":0.02428,"64":0,"65":0.03036,"66":0.02428,"67":0,"68":0.23677,"69":0.00607,"70":0.00607,"71":0.00607,"72":0.03036,"73":0.00607,"74":0.02428,"75":0,"76":0.00607,"77":0.01821,"78":0.40069,"79":0.0425,"80":0.33391,"81":3.35726,"82":0.58282,"83":0.00607,"84":0,"3.5":0,"3.6":0},D:{"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.02428,"39":0,"40":0.00607,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.23677,"50":0,"51":0.01214,"52":0,"53":0.01214,"54":0,"55":0,"56":0,"57":0.00607,"58":0.01214,"59":0.02428,"60":0,"61":0,"62":0.01214,"63":0.00607,"64":0,"65":0.00607,"66":0,"67":0.00607,"68":0.00607,"69":0.03643,"70":0.06678,"71":0.06678,"72":0.20641,"73":0.04857,"74":0.00607,"75":0.0425,"76":0.07892,"77":0.15785,"78":0.09107,"79":0.06071,"80":0.11535,"81":0.1882,"83":0.20641,"84":0.2732,"85":7.36412,"86":9.19757,"87":0.01821,"88":0.00607,"89":0},F:{"9":0,"11":0,"12":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.01214,"52":0,"53":0.01214,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0.02428,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.00607,"69":0,"70":0.09714,"71":0.58282,"72":0.01214,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":13.85283,"3.2":0.03319,"4.0-4.1":0.02845,"4.2-4.3":0.00474,"5.0-5.1":0.0237,"6.0-6.1":0.01422,"7.0-7.1":0.03319,"8.1-8.4":0.10904,"9.0-9.2":0.06163,"9.3":0.78698,"10.0-10.2":0.13274,"10.3":0.73009,"11.0-11.2":0.27497,"11.3-11.4":0.46935,"12.0-12.1":0.47883,"12.2-12.4":4.77406,"13.0-13.1":0.39349,"13.2":0.19438,"13.3":1.47915,"13.4-13.7":7.87933},E:{"4":0,"5":0,"6":0,"7":0.00607,"8":0,"9":0,"10":0,"11":0.00607,"12":0.05464,"13":0.30962,"14":3.06586,_:"0","3.1":0,"3.2":0,"5.1":0.01821,"6.1":0,"7.1":0,"9.1":0.01214,"10.1":0.04857,"11.1":0.17606,"12.1":0.2307,"13.1":2.8898},B:{"12":0,"13":0.00607,"14":0.00607,"15":0.01214,"16":0.04857,"17":0.06071,"18":0.41283,"79":0,"80":0,"81":0,"83":0.09714,"84":0.11535,"85":0.90458,"86":1.62703},I:{"3":0,"4":0.05016,_:"81","2.1":0,"2.2":0,"2.3":0.0004,"4.1":0.02528,"4.2-4.3":0.01124,"4.4":0,"4.4.3-4.4.4":0.09149},P:{"4":0.24846,"5.0-5.4":0.02071,"6.2-6.4":0,"7.2-7.4":0.02071,"8.2":0,"9.2":0.07247,"10.1":0.04141,"11.1-11.2":0.07247,"12.0":3.43706},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.01279,"9":0.01279,"10":0.0064,"11":0.6844,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.60507},Q:{"10.4":0.00786},O:{"0":0.18466},H:{"0":0.20458},L:{"0":24.55996}};
diff --git a/node_modules/caniuse-lite/data/regions/LV.js b/node_modules/caniuse-lite/data/regions/LV.js
new file mode 100644
index 0000000..c26b0cd
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/LV.js
@@ -0,0 +1 @@
+module.exports={C:{"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.01349,"30":0,"31":0,"32":0.00675,"33":0,"34":0,"35":0,"36":0,"37":0.00675,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0.00675,"47":0,"48":0.01349,"49":0.00675,"50":0,"51":0,"52":0.1147,"53":0,"54":0,"55":0.00675,"56":0.02024,"57":0.00675,"58":0,"59":0,"60":0.01349,"61":0.00675,"62":0,"63":0,"64":0.00675,"65":0.01349,"66":0.02024,"67":0.00675,"68":0.07422,"69":0.00675,"70":0.00675,"71":0.00675,"72":0.10121,"73":0.01349,"74":0.01349,"75":0.01349,"76":0.00675,"77":0.01349,"78":0.17542,"79":0.04723,"80":0.20916,"81":4.08194,"82":0.60723,"83":0.01349,"84":0,"3.5":0,"3.6":0},D:{"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.00675,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.00675,"30":0,"31":0.02024,"32":0,"33":0,"34":0,"35":0,"36":0.00675,"37":0,"38":0.00675,"39":0,"40":0.00675,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0.01349,"47":0,"48":0.01349,"49":0.31036,"50":0,"51":0,"52":0,"53":0.04048,"54":0,"55":0,"56":0,"57":0.01349,"58":0.02024,"59":0,"60":0.00675,"61":0.00675,"62":0.00675,"63":0.01349,"64":0.00675,"65":0.03374,"66":0.04723,"67":0.03374,"68":0.01349,"69":0.3441,"70":0.02024,"71":0.03374,"72":0.04048,"73":0.02024,"74":0.05398,"75":0.04723,"76":0.03374,"77":0.03374,"78":0.05398,"79":0.08096,"80":0.1147,"81":0.1147,"83":0.23615,"84":0.47229,"85":11.07857,"86":17.87955,"87":0.02699,"88":0.00675,"89":0},F:{"9":0,"11":0,"12":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.00675,"33":0,"34":0,"35":0,"36":0.01349,"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.00675,"51":0.01349,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0.00675,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.00675,"69":0.00675,"70":0.18217,"71":1.53832,"72":0.03374,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":5.99143,"3.2":0.01435,"4.0-4.1":0.0123,"4.2-4.3":0.00205,"5.0-5.1":0.01025,"6.0-6.1":0.00615,"7.0-7.1":0.01435,"8.1-8.4":0.04716,"9.0-9.2":0.02666,"9.3":0.34038,"10.0-10.2":0.05741,"10.3":0.31577,"11.0-11.2":0.11893,"11.3-11.4":0.203,"12.0-12.1":0.2071,"12.2-12.4":2.06481,"13.0-13.1":0.17019,"13.2":0.08407,"13.3":0.63974,"13.4-13.7":3.40786},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.01349,"12":0.02699,"13":0.18217,"14":1.30217,_:"0","3.1":0,"3.2":0,"5.1":0.02699,"6.1":0,"7.1":0,"9.1":0,"10.1":0.02024,"11.1":0.06747,"12.1":0.13494,"13.1":1.20097},B:{"12":0,"13":0.00675,"14":0,"15":0.00675,"16":0.00675,"17":0.01349,"18":0.22265,"79":0,"80":0,"81":0,"83":0,"84":0.01349,"85":0.62747,"86":1.34265},I:{"3":0,"4":0.07256,_:"81","2.1":0,"2.2":0,"2.3":0.00058,"4.1":0.03657,"4.2-4.3":0.01625,"4.4":0,"4.4.3-4.4.4":0.13235},P:{"4":0.07118,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.02034,"8.2":0.02034,"9.2":0.04068,"10.1":0.08135,"11.1-11.2":0.14237,"12.0":3.25409},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.05038,"9":0.01439,"10":0.01439,"11":0.35264,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.23422},Q:{"10.4":0.00325},O:{"0":0.08783},H:{"0":0.33261},L:{"0":33.86007}};
diff --git a/node_modules/caniuse-lite/data/regions/LY.js b/node_modules/caniuse-lite/data/regions/LY.js
new file mode 100644
index 0000000..ea97962
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/LY.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00321,"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.00321,"48":0,"49":0,"50":0.00321,"51":0,"52":0.00643,"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.00964,"69":0,"70":0,"71":0.00643,"72":0.0225,"73":0.01286,"74":0.01607,"75":0.01607,"76":0.01286,"77":0.00964,"78":0.01286,"79":0.00964,"80":0.03214,"81":0.50138,"82":0.06428,"83":0.00321,"84":0,"3.5":0,"3.6":0},D:{"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.00321,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0.00643,"34":0,"35":0,"36":0,"37":0,"38":0.00321,"39":0,"40":0.01286,"41":0.03535,"42":0,"43":0.01607,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.02893,"50":0.00321,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0.00321,"57":0,"58":0.00964,"59":0,"60":0.00643,"61":0.00321,"62":0,"63":0.01286,"64":0.00321,"65":0.00321,"66":0.00321,"67":0.00964,"68":0.00321,"69":0.01286,"70":0.01928,"71":0.00964,"72":0.01286,"73":0.01286,"74":0.02893,"75":0.01607,"76":0.01607,"77":0.0225,"78":0.03535,"79":0.04178,"80":0.07714,"81":0.06428,"83":0.04821,"84":0.09963,"85":2.46514,"86":4.43532,"87":0.00321,"88":0.00321,"89":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0.00321,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.00964,"29":0,"30":0.00321,"31":0.00643,"32":0.00321,"33":0.00321,"34":0,"35":0.00321,"36":0,"37":0,"38":0.00321,"39":0,"40":0,"41":0,"42":0.00321,"43":0,"44":0,"45":0.00321,"46":0.00964,"47":0.00964,"48":0,"49":0,"50":0.05785,"51":0.39854,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0.00643,"58":0.00643,"60":0.01286,"62":0.00643,"63":0.00643,"64":0.00643,"65":0.00643,"66":0.00643,"67":0.00964,"68":0.03214,"69":0,"70":0.05785,"71":0.50781,"72":0.01286,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.00964},G:{"8":0,"14":3.92705,"3.2":0.00941,"4.0-4.1":0.00806,"4.2-4.3":0.00134,"5.0-5.1":0.00672,"6.0-6.1":0.00403,"7.0-7.1":0.00941,"8.1-8.4":0.03091,"9.0-9.2":0.01747,"9.3":0.2231,"10.0-10.2":0.03763,"10.3":0.20697,"11.0-11.2":0.07795,"11.3-11.4":0.13305,"12.0-12.1":0.13574,"12.2-12.4":1.35337,"13.0-13.1":0.11155,"13.2":0.0551,"13.3":0.41932,"13.4-13.7":2.23366},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.00964,"13":0.02893,"14":0.12535,_:"0","3.1":0,"3.2":0,"5.1":0.21212,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0.00321,"12.1":0.00964,"13.1":0.06749},B:{"12":0.00321,"13":0,"14":0,"15":0.00321,"16":0.00321,"17":0.00964,"18":0.03857,"79":0.00643,"80":0.00643,"81":0.00964,"83":0.00643,"84":0.01286,"85":0.1382,"86":0.2989},I:{"3":0,"4":0.04655,_:"81","2.1":0,"2.2":0,"2.3":0.00037,"4.1":0.02346,"4.2-4.3":0.01043,"4.4":0,"4.4.3-4.4.4":0.0849},P:{"4":0.50927,"5.0-5.4":0.03056,"6.2-6.4":0.13241,"7.2-7.4":0.58056,"8.2":0.0713,"9.2":0.38704,"10.1":0.25463,"11.1-11.2":0.52964,"12.0":2.96393},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.00643,"9":0,"10":0,"11":0.03535,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.08822},Q:{"10.4":0},O:{"0":0.40716},H:{"0":3.21227},L:{"0":68.16929}};
diff --git a/node_modules/caniuse-lite/data/regions/MA.js b/node_modules/caniuse-lite/data/regions/MA.js
new file mode 100644
index 0000000..47eea0f
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/MA.js
@@ -0,0 +1 @@
+module.exports={C:{"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.02116,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.00529,"44":0,"45":0,"46":0,"47":0.00529,"48":0.01587,"49":0,"50":0.00529,"51":0,"52":0.07407,"53":0.00529,"54":0.01058,"55":0.00529,"56":0.00529,"57":0,"58":0,"59":0,"60":0.01058,"61":0,"62":0,"63":0.01058,"64":0.00529,"65":0.01587,"66":0.01058,"67":0.00529,"68":0.02646,"69":0.00529,"70":0.00529,"71":0.00529,"72":0.02116,"73":0,"74":0.00529,"75":0.00529,"76":0.00529,"77":0.01058,"78":0.12698,"79":0.02116,"80":0.11111,"81":1.61376,"82":0.22751,"83":0.01058,"84":0,"3.5":0,"3.6":0},D:{"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.00529,"30":0,"31":0,"32":0,"33":0.00529,"34":0,"35":0,"36":0,"37":0,"38":0.00529,"39":0.00529,"40":0.00529,"41":0,"42":0,"43":0.01587,"44":0,"45":0,"46":0.00529,"47":0,"48":0.00529,"49":0.34392,"50":0,"51":0,"52":0,"53":0.01058,"54":0,"55":0.00529,"56":0.00529,"57":0,"58":0.01058,"59":0,"60":0,"61":0.03175,"62":0.00529,"63":0.02116,"64":0.00529,"65":0.02646,"66":0.00529,"67":0.04762,"68":0.01058,"69":0.01587,"70":0.06349,"71":0.06878,"72":0.05291,"73":0.04233,"74":0.0582,"75":0.03175,"76":0.02646,"77":0.02646,"78":0.04233,"79":0.08466,"80":0.14286,"81":0.1164,"83":0.16931,"84":0.24339,"85":7.61904,"86":11.3439,"87":0.02116,"88":0.01058,"89":0},F:{"9":0,"11":0,"12":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.00529,"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.00529,"51":0.03175,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0.00529,"58":0.00529,"60":0.00529,"62":0,"63":0.00529,"64":0,"65":0,"66":0,"67":0,"68":0.00529,"69":0,"70":0.16402,"71":1.19048,"72":0.02646,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":3.0787,"3.2":0.00738,"4.0-4.1":0.00632,"4.2-4.3":0.00105,"5.0-5.1":0.00527,"6.0-6.1":0.00316,"7.0-7.1":0.00738,"8.1-8.4":0.02423,"9.0-9.2":0.0137,"9.3":0.1749,"10.0-10.2":0.0295,"10.3":0.16226,"11.0-11.2":0.06111,"11.3-11.4":0.10431,"12.0-12.1":0.10642,"12.2-12.4":1.061,"13.0-13.1":0.08745,"13.2":0.0432,"13.3":0.32873,"13.4-13.7":1.75113},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.00529,"11":0.01058,"12":0.02646,"13":0.14286,"14":0.25397,_:"0","3.1":0,"3.2":0,"5.1":0.19048,"6.1":0,"7.1":0,"9.1":0.00529,"10.1":0.01587,"11.1":0.04762,"12.1":0.09524,"13.1":0.31217},B:{"12":0.00529,"13":0.00529,"14":0.00529,"15":0.01058,"16":0.00529,"17":0.01587,"18":0.06878,"79":0,"80":0,"81":0,"83":0.01058,"84":0.01058,"85":0.34921,"86":0.68783},I:{"3":0,"4":0.06345,_:"81","2.1":0,"2.2":0,"2.3":0.00051,"4.1":0.03198,"4.2-4.3":0.01421,"4.4":0,"4.4.3-4.4.4":0.11573},P:{"4":0.51667,"5.0-5.4":0.03039,"6.2-6.4":0.05065,"7.2-7.4":0.25327,"8.2":0.03039,"9.2":0.20262,"10.1":0.14183,"11.1-11.2":0.29379,"12.0":2.88729},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.04252,"9":0.00607,"10":0.01215,"11":0.10327,"5.5":0},J:{"7":0,"10":0.00471},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.14127},Q:{"10.4":0.00471},O:{"0":0.11302},H:{"0":0.43244},L:{"0":57.27394}};
diff --git a/node_modules/caniuse-lite/data/regions/MC.js b/node_modules/caniuse-lite/data/regions/MC.js
new file mode 100644
index 0000000..17fc4b9
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/MC.js
@@ -0,0 +1 @@
+module.exports={C:{"2":0,"3":0.03961,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0.00792,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0.00792,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.03169,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0.00792,"41":0,"42":0,"43":0.00792,"44":0,"45":0,"46":0,"47":0,"48":0.01584,"49":0,"50":0,"51":0,"52":0.00792,"53":0,"54":0,"55":0,"56":0.00792,"57":0.00792,"58":0,"59":0,"60":0.00792,"61":0,"62":0,"63":0.00792,"64":0.38818,"65":0.00792,"66":0.01584,"67":0,"68":0.04753,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0.00792,"77":0,"78":0.7209,"79":0.03961,"80":0.43571,"81":2.32907,"82":0.51493,"83":0.00792,"84":0,"3.5":0,"3.6":0},D:{"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.11883,"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.15052,"49":0.38818,"50":0,"51":0,"52":0,"53":0.04753,"54":0,"55":0.00792,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0.08714,"64":0,"65":0.00792,"66":0.00792,"67":0.00792,"68":0,"69":0.04753,"70":0.85558,"71":0.66545,"72":1.14077,"73":0.45948,"74":0.00792,"75":0.00792,"76":0.04753,"77":0.16636,"78":0.04753,"79":0.03961,"80":0.07922,"81":0.09506,"83":0.17428,"84":3.27971,"85":10.88483,"86":14.29129,"87":0,"88":0,"89":0},F:{"9":0,"11":0,"12":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.43571,"57":0.40402,"58":0.00792,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.11883,"71":0.34857,"72":0,"9.5-9.6":0.00792,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":10.49213,"3.2":0.02514,"4.0-4.1":0.02154,"4.2-4.3":0.00359,"5.0-5.1":0.01795,"6.0-6.1":0.01077,"7.0-7.1":0.02514,"8.1-8.4":0.08259,"9.0-9.2":0.04668,"9.3":0.59606,"10.0-10.2":0.10054,"10.3":0.55297,"11.0-11.2":0.20826,"11.3-11.4":0.35548,"12.0-12.1":0.36266,"12.2-12.4":3.61587,"13.0-13.1":0.29803,"13.2":0.14722,"13.3":1.12031,"13.4-13.7":5.9678},E:{"4":0.09506,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.01584,"12":0.02377,"13":1.05363,"14":4.24619,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0.12675,"11.1":0.50701,"12.1":1.3309,"13.1":5.30774},B:{"12":0,"13":0,"14":0.00792,"15":0,"16":0.00792,"17":0.04753,"18":0.2535,"79":0,"80":0,"81":0,"83":0.01584,"84":0.04753,"85":2.03595,"86":2.76478},I:{"3":0,"4":0.03312,_:"81","2.1":0,"2.2":0,"2.3":0.00026,"4.1":0.01669,"4.2-4.3":0.00742,"4.4":0,"4.4.3-4.4.4":0.06042},P:{"4":0.09274,"5.0-5.4":0.05152,"6.2-6.4":0,"7.2-7.4":0.0103,"8.2":0.03091,"9.2":0.0103,"10.1":0.02061,"11.1-11.2":0,"12.0":1.04079},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.05066,"7":0.06079,"8":1.05365,"9":0.27354,"10":0.49643,"11":1.66152,"5.5":0},J:{"7":0,"10":0},N:{"10":0.01039,"11":0},S:{"2.5":0.00208},R:{_:"0"},M:{"0":0.24105},Q:{"10.4":0},O:{"0":0.04364},H:{"0":0.11214},L:{"0":11.74552}};
diff --git a/node_modules/caniuse-lite/data/regions/MD.js b/node_modules/caniuse-lite/data/regions/MD.js
new file mode 100644
index 0000000..1035e81
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/MD.js
@@ -0,0 +1 @@
+module.exports={C:{"43":0.01156,"45":0.00578,"47":0.00578,"48":0.01734,"52":0.13292,"56":0.01156,"57":0.01156,"59":0.02312,"60":0.02312,"61":0.01156,"62":0.01156,"63":0.01734,"64":0.05779,"65":0.06357,"66":0.01734,"68":0.02312,"72":0.01734,"76":0.01156,"77":0.00578,"78":0.16181,"79":0.04045,"80":0.19649,"81":1.80305,"82":0.23116,"83":0.00578,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 44 46 49 50 51 53 54 55 58 67 69 70 71 73 74 75 84 3.5","3.6":0.02312},D:{"24":0.00578,"29":0.00578,"33":0.03467,"41":0.01156,"46":0.01156,"47":0.01156,"48":0.00578,"49":0.4392,"53":0.04045,"55":0.00578,"56":0.00578,"57":0.00578,"58":0.00578,"59":0.08669,"60":0.00578,"61":0.09824,"62":0.00578,"63":0.05779,"64":0.01156,"65":0.01734,"66":0.01734,"67":0.0289,"68":0.05779,"69":0.03467,"70":0.15603,"71":0.33518,"72":0.20804,"73":0.20804,"74":0.05201,"75":0.10402,"76":0.04623,"77":0.0289,"78":0.08669,"79":0.08669,"80":0.27739,"81":0.11558,"83":0.23116,"84":0.51433,"85":15.93848,"86":24.93639,"87":0.02312,"88":0.04623,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 25 26 27 28 30 31 32 34 35 36 37 38 39 40 42 43 44 45 50 51 52 54 89"},F:{"36":0.01156,"56":0.01156,"58":0.04045,"68":0.01156,"70":0.28895,"71":2.46763,"72":0.04623,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 57 60 62 63 64 65 66 67 69 9.5-9.6 10.5 10.6 11.1 11.5 11.6","10.0-10.1":0,"12.1":0.01156},G:{"8":0,"14":2.66021,"3.2":0.00637,"4.0-4.1":0.00546,"4.2-4.3":0.00091,"5.0-5.1":0.00455,"6.0-6.1":0.00273,"7.0-7.1":0.00637,"8.1-8.4":0.02094,"9.0-9.2":0.01184,"9.3":0.15113,"10.0-10.2":0.02549,"10.3":0.1402,"11.0-11.2":0.0528,"11.3-11.4":0.09013,"12.0-12.1":0.09195,"12.2-12.4":0.91678,"13.0-13.1":0.07556,"13.2":0.03733,"13.3":0.28405,"13.4-13.7":1.51309},E:{"4":0,"11":0.02312,"12":0.03467,"13":0.17915,"14":0.7975,_:"0 5 6 7 8 9 10 3.1 3.2 6.1 7.1 9.1","5.1":0.56634,"10.1":0.01156,"11.1":0.04045,"12.1":0.20227,"13.1":0.74549},B:{"14":0.01156,"15":0.00578,"16":0.00578,"17":0.04045,"18":0.11558,"84":0.01156,"85":0.36408,"86":0.65881,_:"12 13 79 80 81 83"},I:{"3":0,"4":0.02845,_:"81","2.1":0,"2.2":0,"2.3":0.00023,"4.1":0.01434,"4.2-4.3":0.00637,"4.4":0,"4.4.3-4.4.4":0.05189},P:{"4":0.11509,"5.0-5.4":0.02135,"6.2-6.4":0,"7.2-7.4":0.11742,"8.2":0.01046,"9.2":0.06277,"10.1":0.09416,"11.1-11.2":0.18832,"12.0":2.30173},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.03137,"8":0.06274,"9":0.01255,"10":0.01882,"11":0.31372,_:"7 5.5"},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.09284},Q:{"10.4":0},O:{"0":0.17724},H:{"0":0.21574},L:{"0":33.41671}};
diff --git a/node_modules/caniuse-lite/data/regions/ME.js b/node_modules/caniuse-lite/data/regions/ME.js
new file mode 100644
index 0000000..f391eba
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/ME.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00741,"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.1259,"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.0037,"66":0.00741,"67":0,"68":0.00741,"69":0,"70":0.01111,"71":0,"72":0.0037,"73":0,"74":0.0037,"75":0,"76":0,"77":0.0037,"78":0.01481,"79":0.0037,"80":0.04444,"81":0.88131,"82":0.11479,"83":0.0037,"84":0,"3.5":0,"3.6":0},D:{"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.0037,"23":0,"24":0,"25":0,"26":0.0037,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0.0037,"34":0,"35":0,"36":0,"37":0,"38":0.01111,"39":0,"40":0,"41":0,"42":0,"43":0.0037,"44":0,"45":0,"46":0.0037,"47":0,"48":0,"49":0.11109,"50":0.0037,"51":0,"52":0,"53":0.01111,"54":0.0037,"55":0.0037,"56":0,"57":0,"58":0,"59":0,"60":0.0037,"61":0,"62":0.0037,"63":0.0037,"64":0,"65":0,"66":0.01111,"67":0.0037,"68":0.0037,"69":0,"70":0.01111,"71":0.01111,"72":0.01852,"73":0.02962,"74":0.00741,"75":0.00741,"76":0.01481,"77":0.01111,"78":0.01111,"79":0.02592,"80":0.04814,"81":0.04814,"83":0.06295,"84":0.09628,"85":3.16607,"86":5.0583,"87":0.00741,"88":0,"89":0},F:{"9":0,"11":0,"12":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.0037,"37":0,"38":0,"39":0,"40":0.0037,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0.0037,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0.0037,"68":1.96259,"69":0,"70":0.04444,"71":0.35919,"72":0.00741,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":5.91084,"3.2":0.01416,"4.0-4.1":0.01214,"4.2-4.3":0.00202,"5.0-5.1":0.01011,"6.0-6.1":0.00607,"7.0-7.1":0.01416,"8.1-8.4":0.04653,"9.0-9.2":0.0263,"9.3":0.3358,"10.0-10.2":0.05664,"10.3":0.31152,"11.0-11.2":0.11733,"11.3-11.4":0.20026,"12.0-12.1":0.20431,"12.2-12.4":2.03703,"13.0-13.1":0.1679,"13.2":0.08294,"13.3":0.63114,"13.4-13.7":3.36202},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.00741,"13":0.02962,"14":0.12961,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.0037,"10.1":0.0037,"11.1":0.01481,"12.1":0.01111,"13.1":0.17404},B:{"12":0,"13":0,"14":0,"15":0.01111,"16":0,"17":0.0037,"18":0.04073,"79":0,"80":0,"81":0.0037,"83":0,"84":0.0037,"85":0.09998,"86":0.18145},I:{"3":0,"4":0.02694,_:"81","2.1":0,"2.2":0,"2.3":0.00022,"4.1":0.01358,"4.2-4.3":0.00604,"4.4":0,"4.4.3-4.4.4":0.04915},P:{"4":0.20334,"5.0-5.4":0.01017,"6.2-6.4":0.02033,"7.2-7.4":0.07117,"8.2":0.0305,"9.2":0.17284,"10.1":0.14234,"11.1-11.2":0.26434,"12.0":3.95498},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.00802,"7":0,"8":0.00802,"9":0,"10":0,"11":0.08023,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.2078},Q:{"10.4":0},O:{"0":0.0063},H:{"0":0.20269},L:{"0":65.58716}};
diff --git a/node_modules/caniuse-lite/data/regions/MG.js b/node_modules/caniuse-lite/data/regions/MG.js
new file mode 100644
index 0000000..c27586d
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/MG.js
@@ -0,0 +1 @@
+module.exports={C:{"2":0,"3":0.02228,"4":0,"5":0.00743,"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.00743,"29":0,"30":0,"31":0,"32":0.00743,"33":0.00743,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0.00743,"40":0.00743,"41":0,"42":0.02228,"43":0.02228,"44":0,"45":0.02228,"46":0.00743,"47":0.03714,"48":0.14113,"49":0.00743,"50":0.01486,"51":0.00743,"52":0.17084,"53":0,"54":0.00743,"55":0,"56":0.04457,"57":0.01486,"58":0.01486,"59":0.02228,"60":0.052,"61":0.02228,"62":0.01486,"63":0.01486,"64":0.02228,"65":0.02228,"66":0.04457,"67":0.01486,"68":0.14113,"69":0.04457,"70":0.052,"71":0.03714,"72":0.15599,"73":0.01486,"74":0.04457,"75":0.02971,"76":0.06685,"77":0.07428,"78":0.41597,"79":0.08914,"80":0.39368,"81":8.43078,"82":1.44846,"83":0.052,"84":0,"3.5":0,"3.6":0},D:{"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.00743,"26":0.01486,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0.00743,"33":0.00743,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0.00743,"40":0.00743,"41":0.00743,"42":0.00743,"43":0.052,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.27484,"50":0,"51":0.00743,"52":0.00743,"53":0,"54":0,"55":0.12628,"56":0,"57":0,"58":0.08914,"59":0,"60":0.02971,"61":0,"62":0.01486,"63":0.03714,"64":0.03714,"65":0.07428,"66":0.01486,"67":0.02971,"68":0.01486,"69":0.052,"70":0.04457,"71":0.10399,"72":0.052,"73":0.06685,"74":0.12628,"75":0.02971,"76":0.10399,"77":0.21541,"78":0.09656,"79":0.28969,"80":0.6091,"81":0.21541,"83":0.31198,"84":0.57938,"85":11.06772,"86":17.81234,"87":0.02971,"88":0.02228,"89":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0.00743,"21":0.01486,"22":0,"23":0,"24":0.00743,"25":0.00743,"26":0.02971,"27":0,"28":0.02228,"29":0.00743,"30":0.01486,"31":0.00743,"32":0.01486,"33":0.01486,"34":0,"35":0.00743,"36":0.00743,"37":0.00743,"38":0.02971,"39":0,"40":0,"41":0,"42":0.03714,"43":0,"44":0,"45":0.00743,"46":0.03714,"47":0.06685,"48":0,"49":0,"50":0.08914,"51":0.41597,"52":0.00743,"53":0.05942,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0.01486,"62":0,"63":0,"64":0,"65":0.00743,"66":0.00743,"67":0.00743,"68":0.01486,"69":0.00743,"70":0.34912,"71":2.14669,"72":0.06685,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.03714},G:{"8":0,"14":1.68356,"3.2":0.00403,"4.0-4.1":0.00346,"4.2-4.3":0.00058,"5.0-5.1":0.00288,"6.0-6.1":0.00173,"7.0-7.1":0.00403,"8.1-8.4":0.01325,"9.0-9.2":0.00749,"9.3":0.09564,"10.0-10.2":0.01613,"10.3":0.08873,"11.0-11.2":0.03342,"11.3-11.4":0.05704,"12.0-12.1":0.05819,"12.2-12.4":0.5802,"13.0-13.1":0.04782,"13.2":0.02362,"13.3":0.17976,"13.4-13.7":0.95759},E:{"4":0,"5":0,"6":0.01486,"7":0,"8":0,"9":0,"10":0.02228,"11":0.02971,"12":0.02228,"13":0.22284,"14":0.5051,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0.00743,"11.1":0.08914,"12.1":0.07428,"13.1":0.31198},B:{"12":0.00743,"13":0.01486,"14":0.052,"15":0.04457,"16":0.00743,"17":0.052,"18":0.14113,"79":0,"80":0,"81":0.00743,"83":0,"84":0.02228,"85":0.63138,"86":1.35932},I:{"3":0,"4":0.13018,_:"81","2.1":0,"2.2":0,"2.3":0.00104,"4.1":0.06561,"4.2-4.3":0.02916,"4.4":0,"4.4.3-4.4.4":0.23746},P:{"4":0.11192,"5.0-5.4":0,"6.2-6.4":0.01017,"7.2-7.4":0.02035,"8.2":0,"9.2":0.03052,"10.1":0.03052,"11.1-11.2":0.0407,"12.0":0.68172},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.08299,"9":0.00922,"10":0.00922,"11":0.16598,"5.5":0},J:{"7":0,"10":0.00257},N:{"10":0,"11":0.01286},S:{"2.5":0.06687},R:{_:"0"},M:{"0":0.3035},Q:{"10.4":0.02058},O:{"0":1.59464},H:{"0":3.43579},L:{"0":32.1377}};
diff --git a/node_modules/caniuse-lite/data/regions/MH.js b/node_modules/caniuse-lite/data/regions/MH.js
new file mode 100644
index 0000000..b9a84a5
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/MH.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00583,"48":0,"49":0,"50":0,"51":0,"52":0.00583,"53":0,"54":0,"55":0,"56":0.00583,"57":0.02913,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0.02913,"64":0,"65":0,"66":0,"67":0,"68":0.06408,"69":0,"70":0,"71":0,"72":0.00583,"73":0,"74":0,"75":0.00583,"76":0,"77":0,"78":0.29708,"79":0.00583,"80":0.08155,"81":1.8873,"82":0.26213,"83":0.04078,"84":0.0233,"3.5":0,"3.6":0},D:{"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.00583,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.01165,"36":0.04078,"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.02913,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0.00583,"58":0,"59":0.01165,"60":0,"61":0,"62":0,"63":0.00583,"64":0,"65":0,"66":0,"67":0.01748,"68":0,"69":0,"70":0,"71":0,"72":0.03495,"73":0.19223,"74":0.12815,"75":0.00583,"76":0.00583,"77":0.01165,"78":0,"79":0.13398,"80":0.02913,"81":0.0699,"83":0.27378,"84":0.7922,"85":8.11423,"86":12.12183,"87":0.04078,"88":0,"89":0},F:{"9":0,"11":0,"12":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.00583,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.00583,"71":0.12815,"72":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":8.84793,"3.2":0.0212,"4.0-4.1":0.01817,"4.2-4.3":0.00303,"5.0-5.1":0.01514,"6.0-6.1":0.00908,"7.0-7.1":0.0212,"8.1-8.4":0.06964,"9.0-9.2":0.03936,"9.3":0.50265,"10.0-10.2":0.08479,"10.3":0.46632,"11.0-11.2":0.17563,"11.3-11.4":0.29978,"12.0-12.1":0.30583,"12.2-12.4":3.04923,"13.0-13.1":0.25133,"13.2":0.12415,"13.3":0.94475,"13.4-13.7":5.0326},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00583,"12":0.01165,"13":0.27378,"14":0.23883,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0.01165,"11.1":0.02913,"12.1":0.00583,"13.1":1.7475},B:{"12":0,"13":0.01748,"14":0.01165,"15":0,"16":0,"17":0.08738,"18":0.13398,"79":0,"80":0,"81":0.01748,"83":0,"84":0.02913,"85":0.46018,"86":0.52425},I:{"3":0,"4":0.26346,_:"81","2.1":0,"2.2":0,"2.3":0.00211,"4.1":0.13278,"4.2-4.3":0.05902,"4.4":0,"4.4.3-4.4.4":0.48055},P:{"4":0.02211,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.05527,"8.2":0.01105,"9.2":1.98964,"10.1":0,"11.1-11.2":1.49223,"12.0":2.98446},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.0466,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.01253},Q:{"10.4":0.14195},O:{"0":0.20875},H:{"0":0.01976},L:{"0":37.9507}};
diff --git a/node_modules/caniuse-lite/data/regions/MK.js b/node_modules/caniuse-lite/data/regions/MK.js
new file mode 100644
index 0000000..2f309d5
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/MK.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00511,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0.00511,"48":0.00511,"49":0.00511,"50":0.00511,"51":0.01532,"52":0.15324,"53":0,"54":0,"55":0.01022,"56":0.00511,"57":0,"58":0,"59":0,"60":0.01022,"61":0.01022,"62":0.01022,"63":0.01532,"64":0.03576,"65":0.0664,"66":0.02043,"67":0.00511,"68":0.02554,"69":0,"70":0,"71":0.00511,"72":0.00511,"73":0,"74":0,"75":0,"76":0.00511,"77":0.00511,"78":0.08684,"79":0.03576,"80":0.09194,"81":1.44046,"82":0.23497,"83":0.01022,"84":0,"3.5":0,"3.6":0},D:{"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.00511,"35":0,"36":0,"37":0,"38":0.01022,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0.01022,"48":0.01532,"49":0.3831,"50":0,"51":0,"52":0.00511,"53":0.01532,"54":0,"55":0.00511,"56":0.00511,"57":0,"58":0.01532,"59":0.01022,"60":0.00511,"61":0.01022,"62":0.01022,"63":0.01532,"64":0.01022,"65":0.01022,"66":0.01022,"67":0.00511,"68":0.01022,"69":0.05619,"70":0.3167,"71":0.3831,"72":0.37288,"73":0.14813,"74":0.01532,"75":0.01022,"76":0.03576,"77":0.05619,"78":0.02554,"79":0.03065,"80":0.0613,"81":0.07151,"83":0.0664,"84":0.16346,"85":6.94688,"86":11.34487,"87":0.01022,"88":0.00511,"89":0},F:{"9":0,"11":0,"12":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.01022,"32":0.00511,"33":0,"34":0,"35":0,"36":0.01022,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0.01022,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0.00511,"57":0.01022,"58":0.01532,"60":0.00511,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.0613,"71":0.54145,"72":0.01532,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":5.38696,"3.2":0.01291,"4.0-4.1":0.01106,"4.2-4.3":0.00184,"5.0-5.1":0.00922,"6.0-6.1":0.00553,"7.0-7.1":0.01291,"8.1-8.4":0.0424,"9.0-9.2":0.02397,"9.3":0.30604,"10.0-10.2":0.05162,"10.3":0.28391,"11.0-11.2":0.10693,"11.3-11.4":0.18252,"12.0-12.1":0.1862,"12.2-12.4":1.85649,"13.0-13.1":0.15302,"13.2":0.07559,"13.3":0.5752,"13.4-13.7":3.06404},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00511,"12":0.02043,"13":0.03576,"14":0.23497,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0.01532,"12.1":0.03576,"13.1":0.14813},B:{"12":0.00511,"13":0.00511,"14":0.02043,"15":0.00511,"16":0.00511,"17":0.02043,"18":0.0664,"79":0,"80":0,"81":0,"83":0.00511,"84":0.00511,"85":0.27583,"86":0.53634},I:{"3":0,"4":0.03239,_:"81","2.1":0,"2.2":0,"2.3":0.00026,"4.1":0.01633,"4.2-4.3":0.00726,"4.4":0,"4.4.3-4.4.4":0.05909},P:{"4":0.12102,"5.0-5.4":0.01009,"6.2-6.4":0,"7.2-7.4":0.04034,"8.2":0.01009,"9.2":0.11094,"10.1":0.04034,"11.1-11.2":0.15128,"12.0":2.27928},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.02554,"9":0.00511,"10":0,"11":0.16346,"5.5":0},J:{"7":0,"10":0.00978},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.10762},Q:{"10.4":0},O:{"0":0.03424},H:{"0":0.12505},L:{"0":57.3101}};
diff --git a/node_modules/caniuse-lite/data/regions/ML.js b/node_modules/caniuse-lite/data/regions/ML.js
new file mode 100644
index 0000000..a4d587a
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/ML.js
@@ -0,0 +1 @@
+module.exports={C:{"2":0,"3":0.01599,"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.0032,"30":0,"31":0,"32":0,"33":0,"34":0.02238,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.0032,"44":0.01279,"45":0,"46":0.0032,"47":0.0032,"48":0.0032,"49":0,"50":0,"51":0,"52":0.0032,"53":0,"54":0,"55":0,"56":0.02558,"57":0.0032,"58":0.0032,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0.00959,"65":0,"66":0,"67":0.0032,"68":0.00639,"69":0.01918,"70":0.03517,"71":0.0032,"72":0.03517,"73":0,"74":0.0032,"75":0.0032,"76":0.0032,"77":0.0032,"78":0.14387,"79":0.01279,"80":0.05755,"81":1.77434,"82":0.19821,"83":0.0032,"84":0,"3.5":0,"3.6":0},D:{"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.0032,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.00959,"44":0,"45":0,"46":0,"47":0,"48":0.0032,"49":0.06074,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0.0032,"56":0,"57":0,"58":0,"59":0,"60":0.00639,"61":0,"62":0,"63":0.07033,"64":0.0032,"65":0.00639,"66":0.0032,"67":0.0032,"68":0.0032,"69":0.01279,"70":0.00639,"71":0.00639,"72":0.0032,"73":0.01599,"74":0.02238,"75":0,"76":0.00959,"77":0.0032,"78":0.0032,"79":0.01599,"80":0.02558,"81":0.02877,"83":0.08632,"84":0.04476,"85":1.68482,"86":2.94763,"87":0,"88":0,"89":0},F:{"9":0,"11":0,"12":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.00639,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0.0032,"51":0.03197,"52":0,"53":0.0032,"54":0,"55":0,"56":0.0032,"57":0,"58":0,"60":0.0032,"62":0,"63":0.00639,"64":0,"65":0,"66":0,"67":0.00639,"68":0,"69":0,"70":0.04156,"71":0.28773,"72":0.0032,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":3.71317,"3.2":0.0089,"4.0-4.1":0.00762,"4.2-4.3":0.00127,"5.0-5.1":0.00635,"6.0-6.1":0.00381,"7.0-7.1":0.0089,"8.1-8.4":0.02923,"9.0-9.2":0.01652,"9.3":0.21095,"10.0-10.2":0.03558,"10.3":0.1957,"11.0-11.2":0.0737,"11.3-11.4":0.12581,"12.0-12.1":0.12835,"12.2-12.4":1.27966,"13.0-13.1":0.10547,"13.2":0.0521,"13.3":0.39648,"13.4-13.7":2.11201},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.0032,"12":0.01279,"13":0.03517,"14":0.16624,_:"0","3.1":0,"3.2":0,"5.1":0.11509,"6.1":0,"7.1":0,"9.1":0.00639,"10.1":0.02877,"11.1":0.0032,"12.1":0.07673,"13.1":0.2142},B:{"12":0.01599,"13":0.04476,"14":0.0032,"15":0.0032,"16":0.02558,"17":0.07033,"18":0.07673,"79":0,"80":0,"81":0,"83":0,"84":0.01918,"85":0.17903,"86":0.28453},I:{"3":0,"4":0.1527,_:"81","2.1":0,"2.2":0,"2.3":0.00122,"4.1":0.07696,"4.2-4.3":0.0342,"4.4":0,"4.4.3-4.4.4":0.27852},P:{"4":0.30233,"5.0-5.4":0.02016,"6.2-6.4":0.02016,"7.2-7.4":0.50389,"8.2":0.02016,"9.2":0.31241,"10.1":0.10078,"11.1-11.2":0.3628,"12.0":1.59228},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.00959,"9":0.0032,"10":0,"11":0.15985,"5.5":0},J:{"7":0,"10":0.04762},N:{"10":0,"11":0},S:{"2.5":0.12926},R:{_:"0"},M:{"0":0.11565},Q:{"10.4":0.08164},O:{"0":1.22454},H:{"0":2.441},L:{"0":71.5791}};
diff --git a/node_modules/caniuse-lite/data/regions/MM.js b/node_modules/caniuse-lite/data/regions/MM.js
new file mode 100644
index 0000000..8569bf1
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/MM.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00824,"30":0.00412,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.00412,"37":0.00412,"38":0,"39":0.00412,"40":0.00412,"41":0.00412,"42":0.00412,"43":0.00412,"44":0.00412,"45":0,"46":0,"47":0.00824,"48":0.00412,"49":0.00412,"50":0.00412,"51":0,"52":0.00824,"53":0,"54":0.00412,"55":0,"56":0.00824,"57":0.00824,"58":0.00412,"59":0.00412,"60":0.02471,"61":0.00412,"62":0.01236,"63":0.00412,"64":0.00412,"65":0.00824,"66":0.01236,"67":0.01236,"68":0.04943,"69":0.01236,"70":0.00824,"71":0.00824,"72":0.07414,"73":0.00824,"74":0.00824,"75":0.0206,"76":0.02471,"77":0.02883,"78":0.04119,"79":0.03295,"80":0.08238,"81":2.17071,"82":0.43661,"83":0.0865,"84":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00412,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0.03295,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0.00412,"32":0.00412,"33":0,"34":0,"35":0,"36":0,"37":0.00412,"38":0.00824,"39":0,"40":0.00824,"41":0,"42":0.00412,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.00824,"50":0,"51":0,"52":0,"53":0.00824,"54":0,"55":0.00412,"56":0,"57":0,"58":0.00824,"59":0,"60":0,"61":0.00412,"62":0,"63":0.03707,"64":0,"65":0.00824,"66":0,"67":0.00412,"68":0.00412,"69":0.00824,"70":0.00824,"71":0.03295,"72":0.00412,"73":0.00824,"74":0.03295,"75":0.00824,"76":0.04943,"77":0.01236,"78":0.02471,"79":0.08238,"80":0.04531,"81":0.07002,"83":0.04119,"84":0.09474,"85":3.63708,"86":6.25264,"87":0.0206,"88":0,"89":0},F:{"9":0,"11":0,"12":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.0206,"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.00412,"55":0.00412,"56":0,"57":0,"58":0,"60":0.00824,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.02883,"71":0.21007,"72":0.00824,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":4.39437,"3.2":0.01053,"4.0-4.1":0.00902,"4.2-4.3":0.0015,"5.0-5.1":0.00752,"6.0-6.1":0.00451,"7.0-7.1":0.01053,"8.1-8.4":0.03459,"9.0-9.2":0.01955,"9.3":0.24965,"10.0-10.2":0.04211,"10.3":0.2316,"11.0-11.2":0.08723,"11.3-11.4":0.14889,"12.0-12.1":0.15189,"12.2-12.4":1.51442,"13.0-13.1":0.12482,"13.2":0.06166,"13.3":0.46921,"13.4-13.7":2.49947},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.01648,"11":0.00824,"12":0.0206,"13":0.07002,"14":0.45309,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0.01648,"11.1":0.02883,"12.1":0.04943,"13.1":0.35423},B:{"12":0.00412,"13":0.00412,"14":0.00412,"15":0.00412,"16":0.00412,"17":0.00824,"18":0.08238,"79":0,"80":0,"81":0.00412,"83":0,"84":0.00412,"85":0.28421,"86":0.60549},I:{"3":0,"4":0.4281,_:"81","2.1":0,"2.2":0,"2.3":0.00342,"4.1":0.21576,"4.2-4.3":0.0959,"4.4":0,"4.4.3-4.4.4":0.78086},P:{"4":0.20462,"5.0-5.4":0.02046,"6.2-6.4":0.02046,"7.2-7.4":0.04092,"8.2":0.01023,"9.2":0.09208,"10.1":0.07162,"11.1-11.2":0.12277,"12.0":1.13562},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.00824,"9":0,"10":0,"11":0.0659,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.24112},Q:{"10.4":0.17643},O:{"0":1.81723},H:{"0":0.51223},L:{"0":65.7227}};
diff --git a/node_modules/caniuse-lite/data/regions/MN.js b/node_modules/caniuse-lite/data/regions/MN.js
new file mode 100644
index 0000000..429cce6
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/MN.js
@@ -0,0 +1 @@
+module.exports={C:{"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.01342,"43":0,"44":0,"45":0,"46":0,"47":0.00671,"48":0,"49":0,"50":0,"51":0,"52":0.00671,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0.00671,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0.00671,"67":0,"68":0.01342,"69":0,"70":0,"71":0,"72":0.00671,"73":0.00671,"74":0.00671,"75":0,"76":0.00671,"77":0.00671,"78":0.03356,"79":0.00671,"80":0.02685,"81":2.0136,"82":0.30875,"83":0.01342,"84":0,"3.5":0,"3.6":0},D:{"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.00671,"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.00671,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.0537,"50":0.00671,"51":0,"52":0,"53":0,"54":0,"55":0.00671,"56":0,"57":0.00671,"58":0.00671,"59":0.00671,"60":0.00671,"61":0,"62":0,"63":0.03356,"64":0,"65":0.01342,"66":0,"67":0.03356,"68":0.00671,"69":0.03356,"70":0.03356,"71":0.04698,"72":0.0537,"73":0.04027,"74":0.17451,"75":0.06041,"76":0.0537,"77":0.08054,"78":0.07383,"79":0.1678,"80":0.27519,"81":0.08054,"83":0.09397,"84":0.36916,"85":13.86028,"86":20.975,"87":0.02014,"88":0.01342,"89":0},F:{"9":0,"11":0,"12":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.00671,"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,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0.02014,"68":0,"69":0,"70":0.13424,"71":1.04707,"72":0.02685,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":6.51426,"3.2":0.01561,"4.0-4.1":0.01338,"4.2-4.3":0.00223,"5.0-5.1":0.01115,"6.0-6.1":0.00669,"7.0-7.1":0.01561,"8.1-8.4":0.05128,"9.0-9.2":0.02898,"9.3":0.37008,"10.0-10.2":0.06242,"10.3":0.34332,"11.0-11.2":0.1293,"11.3-11.4":0.22071,"12.0-12.1":0.22517,"12.2-12.4":2.24499,"13.0-13.1":0.18504,"13.2":0.0914,"13.3":0.69557,"13.4-13.7":3.70523},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00671,"12":0.01342,"13":0.08726,"14":0.42286,_:"0","3.1":0,"3.2":0,"5.1":0.02014,"6.1":0,"7.1":0,"9.1":0.00671,"10.1":0.00671,"11.1":0.02014,"12.1":0.14095,"13.1":0.35574},B:{"12":0.00671,"13":0,"14":0,"15":0,"16":0,"17":0.00671,"18":0.12753,"79":0,"80":0.00671,"81":0.00671,"83":0,"84":0.04027,"85":0.63764,"86":1.22158},I:{"3":0,"4":0.0496,_:"81","2.1":0,"2.2":0,"2.3":0.0004,"4.1":0.025,"4.2-4.3":0.01111,"4.4":0,"4.4.3-4.4.4":0.09047},P:{"4":0.30451,"5.0-5.4":0.1015,"6.2-6.4":0.03045,"7.2-7.4":0.24361,"8.2":0.0203,"9.2":0.15225,"10.1":0.13195,"11.1-11.2":0.31466,"12.0":3.01462},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.02506,"9":0,"10":0.01253,"11":0.15035,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.10522},Q:{"10.4":0.06576},O:{"0":0.23674},H:{"0":0.09339},L:{"0":32.66874}};
diff --git a/node_modules/caniuse-lite/data/regions/MO.js b/node_modules/caniuse-lite/data/regions/MO.js
new file mode 100644
index 0000000..e96f912
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/MO.js
@@ -0,0 +1 @@
+module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.02087,"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.00522,"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.01044,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0.00522,"53":0,"54":0,"55":0,"56":0.04174,"57":0,"58":0,"59":0,"60":0.00522,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.03653,"69":0,"70":0,"71":0,"72":0.00522,"73":0,"74":0.01044,"75":0,"76":0,"77":0.02087,"78":0.01565,"79":0.01565,"80":0.02609,"81":0.66269,"82":0.09392,"83":0,"84":0,"3.5":0,"3.6":0},D:{"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.02087,"23":0,"24":0,"25":0,"26":0.03131,"27":0,"28":0,"29":0,"30":0.00522,"31":0,"32":0,"33":0,"34":0.05218,"35":0,"36":0,"37":0,"38":0.10436,"39":0,"40":0.03653,"41":0,"42":0,"43":0,"44":0,"45":0.00522,"46":0,"47":0,"48":0,"49":0.07827,"50":0,"51":0,"52":0,"53":0.15132,"54":0.00522,"55":0.01565,"56":0.00522,"57":0.00522,"58":0.02087,"59":0.00522,"60":0.00522,"61":0.01565,"62":0.02087,"63":0.01565,"64":0.01044,"65":0.03653,"66":0.0574,"67":0.02087,"68":0.0574,"69":0.06783,"70":0.02609,"71":0.08349,"72":0.05218,"73":0.09392,"74":0.08349,"75":0.0574,"76":0.06262,"77":0.07305,"78":0.15132,"79":0.1148,"80":0.19828,"81":0.17219,"83":0.28177,"84":0.48527,"85":5.68762,"86":8.07746,"87":0.02609,"88":0.00522,"89":0},F:{"9":0,"11":0,"12":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.02087,"37":0,"38":0,"39":0,"40":0.00522,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0.00522,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.00522,"69":0,"70":0.00522,"71":0.08349,"72":0.00522,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":18.82459,"3.2":0.0451,"4.0-4.1":0.03865,"4.2-4.3":0.00644,"5.0-5.1":0.03221,"6.0-6.1":0.01933,"7.0-7.1":0.0451,"8.1-8.4":0.14817,"9.0-9.2":0.08375,"9.3":1.06943,"10.0-10.2":0.18039,"10.3":0.99212,"11.0-11.2":0.37366,"11.3-11.4":0.63779,"12.0-12.1":0.65068,"12.2-12.4":6.48746,"13.0-13.1":0.53472,"13.2":0.26414,"13.3":2.01002,"13.4-13.7":10.70721},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0.00522,"10":0.01565,"11":0.01565,"12":0.03653,"13":0.33395,"14":1.26797,_:"0","3.1":0,"3.2":0,"5.1":0.01565,"6.1":0,"7.1":0,"9.1":0.00522,"10.1":0.03131,"11.1":0.07305,"12.1":0.19307,"13.1":2.90643},B:{"12":0.01044,"13":0,"14":0.00522,"15":0.00522,"16":0.02087,"17":0.01044,"18":0.18263,"79":0,"80":0.00522,"81":0,"83":0,"84":0.00522,"85":0.32352,"86":0.64181},I:{"3":0,"4":0.11541,_:"81","2.1":0,"2.2":0,"2.3":0.00092,"4.1":0.05817,"4.2-4.3":0.02585,"4.4":0,"4.4.3-4.4.4":0.21051},P:{"4":0.63181,"5.0-5.4":0.03268,"6.2-6.4":0,"7.2-7.4":0,"8.2":0,"9.2":0.04357,"10.1":0.03268,"11.1-11.2":0.03268,"12.0":2.04795},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.0355,"9":0,"10":0,"11":0.8046,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.14824},Q:{"10.4":0.43038},O:{"0":0.4782},H:{"0":0.03169},L:{"0":25.70382}};
diff --git a/node_modules/caniuse-lite/data/regions/MP.js b/node_modules/caniuse-lite/data/regions/MP.js
new file mode 100644
index 0000000..59ee17f
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/MP.js
@@ -0,0 +1 @@
+module.exports={C:{"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.09834,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0.01967,"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.01311,"69":0,"70":0.00656,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.07212,"79":0.00656,"80":0.03934,"81":0.72116,"82":0.059,"83":0,"84":0,"3.5":0,"3.6":0},D:{"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.00656,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.00656,"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.04589,"50":0,"51":0,"52":0,"53":0.07212,"54":0,"55":0,"56":0.00656,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0.01311,"66":0.00656,"67":0.02622,"68":0.01967,"69":0.02622,"70":0,"71":0.00656,"72":0.00656,"73":0,"74":0,"75":0.11801,"76":0.01311,"77":0.00656,"78":0,"79":0.01967,"80":0.11801,"81":0.1049,"83":0.03934,"84":0.38025,"85":9.86022,"86":16.27199,"87":0.01311,"88":0.02622,"89":0},F:{"9":0,"11":0,"12":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.02622,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0.00656,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.01967,"71":0.3278,"72":0.00656,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":7.37905,"3.2":0.01768,"4.0-4.1":0.01515,"4.2-4.3":0.00253,"5.0-5.1":0.01263,"6.0-6.1":0.00758,"7.0-7.1":0.01768,"8.1-8.4":0.05808,"9.0-9.2":0.03283,"9.3":0.41921,"10.0-10.2":0.07071,"10.3":0.3889,"11.0-11.2":0.14647,"11.3-11.4":0.25001,"12.0-12.1":0.25506,"12.2-12.4":2.54302,"13.0-13.1":0.2096,"13.2":0.10354,"13.3":0.78791,"13.4-13.7":4.19712},E:{"4":0,"5":0,"6":0,"7":0.00656,"8":0,"9":0,"10":0,"11":0,"12":0.01311,"13":0.83917,"14":3.20588,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.00656,"10.1":0.01311,"11.1":0.07212,"12.1":0.1049,"13.1":2.19626},B:{"12":0,"13":0,"14":0,"15":0,"16":0.00656,"17":0.00656,"18":0.11145,"79":0,"80":0,"81":0,"83":0,"84":0.01311,"85":0.93095,"86":1.72423},I:{"3":0,"4":0.06464,_:"81","2.1":0,"2.2":0,"2.3":0.00052,"4.1":0.03258,"4.2-4.3":0.01448,"4.4":0,"4.4.3-4.4.4":0.11791},P:{"4":0.07423,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.02121,"8.2":0,"9.2":0.28632,"10.1":0.0106,"11.1-11.2":0.07423,"12.0":4.75079},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":1.32431,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.03444},Q:{"10.4":0.0551},O:{"0":0.03444},H:{"0":0.76623},L:{"0":33.2362}};
diff --git a/node_modules/caniuse-lite/data/regions/MQ.js b/node_modules/caniuse-lite/data/regions/MQ.js
new file mode 100644
index 0000000..0b93a6e
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/MQ.js
@@ -0,0 +1 @@
+module.exports={C:{"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.005,"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.21513,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0.03002,"61":0,"62":0,"63":0,"64":0.005,"65":0,"66":0.005,"67":0.005,"68":0.01501,"69":0,"70":0,"71":0,"72":0.01501,"73":0,"74":0,"75":0.01501,"76":0,"77":0.03002,"78":0.1701,"79":0.02001,"80":0.04503,"81":1.58595,"82":0.24515,"83":0,"84":0,"3.5":0,"3.6":0},D:{"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.14509,"50":0,"51":0,"52":0,"53":0.005,"54":0,"55":0,"56":0,"57":0,"58":0.005,"59":0,"60":0,"61":0.01501,"62":0,"63":0.01001,"64":0,"65":0.02502,"66":0,"67":0,"68":0,"69":0,"70":0.01001,"71":0.01001,"72":0.02001,"73":0,"74":0.01001,"75":0.005,"76":0.01001,"77":0.01501,"78":0.01001,"79":0.06004,"80":0.15009,"81":0.03002,"83":0.05003,"84":0.28517,"85":4.97799,"86":8.19491,"87":0.005,"88":0,"89":0},F:{"9":0,"11":0,"12":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.005,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0,"62":0,"63":0,"64":0,"65":0.005,"66":0,"67":0,"68":0,"69":0,"70":0.07004,"71":0.21013,"72":0.01501,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":7.1075,"3.2":0.01703,"4.0-4.1":0.01459,"4.2-4.3":0.00243,"5.0-5.1":0.01216,"6.0-6.1":0.0073,"7.0-7.1":0.01703,"8.1-8.4":0.05595,"9.0-9.2":0.03162,"9.3":0.40378,"10.0-10.2":0.06811,"10.3":0.37459,"11.0-11.2":0.14108,"11.3-11.4":0.24081,"12.0-12.1":0.24567,"12.2-12.4":2.44944,"13.0-13.1":0.20189,"13.2":0.09973,"13.3":0.75891,"13.4-13.7":4.04266},E:{"4":0,"5":0,"6":0,"7":0.02502,"8":0,"9":0,"10":0,"11":0.01501,"12":0.01501,"13":0.21513,"14":1.4959,_:"0","3.1":0,"3.2":0,"5.1":0.03002,"6.1":0,"7.1":0,"9.1":0.005,"10.1":0.02001,"11.1":0.15009,"12.1":0.53532,"13.1":1.27076},B:{"12":0,"13":0,"14":0.005,"15":0.005,"16":0.52031,"17":0.04503,"18":0.14509,"79":0,"80":0,"81":0.01001,"83":0.005,"84":0.01001,"85":0.63038,"86":1.40084},I:{"3":0,"4":0.06041,_:"81","2.1":0,"2.2":0,"2.3":0.00048,"4.1":0.03045,"4.2-4.3":0.01353,"4.4":0,"4.4.3-4.4.4":0.11019},P:{"4":0.06266,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.0731,"8.2":0,"9.2":0.34463,"10.1":0.05222,"11.1-11.2":0.68926,"12.0":3.64475},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.46028,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.1699},Q:{"10.4":0.09494},O:{"0":0.04997},H:{"0":0.16558},L:{"0":51.35501}};
diff --git a/node_modules/caniuse-lite/data/regions/MR.js b/node_modules/caniuse-lite/data/regions/MR.js
new file mode 100644
index 0000000..07913ec
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/MR.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00224,"35":0,"36":0.00224,"37":0,"38":0,"39":0,"40":0,"41":0.00224,"42":0,"43":0.00224,"44":0,"45":0,"46":0,"47":0.00224,"48":0,"49":0.00224,"50":0,"51":0,"52":0.00895,"53":0,"54":0,"55":0,"56":0.02013,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0.00447,"65":0,"66":0,"67":0,"68":0.01566,"69":0.00224,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.00224,"78":0.0179,"79":0.00447,"80":0.01119,"81":0.4474,"82":0.02684,"83":0,"84":0,"3.5":0,"3.6":0},D:{"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.00224,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0.00224,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0.00224,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0.0179,"41":0,"42":0,"43":0.01119,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.01342,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0.04474,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0.00895,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0.00447,"70":0.00895,"71":0.01342,"72":0.02684,"73":0.00224,"74":0.00895,"75":0.00447,"76":0.00224,"77":0.03132,"78":0.01119,"79":0.01566,"80":0.02684,"81":0.02237,"83":0.02237,"84":0.05145,"85":1.02231,"86":1.62183,"87":0,"88":0,"89":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0.00224,"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.00895,"51":0.00895,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0.00224,"58":0,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.00895,"71":0.08948,"72":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.00447},G:{"8":0,"14":3.88037,"3.2":0.0093,"4.0-4.1":0.00797,"4.2-4.3":0.00133,"5.0-5.1":0.00664,"6.0-6.1":0.00398,"7.0-7.1":0.0093,"8.1-8.4":0.03054,"9.0-9.2":0.01726,"9.3":0.22045,"10.0-10.2":0.03718,"10.3":0.20451,"11.0-11.2":0.07702,"11.3-11.4":0.13147,"12.0-12.1":0.13413,"12.2-12.4":1.33728,"13.0-13.1":0.11022,"13.2":0.05445,"13.3":0.41433,"13.4-13.7":2.20711},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00447,"12":0.00224,"13":0.05816,"14":0.02461,_:"0","3.1":0,"3.2":0,"5.1":0.44516,"6.1":0,"7.1":0,"9.1":0,"10.1":0.00895,"11.1":0.00447,"12.1":0.01342,"13.1":0.03579},B:{"12":0.00224,"13":0.00224,"14":0,"15":0.00224,"16":0.00447,"17":0.00895,"18":0.04474,"79":0,"80":0,"81":0.00224,"83":0,"84":0.00224,"85":0.04474,"86":0.1029},I:{"3":0,"4":0.1012,_:"81","2.1":0,"2.2":0,"2.3":0.00081,"4.1":0.051,"4.2-4.3":0.02267,"4.4":0,"4.4.3-4.4.4":0.18459},P:{"4":1.4436,"5.0-5.4":0.09086,"6.2-6.4":0.15143,"7.2-7.4":1.30227,"8.2":0.06057,"9.2":0.78742,"10.1":0.35333,"11.1-11.2":0.58552,"12.0":2.47331},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.0201,"9":0.00287,"10":0.00287,"11":0.14354,"5.5":0},J:{"7":0,"10":0.04658},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.12421},Q:{"10.4":0.00776},O:{"0":0.38815},H:{"0":1.20532},L:{"0":74.81881}};
diff --git a/node_modules/caniuse-lite/data/regions/MS.js b/node_modules/caniuse-lite/data/regions/MS.js
new file mode 100644
index 0000000..e8edb66
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/MS.js
@@ -0,0 +1 @@
+module.exports={C:{"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.2783,"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.09567,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":2.6091,"82":0.2783,"83":0,"84":0,"3.5":0,"3.6":0},D:{"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.09567,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.2783,"71":0.09567,"72":25.66485,"73":0.2783,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":3.63535,"83":0,"84":0,"85":7.37506,"86":11.38437,"87":0,"88":0,"89":0},F:{"9":0,"11":0,"12":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,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.18264,"71":2.24383,"72":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":4.02313,"3.2":0.00964,"4.0-4.1":0.00826,"4.2-4.3":0.00138,"5.0-5.1":0.00688,"6.0-6.1":0.00413,"7.0-7.1":0.00964,"8.1-8.4":0.03167,"9.0-9.2":0.0179,"9.3":0.22856,"10.0-10.2":0.03855,"10.3":0.21203,"11.0-11.2":0.07986,"11.3-11.4":0.13631,"12.0-12.1":0.13906,"12.2-12.4":1.38648,"13.0-13.1":0.11428,"13.2":0.05645,"13.3":0.42957,"13.4-13.7":2.28831},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0.55661,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.2783,"10.1":0,"11.1":0.09567,"12.1":12.22798,"13.1":0},B:{"12":0,"13":1.20888,"14":0,"15":0,"16":0,"17":0,"18":0.18264,"79":0,"80":0,"81":0,"83":0,"84":0,"85":0.55661,"86":2.42646},I:{"3":0,"4":0.13192,_:"81","2.1":0,"2.2":0,"2.3":0.00106,"4.1":0.06649,"4.2-4.3":0.02955,"4.4":0,"4.4.3-4.4.4":0.24062},P:{"4":0,"5.0-5.4":0.11198,"6.2-6.4":0,"7.2-7.4":0,"8.2":0.21377,"9.2":0,"10.1":0,"11.1-11.2":0,"12.0":0.32575},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0.18264,"10":0.18264,"11":1.77419,"5.5":0},J:{"7":0,"10":0},N:{"10":0.10815,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.32575},Q:{"10.4":0},O:{"0":0},H:{"0":0.20601},L:{"0":12.39417}};
diff --git a/node_modules/caniuse-lite/data/regions/MT.js b/node_modules/caniuse-lite/data/regions/MT.js
new file mode 100644
index 0000000..de9248d
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/MT.js
@@ -0,0 +1 @@
+module.exports={C:{"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.0068,"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.0068,"49":0,"50":0,"51":0,"52":0.0272,"53":0,"54":0,"55":0,"56":0.08159,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0.0068,"66":0.0068,"67":0,"68":0.0068,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0.0136,"76":0,"77":0,"78":0.0204,"79":0.0272,"80":0.14958,"81":1.30541,"82":0.18357,"83":0,"84":0,"3.5":0,"3.6":0},D:{"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.0068,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.19037,"50":0,"51":0,"52":0,"53":0.0068,"54":0,"55":0,"56":0.0068,"57":0,"58":0,"59":0.0068,"60":0,"61":0.0204,"62":0,"63":0,"64":0,"65":0.0068,"66":0,"67":0.0068,"68":0.0136,"69":0.32635,"70":0.0204,"71":0.0136,"72":0.0204,"73":0.0068,"74":0.0068,"75":0.06119,"76":0.04079,"77":0.11558,"78":0.04079,"79":0.04759,"80":0.08839,"81":0.10878,"83":0.16998,"84":0.28556,"85":14.15552,"86":18.72445,"87":0.0068,"88":0.0068,"89":0},F:{"9":0,"11":0,"12":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.0068,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0.0204,"47":0,"48":0,"49":0,"50":0,"51":0.0136,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.08159,"71":0.61191,"72":0.0204,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":7.27513,"3.2":0.01743,"4.0-4.1":0.01494,"4.2-4.3":0.00249,"5.0-5.1":0.01245,"6.0-6.1":0.00747,"7.0-7.1":0.01743,"8.1-8.4":0.05726,"9.0-9.2":0.03237,"9.3":0.4133,"10.0-10.2":0.06971,"10.3":0.38343,"11.0-11.2":0.14441,"11.3-11.4":0.24649,"12.0-12.1":0.25147,"12.2-12.4":2.50721,"13.0-13.1":0.20665,"13.2":0.10208,"13.3":0.77681,"13.4-13.7":4.13801},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.0068,"11":0.0068,"12":0.034,"13":0.20397,"14":1.50938,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.0204,"10.1":0.04079,"11.1":0.05439,"12.1":0.27876,"13.1":1.81533},B:{"12":0,"13":0.0204,"14":0.0068,"15":0.0272,"16":0.0136,"17":0.05439,"18":0.30596,"79":0,"80":0,"81":0.0068,"83":0,"84":0.04079,"85":0.91787,"86":1.83573},I:{"3":0,"4":0.11,_:"81","2.1":0,"2.2":0,"2.3":0.00088,"4.1":0.05544,"4.2-4.3":0.02464,"4.4":0,"4.4.3-4.4.4":0.20063},P:{"4":0.10276,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.02055,"8.2":0.01028,"9.2":0.0411,"10.1":0.06166,"11.1-11.2":0.06166,"12.0":2.2916},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.47593,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.16965},Q:{"10.4":0.0032},O:{"0":0.10883},H:{"0":0.13334},L:{"0":32.8638}};
diff --git a/node_modules/caniuse-lite/data/regions/MU.js b/node_modules/caniuse-lite/data/regions/MU.js
new file mode 100644
index 0000000..bf406a3
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/MU.js
@@ -0,0 +1 @@
+module.exports={C:{"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.02871,"49":0,"50":0,"51":0,"52":0.03445,"53":0,"54":0,"55":0.00574,"56":0.00574,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0.04594,"63":0,"64":0,"65":0,"66":0.00574,"67":0,"68":0.01148,"69":0.00574,"70":0,"71":0,"72":0.01148,"73":0,"74":0.00574,"75":0,"76":0,"77":0.00574,"78":0.09187,"79":0.01148,"80":0.05742,"81":1.44124,"82":0.17226,"83":0.01723,"84":0,"3.5":0,"3.6":0},D:{"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.00574,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.00574,"35":0,"36":0,"37":0,"38":0.01148,"39":0.01148,"40":0.00574,"41":0,"42":0.00574,"43":0.00574,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.06316,"50":0,"51":0,"52":0,"53":0.05168,"54":0,"55":0.01723,"56":0,"57":0,"58":0.00574,"59":0,"60":0,"61":0,"62":0,"63":0.01148,"64":0,"65":0.02297,"66":0.00574,"67":0.01723,"68":0,"69":0.00574,"70":0.00574,"71":0.00574,"72":0.01148,"73":0.00574,"74":0.02871,"75":0.02871,"76":0.04019,"77":0.03445,"78":0.03445,"79":0.03445,"80":0.05168,"81":0.18949,"83":0.07465,"84":0.20097,"85":5.98316,"86":9.82456,"87":0.04019,"88":0.00574,"89":0},F:{"9":0,"11":0,"12":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.00574,"47":0.00574,"48":0,"49":0,"50":0.00574,"51":0.05742,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0.02871,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.05742,"71":0.43065,"72":0.01148,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.00574},G:{"8":0,"14":2.7324,"3.2":0.00655,"4.0-4.1":0.00561,"4.2-4.3":0.00094,"5.0-5.1":0.00468,"6.0-6.1":0.00281,"7.0-7.1":0.00655,"8.1-8.4":0.02151,"9.0-9.2":0.01216,"9.3":0.15523,"10.0-10.2":0.02618,"10.3":0.14401,"11.0-11.2":0.05424,"11.3-11.4":0.09258,"12.0-12.1":0.09445,"12.2-12.4":0.94166,"13.0-13.1":0.07761,"13.2":0.03834,"13.3":0.29176,"13.4-13.7":1.55416},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00574,"12":0.04594,"13":0.15503,"14":0.74072,_:"0","3.1":0,"3.2":0,"5.1":0.04019,"6.1":0,"7.1":0,"9.1":0.00574,"10.1":0.02871,"11.1":0.10336,"12.1":0.14929,"13.1":0.68904},B:{"12":0.02297,"13":0.00574,"14":0.00574,"15":0.00574,"16":0.01148,"17":0.02871,"18":0.13207,"79":0,"80":0,"81":0,"83":0.00574,"84":0.01723,"85":0.42491,"86":0.98762},I:{"3":0,"4":0.05379,_:"81","2.1":0,"2.2":0,"2.3":0.00043,"4.1":0.02711,"4.2-4.3":0.01205,"4.4":0,"4.4.3-4.4.4":0.09811},P:{"4":0.19385,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.16324,"8.2":0.03061,"9.2":0.13263,"10.1":0.06121,"11.1-11.2":0.24486,"12.0":3.82591},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.23542,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.23845},Q:{"10.4":0.00426},O:{"0":0.67276},H:{"0":0.5684},L:{"0":51.28352}};
diff --git a/node_modules/caniuse-lite/data/regions/MV.js b/node_modules/caniuse-lite/data/regions/MV.js
new file mode 100644
index 0000000..dfb47eb
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/MV.js
@@ -0,0 +1 @@
+module.exports={C:{"2":0,"3":0,"4":0,"5":0.00432,"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.00864,"30":0,"31":0,"32":0.00432,"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.00432,"51":0,"52":0.00432,"53":0,"54":0,"55":0,"56":0.00432,"57":0,"58":0.00432,"59":0,"60":0,"61":0,"62":0.00432,"63":0,"64":0,"65":0,"66":0,"67":0.00432,"68":0.39726,"69":0.00432,"70":0.00432,"71":0.00432,"72":0.00432,"73":0,"74":0.01295,"75":0.00432,"76":0,"77":0.00432,"78":0.01727,"79":0.00432,"80":0.08204,"81":0.98882,"82":0.18567,"83":0.01295,"84":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00432,"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.00432,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0.00432,"42":0,"43":0,"44":0,"45":0.00432,"46":0.00432,"47":0.00432,"48":0,"49":0.00864,"50":0,"51":0,"52":0.00432,"53":0,"54":0,"55":0.00432,"56":0.00432,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0.00432,"64":0.00432,"65":0.00432,"66":0.00432,"67":0.00432,"68":0,"69":0.02591,"70":0.01727,"71":0.01295,"72":0.01727,"73":0.00432,"74":0.11659,"75":0.01295,"76":0.02159,"77":0.00432,"78":0.0475,"79":0.05613,"80":0.0475,"81":0.03454,"83":0.08204,"84":0.1684,"85":5.54431,"86":8.11784,"87":0.01295,"88":0.01295,"89":0},F:{"9":0,"11":0,"12":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.00432,"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.00432,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.00432,"69":0,"70":0.01727,"71":0.17704,"72":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":9.39936,"3.2":0.02252,"4.0-4.1":0.0193,"4.2-4.3":0.00322,"5.0-5.1":0.01608,"6.0-6.1":0.00965,"7.0-7.1":0.02252,"8.1-8.4":0.07399,"9.0-9.2":0.04182,"9.3":0.53398,"10.0-10.2":0.09007,"10.3":0.49538,"11.0-11.2":0.18657,"11.3-11.4":0.31846,"12.0-12.1":0.32489,"12.2-12.4":3.23927,"13.0-13.1":0.26699,"13.2":0.13189,"13.3":1.00363,"13.4-13.7":5.34625},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00432,"12":0.01295,"13":0.09931,"14":0.44475,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0.00432,"11.1":0.00864,"12.1":0.10363,"13.1":0.35839},B:{"12":0,"13":0.00432,"14":0.00432,"15":0.00432,"16":0.00432,"17":0.02159,"18":0.07772,"79":0,"80":0.00432,"81":0,"83":0.00432,"84":0.00432,"85":0.22885,"86":0.35839},I:{"3":0,"4":0.12066,_:"81","2.1":0,"2.2":0,"2.3":0.00097,"4.1":0.06081,"4.2-4.3":0.02703,"4.4":0,"4.4.3-4.4.4":0.22008},P:{"4":0.08379,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.02095,"8.2":0.01047,"9.2":0.05237,"10.1":0.04189,"11.1-11.2":0.12568,"12.0":1.93764},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.01952,"9":0.00488,"10":0.00976,"11":0.0781,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.31251},Q:{"10.4":0.00568},O:{"0":0.86366},H:{"0":0.29586},L:{"0":54.27488}};
diff --git a/node_modules/caniuse-lite/data/regions/MW.js b/node_modules/caniuse-lite/data/regions/MW.js
new file mode 100644
index 0000000..68631cd
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/MW.js
@@ -0,0 +1 @@
+module.exports={C:{"2":0,"3":0,"4":0,"5":0.00383,"6":0,"7":0,"8":0,"9":0,"10":0.00766,"11":0,"12":0,"13":0,"14":0,"15":0.00383,"16":0,"17":0.00383,"18":0,"19":0,"20":0,"21":0.00383,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0.01149,"28":0,"29":0.00766,"30":0.01532,"31":0,"32":0.00383,"33":0,"34":0,"35":0,"36":0.00383,"37":0.00383,"38":0.00383,"39":0,"40":0.00383,"41":0.00383,"42":0.00383,"43":0.00383,"44":0,"45":0.00383,"46":0.00383,"47":0.01532,"48":0,"49":0.00383,"50":0,"51":0,"52":0.01149,"53":0,"54":0,"55":0,"56":0.01149,"57":0.00383,"58":0,"59":0.03447,"60":0.00383,"61":0.01149,"62":0,"63":0,"64":0.00383,"65":0.00383,"66":0,"67":0.00766,"68":0.0766,"69":0.01149,"70":0,"71":0.00383,"72":0.01532,"73":0.01532,"74":0.00766,"75":0,"76":0.00383,"77":0.00383,"78":0.06128,"79":0.01532,"80":0.08426,"81":1.50519,"82":0.22597,"83":0.04596,"84":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00383,"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.00766,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0.00766,"33":0,"34":0,"35":0,"36":0.00383,"37":0,"38":0.00383,"39":0.00766,"40":0.01915,"41":0,"42":0,"43":0.00383,"44":0,"45":0,"46":0.01532,"47":0.00383,"48":0.00383,"49":0.01149,"50":0.00766,"51":0,"52":0,"53":0.00383,"54":0,"55":0.02298,"56":0,"57":0,"58":0.01915,"59":0.00383,"60":0.00383,"61":0.03447,"62":0.00383,"63":0.01149,"64":0.01149,"65":0.00766,"66":0,"67":0.00766,"68":0.01149,"69":0.01149,"70":0.01149,"71":0.01532,"72":0.00766,"73":0.00766,"74":0.03447,"75":0.00383,"76":0.00766,"77":0.01149,"78":0.01532,"79":0.04213,"80":0.09958,"81":0.07277,"83":0.10724,"84":0.12256,"85":2.57376,"86":3.73425,"87":0.01149,"88":0.00383,"89":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0.01532,"18":0,"19":0,"20":0.01915,"21":0,"22":0,"23":0.00383,"24":0.01149,"25":0.00383,"26":0.07277,"27":0.03064,"28":0.07277,"29":0,"30":0.06894,"31":0.00383,"32":0.08043,"33":0.0383,"34":0.00383,"35":0.04979,"36":0.00383,"37":0.01149,"38":0.06894,"39":0,"40":0,"41":0,"42":0.05745,"43":0,"44":0.00383,"45":0.01532,"46":0.05745,"47":0.04979,"48":0.00383,"49":0,"50":0.2298,"51":0.77366,"52":0,"53":0.01915,"54":0.00383,"55":0,"56":0.00383,"57":0,"58":0,"60":0.05362,"62":0,"63":0,"64":0.00766,"65":0,"66":0,"67":0,"68":0.00383,"69":0.01915,"70":0.09958,"71":0.43279,"72":0.01915,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.10341},G:{"8":0,"14":1.64511,"3.2":0.00394,"4.0-4.1":0.00338,"4.2-4.3":0.00056,"5.0-5.1":0.00282,"6.0-6.1":0.00169,"7.0-7.1":0.00394,"8.1-8.4":0.01295,"9.0-9.2":0.00732,"9.3":0.09346,"10.0-10.2":0.01576,"10.3":0.0867,"11.0-11.2":0.03265,"11.3-11.4":0.05574,"12.0-12.1":0.05686,"12.2-12.4":0.56695,"13.0-13.1":0.04673,"13.2":0.02308,"13.3":0.17566,"13.4-13.7":0.93572},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.01149,"11":0.01532,"12":0.01532,"13":0.04979,"14":0.11873,_:"0","3.1":0,"3.2":0,"5.1":0.90388,"6.1":0,"7.1":0.00383,"9.1":0,"10.1":0.01915,"11.1":0.00766,"12.1":0.02681,"13.1":0.19916},B:{"12":0.05362,"13":0.01532,"14":0.01915,"15":0.04596,"16":0.02681,"17":0.08043,"18":0.4596,"79":0,"80":0,"81":0.00766,"83":0.01149,"84":0.04979,"85":0.36768,"86":0.5362},I:{"3":0,"4":0.09658,_:"81","2.1":0,"2.2":0,"2.3":0.00077,"4.1":0.04868,"4.2-4.3":0.02163,"4.4":0,"4.4.3-4.4.4":0.17616},P:{"4":0.76091,"5.0-5.4":0.03044,"6.2-6.4":0.04058,"7.2-7.4":0.1116,"8.2":0.02029,"9.2":0.24349,"10.1":0.18262,"11.1-11.2":0.21306,"12.0":2.33347},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.01568,"9":0.00784,"10":0.00392,"11":0.13724,"5.5":0},J:{"7":0,"10":0.05553},N:{"10":0,"11":0.03085},S:{"2.5":0.01234},R:{_:"0"},M:{"0":0.25914},Q:{"10.4":0.11723},O:{"0":6.06511},H:{"0":9.73754},L:{"0":53.33593}};
diff --git a/node_modules/caniuse-lite/data/regions/MX.js b/node_modules/caniuse-lite/data/regions/MX.js
new file mode 100644
index 0000000..3415fbb
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/MX.js
@@ -0,0 +1 @@
+module.exports={C:{"2":0,"3":0,"4":0.19569,"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.01186,"49":0,"50":0,"51":0,"52":0.01779,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0.00593,"61":0,"62":0,"63":0,"64":0.00593,"65":0,"66":0.01779,"67":0,"68":0.01186,"69":0,"70":0,"71":0,"72":0.00593,"73":0.00593,"74":0,"75":0,"76":0.00593,"77":0.00593,"78":0.08895,"79":0.01186,"80":0.04151,"81":1.34611,"82":0.18383,"83":0.00593,"84":0,"3.5":0,"3.6":0},D:{"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.00593,"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.00593,"36":0,"37":0,"38":0.00593,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.13639,"50":0,"51":0,"52":0.00593,"53":0.00593,"54":0,"55":0,"56":0,"57":0,"58":0.00593,"59":0,"60":0,"61":0.01779,"62":0.00593,"63":0.01186,"64":0.00593,"65":0.03558,"66":0.00593,"67":0.03558,"68":0.00593,"69":0.00593,"70":0.02372,"71":0.02965,"72":0.02372,"73":0.02372,"74":0.02965,"75":0.03558,"76":0.02965,"77":0.03558,"78":0.04151,"79":0.06523,"80":0.10081,"81":0.07709,"83":0.11267,"84":0.21348,"85":9.86159,"86":15.418,"87":0.01186,"88":0.00593,"89":0},F:{"9":0,"11":0,"12":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.00593,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.07709,"71":0.68788,"72":0.01186,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":4.38941,"3.2":0.01052,"4.0-4.1":0.00901,"4.2-4.3":0.0015,"5.0-5.1":0.00751,"6.0-6.1":0.00451,"7.0-7.1":0.01052,"8.1-8.4":0.03455,"9.0-9.2":0.01953,"9.3":0.24936,"10.0-10.2":0.04206,"10.3":0.23134,"11.0-11.2":0.08713,"11.3-11.4":0.14872,"12.0-12.1":0.15172,"12.2-12.4":1.51271,"13.0-13.1":0.12468,"13.2":0.06159,"13.3":0.46868,"13.4-13.7":2.49665},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0.00593,"10":0.00593,"11":0.01186,"12":0.04744,"13":0.14825,"14":1.04368,_:"0","3.1":0,"3.2":0,"5.1":0.21348,"6.1":0,"7.1":0,"9.1":0.00593,"10.1":0.01779,"11.1":0.08895,"12.1":0.1779,"13.1":1.03775},B:{"12":0,"13":0.00593,"14":0.00593,"15":0.00593,"16":0.00593,"17":0.02372,"18":0.10081,"79":0,"80":0,"81":0,"83":0,"84":0.00593,"85":0.56928,"86":1.07926},I:{"3":0,"4":0.04651,_:"81","2.1":0,"2.2":0,"2.3":0.00037,"4.1":0.02344,"4.2-4.3":0.01042,"4.4":0,"4.4.3-4.4.4":0.08484},P:{"4":0.08227,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.02057,"8.2":0.01028,"9.2":0.04114,"10.1":0.02057,"11.1-11.2":0.0617,"12.0":0.91528},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.01873,"9":0.00624,"10":0.00624,"11":0.20599,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.10989},Q:{"10.4":0},O:{"0":0.04477},H:{"0":0.11174},L:{"0":53.19169}};
diff --git a/node_modules/caniuse-lite/data/regions/MY.js b/node_modules/caniuse-lite/data/regions/MY.js
new file mode 100644
index 0000000..03e7f6b
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/MY.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00496,"35":0,"36":0,"37":0,"38":0,"39":0.00496,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0.00496,"48":0.00992,"49":0,"50":0,"51":0,"52":0.01983,"53":0,"54":0,"55":0,"56":0.00496,"57":0,"58":0,"59":0,"60":0.00992,"61":0,"62":0,"63":0,"64":0.00496,"65":0.00496,"66":0.00496,"67":0,"68":0.01487,"69":0,"70":0.00496,"71":0,"72":0.00992,"73":0,"74":0,"75":0,"76":0.00496,"77":0.00496,"78":0.04462,"79":0.00992,"80":0.03471,"81":0.96185,"82":0.14874,"83":0.00992,"84":0,"3.5":0,"3.6":0},D:{"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.00496,"23":0,"24":0,"25":0,"26":0.00496,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.01487,"35":0,"36":0,"37":0,"38":0.05454,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0.00496,"45":0,"46":0,"47":0.00496,"48":0,"49":0.08429,"50":0,"51":0,"52":0,"53":0.10412,"54":0,"55":0.04462,"56":0.00992,"57":0.00496,"58":0.01487,"59":0.01983,"60":0.00496,"61":0.00496,"62":0.00992,"63":0.01487,"64":0.00496,"65":0.02479,"66":0.00992,"67":0.02479,"68":0.01983,"69":0.02479,"70":0.03966,"71":0.04462,"72":0.03966,"73":0.07437,"74":0.06941,"75":0.04462,"76":0.02975,"77":0.03471,"78":0.0942,"79":0.06941,"80":0.11403,"81":0.10908,"83":0.14378,"84":0.23303,"85":6.6338,"86":10.62004,"87":0.02479,"88":0.00992,"89":0},F:{"9":0,"11":0,"12":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.01983,"37":0.02975,"38":0,"39":0,"40":0.00496,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0.00496,"47":0,"48":0,"49":0,"50":0,"51":0.00992,"52":0,"53":0,"54":0,"55":0.00496,"56":0,"57":0,"58":0,"60":0.01487,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.01983,"71":0.16857,"72":0.00496,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":7.22623,"3.2":0.01731,"4.0-4.1":0.01484,"4.2-4.3":0.00247,"5.0-5.1":0.01237,"6.0-6.1":0.00742,"7.0-7.1":0.01731,"8.1-8.4":0.05688,"9.0-9.2":0.03215,"9.3":0.41053,"10.0-10.2":0.06925,"10.3":0.38085,"11.0-11.2":0.14344,"11.3-11.4":0.24483,"12.0-12.1":0.24978,"12.2-12.4":2.49035,"13.0-13.1":0.20526,"13.2":0.10139,"13.3":0.77159,"13.4-13.7":4.1102},E:{"4":0,"5":0,"6":0,"7":0,"8":0.00496,"9":0,"10":0,"11":0.00496,"12":0.00992,"13":0.08924,"14":0.47101,_:"0","3.1":0,"3.2":0,"5.1":0.01983,"6.1":0,"7.1":0,"9.1":0,"10.1":0.01487,"11.1":0.03966,"12.1":0.06941,"13.1":0.67925},B:{"12":0,"13":0,"14":0,"15":0,"16":0.00496,"17":0.00992,"18":0.04958,"79":0,"80":0,"81":0,"83":0,"84":0.00992,"85":0.20824,"86":0.44622},I:{"3":0,"4":0.03085,_:"81","2.1":0,"2.2":0,"2.3":0.00025,"4.1":0.01555,"4.2-4.3":0.00691,"4.4":0,"4.4.3-4.4.4":0.05627},P:{"4":0.63003,"5.0-5.4":0,"6.2-6.4":0.0105,"7.2-7.4":0.021,"8.2":0.0105,"9.2":0.0735,"10.1":0.063,"11.1-11.2":0.12601,"12.0":1.48057},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.01771,"9":0.0059,"10":0.0059,"11":0.21839,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.11597},Q:{"10.4":0.02017},O:{"0":0.99327},H:{"0":0.69692},L:{"0":53.79196}};
diff --git a/node_modules/caniuse-lite/data/regions/MZ.js b/node_modules/caniuse-lite/data/regions/MZ.js
new file mode 100644
index 0000000..21a6c4c
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/MZ.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00399,"46":0,"47":0.00399,"48":0.00399,"49":0,"50":0,"51":0,"52":0.01995,"53":0.00399,"54":0,"55":0,"56":0,"57":0.00399,"58":0,"59":0,"60":0.00399,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0.00399,"67":0.00399,"68":0.02393,"69":0,"70":0,"71":0,"72":0.00399,"73":0,"74":0.00399,"75":0.00399,"76":0,"77":0.00399,"78":0.04388,"79":0.01197,"80":0.03989,"81":0.85365,"82":0.11568,"83":0.00798,"84":0,"3.5":0,"3.6":0},D:{"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.01596,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0.00399,"34":0,"35":0.00399,"36":0.00399,"37":0,"38":0,"39":0,"40":0.01995,"41":0,"42":0.00399,"43":0.0718,"44":0,"45":0,"46":0.00798,"47":0,"48":0,"49":0.06781,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0.03191,"56":0.00399,"57":0,"58":0.00399,"59":0.00399,"60":0.00798,"61":0,"62":0,"63":0.01995,"64":0.00798,"65":0.01995,"66":0.00399,"67":0.01596,"68":0.00399,"69":0.01197,"70":0.00798,"71":0.01995,"72":0.03989,"73":0.01596,"74":0.03989,"75":0.01197,"76":0.01197,"77":0.00798,"78":0.01596,"79":0.05585,"80":0.12366,"81":0.0718,"83":0.05585,"84":0.09973,"85":3.08749,"86":4.99024,"87":0.01197,"88":0.00798,"89":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0.00399,"21":0,"22":0,"23":0,"24":0.01596,"25":0.00399,"26":0.03191,"27":0.00399,"28":0.0359,"29":0.00399,"30":0.03989,"31":0.00399,"32":0.05984,"33":0.01995,"34":0,"35":0.17951,"36":0.00399,"37":0,"38":0.02792,"39":0.00399,"40":0,"41":0.00399,"42":0.0359,"43":0,"44":0.00399,"45":0.01596,"46":0.12366,"47":0.1077,"48":0,"49":0,"50":0.44278,"51":1.26052,"52":0.00399,"53":0.00798,"54":0.00399,"55":0,"56":0,"57":0,"58":0.00399,"60":0.04388,"62":0,"63":0,"64":0.00399,"65":0,"66":0,"67":0,"68":0.00798,"69":0.00399,"70":0.13563,"71":0.85365,"72":0.01995,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.05984},G:{"8":0,"14":2.41506,"3.2":0.00579,"4.0-4.1":0.00496,"4.2-4.3":0.00083,"5.0-5.1":0.00413,"6.0-6.1":0.00248,"7.0-7.1":0.00579,"8.1-8.4":0.01901,"9.0-9.2":0.01074,"9.3":0.1372,"10.0-10.2":0.02314,"10.3":0.12728,"11.0-11.2":0.04794,"11.3-11.4":0.08182,"12.0-12.1":0.08348,"12.2-12.4":0.8323,"13.0-13.1":0.0686,"13.2":0.03389,"13.3":0.25787,"13.4-13.7":1.37366},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.01197,"12":0.02393,"13":0.05186,"14":0.24333,_:"0","3.1":0,"3.2":0,"5.1":0.07978,"6.1":0,"7.1":0,"9.1":0,"10.1":0.02792,"11.1":0.01995,"12.1":0.0359,"13.1":0.20743},B:{"12":0.01995,"13":0.01197,"14":0.01197,"15":0.02792,"16":0.01197,"17":0.02393,"18":0.1436,"79":0,"80":0,"81":0.00399,"83":0,"84":0.00798,"85":0.27524,"86":0.48666},I:{"3":0,"4":0.05673,_:"81","2.1":0,"2.2":0,"2.3":0.00045,"4.1":0.02859,"4.2-4.3":0.01271,"4.4":0,"4.4.3-4.4.4":0.10348},P:{"4":1.2371,"5.0-5.4":0.0409,"6.2-6.4":0.0409,"7.2-7.4":0.24538,"8.2":0.01022,"9.2":0.17381,"10.1":0.10224,"11.1-11.2":0.23515,"12.0":1.40069},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.01815,"9":0,"10":0,"11":0.21322,"5.5":0},J:{"7":0,"10":0.09017},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.07213},Q:{"10.4":0.06011},O:{"0":0.73334},H:{"0":10.64185},L:{"0":58.73742}};
diff --git a/node_modules/caniuse-lite/data/regions/NA.js b/node_modules/caniuse-lite/data/regions/NA.js
new file mode 100644
index 0000000..d71a9a1
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/NA.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00412,"30":0,"31":0,"32":0,"33":0,"34":0.00412,"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.00824,"48":0.00412,"49":0,"50":0,"51":0,"52":0.02885,"53":0,"54":0,"55":0,"56":0.00824,"57":0,"58":0,"59":0,"60":0.00824,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.04534,"69":0.00412,"70":0,"71":0,"72":0.00412,"73":0.00412,"74":0,"75":0,"76":0.00824,"77":0.00412,"78":0.05359,"79":0.00824,"80":0.03298,"81":1.12118,"82":0.18961,"83":0.01649,"84":0,"3.5":0,"3.6":0},D:{"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.00412,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.02885,"50":0.00412,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0.02061,"58":0.00824,"59":0,"60":0,"61":0,"62":0.00412,"63":0.00824,"64":0.00412,"65":0.01649,"66":0.00824,"67":0.00412,"68":0.01237,"69":0.01649,"70":0.01649,"71":0.01237,"72":0.00412,"73":0.00824,"74":0.01649,"75":0.02885,"76":0.01649,"77":0.00412,"78":0.00824,"79":0.04946,"80":0.14427,"81":0.06595,"83":0.0371,"84":0.10717,"85":3.41302,"86":5.7337,"87":0.00824,"88":0.00412,"89":0},F:{"9":0,"11":0,"12":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.00412,"27":0,"28":0.01649,"29":0,"30":0,"31":0,"32":0.00412,"33":0,"34":0,"35":0.01649,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0.00412,"47":0.00412,"48":0,"49":0,"50":0.0371,"51":0.25969,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0.00412,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.00412,"69":0,"70":0.05359,"71":0.36274,"72":0.00824,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.00412},G:{"8":0,"14":2.84529,"3.2":0.00682,"4.0-4.1":0.00584,"4.2-4.3":0.00097,"5.0-5.1":0.00487,"6.0-6.1":0.00292,"7.0-7.1":0.00682,"8.1-8.4":0.0224,"9.0-9.2":0.01266,"9.3":0.16164,"10.0-10.2":0.02726,"10.3":0.14996,"11.0-11.2":0.05648,"11.3-11.4":0.0964,"12.0-12.1":0.09835,"12.2-12.4":0.98056,"13.0-13.1":0.08082,"13.2":0.03992,"13.3":0.30381,"13.4-13.7":1.61837},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00824,"12":0.01237,"13":0.06595,"14":0.39571,_:"0","3.1":0,"3.2":0,"5.1":0.00824,"6.1":0,"7.1":0,"9.1":0,"10.1":0.00412,"11.1":0.02885,"12.1":0.02473,"13.1":0.43693},B:{"12":0.01649,"13":0.01237,"14":0.01237,"15":0.01237,"16":0.02061,"17":0.04946,"18":0.23083,"79":0,"80":0,"81":0.00412,"83":0.00412,"84":0.01237,"85":0.46991,"86":0.97691},I:{"3":0,"4":0.07899,_:"81","2.1":0,"2.2":0,"2.3":0.00063,"4.1":0.03981,"4.2-4.3":0.01769,"4.4":0,"4.4.3-4.4.4":0.14409},P:{"4":0.60997,"5.0-5.4":0.09149,"6.2-6.4":0.22365,"7.2-7.4":2.15521,"8.2":0.08133,"9.2":0.19316,"10.1":0.23382,"11.1-11.2":0.52864,"12.0":4.94073},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.00458,"9":0,"10":0,"11":0.53128,"5.5":0},J:{"7":0,"10":0.12932},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.28214},Q:{"10.4":0.01176},O:{"0":0.51139},H:{"0":1.21315},L:{"0":62.02167}};
diff --git a/node_modules/caniuse-lite/data/regions/NC.js b/node_modules/caniuse-lite/data/regions/NC.js
new file mode 100644
index 0000000..5b7ef1d
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/NC.js
@@ -0,0 +1 @@
+module.exports={C:{"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.01165,"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.00583,"46":0,"47":0.00583,"48":0.13402,"49":0,"50":0,"51":0,"52":0.06992,"53":0,"54":0.02331,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0.12237,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0.00583,"67":0.01165,"68":0.09906,"69":0.00583,"70":0,"71":0,"72":0.00583,"73":0,"74":0,"75":0,"76":0.00583,"77":0.01165,"78":0.48364,"79":0.00583,"80":0.10489,"81":3.75259,"82":0.75168,"83":0,"84":0,"3.5":0,"3.6":0},D:{"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.00583,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0.09906,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.11654,"50":0,"51":0,"52":0,"53":0.00583,"54":0,"55":0,"56":0.01165,"57":0.00583,"58":0,"59":0,"60":0.01748,"61":0,"62":0,"63":0.00583,"64":0,"65":0.20395,"66":0,"67":0.01165,"68":0.00583,"69":0.00583,"70":0.01165,"71":0.00583,"72":0.04662,"73":0.02331,"74":0.00583,"75":0.00583,"76":0.01165,"77":0.05244,"78":0.05244,"79":0.02331,"80":0.04662,"81":0.11071,"83":0.03496,"84":0.15733,"85":6.75932,"86":10.50025,"87":0,"88":0,"89":0},F:{"9":0,"11":0,"12":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,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.05244,"71":0.37876,"72":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":8.07264,"3.2":0.01934,"4.0-4.1":0.01658,"4.2-4.3":0.00276,"5.0-5.1":0.01381,"6.0-6.1":0.00829,"7.0-7.1":0.01934,"8.1-8.4":0.06354,"9.0-9.2":0.03592,"9.3":0.45861,"10.0-10.2":0.07736,"10.3":0.42546,"11.0-11.2":0.16024,"11.3-11.4":0.27351,"12.0-12.1":0.27903,"12.2-12.4":2.78205,"13.0-13.1":0.2293,"13.2":0.11327,"13.3":0.86197,"13.4-13.7":4.59162},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.02331,"13":0.42537,"14":1.32273,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.00583,"10.1":0.03496,"11.1":0.07575,"12.1":0.28552,"13.1":2.40655},B:{"12":0,"13":0.00583,"14":0.00583,"15":0.01748,"16":0.01165,"17":0.03496,"18":0.18064,"79":0,"80":0,"81":0,"83":0.01165,"84":0.01165,"85":0.54774,"86":1.24115},I:{"3":0,"4":0.08142,_:"81","2.1":0,"2.2":0,"2.3":0.00065,"4.1":0.04103,"4.2-4.3":0.01824,"4.4":0,"4.4.3-4.4.4":0.14851},P:{"4":0.08534,"5.0-5.4":0.01067,"6.2-6.4":0.01067,"7.2-7.4":0.38405,"8.2":0.01067,"9.2":0.27737,"10.1":0.09601,"11.1-11.2":0.22403,"12.0":4.19255},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.00593,"9":0,"10":0,"11":0.32038,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.33801},Q:{"10.4":0},O:{"0":0.02087},H:{"0":0.03161},L:{"0":40.48227}};
diff --git a/node_modules/caniuse-lite/data/regions/NE.js b/node_modules/caniuse-lite/data/regions/NE.js
new file mode 100644
index 0000000..e4b510e
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/NE.js
@@ -0,0 +1 @@
+module.exports={C:{"2":0,"3":0.01316,"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.00329,"29":0,"30":0.00329,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.01975,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.00658,"44":0,"45":0,"46":0,"47":0.00329,"48":0.01975,"49":0,"50":0,"51":0,"52":0.00329,"53":0,"54":0,"55":0,"56":0.00329,"57":0,"58":0,"59":0,"60":0.00329,"61":0,"62":0,"63":0,"64":0,"65":0.04278,"66":0.02304,"67":0,"68":0.02962,"69":0,"70":0,"71":0,"72":0.02633,"73":0,"74":0.00329,"75":0.00329,"76":0,"77":0,"78":0.06253,"79":0.01316,"80":0.05595,"81":1.34602,"82":0.11848,"83":0.01975,"84":0,"3.5":0,"3.6":0},D:{"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.06911,"41":0,"42":0,"43":0.00329,"44":0,"45":0.06253,"46":0,"47":0,"48":0,"49":0.05595,"50":0,"51":0,"52":0,"53":0.00658,"54":0,"55":0.00658,"56":0,"57":0,"58":0.20733,"59":0,"60":0,"61":0,"62":0,"63":0.00329,"64":0.00329,"65":0,"66":0.00329,"67":0.00329,"68":0,"69":0,"70":0.00329,"71":0.01975,"72":0.00658,"73":0.00329,"74":0,"75":0.1481,"76":0.06911,"77":0.04278,"78":0.00987,"79":0.08228,"80":0.05595,"81":0.01646,"83":0.04607,"84":0.06911,"85":1.18805,"86":1.88245,"87":0.06911,"88":0,"89":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0.00329,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0.00329,"24":0.01316,"25":0,"26":0.01975,"27":0.02304,"28":0.02962,"29":0.00329,"30":0.0362,"31":0.04607,"32":0.00987,"33":0.00987,"34":0.00329,"35":0.00329,"36":0,"37":0,"38":0.00329,"39":0,"40":0,"41":0.02633,"42":0.02304,"43":0,"44":0,"45":0.04607,"46":0.02304,"47":0.01975,"48":0.00329,"49":0,"50":0.06911,"51":0.40479,"52":0,"53":0,"54":0.00329,"55":0,"56":0,"57":0,"58":0,"60":0.00329,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0.00329,"70":0.09215,"71":0.30935,"72":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.02304},G:{"8":0,"14":1.672,"3.2":0.00401,"4.0-4.1":0.00343,"4.2-4.3":0.00057,"5.0-5.1":0.00286,"6.0-6.1":0.00172,"7.0-7.1":0.00401,"8.1-8.4":0.01316,"9.0-9.2":0.00744,"9.3":0.09499,"10.0-10.2":0.01602,"10.3":0.08812,"11.0-11.2":0.03319,"11.3-11.4":0.05665,"12.0-12.1":0.05779,"12.2-12.4":0.57622,"13.0-13.1":0.04749,"13.2":0.02346,"13.3":0.17853,"13.4-13.7":0.95101},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.00329,"11":0.00987,"12":0.01316,"13":0.03291,"14":0.04937,_:"0","3.1":0,"3.2":0,"5.1":0.56276,"6.1":0,"7.1":0,"9.1":0,"10.1":0.00329,"11.1":0,"12.1":0.00987,"13.1":0.11848},B:{"12":0.00987,"13":0.00329,"14":0.00329,"15":0.00658,"16":0.00658,"17":0.02962,"18":0.13493,"79":0,"80":0,"81":0,"83":0,"84":0.01316,"85":0.08228,"86":0.25341},I:{"3":0,"4":0.57087,_:"81","2.1":0,"2.2":0,"2.3":0.00457,"4.1":0.28772,"4.2-4.3":0.12787,"4.4":0,"4.4.3-4.4.4":1.04126},P:{"4":0.15176,"5.0-5.4":0.02024,"6.2-6.4":0.02024,"7.2-7.4":0.05059,"8.2":0,"9.2":0.2327,"10.1":0.04047,"11.1-11.2":0.06071,"12.0":0.67788},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.13164,"9":0,"10":0,"11":1.9746,"5.5":0},J:{"7":0,"10":0.04696},N:{"10":0,"11":0},S:{"2.5":0.02013},R:{_:"0"},M:{"0":0.28178},Q:{"10.4":0.36229},O:{"0":2.3817},H:{"0":6.50409},L:{"0":69.11793}};
diff --git a/node_modules/caniuse-lite/data/regions/NF.js b/node_modules/caniuse-lite/data/regions/NF.js
new file mode 100644
index 0000000..282ef04
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/NF.js
@@ -0,0 +1 @@
+module.exports={C:{"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.68741,"35":0.61691,"36":0,"37":0,"38":0.68741,"39":0,"40":0,"41":0.14101,"42":0.0705,"43":0.51115,"44":1.81548,"45":0.75792,"46":0.65216,"47":0,"48":0,"49":0,"50":1.13688,"51":0.10576,"52":0.85486,"53":0.58166,"54":0.0705,"55":0,"56":0.72267,"57":0.44946,"58":0.10576,"59":0,"60":0.41421,"61":0.54641,"62":0.51115,"63":0.03525,"64":0,"65":0.51115,"66":0,"67":0,"68":1.37483,"69":0,"70":0.44946,"71":0.23795,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.03525,"79":0,"80":1.13688,"81":4.52988,"82":0.03525,"83":0,"84":0,"3.5":0,"3.6":0},D:{"4":0,"5":0.10576,"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.54641,"23":0,"24":0,"25":0.0705,"26":0.34371,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.0705,"35":0,"36":0.75792,"37":0,"38":0,"39":0.0705,"40":0,"41":0,"42":0,"43":0.0705,"44":0,"45":0,"46":0.30846,"47":1.06637,"48":0.0705,"49":2.26494,"50":0,"51":0.10576,"52":0,"53":0,"54":0.2732,"55":0.0705,"56":0.85486,"57":0.72267,"58":0.03525,"59":0.79317,"60":0.61691,"61":0.44946,"62":0.0705,"63":0.72267,"64":1.03112,"65":0.0705,"66":0.54641,"67":1.41008,"68":0.68741,"69":0.81961,"70":2.95236,"71":0.48472,"72":0.44946,"73":0,"74":0.51115,"75":1.26907,"76":0,"77":0.61691,"78":1.23382,"79":1.26907,"80":1.92123,"81":0.16745,"83":0.0705,"84":0.03525,"85":3.56927,"86":10.09089,"87":0,"88":0,"89":0},F:{"9":0,"11":0,"12":0.14101,"15":0.51115,"16":0,"17":0,"18":0,"19":0.58166,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.2027,"29":0,"30":0,"31":0,"32":0,"33":0.0705,"34":0,"35":0,"36":0.23795,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0.0705,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.03525,"71":0.03525,"72":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":3.63869,"3.2":0.00872,"4.0-4.1":0.00747,"4.2-4.3":0.00125,"5.0-5.1":0.00623,"6.0-6.1":0.00374,"7.0-7.1":0.00872,"8.1-8.4":0.02864,"9.0-9.2":0.01619,"9.3":0.20672,"10.0-10.2":0.03487,"10.3":0.19177,"11.0-11.2":0.07223,"11.3-11.4":0.12328,"12.0-12.1":0.12577,"12.2-12.4":1.25399,"13.0-13.1":0.10336,"13.2":0.05106,"13.3":0.38853,"13.4-13.7":2.06965},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0.0705,"10":0.61691,"11":0.75792,"12":5.66676,"13":0,"14":0,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0.16745,"11.1":0,"12.1":0,"13.1":0.41421},B:{"12":0,"13":0.0705,"14":0.44946,"15":0.68741,"16":0,"17":0.65216,"18":0.89011,"79":0,"80":0,"81":0,"83":0,"84":0,"85":0.14101,"86":0.16745},I:{"3":0,"4":0.07818,_:"81","2.1":0,"2.2":0,"2.3":0.00063,"4.1":0.0394,"4.2-4.3":0.01751,"4.4":0,"4.4.3-4.4.4":0.14259},P:{"4":0,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0,"8.2":0,"9.2":0,"10.1":1.0463,"11.1-11.2":0,"12.0":1.15914},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.03525,"9":0.16745,"10":0,"11":0.89011,"5.5":0},J:{"7":0,"10":0},N:{"10":0.16048,"11":0.04012},S:{"2.5":0},R:{_:"0"},M:{"0":0},Q:{"10.4":0},O:{"0":0},H:{"0":0},L:{"0":11.3659}};
diff --git a/node_modules/caniuse-lite/data/regions/NG.js b/node_modules/caniuse-lite/data/regions/NG.js
new file mode 100644
index 0000000..6594af5
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/NG.js
@@ -0,0 +1 @@
+module.exports={C:{"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.0024,"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.01679,"44":0,"45":0,"46":0,"47":0.00719,"48":0.0048,"49":0.0024,"50":0.0024,"51":0,"52":0.01199,"53":0,"54":0.0024,"55":0,"56":0.0024,"57":0.0024,"58":0,"59":0,"60":0.0024,"61":0.0024,"62":0.0024,"63":0.0024,"64":0.0024,"65":0.0024,"66":0.0024,"67":0.0024,"68":0.04077,"69":0.0024,"70":0.0024,"71":0.0024,"72":0.00719,"73":0.0024,"74":0.0024,"75":0,"76":0,"77":0.0048,"78":0.01679,"79":0.00959,"80":0.03117,"81":0.52516,"82":0.07913,"83":0.00959,"84":0,"3.5":0,"3.6":0},D:{"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.0024,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0.0048,"41":0,"42":0,"43":0.0024,"44":0,"45":0,"46":0,"47":0.01199,"48":0,"49":0.00719,"50":0.0048,"51":0,"52":0,"53":0.0024,"54":0,"55":0.0048,"56":0.0024,"57":0.0024,"58":0.00719,"59":0,"60":0,"61":0.0024,"62":0.0048,"63":0.00959,"64":0.01199,"65":0.0048,"66":0.0024,"67":0.0024,"68":0.0024,"69":0.00719,"70":0.01199,"71":0.01199,"72":0.00959,"73":0.00959,"74":0.02158,"75":0.00719,"76":0.00959,"77":0.01679,"78":0.01199,"79":0.02878,"80":0.05276,"81":0.04316,"83":0.03837,"84":0.07434,"85":1.29492,"86":1.69778,"87":0.0048,"88":0.0024,"89":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0.0024,"17":0,"18":0,"19":0.0024,"20":0.00719,"21":0,"22":0,"23":0.01439,"24":0.12709,"25":0.0048,"26":0.09352,"27":0.19184,"28":0.09592,"29":0.01918,"30":0.11031,"31":0.03597,"32":0.09352,"33":0.04796,"34":0.0024,"35":0.01199,"36":0.00959,"37":0.00959,"38":0.06714,"39":0.0024,"40":0,"41":0.0048,"42":0.09112,"43":0.0024,"44":0.00719,"45":0.04077,"46":0.20623,"47":0.15347,"48":0.0048,"49":0,"50":0.65945,"51":1.39084,"52":0,"53":0.00959,"54":0.0048,"55":0.0024,"56":0.0024,"57":0.0024,"58":0.01199,"60":0.02638,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.0024,"69":0,"70":0.03357,"71":0.16786,"72":0.0048,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.1175},G:{"8":0,"14":2.36309,"3.2":0.00566,"4.0-4.1":0.00485,"4.2-4.3":0.00081,"5.0-5.1":0.00404,"6.0-6.1":0.00243,"7.0-7.1":0.00566,"8.1-8.4":0.0186,"9.0-9.2":0.01051,"9.3":0.13425,"10.0-10.2":0.02264,"10.3":0.12454,"11.0-11.2":0.04691,"11.3-11.4":0.08006,"12.0-12.1":0.08168,"12.2-12.4":0.81439,"13.0-13.1":0.06712,"13.2":0.03316,"13.3":0.25232,"13.4-13.7":1.3441},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.0048,"13":0.01199,"14":0.05276,_:"0","3.1":0,"3.2":0,"5.1":0.04077,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0.00719,"12.1":0.01199,"13.1":0.03597},B:{"12":0.00719,"13":0.0024,"14":0.0024,"15":0.0048,"16":0.0024,"17":0.0048,"18":0.02878,"79":0,"80":0,"81":0,"83":0,"84":0.0024,"85":0.08873,"86":0.13189},I:{"3":0,"4":0.0391,_:"81","2.1":0,"2.2":0,"2.3":0.00031,"4.1":0.0197,"4.2-4.3":0.00876,"4.4":0,"4.4.3-4.4.4":0.07131},P:{"4":0.09407,"5.0-5.4":0.02091,"6.2-6.4":0,"7.2-7.4":0.05226,"8.2":0.01045,"9.2":0.09407,"10.1":0.05226,"11.1-11.2":0.10453,"12.0":0.74215},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.01363,"9":0.00341,"10":0.00341,"11":0.0443,"5.5":0},J:{"7":0,"10":0.05321},N:{"10":0,"11":0},S:{"2.5":0.03041},R:{_:"0"},M:{"0":0.40291},Q:{"10.4":0.02281},O:{"0":1.8853},H:{"0":27.29853},L:{"0":49.09894}};
diff --git a/node_modules/caniuse-lite/data/regions/NI.js b/node_modules/caniuse-lite/data/regions/NI.js
new file mode 100644
index 0000000..33928e6
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/NI.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00674,"44":0,"45":0,"46":0,"47":0,"48":0.01349,"49":0,"50":0,"51":0.00674,"52":0.02023,"53":0.00674,"54":0,"55":0,"56":0.00674,"57":0,"58":0.00674,"59":0,"60":0.00674,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0.02023,"67":0.00674,"68":0.00674,"69":0.00674,"70":0.00674,"71":0,"72":0.02023,"73":0,"74":0,"75":0,"76":0.00674,"77":0.00674,"78":0.05394,"79":0.01349,"80":0.06069,"81":2.15102,"82":0.26298,"83":0.00674,"84":0,"3.5":0,"3.6":0},D:{"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.02023,"39":0,"40":0,"41":0,"42":0.00674,"43":0.00674,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.12812,"50":0,"51":0,"52":0.00674,"53":0.00674,"54":0,"55":0,"56":0.00674,"57":0,"58":0.02023,"59":0,"60":0,"61":0,"62":0,"63":0.01349,"64":0.00674,"65":0.00674,"66":0.01349,"67":0.01349,"68":0.01349,"69":0.02697,"70":0.02023,"71":0.02697,"72":0.02023,"73":0.01349,"74":0.0944,"75":0.05394,"76":0.04046,"77":0.02697,"78":0.10789,"79":0.08766,"80":0.15509,"81":0.13486,"83":0.10789,"84":1.8341,"85":10.97086,"86":19.87162,"87":0.02023,"88":0.01349,"89":0},F:{"9":0,"11":0,"12":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.00674,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0,"62":0,"63":0.01349,"64":0,"65":0,"66":0,"67":0,"68":0.00674,"69":1.01819,"70":0.11463,"71":1.28117,"72":0.01349,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":2.06006,"3.2":0.00494,"4.0-4.1":0.00423,"4.2-4.3":0.00071,"5.0-5.1":0.00353,"6.0-6.1":0.00212,"7.0-7.1":0.00494,"8.1-8.4":0.01622,"9.0-9.2":0.00917,"9.3":0.11703,"10.0-10.2":0.01974,"10.3":0.10857,"11.0-11.2":0.04089,"11.3-11.4":0.0698,"12.0-12.1":0.07121,"12.2-12.4":0.70995,"13.0-13.1":0.05852,"13.2":0.02891,"13.3":0.21997,"13.4-13.7":1.17174},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.01349,"12":0.02023,"13":0.10115,"14":0.66081,_:"0","3.1":0,"3.2":0,"5.1":0.68104,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0.06743,"12.1":0.06069,"13.1":0.51921},B:{"12":0.00674,"13":0.00674,"14":0.01349,"15":0.00674,"16":0.00674,"17":0.01349,"18":0.07417,"79":0,"80":0.00674,"81":0.00674,"83":0,"84":0.01349,"85":0.62036,"86":1.17328},I:{"3":0,"4":0.08055,_:"81","2.1":0,"2.2":0,"2.3":0.00064,"4.1":0.0406,"4.2-4.3":0.01804,"4.4":0,"4.4.3-4.4.4":0.14692},P:{"4":0.25339,"5.0-5.4":0.02027,"6.2-6.4":0.04054,"7.2-7.4":0.13176,"8.2":0.01014,"9.2":0.1419,"10.1":0.09122,"11.1-11.2":0.26353,"12.0":1.73319},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.08092,"5.5":0},J:{"7":0,"10":0.00326},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.10097},Q:{"10.4":0},O:{"0":0.17914},H:{"0":0.18809},L:{"0":45.48055}};
diff --git a/node_modules/caniuse-lite/data/regions/NL.js b/node_modules/caniuse-lite/data/regions/NL.js
new file mode 100644
index 0000000..a8fbd40
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/NL.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00602,"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.00602,"49":0,"50":0,"51":0,"52":0.03011,"53":0,"54":0,"55":0.00602,"56":0.01204,"57":0,"58":0,"59":0,"60":0.00602,"61":0,"62":0.02408,"63":0.00602,"64":0.00602,"65":0.00602,"66":0.00602,"67":0,"68":0.04215,"69":0.00602,"70":0,"71":0,"72":0.01204,"73":0,"74":0.00602,"75":0.00602,"76":0.00602,"77":0.01204,"78":0.08429,"79":0.02408,"80":0.08429,"81":1.70394,"82":0.25288,"83":0.00602,"84":0,"3.5":0,"3.6":0},D:{"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.00602,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0.03011,"48":0.01806,"49":0.16859,"50":0,"51":0,"52":0.01204,"53":0.00602,"54":0,"55":0.00602,"56":0,"57":0,"58":0.00602,"59":0,"60":0.00602,"61":0.03613,"62":0,"63":0.00602,"64":0.03011,"65":0.00602,"66":0.01204,"67":0.01204,"68":0.00602,"69":0.02408,"70":0.08429,"71":0.05419,"72":0.09032,"73":0.04817,"74":0.01806,"75":0.03011,"76":0.07225,"77":0.03011,"78":0.03613,"79":0.1445,"80":0.15053,"81":0.09634,"83":0.28299,"84":0.33116,"85":9.66973,"86":11.50613,"87":0.01204,"88":0.00602,"89":0},F:{"9":0,"11":0,"12":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.01806,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0.00602,"58":0.00602,"60":0.00602,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0.00602,"68":0.00602,"69":0,"70":0.04215,"71":0.26492,"72":0.00602,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":11.78302,"3.2":0.02823,"4.0-4.1":0.0242,"4.2-4.3":0.00403,"5.0-5.1":0.02016,"6.0-6.1":0.0121,"7.0-7.1":0.02823,"8.1-8.4":0.09275,"9.0-9.2":0.05242,"9.3":0.6694,"10.0-10.2":0.11291,"10.3":0.62101,"11.0-11.2":0.23389,"11.3-11.4":0.39922,"12.0-12.1":0.40728,"12.2-12.4":4.06075,"13.0-13.1":0.3347,"13.2":0.16533,"13.3":1.25815,"13.4-13.7":6.70205},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.01204,"12":0.04215,"13":0.21676,"14":1.96285,_:"0","3.1":0,"3.2":0,"5.1":0.01204,"6.1":0,"7.1":0,"9.1":0.00602,"10.1":0.02408,"11.1":0.08429,"12.1":0.16859,"13.1":2.35421},B:{"12":0,"13":0,"14":0.00602,"15":0.00602,"16":0.00602,"17":0.03011,"18":0.27095,"79":0,"80":0,"81":0.01204,"83":0.00602,"84":0.01806,"85":1.01755,"86":1.69792},I:{"3":0,"4":0.05002,_:"81","2.1":0,"2.2":0,"2.3":0.0004,"4.1":0.02521,"4.2-4.3":0.0112,"4.4":0,"4.4.3-4.4.4":0.09123},P:{"4":0.09276,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.02061,"8.2":0.01031,"9.2":0.05153,"10.1":0.04123,"11.1-11.2":0.09276,"12.0":4.58659},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.01022,"7":0.01022,"8":0.0613,"9":0.02043,"10":0.03065,"11":0.8787,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.27853},Q:{"10.4":0.02387},O:{"0":0.3024},H:{"0":0.20719},L:{"0":28.30922}};
diff --git a/node_modules/caniuse-lite/data/regions/NO.js b/node_modules/caniuse-lite/data/regions/NO.js
new file mode 100644
index 0000000..4ed30b9
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/NO.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00629,"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.00629,"49":0,"50":0,"51":0,"52":0.01258,"53":0,"54":0,"55":0,"56":0.01888,"57":0,"58":0,"59":0.01258,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0.00629,"66":0,"67":0,"68":0.02517,"69":0,"70":0,"71":0,"72":0.00629,"73":0,"74":0.00629,"75":0.00629,"76":0.01258,"77":0.00629,"78":0.0755,"79":0.01888,"80":0.06292,"81":1.21436,"82":0.16359,"83":0,"84":0,"3.5":0,"3.6":0},D:{"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.00629,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.03775,"50":0,"51":0.00629,"52":0,"53":0.00629,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0.00629,"60":0,"61":0,"62":0.01258,"63":0.00629,"64":0.00629,"65":0.01258,"66":0.06292,"67":0.03146,"68":0.01888,"69":0.09438,"70":0.01888,"71":0.02517,"72":0.01258,"73":0.03146,"74":0.00629,"75":0.03146,"76":0.03775,"77":0.03775,"78":0.03775,"79":0.0755,"80":0.11955,"81":0.19505,"83":0.2328,"84":1.15773,"85":11.74087,"86":12.80422,"87":0.01258,"88":0.00629,"89":0},F:{"9":0,"11":0,"12":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.00629,"51":0.00629,"52":0,"53":0.00629,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0.00629,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.00629,"69":0,"70":0.11326,"71":0.50965,"72":0.00629,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":16.20531,"3.2":0.03882,"4.0-4.1":0.03328,"4.2-4.3":0.00555,"5.0-5.1":0.02773,"6.0-6.1":0.01664,"7.0-7.1":0.03882,"8.1-8.4":0.12756,"9.0-9.2":0.0721,"9.3":0.92063,"10.0-10.2":0.15529,"10.3":0.85408,"11.0-11.2":0.32167,"11.3-11.4":0.54905,"12.0-12.1":0.56014,"12.2-12.4":5.58479,"13.0-13.1":0.46031,"13.2":0.22738,"13.3":1.73034,"13.4-13.7":9.21739},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.00629,"11":0.01888,"12":0.06292,"13":0.40269,"14":2.15186,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.01258,"10.1":0.04404,"11.1":0.13213,"12.1":0.27056,"13.1":3.03904},B:{"12":0,"13":0,"14":0.00629,"15":0.00629,"16":0.00629,"17":0.03775,"18":0.28943,"79":0,"80":0.02517,"81":0,"83":0.01258,"84":0.01888,"85":0.76762,"86":1.40312},I:{"3":0,"4":0.02664,_:"81","2.1":0,"2.2":0,"2.3":0.00021,"4.1":0.01343,"4.2-4.3":0.00597,"4.4":0,"4.4.3-4.4.4":0.04859},P:{"4":0.03134,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0,"8.2":0,"9.2":0.03134,"10.1":0.02089,"11.1-11.2":0.03134,"12.0":2.56969},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.61662,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.1372},Q:{"10.4":0.00371},O:{"0":0.0445},H:{"0":0.15797},L:{"0":19.15018}};
diff --git a/node_modules/caniuse-lite/data/regions/NP.js b/node_modules/caniuse-lite/data/regions/NP.js
new file mode 100644
index 0000000..54dfe9b
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/NP.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00309,"48":0,"49":0,"50":0,"51":0,"52":0.00927,"53":0,"54":0,"55":0,"56":0.00309,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.00309,"69":0.00309,"70":0,"71":0,"72":0.00309,"73":0,"74":0,"75":0,"76":0.00309,"77":0.00309,"78":0.02162,"79":0.00618,"80":0.01236,"81":0.47571,"82":0.0834,"83":0.00618,"84":0,"3.5":0,"3.6":0},D:{"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.00309,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0.00309,"41":0,"42":0,"43":0.00309,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.00618,"50":0,"51":0,"52":0,"53":0.00309,"54":0,"55":0,"56":0,"57":0,"58":0.00309,"59":0,"60":0,"61":0.00309,"62":0,"63":0.00618,"64":0.00309,"65":0.00309,"66":0,"67":0.00309,"68":0,"69":0.00309,"70":0.00618,"71":0.01236,"72":0.00309,"73":0.00618,"74":0.01236,"75":0.00618,"76":0.00618,"77":0.00618,"78":0.00927,"79":0.01853,"80":0.0278,"81":0.04016,"83":0.02471,"84":0.06796,"85":2.84188,"86":3.71607,"87":0.01853,"88":0.00618,"89":0},F:{"9":0,"11":0,"12":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.00309,"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.00309,"51":0.01545,"52":0,"53":0,"54":0,"55":0.00309,"56":0,"57":0,"58":0,"60":0.00618,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.04325,"71":0.21932,"72":0.00309,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.00309},G:{"8":0,"14":2.61734,"3.2":0.00627,"4.0-4.1":0.00537,"4.2-4.3":0.0009,"5.0-5.1":0.00448,"6.0-6.1":0.00269,"7.0-7.1":0.00627,"8.1-8.4":0.0206,"9.0-9.2":0.01164,"9.3":0.14869,"10.0-10.2":0.02508,"10.3":0.13794,"11.0-11.2":0.05195,"11.3-11.4":0.08868,"12.0-12.1":0.09047,"12.2-12.4":0.90201,"13.0-13.1":0.07435,"13.2":0.03673,"13.3":0.27947,"13.4-13.7":1.48871},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.00309,"13":0.00927,"14":0.04942,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0.00309,"11.1":0.00309,"12.1":0.00927,"13.1":0.0556},B:{"12":0.00309,"13":0,"14":0.00309,"15":0.00309,"16":0,"17":0.00309,"18":0.01853,"79":0,"80":0,"81":0,"83":0,"84":0.00309,"85":0.3367,"86":0.72283},I:{"3":0,"4":0.06837,_:"81","2.1":0,"2.2":0,"2.3":0.00055,"4.1":0.03446,"4.2-4.3":0.01532,"4.4":0,"4.4.3-4.4.4":0.12471},P:{"4":0.25766,"5.0-5.4":0,"6.2-6.4":0.01031,"7.2-7.4":0.09276,"8.2":0.02061,"9.2":0.06184,"10.1":0.05153,"11.1-11.2":0.11337,"12.0":1.17495},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.01545,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.0622},Q:{"10.4":0.00691},O:{"0":1.94199},H:{"0":1.41981},L:{"0":77.67122}};
diff --git a/node_modules/caniuse-lite/data/regions/NR.js b/node_modules/caniuse-lite/data/regions/NR.js
new file mode 100644
index 0000000..c069263
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/NR.js
@@ -0,0 +1 @@
+module.exports={C:{"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.02241,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0.0163,"82":0,"83":0.00204,"84":0,"3.5":0,"3.6":0},D:{"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.00611,"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.0163,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0.01222,"77":0.08352,"78":0,"79":0.09981,"80":0,"81":0.02648,"83":0.00815,"84":0.00204,"85":0.74351,"86":1.97996,"87":0,"88":0,"89":0},F:{"9":0,"11":0,"12":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.00204,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0.00815,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0.00611,"72":0.00204,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":2.004,"3.2":0.0048,"4.0-4.1":0.00411,"4.2-4.3":0.00069,"5.0-5.1":0.00343,"6.0-6.1":0.00206,"7.0-7.1":0.0048,"8.1-8.4":0.01577,"9.0-9.2":0.00892,"9.3":0.11385,"10.0-10.2":0.0192,"10.3":0.10562,"11.0-11.2":0.03978,"11.3-11.4":0.0679,"12.0-12.1":0.06927,"12.2-12.4":0.69063,"13.0-13.1":0.05692,"13.2":0.02812,"13.3":0.21398,"13.4-13.7":1.13985},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.00204,"11":0,"12":0,"13":0.07333,"14":0.32592,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0,"12.1":0,"13.1":0.11407},B:{"12":0,"13":0.00204,"14":0.00204,"15":0,"16":0,"17":0.02241,"18":0.05704,"79":0,"80":0,"81":0,"83":0,"84":0,"85":0.10185,"86":0.17315},I:{"3":0,"4":0.03178,_:"81","2.1":0,"2.2":0,"2.3":0.00025,"4.1":0.01602,"4.2-4.3":0.00712,"4.4":0,"4.4.3-4.4.4":0.05797},P:{"4":0,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.20297,"8.2":0.01015,"9.2":0.70024,"10.1":0.2943,"11.1-11.2":0.34505,"12.0":1.66434},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.12833,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.11148},Q:{"10.4":0},O:{"0":0.34241},H:{"0":2.41243},L:{"0":83.68062}};
diff --git a/node_modules/caniuse-lite/data/regions/NU.js b/node_modules/caniuse-lite/data/regions/NU.js
new file mode 100644
index 0000000..70e8785
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/NU.js
@@ -0,0 +1 @@
+module.exports={C:{"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,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":21.99158,"81":0.39034,"82":0,"83":0,"84":0,"3.5":0,"3.6":0},D:{"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,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":1.3629,"83":0.19186,"84":0,"85":2.52731,"86":8.36924,"87":0,"88":0,"89":0},F:{"9":0,"11":0,"12":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,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0,"8.1-8.4":0,"9.0-9.2":0,"9.3":0,"10.0-10.2":0,"10.3":0,"11.0-11.2":0,"11.3-11.4":0,"12.0-12.1":0,"12.2-12.4":0,"13.0-13.1":0,"13.2":0,"13.3":0,"13.4-13.7":0},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0.19186,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0,"12.1":0,"13.1":0.19186},B:{"12":3.89021,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0.39034,"79":0,"80":0,"81":0,"83":0,"84":0,"85":0,"86":0.78069},I:{"3":0,"4":0,_:"81","2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0},P:{"4":0,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0,"8.2":0,"9.2":0,"10.1":0,"11.1-11.2":0,"12.0":21.45118},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.58221,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0},Q:{"10.4":0},O:{"0":0},H:{"0":0},L:{"0":23.86758}};
diff --git a/node_modules/caniuse-lite/data/regions/NZ.js b/node_modules/caniuse-lite/data/regions/NZ.js
new file mode 100644
index 0000000..5895412
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/NZ.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00556,"28":0,"29":0.01113,"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.00556,"49":0,"50":0,"51":0,"52":0.02782,"53":0,"54":0.00556,"55":0,"56":0.00556,"57":0,"58":0.00556,"59":0.00556,"60":0.01113,"61":0,"62":0,"63":0,"64":0,"65":0.00556,"66":0,"67":0,"68":0.03894,"69":0,"70":0.00556,"71":0.00556,"72":0.01669,"73":0,"74":0.00556,"75":0.00556,"76":0.00556,"77":0.01113,"78":0.08345,"79":0.02225,"80":0.11682,"81":1.62996,"82":0.22252,"83":0,"84":0,"3.5":0,"3.6":0},D:{"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.00556,"35":0,"36":0,"37":0,"38":0.01669,"39":0,"40":0.01669,"41":0,"42":0.00556,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0.00556,"49":0.13908,"50":0,"51":0,"52":0,"53":0.02782,"54":0.00556,"55":0.00556,"56":0.00556,"57":0.01113,"58":0.00556,"59":0.00556,"60":0,"61":0.00556,"62":0.00556,"63":0.01669,"64":0.00556,"65":0.02225,"66":0.01113,"67":0.03338,"68":0.02225,"69":0.05007,"70":0.03338,"71":0.05563,"72":0.02225,"73":0.07232,"74":0.05007,"75":0.0445,"76":0.06119,"77":0.03894,"78":0.08345,"79":0.10013,"80":0.12239,"81":0.13351,"83":0.20583,"84":0.49511,"85":7.35429,"86":9.70187,"87":0.02225,"88":0.01113,"89":0},F:{"9":0,"11":0,"12":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.01669,"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,"60":0.00556,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.00556,"69":0,"70":0.02782,"71":0.1502,"72":0.00556,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":12.60466,"3.2":0.0302,"4.0-4.1":0.02588,"4.2-4.3":0.00431,"5.0-5.1":0.02157,"6.0-6.1":0.01294,"7.0-7.1":0.0302,"8.1-8.4":0.09922,"9.0-9.2":0.05608,"9.3":0.71608,"10.0-10.2":0.12078,"10.3":0.66431,"11.0-11.2":0.2502,"11.3-11.4":0.42706,"12.0-12.1":0.43568,"12.2-12.4":4.34391,"13.0-13.1":0.35804,"13.2":0.17686,"13.3":1.34588,"13.4-13.7":7.16939},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.00556,"11":0.02225,"12":0.02782,"13":0.20027,"14":1.32956,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.01113,"10.1":0.03894,"11.1":0.07788,"12.1":0.15576,"13.1":2.23633},B:{"12":0,"13":0,"14":0.00556,"15":0.01113,"16":0.01113,"17":0.02782,"18":0.21139,"79":0,"80":0,"81":0,"83":0.00556,"84":0.00556,"85":0.64531,"86":1.30174},I:{"3":0,"4":0.10734,_:"81","2.1":0,"2.2":0,"2.3":0.00086,"4.1":0.0541,"4.2-4.3":0.02404,"4.4":0,"4.4.3-4.4.4":0.19578},P:{"4":0.11617,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.02112,"8.2":0.01056,"9.2":0.04224,"10.1":0.07393,"11.1-11.2":0.11617,"12.0":2.92537},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.01033,"9":0.01033,"10":0,"11":0.9918,"5.5":0},J:{"7":0,"10":0.00444},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.35052},Q:{"10.4":0.12867},O:{"0":0.29284},H:{"0":0.21423},L:{"0":34.80352}};
diff --git a/node_modules/caniuse-lite/data/regions/OM.js b/node_modules/caniuse-lite/data/regions/OM.js
new file mode 100644
index 0000000..1df099f
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/OM.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00399,"48":0.00399,"49":0,"50":0.00399,"51":0,"52":0.00399,"53":0,"54":0,"55":0,"56":0,"57":0.00399,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.00399,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0.00399,"77":0.00399,"78":0.01994,"79":0.00399,"80":0.01595,"81":0.41076,"82":0.05583,"83":0.00399,"84":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.01994,"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.00399,"35":0,"36":0.00399,"37":0,"38":0.00798,"39":0,"40":0.00399,"41":0,"42":0.00399,"43":0.00399,"44":0,"45":0,"46":0.00399,"47":0,"48":0,"49":0.06381,"50":0,"51":0,"52":0,"53":0.01196,"54":0,"55":0.00399,"56":0.00399,"57":0.00399,"58":0.00399,"59":0.00399,"60":0.00399,"61":0.00399,"62":0.01196,"63":0.01196,"64":0.00399,"65":0.01994,"66":0.00399,"67":0.01196,"68":0.00399,"69":0.00798,"70":0.01595,"71":0.01595,"72":0.01994,"73":0.00798,"74":0.03988,"75":0.02792,"76":0.01595,"77":0.01196,"78":0.05184,"79":0.02792,"80":0.04387,"81":0.05982,"83":0.07577,"84":0.0997,"85":3.6889,"86":6.48449,"87":0.02792,"88":0.00399,"89":0},F:{"9":0,"11":0,"12":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.00399,"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.01196,"51":0.07178,"52":0.00399,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0.00798,"62":0,"63":0.00399,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.04387,"71":0.20738,"72":0.00399,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":6.78934,"3.2":0.01626,"4.0-4.1":0.01394,"4.2-4.3":0.00232,"5.0-5.1":0.01162,"6.0-6.1":0.00697,"7.0-7.1":0.01626,"8.1-8.4":0.05344,"9.0-9.2":0.03021,"9.3":0.38571,"10.0-10.2":0.06506,"10.3":0.35782,"11.0-11.2":0.13476,"11.3-11.4":0.23003,"12.0-12.1":0.23468,"12.2-12.4":2.33979,"13.0-13.1":0.19285,"13.2":0.09526,"13.3":0.72494,"13.4-13.7":3.8617},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.02393,"12":0.01994,"13":0.0678,"14":0.6979,_:"0","3.1":0,"3.2":0,"5.1":0.03988,"6.1":0,"7.1":0,"9.1":0.00399,"10.1":0.00798,"11.1":0.04387,"12.1":0.08375,"13.1":0.60219},B:{"12":0.00798,"13":0.01196,"14":0.01196,"15":0.00798,"16":0.01196,"17":0.02393,"18":0.17547,"79":0,"80":0,"81":0,"83":0,"84":0.01196,"85":0.27517,"86":0.61814},I:{"3":0,"4":0.03538,_:"81","2.1":0,"2.2":0,"2.3":0.00028,"4.1":0.01783,"4.2-4.3":0.00793,"4.4":0,"4.4.3-4.4.4":0.06453},P:{"4":0.49827,"5.0-5.4":0.02034,"6.2-6.4":0.02034,"7.2-7.4":0.14236,"8.2":0.05084,"9.2":0.24405,"10.1":0.11186,"11.1-11.2":0.33557,"12.0":3.78277},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.00805,"9":0.00403,"10":0,"11":0.85332,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.08417},Q:{"10.4":0.06012},O:{"0":0.43888},H:{"0":0.54072},L:{"0":59.85855}};
diff --git a/node_modules/caniuse-lite/data/regions/PA.js b/node_modules/caniuse-lite/data/regions/PA.js
new file mode 100644
index 0000000..eea6839
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/PA.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00614,"49":0,"50":0,"51":0,"52":0.00614,"53":0,"54":0,"55":0,"56":0,"57":0.00614,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0.03681,"67":0.00614,"68":0.00614,"69":0.01227,"70":0,"71":0,"72":0.00614,"73":0.02454,"74":0,"75":0,"76":0,"77":0.00614,"78":0.07976,"79":0.00614,"80":0.04295,"81":1.38651,"82":0.20859,"83":0,"84":0,"3.5":0,"3.6":0},D:{"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.01227,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0.00614,"49":0.14111,"50":0,"51":0,"52":0,"53":0.01841,"54":0.00614,"55":0,"56":0.00614,"57":0,"58":0.00614,"59":0,"60":0,"61":0,"62":0.00614,"63":0.01227,"64":0.00614,"65":0.03068,"66":0.00614,"67":0.04908,"68":0.01841,"69":0.01841,"70":0.02454,"71":0.01841,"72":0.03681,"73":0.01841,"74":0.01841,"75":0.05522,"76":0.03681,"77":0.03068,"78":0.04908,"79":0.09203,"80":0.09203,"81":0.09203,"83":0.14111,"84":0.28835,"85":10.04913,"86":16.27616,"87":0.01227,"88":0.00614,"89":0},F:{"9":0,"11":0,"12":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.02454,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.00614,"69":0,"70":0.06135,"71":0.53988,"72":0.01227,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":3.7231,"3.2":0.00892,"4.0-4.1":0.00764,"4.2-4.3":0.00127,"5.0-5.1":0.00637,"6.0-6.1":0.00382,"7.0-7.1":0.00892,"8.1-8.4":0.02931,"9.0-9.2":0.01656,"9.3":0.21151,"10.0-10.2":0.03568,"10.3":0.19622,"11.0-11.2":0.0739,"11.3-11.4":0.12614,"12.0-12.1":0.12869,"12.2-12.4":1.28308,"13.0-13.1":0.10576,"13.2":0.05224,"13.3":0.39754,"13.4-13.7":2.11766},E:{"4":0,"5":0,"6":0,"7":0,"8":0.00614,"9":0,"10":0,"11":0.01227,"12":0.03681,"13":0.18405,"14":1.68713,_:"0","3.1":0,"3.2":0,"5.1":0.65645,"6.1":0,"7.1":0,"9.1":0,"10.1":0.01227,"11.1":0.09203,"12.1":0.2454,"13.1":1.53375},B:{"12":0,"13":0.01841,"14":0.00614,"15":0.00614,"16":0.03068,"17":0.01227,"18":0.09203,"79":0,"80":0,"81":0,"83":0.00614,"84":0.00614,"85":0.54602,"86":1.13498},I:{"3":0,"4":0.06652,_:"81","2.1":0,"2.2":0,"2.3":0.00053,"4.1":0.03353,"4.2-4.3":0.0149,"4.4":0,"4.4.3-4.4.4":0.12133},P:{"4":0.21425,"5.0-5.4":0,"6.2-6.4":0.0102,"7.2-7.4":0.20405,"8.2":0.0204,"9.2":0.14283,"10.1":0.08162,"11.1-11.2":0.28567,"12.0":2.93829},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.00723,"9":0.00723,"10":0,"11":0.18799,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0.00387},R:{_:"0"},M:{"0":0.18552},Q:{"10.4":0},O:{"0":0.13141},H:{"0":0.11709},L:{"0":47.33219}};
diff --git a/node_modules/caniuse-lite/data/regions/PE.js b/node_modules/caniuse-lite/data/regions/PE.js
new file mode 100644
index 0000000..3cf9c1c
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/PE.js
@@ -0,0 +1 @@
+module.exports={C:{"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.0152,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0.0076,"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.0076,"66":0.02279,"67":0,"68":0.0152,"69":0,"70":0,"71":0,"72":0.0076,"73":0.0076,"74":0,"75":0,"76":0.0076,"77":0,"78":0.03799,"79":0.0076,"80":0.03039,"81":1.1549,"82":0.17475,"83":0.0076,"84":0,"3.5":0,"3.6":0},D:{"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.0076,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.0076,"35":0,"36":0,"37":0,"38":0.03039,"39":0,"40":0,"41":0,"42":0.0076,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.09877,"50":0,"51":0,"52":0,"53":0.03799,"54":0,"55":0.0076,"56":0.0076,"57":0.0076,"58":0.0076,"59":0.0076,"60":0,"61":0.0152,"62":0,"63":0.0152,"64":0.0076,"65":0.02279,"66":0.0076,"67":0.02279,"68":0.0076,"69":0.0152,"70":0.03799,"71":0.03799,"72":0.03799,"73":0.03799,"74":0.06078,"75":0.03799,"76":0.05319,"77":0.03799,"78":0.06838,"79":0.15196,"80":0.21274,"81":0.12157,"83":0.23554,"84":0.3951,"85":17.95407,"86":30.86308,"87":0.0152,"88":0.0152,"89":0},F:{"9":0,"11":0,"12":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,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.0076,"69":0,"70":0.09877,"71":1.1397,"72":0.02279,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":1.55195,"3.2":0.00372,"4.0-4.1":0.00319,"4.2-4.3":0.00053,"5.0-5.1":0.00266,"6.0-6.1":0.00159,"7.0-7.1":0.00372,"8.1-8.4":0.01222,"9.0-9.2":0.0069,"9.3":0.08817,"10.0-10.2":0.01487,"10.3":0.08179,"11.0-11.2":0.03081,"11.3-11.4":0.05258,"12.0-12.1":0.05364,"12.2-12.4":0.53484,"13.0-13.1":0.04408,"13.2":0.02178,"13.3":0.16571,"13.4-13.7":0.88273},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.0076,"11":0.0076,"12":0.02279,"13":0.07598,"14":0.60784,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0.03799,"12.1":0.09118,"13.1":0.46348},B:{"12":0,"13":0,"14":0,"15":0.0076,"16":0.0076,"17":0.0076,"18":0.05319,"79":0,"80":0,"81":0,"83":0,"84":0.0076,"85":0.63063,"86":1.23847},I:{"3":0,"4":0.0336,_:"81","2.1":0,"2.2":0,"2.3":0.00027,"4.1":0.01693,"4.2-4.3":0.00753,"4.4":0,"4.4.3-4.4.4":0.06128},P:{"4":0.11365,"5.0-5.4":0,"6.2-6.4":0.01033,"7.2-7.4":0.02066,"8.2":0,"9.2":0.05166,"10.1":0.02066,"11.1-11.2":0.04133,"12.0":0.49593},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.01609,"9":0,"10":0,"11":0.12067,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.06005},Q:{"10.4":0},O:{"0":0.02162},H:{"0":0.08187},L:{"0":37.57252}};
diff --git a/node_modules/caniuse-lite/data/regions/PF.js b/node_modules/caniuse-lite/data/regions/PF.js
new file mode 100644
index 0000000..ec9f8b3
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/PF.js
@@ -0,0 +1 @@
+module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.03769,"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.00538,"30":0,"31":0.00538,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.06999,"39":0,"40":0,"41":0.00538,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0.02154,"49":0,"50":0.00538,"51":0,"52":0.02692,"53":0,"54":0,"55":0,"56":0.00538,"57":0.00538,"58":0,"59":0.00538,"60":0.1669,"61":0,"62":0.00538,"63":0.01077,"64":0,"65":0,"66":0.00538,"67":0.01077,"68":0.33381,"69":0.00538,"70":0,"71":0.02154,"72":0.01615,"73":0,"74":0.02692,"75":0.06999,"76":0.00538,"77":0.01077,"78":0.17767,"79":0.08614,"80":0.25843,"81":3.45114,"82":0.44687,"83":0.03769,"84":0,"3.5":0,"3.6":0},D:{"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.04846,"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.00538,"64":0,"65":0.08076,"66":0,"67":0.01077,"68":0,"69":0,"70":0.01077,"71":0.01077,"72":0,"73":0.0323,"74":0.01077,"75":0.01077,"76":0.01615,"77":0.05384,"78":0.11845,"79":0.1669,"80":0.06999,"81":0.09691,"83":0.06461,"84":0.37688,"85":5.66397,"86":7.96294,"87":0,"88":0,"89":0},F:{"9":0,"11":0,"12":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,"60":0,"62":0,"63":0,"64":0,"65":0.01615,"66":0,"67":0,"68":0,"69":0,"70":0.03769,"71":0.21536,"72":0.01077,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":9.06555,"3.2":0.02172,"4.0-4.1":0.01862,"4.2-4.3":0.0031,"5.0-5.1":0.01551,"6.0-6.1":0.00931,"7.0-7.1":0.02172,"8.1-8.4":0.07136,"9.0-9.2":0.04033,"9.3":0.51502,"10.0-10.2":0.08687,"10.3":0.47779,"11.0-11.2":0.17995,"11.3-11.4":0.30715,"12.0-12.1":0.31335,"12.2-12.4":3.12423,"13.0-13.1":0.25751,"13.2":0.1272,"13.3":0.96798,"13.4-13.7":5.15638},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00538,"12":0.05922,"13":0.12922,"14":1.46983,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.00538,"10.1":0.09691,"11.1":0.12922,"12.1":0.17229,"13.1":2.15898},B:{"12":0,"13":0,"14":0,"15":0.00538,"16":0.00538,"17":0.01615,"18":0.17229,"79":0,"80":0,"81":0,"83":0,"84":0.00538,"85":0.60839,"86":1.34062},I:{"3":0,"4":0.11019,_:"81","2.1":0,"2.2":0,"2.3":0.00088,"4.1":0.05554,"4.2-4.3":0.02468,"4.4":0,"4.4.3-4.4.4":0.20099},P:{"4":0.03175,"5.0-5.4":0,"6.2-6.4":0.01058,"7.2-7.4":0.08466,"8.2":0.01058,"9.2":0.15873,"10.1":0.09524,"11.1-11.2":0.22222,"12.0":3.0688},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.00538,"9":0,"10":0,"11":0.19921,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.21695},Q:{"10.4":0},O:{"0":0.2585},H:{"0":0.0437},L:{"0":44.94369}};
diff --git a/node_modules/caniuse-lite/data/regions/PG.js b/node_modules/caniuse-lite/data/regions/PG.js
new file mode 100644
index 0000000..057803c
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/PG.js
@@ -0,0 +1 @@
+module.exports={C:{"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.0082,"29":0,"30":0,"31":0,"32":0.0041,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.0041,"44":0.0041,"45":0,"46":0,"47":0.0082,"48":0.0082,"49":0,"50":0.0082,"51":0,"52":0.0082,"53":0,"54":0,"55":0,"56":0.0082,"57":0.0123,"58":0.0082,"59":0.0041,"60":0.0041,"61":0.0164,"62":0.0041,"63":0.0082,"64":0,"65":0.0082,"66":0.0041,"67":0.02051,"68":0.04511,"69":0.0041,"70":0.0123,"71":0.02051,"72":0.03281,"73":0.0082,"74":0.0041,"75":0.02051,"76":0.0164,"77":0.0164,"78":0.04101,"79":0.02871,"80":0.02871,"81":1.06216,"82":0.12713,"83":0.0082,"84":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.0082,"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.0041,"38":0.0041,"39":0,"40":0.02461,"41":0,"42":0,"43":0.0041,"44":0.0041,"45":0,"46":0.0123,"47":0,"48":0,"49":0.03691,"50":0,"51":0.0041,"52":0,"53":0,"54":0,"55":0.04511,"56":0,"57":0.0041,"58":0.0082,"59":0.0041,"60":0.0041,"61":0.0082,"62":0.0123,"63":0.02461,"64":0.0082,"65":0.02871,"66":0.0082,"67":0.0082,"68":0.0123,"69":0.02871,"70":0.07792,"71":0.05331,"72":0.0082,"73":0.0164,"74":0.02051,"75":0.0082,"76":0.04101,"77":0.02461,"78":0.08202,"79":0.04921,"80":0.05741,"81":0.04921,"83":0.10663,"84":0.11893,"85":3.19468,"86":4.9212,"87":0.02461,"88":0,"89":0},F:{"9":0,"11":0,"12":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.10253,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0.0041,"48":0,"49":0,"50":0.0041,"51":0.04101,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0.0082,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0.0041,"68":0,"69":0,"70":0.04101,"71":0.31578,"72":0.0041,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.0123},G:{"8":0,"14":1.61697,"3.2":0.00387,"4.0-4.1":0.00332,"4.2-4.3":0.00055,"5.0-5.1":0.00277,"6.0-6.1":0.00166,"7.0-7.1":0.00387,"8.1-8.4":0.01273,"9.0-9.2":0.00719,"9.3":0.09186,"10.0-10.2":0.01549,"10.3":0.08522,"11.0-11.2":0.0321,"11.3-11.4":0.05478,"12.0-12.1":0.05589,"12.2-12.4":0.55725,"13.0-13.1":0.04593,"13.2":0.02269,"13.3":0.17265,"13.4-13.7":0.91971},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.0164,"12":0.0082,"13":0.07382,"14":0.06562,_:"0","3.1":0,"3.2":0,"5.1":0.02051,"6.1":0,"7.1":0,"9.1":0.03281,"10.1":0.0041,"11.1":0.02871,"12.1":0.05741,"13.1":0.17224},B:{"12":0.03281,"13":0.04511,"14":0.02461,"15":0.05331,"16":0.08612,"17":0.09432,"18":0.50442,"79":0,"80":0,"81":0.0041,"83":0.0041,"84":0.02461,"85":0.35679,"86":0.63155},I:{"3":0,"4":0.41429,_:"81","2.1":0,"2.2":0,"2.3":0.00331,"4.1":0.2088,"4.2-4.3":0.0928,"4.4":0,"4.4.3-4.4.4":0.75567},P:{"4":0.42214,"5.0-5.4":0.02059,"6.2-6.4":0.07207,"7.2-7.4":0.5354,"8.2":0.04118,"9.2":0.60747,"10.1":0.24711,"11.1-11.2":0.58688,"12.0":1.38998},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.01875,"9":0.02343,"10":0,"11":0.54836,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0.23006},R:{_:"0"},M:{"0":0.29495},Q:{"10.4":0.45422},O:{"0":2.45398},H:{"0":1.66427},L:{"0":67.70579}};
diff --git a/node_modules/caniuse-lite/data/regions/PH.js b/node_modules/caniuse-lite/data/regions/PH.js
new file mode 100644
index 0000000..6763f3a
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/PH.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00556,"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.01113,"53":0,"54":0,"55":0,"56":0.02782,"57":0,"58":0,"59":0,"60":0.00556,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0.00556,"67":0,"68":0.01669,"69":0.00556,"70":0,"71":0,"72":0.01113,"73":0.00556,"74":0.00556,"75":0,"76":0.00556,"77":0.00556,"78":0.03338,"79":0.01113,"80":0.02782,"81":0.80107,"82":0.15576,"83":0.01113,"84":0,"3.5":0,"3.6":0},D:{"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.00556,"35":0,"36":0,"37":0,"38":0.02225,"39":0,"40":0,"41":0,"42":0.00556,"43":0,"44":0,"45":0,"46":0,"47":0.00556,"48":0,"49":0.05007,"50":0,"51":0.00556,"52":0.00556,"53":0.02225,"54":0.00556,"55":0.00556,"56":0.00556,"57":0.00556,"58":0.01113,"59":0.00556,"60":0.00556,"61":0.00556,"62":0.00556,"63":0.01669,"64":0.00556,"65":0.01669,"66":0.01113,"67":0.02225,"68":0.01113,"69":0.02782,"70":0.02782,"71":0.03338,"72":0.02782,"73":0.02782,"74":0.1057,"75":0.06119,"76":0.05007,"77":0.13908,"78":0.1057,"79":0.11126,"80":0.22808,"81":0.25034,"83":0.18914,"84":0.38941,"85":8.57258,"86":13.44021,"87":0.05007,"88":0.01669,"89":0},F:{"9":0,"11":0,"12":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.00556,"37":0.02225,"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.00556,"52":0,"53":0.00556,"54":0,"55":0.00556,"56":0,"57":0,"58":0,"60":0.01669,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.03894,"71":0.42279,"72":0.01113,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.00556},G:{"8":0,"14":4.21644,"3.2":0.0101,"4.0-4.1":0.00866,"4.2-4.3":0.00144,"5.0-5.1":0.00721,"6.0-6.1":0.00433,"7.0-7.1":0.0101,"8.1-8.4":0.03319,"9.0-9.2":0.01876,"9.3":0.23954,"10.0-10.2":0.0404,"10.3":0.22222,"11.0-11.2":0.08369,"11.3-11.4":0.14286,"12.0-12.1":0.14574,"12.2-12.4":1.4531,"13.0-13.1":0.11977,"13.2":0.05916,"13.3":0.45021,"13.4-13.7":2.39826},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00556,"12":0.01669,"13":0.07232,"14":0.40054,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0.00556,"11.1":0.02225,"12.1":0.05007,"13.1":0.43391},B:{"12":0.00556,"13":0.00556,"14":0.00556,"15":0.00556,"16":0.00556,"17":0.01113,"18":0.07232,"79":0,"80":0,"81":0.00556,"83":0.00556,"84":0.01113,"85":0.57299,"86":1.15154},I:{"3":0,"4":0.0959,_:"81","2.1":0,"2.2":0,"2.3":0.00077,"4.1":0.04833,"4.2-4.3":0.02148,"4.4":0,"4.4.3-4.4.4":0.17492},P:{"4":0.19824,"5.0-5.4":0,"6.2-6.4":0.01043,"7.2-7.4":0.02087,"8.2":0.01043,"9.2":0.07304,"10.1":0.05217,"11.1-11.2":0.10434,"12.0":1.25204},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.01243,"9":0,"10":0,"11":0.09326,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.0843},Q:{"10.4":0.01331},O:{"0":0.78979},H:{"0":0.76872},L:{"0":55.15401}};
diff --git a/node_modules/caniuse-lite/data/regions/PK.js b/node_modules/caniuse-lite/data/regions/PK.js
new file mode 100644
index 0000000..19000b8
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/PK.js
@@ -0,0 +1 @@
+module.exports={C:{"2":0,"3":0,"4":0.00935,"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.00312,"44":0,"45":0.00312,"46":0,"47":0.00312,"48":0.00312,"49":0,"50":0,"51":0,"52":0.01559,"53":0,"54":0,"55":0.00312,"56":0,"57":0,"58":0,"59":0,"60":0.00312,"61":0,"62":0,"63":0.00935,"64":0.00312,"65":0.00312,"66":0.00312,"67":0,"68":0.00624,"69":0,"70":0,"71":0,"72":0.00312,"73":0,"74":0,"75":0,"76":0,"77":0.00312,"78":0.00935,"79":0.00312,"80":0.00935,"81":0.33986,"82":0.06548,"83":0.00624,"84":0,"3.5":0,"3.6":0},D:{"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.00312,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.00312,"36":0,"37":0,"38":0,"39":0,"40":0.00312,"41":0,"42":0.00312,"43":0.01247,"44":0,"45":0,"46":0,"47":0,"48":0.00312,"49":0.02806,"50":0.00312,"51":0,"52":0,"53":0,"54":0,"55":0.00312,"56":0.00312,"57":0,"58":0.00312,"59":0,"60":0,"61":0.01871,"62":0.00312,"63":0.01247,"64":0.00312,"65":0.00312,"66":0,"67":0.00312,"68":0.00312,"69":0.00935,"70":0.02183,"71":0.02183,"72":0.02183,"73":0.01559,"74":0.0343,"75":0.00935,"76":0.00935,"77":0.01247,"78":0.01559,"79":0.0343,"80":0.04677,"81":0.0343,"83":0.04053,"84":0.08107,"85":2.616,"86":4.51798,"87":0.02183,"88":0.01247,"89":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0.00312,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.00312,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0.01247,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0.00624,"47":0.00312,"48":0,"49":0,"50":0.01871,"51":0.23697,"52":0.00312,"53":0,"54":0.00312,"55":0.00312,"56":0,"57":0,"58":0.00312,"60":0.00624,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.03118,"71":0.24009,"72":0.00624,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":1.47007,"3.2":0.00352,"4.0-4.1":0.00302,"4.2-4.3":0.0005,"5.0-5.1":0.00252,"6.0-6.1":0.00151,"7.0-7.1":0.00352,"8.1-8.4":0.01157,"9.0-9.2":0.00654,"9.3":0.08352,"10.0-10.2":0.01409,"10.3":0.07748,"11.0-11.2":0.02918,"11.3-11.4":0.04981,"12.0-12.1":0.05081,"12.2-12.4":0.50663,"13.0-13.1":0.04176,"13.2":0.02063,"13.3":0.15697,"13.4-13.7":0.83616},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.00312,"13":0.00935,"14":0.0343,_:"0","3.1":0,"3.2":0,"5.1":0.02806,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0.00312,"12.1":0.00624,"13.1":0.04053},B:{"12":0.00624,"13":0.00312,"14":0.00312,"15":0.00312,"16":0.00312,"17":0.00312,"18":0.02806,"79":0,"80":0,"81":0,"83":0,"84":0.00312,"85":0.06548,"86":0.13096},I:{"3":0,"4":0.15745,_:"81","2.1":0,"2.2":0,"2.3":0.00126,"4.1":0.07936,"4.2-4.3":0.03527,"4.4":0,"4.4.3-4.4.4":0.28719},P:{"4":0.26398,"5.0-5.4":0.02031,"6.2-6.4":0.03046,"7.2-7.4":0.05077,"8.2":0.02031,"9.2":0.05077,"10.1":0.05077,"11.1-11.2":0.09138,"12.0":1.06607},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.0236,"9":0.00337,"10":0.00337,"11":0.09438,"5.5":0},J:{"7":0,"10":0.00688},N:{"10":0,"11":0},S:{"2.5":0.08258},R:{_:"0"},M:{"0":0.04129},Q:{"10.4":0.01376},O:{"0":5.38861},H:{"0":1.79174},L:{"0":74.92778}};
diff --git a/node_modules/caniuse-lite/data/regions/PL.js b/node_modules/caniuse-lite/data/regions/PL.js
new file mode 100644
index 0000000..df0ee9f
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/PL.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00494,"44":0,"45":0,"46":0,"47":0.00494,"48":0.00494,"49":0,"50":0.00494,"51":0.00494,"52":0.18783,"53":0,"54":0,"55":0.00494,"56":0.00989,"57":0.00494,"58":0.00494,"59":0,"60":0.01483,"61":0.00494,"62":0,"63":0.00494,"64":0.00494,"65":0.00494,"66":0.00989,"67":0.00494,"68":0.08403,"69":0.00494,"70":0.00989,"71":0.00494,"72":0.02966,"73":0.00494,"74":0.00989,"75":0.00989,"76":0.01483,"77":0.01483,"78":0.1038,"79":0.0346,"80":0.11369,"81":3.72208,"82":0.59316,"83":0.00989,"84":0.00494,"3.5":0,"3.6":0},D:{"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.00494,"35":0,"36":0.00494,"37":0,"38":0.00494,"39":0,"40":0.00494,"41":0,"42":0,"43":0.00494,"44":0,"45":0,"46":0.00494,"47":0,"48":0,"49":0.17301,"50":0.00494,"51":0,"52":0,"53":0.00494,"54":0,"55":0.00494,"56":0.00494,"57":0,"58":0.00989,"59":0.00989,"60":0,"61":0.01483,"62":0.00494,"63":0.02472,"64":0.00494,"65":0.00494,"66":0.00494,"67":0.00989,"68":0.00989,"69":0.00494,"70":0.01483,"71":0.02472,"72":0.00989,"73":0.01483,"74":0.05932,"75":0.01977,"76":0.01977,"77":0.01483,"78":0.02472,"79":0.04943,"80":0.05932,"81":0.08897,"83":0.09886,"84":0.17301,"85":4.84414,"86":8.04226,"87":0.00989,"88":0.00494,"89":0},F:{"9":0,"11":0,"12":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.01977,"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.00494,"51":0.05932,"52":0,"53":0.01483,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0.01483,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0.00494,"68":0.01483,"69":0.00494,"70":0.22738,"71":2.21941,"72":0.03954,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.00494},G:{"8":0,"14":2.21394,"3.2":0.0053,"4.0-4.1":0.00455,"4.2-4.3":0.00076,"5.0-5.1":0.00379,"6.0-6.1":0.00227,"7.0-7.1":0.0053,"8.1-8.4":0.01743,"9.0-9.2":0.00985,"9.3":0.12577,"10.0-10.2":0.02122,"10.3":0.11668,"11.0-11.2":0.04395,"11.3-11.4":0.07501,"12.0-12.1":0.07653,"12.2-12.4":0.76298,"13.0-13.1":0.06289,"13.2":0.03106,"13.3":0.2364,"13.4-13.7":1.25926},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.00494,"13":0.04449,"14":0.30647,_:"0","3.1":0,"3.2":0,"5.1":0.00494,"6.1":0,"7.1":0,"9.1":0,"10.1":0.00494,"11.1":0.01977,"12.1":0.0346,"13.1":0.27681},B:{"12":0,"13":0.00494,"14":0.00989,"15":0.02472,"16":0.00494,"17":0.01977,"18":0.12852,"79":0,"80":0,"81":0.00494,"83":0.00494,"84":0.00989,"85":0.4251,"86":0.93917},I:{"3":0,"4":0.05066,_:"81","2.1":0,"2.2":0,"2.3":0.00041,"4.1":0.02553,"4.2-4.3":0.01135,"4.4":0,"4.4.3-4.4.4":0.0924},P:{"4":0.21402,"5.0-5.4":0.01019,"6.2-6.4":0.01019,"7.2-7.4":0.06115,"8.2":0.03057,"9.2":0.17326,"10.1":0.10192,"11.1-11.2":0.28536,"12.0":3.08806},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.00494,"9":0,"10":0,"11":0.17301,"5.5":0},J:{"7":0,"10":0.00506},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.24779},Q:{"10.4":0},O:{"0":0.02529},H:{"0":1.02456},L:{"0":62.585}};
diff --git a/node_modules/caniuse-lite/data/regions/PM.js b/node_modules/caniuse-lite/data/regions/PM.js
new file mode 100644
index 0000000..908173a
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/PM.js
@@ -0,0 +1 @@
+module.exports={C:{"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.02383,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0.00596,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0.02383,"64":0,"65":0,"66":0,"67":0,"68":0.09531,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0.00596,"76":0,"77":0.00596,"78":0.0417,"79":1.71562,"80":0.02383,"81":3.93162,"82":0.87568,"83":0.00596,"84":0,"3.5":0,"3.6":0},D:{"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.04766,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0.00596,"62":0,"63":0.03574,"64":0,"65":0.05361,"66":0,"67":0,"68":0.01787,"69":0,"70":0,"71":0,"72":0,"73":0.01191,"74":0.00596,"75":0.08936,"76":0.01191,"77":0,"78":0.0834,"79":0.00596,"80":0.01191,"81":0.01787,"83":0.04766,"84":0.01191,"85":5.82595,"86":7.13649,"87":0,"88":0,"89":0},F:{"9":0,"11":0,"12":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,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.00596,"71":0.65527,"72":0.01191,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":16.72507,"3.2":0.04007,"4.0-4.1":0.03434,"4.2-4.3":0.00572,"5.0-5.1":0.02862,"6.0-6.1":0.01717,"7.0-7.1":0.04007,"8.1-8.4":0.13165,"9.0-9.2":0.07441,"9.3":0.95016,"10.0-10.2":0.16027,"10.3":0.88147,"11.0-11.2":0.33198,"11.3-11.4":0.56666,"12.0-12.1":0.57811,"12.2-12.4":5.76391,"13.0-13.1":0.47508,"13.2":0.23468,"13.3":1.78584,"13.4-13.7":9.51303},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.01191,"13":0.04766,"14":3.52654,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0.02979,"11.1":0.14893,"12.1":0.02979,"13.1":2.22196},B:{"12":0,"13":0,"14":0,"15":0,"16":0,"17":0.02979,"18":0.10127,"79":0,"80":0,"81":0,"83":0,"84":0,"85":0.52422,"86":1.53095},I:{"3":0,"4":0.32104,_:"81","2.1":0,"2.2":0,"2.3":0.00257,"4.1":0.1618,"4.2-4.3":0.07191,"4.4":0,"4.4.3-4.4.4":0.58558},P:{"4":0.01232,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.01232,"8.2":0,"9.2":0,"10.1":0,"11.1-11.2":0.01232,"12.0":0.72715},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.05361,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.01213},Q:{"10.4":0},O:{"0":0},H:{"0":0},L:{"0":29.46369}};
diff --git a/node_modules/caniuse-lite/data/regions/PN.js b/node_modules/caniuse-lite/data/regions/PN.js
new file mode 100644
index 0000000..3d3b8ec
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/PN.js
@@ -0,0 +1 @@
+module.exports={C:{"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,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":1.63,"82":0,"83":0,"84":0,"3.5":0,"3.6":0},D:{"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,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":96.75,"83":0,"84":0,"85":0.81,"86":0.81,"87":0,"88":0,"89":0},F:{"9":0,"11":0,"12":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,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0,"8.1-8.4":0,"9.0-9.2":0,"9.3":0,"10.0-10.2":0,"10.3":0,"11.0-11.2":0,"11.3-11.4":0,"12.0-12.1":0,"12.2-12.4":0,"13.0-13.1":0,"13.2":0,"13.3":0,"13.4-13.7":0},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0,"12.1":0,"13.1":0},B:{"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"79":0,"80":0,"81":0,"83":0,"84":0,"85":0,"86":0},I:{"3":0,"4":0,_:"81","2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0},P:{"4":0,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0,"8.2":0,"9.2":0,"10.1":0,"11.1-11.2":0,"12.0":0},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0},Q:{"10.4":0},O:{"0":0},H:{"0":0},L:{"0":0}};
diff --git a/node_modules/caniuse-lite/data/regions/PR.js b/node_modules/caniuse-lite/data/regions/PR.js
new file mode 100644
index 0000000..c245f04
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/PR.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00567,"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.01702,"49":0.00567,"50":0,"51":0,"52":0.02837,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0.01702,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0.0624,"67":0,"68":0.01702,"69":0,"70":0,"71":0,"72":0,"73":0.03404,"74":0,"75":0,"76":0.00567,"77":0.00567,"78":0.09644,"79":0.01702,"80":0.03971,"81":1.37287,"82":0.19856,"83":0.00567,"84":0,"3.5":0,"3.6":0},D:{"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.00567,"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.10779,"50":0,"51":0,"52":0,"53":0.01135,"54":0,"55":0,"56":0.01135,"57":0,"58":0.01135,"59":0,"60":0,"61":0,"62":0,"63":0.00567,"64":0,"65":0.01702,"66":0.00567,"67":0.01135,"68":0.01135,"69":0.01135,"70":0.00567,"71":0.00567,"72":0.01135,"73":0.00567,"74":0.00567,"75":0.01135,"76":0.05106,"77":0.01135,"78":0.01135,"79":0.02837,"80":0.05673,"81":0.03971,"83":0.10779,"84":0.15317,"85":6.8927,"86":10.74466,"87":0.01135,"88":0,"89":0},F:{"9":0,"11":0,"12":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,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.00567,"69":0,"70":0.04538,"71":0.33471,"72":0.00567,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":12.54892,"3.2":0.03006,"4.0-4.1":0.02577,"4.2-4.3":0.00429,"5.0-5.1":0.02147,"6.0-6.1":0.01288,"7.0-7.1":0.03006,"8.1-8.4":0.09878,"9.0-9.2":0.05583,"9.3":0.71291,"10.0-10.2":0.12025,"10.3":0.66137,"11.0-11.2":0.24909,"11.3-11.4":0.42517,"12.0-12.1":0.43376,"12.2-12.4":4.3247,"13.0-13.1":0.35645,"13.2":0.17608,"13.3":1.33993,"13.4-13.7":7.13768},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.00567,"11":0.02269,"12":0.05673,"13":0.31202,"14":2.56987,_:"0","3.1":0,"3.2":0,"5.1":0.01135,"6.1":0,"7.1":0,"9.1":0.00567,"10.1":0.05106,"11.1":0.11913,"12.1":0.2099,"13.1":2.14439},B:{"12":0.01135,"13":0,"14":0.01135,"15":0.00567,"16":0.01702,"17":0.03404,"18":0.27798,"79":0,"80":0.00567,"81":0,"83":0.00567,"84":0.01135,"85":1.197,"86":2.35997},I:{"3":0,"4":0.10982,_:"81","2.1":0,"2.2":0,"2.3":0.00088,"4.1":0.05535,"4.2-4.3":0.0246,"4.4":0,"4.4.3-4.4.4":0.20031},P:{"4":0.09286,"5.0-5.4":0,"6.2-6.4":0.01032,"7.2-7.4":0.07223,"8.2":0.01032,"9.2":0.17541,"10.1":0.03095,"11.1-11.2":0.20636,"12.0":2.8891},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0.00567,"10":0,"11":0.38576,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.23799},Q:{"10.4":0.00865},O:{"0":0.23799},H:{"0":0.09832},L:{"0":33.65281}};
diff --git a/node_modules/caniuse-lite/data/regions/PS.js b/node_modules/caniuse-lite/data/regions/PS.js
new file mode 100644
index 0000000..6d6ebec
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/PS.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00639,"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.01278,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0.01278,"65":0.00639,"66":0,"67":0.00639,"68":0.00639,"69":0,"70":0.00639,"71":0,"72":0,"73":0.00639,"74":0,"75":0,"76":0,"77":0,"78":0.03833,"79":0.01278,"80":0.03195,"81":1.75059,"82":0.19167,"83":0.00639,"84":0,"3.5":0,"3.6":0},D:{"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.00639,"39":0,"40":0,"41":0.00639,"42":0,"43":0.00639,"44":0,"45":0,"46":0.00639,"47":0,"48":0,"49":0.14695,"50":0,"51":0,"52":0,"53":0.01278,"54":0,"55":0,"56":0,"57":0,"58":0.00639,"59":0.00639,"60":0,"61":0.00639,"62":0,"63":0.04472,"64":0,"65":0,"66":0,"67":0.01917,"68":0,"69":0.01917,"70":0.02556,"71":0.08945,"72":0.0575,"73":0.01278,"74":0.07667,"75":0.02556,"76":0.03195,"77":0.12139,"78":0.12778,"79":0.115,"80":0.18528,"81":0.15334,"83":0.12778,"84":0.37695,"85":11.23825,"86":19.69729,"87":0.01278,"88":0.00639,"89":0},F:{"9":0,"11":0,"12":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.00639,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.00639,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.01278,"69":0,"70":0.19167,"71":1.3928,"72":0.03195,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":3.38345,"3.2":0.00811,"4.0-4.1":0.00695,"4.2-4.3":0.00116,"5.0-5.1":0.00579,"6.0-6.1":0.00347,"7.0-7.1":0.00811,"8.1-8.4":0.02663,"9.0-9.2":0.01505,"9.3":0.19221,"10.0-10.2":0.03242,"10.3":0.17832,"11.0-11.2":0.06716,"11.3-11.4":0.11463,"12.0-12.1":0.11695,"12.2-12.4":1.16603,"13.0-13.1":0.09611,"13.2":0.04747,"13.3":0.36127,"13.4-13.7":1.92447},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0.15973,"10":0.00639,"11":0.00639,"12":0.03833,"13":0.17889,"14":0.65807,_:"0","3.1":0,"3.2":0,"5.1":0.04472,"6.1":0,"7.1":0,"9.1":0,"10.1":0.01917,"11.1":0.03195,"12.1":0.16611,"13.1":0.55584},B:{"12":0.00639,"13":0.00639,"14":0.00639,"15":0.00639,"16":0.00639,"17":0.00639,"18":0.10222,"79":0,"80":0,"81":0,"83":0,"84":0.01278,"85":0.48556,"86":1.13724},I:{"3":0,"4":0.07881,_:"81","2.1":0,"2.2":0,"2.3":0.00063,"4.1":0.03972,"4.2-4.3":0.01765,"4.4":0,"4.4.3-4.4.4":0.14374},P:{"4":0.07098,"5.0-5.4":0.01014,"6.2-6.4":0.01014,"7.2-7.4":0.07098,"8.2":0.02028,"9.2":0.09126,"10.1":0.07098,"11.1-11.2":0.15211,"12.0":1.71374},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.02556,"9":0,"10":0,"11":0.07028,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.06139},Q:{"10.4":0.00361},O:{"0":0.05778},H:{"0":0.15726},L:{"0":47.38276}};
diff --git a/node_modules/caniuse-lite/data/regions/PT.js b/node_modules/caniuse-lite/data/regions/PT.js
new file mode 100644
index 0000000..b5f0a83
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/PT.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00726,"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.01452,"49":0,"50":0,"51":0,"52":0.04357,"53":0,"54":0,"55":0,"56":0.00726,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0.00726,"64":0.00726,"65":0.00726,"66":0.00726,"67":0,"68":0.02178,"69":0.00726,"70":0,"71":0,"72":0.01452,"73":0.00726,"74":0,"75":0.00726,"76":0.00726,"77":0.01452,"78":0.11618,"79":0.01452,"80":0.07987,"81":2.59218,"82":0.42114,"83":0.00726,"84":0,"3.5":0,"3.6":0},D:{"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.00726,"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.00726,"39":0,"40":0,"41":0,"42":0,"43":0.1307,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.23235,"50":0,"51":0,"52":0,"53":0.01452,"54":0,"55":0,"56":0,"57":0.01452,"58":0.00726,"59":0,"60":0,"61":0.01452,"62":0.00726,"63":0.01452,"64":0,"65":0.02178,"66":0.00726,"67":0.02178,"68":0.00726,"69":0.02178,"70":0.03631,"71":0.05809,"72":0.03631,"73":0.07261,"74":0.02178,"75":0.03631,"76":0.06535,"77":0.03631,"78":0.04357,"79":0.07261,"80":0.1307,"81":0.08713,"83":0.14522,"84":0.2614,"85":14.32595,"86":23.43125,"87":0.02904,"88":0.00726,"89":0},F:{"9":0,"11":0,"12":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.01452,"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.00726,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.00726,"69":0,"70":0.12344,"71":1.2852,"72":0.02178,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":5.4039,"3.2":0.01295,"4.0-4.1":0.0111,"4.2-4.3":0.00185,"5.0-5.1":0.00925,"6.0-6.1":0.00555,"7.0-7.1":0.01295,"8.1-8.4":0.04254,"9.0-9.2":0.02404,"9.3":0.307,"10.0-10.2":0.05178,"10.3":0.28481,"11.0-11.2":0.10726,"11.3-11.4":0.18309,"12.0-12.1":0.18679,"12.2-12.4":1.86233,"13.0-13.1":0.1535,"13.2":0.07582,"13.3":0.57701,"13.4-13.7":3.07368},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0.01452,"10":0,"11":0.01452,"12":0.05083,"13":0.17426,"14":1.55385,_:"0","3.1":0,"3.2":0,"5.1":0.06535,"6.1":0,"7.1":0,"9.1":0.00726,"10.1":0.02904,"11.1":0.09439,"12.1":0.15974,"13.1":1.32876},B:{"12":0,"13":0,"14":0.00726,"15":0.00726,"16":0.00726,"17":0.02178,"18":0.18153,"79":0.00726,"80":0,"81":0.00726,"83":0.00726,"84":0.02178,"85":0.90036,"86":1.85156},I:{"3":0,"4":0.06745,_:"81","2.1":0,"2.2":0,"2.3":0.00054,"4.1":0.034,"4.2-4.3":0.01511,"4.4":0,"4.4.3-4.4.4":0.12303},P:{"4":0.04181,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.01045,"8.2":0,"9.2":0.01045,"10.1":0.01045,"11.1-11.2":0.03136,"12.0":1.31702},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.00752,"9":0.00752,"10":0,"11":0.62393,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.15338},Q:{"10.4":0.01643},O:{"0":0.18077},H:{"0":0.11669},L:{"0":32.47792}};
diff --git a/node_modules/caniuse-lite/data/regions/PW.js b/node_modules/caniuse-lite/data/regions/PW.js
new file mode 100644
index 0000000..33eb6db
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/PW.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00507,"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.00507,"69":0,"70":0,"71":0,"72":0,"73":0.01015,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0.01015,"80":0.01015,"81":0.38562,"82":0.06596,"83":0,"84":0,"3.5":0,"3.6":0},D:{"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.01015,"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.19281,"49":0.01015,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0.01015,"58":0.00507,"59":0,"60":0.01015,"61":0,"62":0,"63":0.00507,"64":0,"65":0.07611,"66":0,"67":0.00507,"68":0.00507,"69":0,"70":0.00507,"71":0.01015,"72":0.01015,"73":0.03552,"74":0.01015,"75":0.00507,"76":0.00507,"77":0.01015,"78":0.01015,"79":0.01015,"80":0.08626,"81":0.03044,"83":0.40592,"84":1.12135,"85":6.63172,"86":7.474,"87":0,"88":0,"89":0},F:{"9":0,"11":0,"12":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,"60":0.00507,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0.07104,"72":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":5.81887,"3.2":0.01394,"4.0-4.1":0.01195,"4.2-4.3":0.00199,"5.0-5.1":0.00996,"6.0-6.1":0.00597,"7.0-7.1":0.01394,"8.1-8.4":0.0458,"9.0-9.2":0.02589,"9.3":0.33057,"10.0-10.2":0.05576,"10.3":0.30668,"11.0-11.2":0.1155,"11.3-11.4":0.19715,"12.0-12.1":0.20113,"12.2-12.4":2.00534,"13.0-13.1":0.16529,"13.2":0.08165,"13.3":0.62132,"13.4-13.7":3.30971},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.05074,"14":0.29429,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0.00507,"11.1":0.03044,"12.1":0.19281,"13.1":0.58858},B:{"12":0,"13":0,"14":0,"15":0.00507,"16":0,"17":0.274,"18":0.04059,"79":0,"80":0,"81":0,"83":0,"84":0,"85":1.61861,"86":2.21226},I:{"3":0,"4":0.24373,_:"81","2.1":0,"2.2":0,"2.3":0.00195,"4.1":0.12284,"4.2-4.3":0.0546,"4.4":0,"4.4.3-4.4.4":0.44457},P:{"4":0.28313,"5.0-5.4":0,"6.2-6.4":0.3775,"7.2-7.4":2.00285,"8.2":0,"9.2":0.03146,"10.1":0.02097,"11.1-11.2":0.41944,"12.0":3.54431},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.95899,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.17734},Q:{"10.4":0.19211},O:{"0":0.76353},H:{"0":0.07928},L:{"0":50.94667}};
diff --git a/node_modules/caniuse-lite/data/regions/PY.js b/node_modules/caniuse-lite/data/regions/PY.js
new file mode 100644
index 0000000..6e2b0b5
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/PY.js
@@ -0,0 +1 @@
+module.exports={C:{"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.06378,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.01595,"36":0,"37":0,"38":0.01063,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0.00532,"48":0,"49":0,"50":0,"51":0,"52":0.07441,"53":0,"54":0,"55":0,"56":0,"57":0.00532,"58":0,"59":0,"60":0.00532,"61":0,"62":0,"63":0,"64":0,"65":0.00532,"66":0.00532,"67":0,"68":0.01063,"69":0,"70":0,"71":0.00532,"72":0.00532,"73":0.01063,"74":0,"75":0.01595,"76":0.00532,"77":0.00532,"78":0.02658,"79":0.01063,"80":0.03189,"81":1.05237,"82":0.15414,"83":0.00532,"84":0,"3.5":0,"3.6":0},D:{"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.04784,"50":0,"51":0,"52":0,"53":0.00532,"54":0.01063,"55":0.00532,"56":0,"57":0,"58":0.00532,"59":0,"60":0,"61":0.00532,"62":0,"63":0.01595,"64":0.00532,"65":0.01063,"66":0.01063,"67":0.01063,"68":0.00532,"69":0.01063,"70":0.02126,"71":0.03721,"72":0.00532,"73":0.01063,"74":0.02126,"75":0.03189,"76":0.04784,"77":0.01595,"78":0.06378,"79":0.05315,"80":0.07973,"81":0.05847,"83":0.09567,"84":0.21792,"85":8.26483,"86":13.59046,"87":0.01595,"88":0,"89":0},F:{"9":0,"11":0,"12":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.00532,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.00532,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.06378,"71":0.6378,"72":0.00532,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":2.12776,"3.2":0.0051,"4.0-4.1":0.00437,"4.2-4.3":0.00073,"5.0-5.1":0.00364,"6.0-6.1":0.00218,"7.0-7.1":0.0051,"8.1-8.4":0.01675,"9.0-9.2":0.00947,"9.3":0.12088,"10.0-10.2":0.02039,"10.3":0.11214,"11.0-11.2":0.04223,"11.3-11.4":0.07209,"12.0-12.1":0.07355,"12.2-12.4":0.73328,"13.0-13.1":0.06044,"13.2":0.02986,"13.3":0.22719,"13.4-13.7":1.21025},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.01063,"12":0.01063,"13":0.05847,"14":0.38268,_:"0","3.1":0,"3.2":0,"5.1":0.88229,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0.02658,"12.1":0.04784,"13.1":0.29764},B:{"12":0.00532,"13":0.00532,"14":0.00532,"15":0.00532,"16":0,"17":0.00532,"18":0.05315,"79":0,"80":0,"81":0,"83":0,"84":0.00532,"85":0.34548,"86":0.64843},I:{"3":0,"4":0.05671,_:"81","2.1":0,"2.2":0,"2.3":0.00045,"4.1":0.02858,"4.2-4.3":0.0127,"4.4":0,"4.4.3-4.4.4":0.10344},P:{"4":0.50563,"5.0-5.4":0.04045,"6.2-6.4":0.05056,"7.2-7.4":0.30338,"8.2":0.04045,"9.2":0.25282,"10.1":0.15169,"11.1-11.2":0.29327,"12.0":2.70007},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.02658,"9":0,"10":0,"11":0.05315,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.05154},Q:{"10.4":0},O:{"0":0.04685},H:{"0":0.14193},L:{"0":59.78888}};
diff --git a/node_modules/caniuse-lite/data/regions/QA.js b/node_modules/caniuse-lite/data/regions/QA.js
new file mode 100644
index 0000000..bb3e57a
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/QA.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00408,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.01633,"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.00408,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.00408,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0.00816,"66":0,"67":0,"68":0.00408,"69":0,"70":0,"71":0.00408,"72":0.00408,"73":0.00816,"74":0,"75":0,"76":0,"77":0,"78":0.02041,"79":0.00408,"80":0.02041,"81":0.4531,"82":0.06531,"83":0.00408,"84":0,"3.5":0,"3.6":0},D:{"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.00408,"35":0,"36":0,"37":0,"38":0.01225,"39":0,"40":0,"41":0.00408,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.03674,"50":0,"51":0,"52":0.00408,"53":0.01225,"54":0,"55":0,"56":0.00408,"57":0,"58":0.00408,"59":0,"60":0,"61":0.04082,"62":0,"63":0.00408,"64":0,"65":0.01225,"66":0,"67":0.00816,"68":0.00408,"69":0.00816,"70":0.01633,"71":0.02449,"72":0.00816,"73":0.00816,"74":0.02857,"75":0.00816,"76":0.01225,"77":0.00408,"78":0.0449,"79":0.02041,"80":0.07756,"81":0.03266,"83":0.05715,"84":0.12246,"85":4.51061,"86":6.52304,"87":0.00816,"88":0.00408,"89":0},F:{"9":0,"11":0,"12":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.00408,"47":0,"48":0,"49":0,"50":0.00408,"51":0.03266,"52":0,"53":0,"54":0.00408,"55":0,"56":0,"57":0,"58":0,"60":0.01225,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.02449,"71":0.16328,"72":0.00408,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":7.05371,"3.2":0.0169,"4.0-4.1":0.01448,"4.2-4.3":0.00241,"5.0-5.1":0.01207,"6.0-6.1":0.00724,"7.0-7.1":0.0169,"8.1-8.4":0.05552,"9.0-9.2":0.03138,"9.3":0.40072,"10.0-10.2":0.06759,"10.3":0.37176,"11.0-11.2":0.14001,"11.3-11.4":0.23899,"12.0-12.1":0.24381,"12.2-12.4":2.4309,"13.0-13.1":0.20036,"13.2":0.09897,"13.3":0.75317,"13.4-13.7":4.01207},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00408,"12":0.01225,"13":0.07348,"14":0.58373,_:"0","3.1":0,"3.2":0,"5.1":0.00816,"6.1":0,"7.1":0,"9.1":0,"10.1":0.00408,"11.1":0.03266,"12.1":0.07756,"13.1":0.5225},B:{"12":0,"13":0.00408,"14":0.00408,"15":0.00408,"16":0.00408,"17":0.03674,"18":0.10613,"79":0,"80":0,"81":0,"83":0,"84":0.00816,"85":0.31023,"86":0.57964},I:{"3":0,"4":0.02477,_:"81","2.1":0,"2.2":0,"2.3":0.0002,"4.1":0.01248,"4.2-4.3":0.00555,"4.4":0,"4.4.3-4.4.4":0.04517},P:{"4":0.11275,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.041,"8.2":0.01025,"9.2":0.1025,"10.1":0.0615,"11.1-11.2":0.22549,"12.0":2.83912},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.00412,"9":0,"10":0,"11":1.17557,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.08285},Q:{"10.4":0.01184},O:{"0":5.40905},H:{"0":0.82921},L:{"0":53.74921}};
diff --git a/node_modules/caniuse-lite/data/regions/RE.js b/node_modules/caniuse-lite/data/regions/RE.js
new file mode 100644
index 0000000..2ee2f47
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/RE.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00984,"48":0.00984,"49":0.0246,"50":0,"51":0.00492,"52":0.03935,"53":0,"54":0.00492,"55":0.02951,"56":0.00984,"57":0.00492,"58":0,"59":0.00984,"60":0.01968,"61":0.00492,"62":0,"63":0.00492,"64":0,"65":0,"66":0.00492,"67":0.02951,"68":0.1033,"69":0.00492,"70":0,"71":0,"72":0.00984,"73":0.00492,"74":0.00492,"75":0.0246,"76":0.00492,"77":0.00984,"78":0.39844,"79":0.04919,"80":0.09838,"81":2.3808,"82":0.36893,"83":0,"84":0,"3.5":0,"3.6":0},D:{"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.19184,"50":0,"51":0,"52":0,"53":0.00492,"54":0.01968,"55":0,"56":0.00492,"57":0,"58":0.00492,"59":0,"60":0,"61":0.01968,"62":0.00492,"63":0.00984,"64":0,"65":0.04427,"66":0.00984,"67":0.01968,"68":0.00984,"69":0,"70":0.01968,"71":0.01968,"72":0,"73":0,"74":0.00984,"75":0.00984,"76":0.01476,"77":0.01968,"78":0.00984,"79":0.06395,"80":0.18692,"81":0.07379,"83":0.06887,"84":0.14757,"85":5.50436,"86":7.67364,"87":0.01476,"88":0.00984,"89":0},F:{"9":0,"11":0,"12":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.00492,"32":0,"33":0,"34":0,"35":0,"36":0.00492,"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,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.05411,"71":0.44271,"72":0.00984,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":6.54714,"3.2":0.01568,"4.0-4.1":0.01344,"4.2-4.3":0.00224,"5.0-5.1":0.0112,"6.0-6.1":0.00672,"7.0-7.1":0.01568,"8.1-8.4":0.05153,"9.0-9.2":0.02913,"9.3":0.37195,"10.0-10.2":0.06274,"10.3":0.34506,"11.0-11.2":0.12996,"11.3-11.4":0.22182,"12.0-12.1":0.2263,"12.2-12.4":2.25632,"13.0-13.1":0.18597,"13.2":0.09187,"13.3":0.69908,"13.4-13.7":3.72394},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.00492,"11":0.00492,"12":0.03443,"13":0.12298,"14":1.14121,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.01968,"10.1":0.0246,"11.1":0.14757,"12.1":0.12789,"13.1":1.21007},B:{"12":0,"13":0.00492,"14":0.00492,"15":0.00984,"16":0.01476,"17":0.0246,"18":0.182,"79":0,"80":0,"81":0,"83":0,"84":0.00984,"85":0.53617,"86":0.89526},I:{"3":0,"4":0.03615,_:"81","2.1":0,"2.2":0,"2.3":0.00029,"4.1":0.01822,"4.2-4.3":0.0081,"4.4":0,"4.4.3-4.4.4":0.06594},P:{"4":0.05165,"5.0-5.4":0,"6.2-6.4":0.01033,"7.2-7.4":0.04132,"8.2":0,"9.2":0.16529,"10.1":0.07231,"11.1-11.2":0.15496,"12.0":2.93382},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0.00492,"10":0,"11":0.182,"5.5":0},J:{"7":0,"10":0.00508},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.16767},Q:{"10.4":0},O:{"0":0.06097},H:{"0":0.15874},L:{"0":55.81409}};
diff --git a/node_modules/caniuse-lite/data/regions/RO.js b/node_modules/caniuse-lite/data/regions/RO.js
new file mode 100644
index 0000000..b031ea9
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/RO.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00945,"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.00945,"45":0.00473,"46":0,"47":0,"48":0.00473,"49":0,"50":0,"51":0,"52":0.07089,"53":0,"54":0,"55":0,"56":0.00473,"57":0,"58":0.00473,"59":0,"60":0.00473,"61":0,"62":0.00473,"63":0.00473,"64":0.00473,"65":0.00945,"66":0.00945,"67":0.00473,"68":0.0189,"69":0.00473,"70":0.00473,"71":0,"72":0.00945,"73":0,"74":0.00473,"75":0.00945,"76":0.00473,"77":0.00945,"78":0.04726,"79":0.01418,"80":0.05199,"81":1.72972,"82":0.26466,"83":0.00473,"84":0,"3.5":0,"3.6":0},D:{"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.00473,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.00473,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0.00473,"49":0.20794,"50":0,"51":0,"52":0,"53":0.01418,"54":0,"55":0.00473,"56":0.00473,"57":0,"58":0.01418,"59":0,"60":0.12288,"61":0.04253,"62":0,"63":0.00945,"64":0.00473,"65":0.00473,"66":0.00473,"67":0.02363,"68":0.0189,"69":0.03781,"70":0.03781,"71":0.02836,"72":0.02363,"73":0.0189,"74":0.01418,"75":0.01418,"76":0.0189,"77":0.0189,"78":0.0189,"79":0.03308,"80":0.05671,"81":0.06144,"83":0.06144,"84":0.1276,"85":5.51524,"86":9.82535,"87":0.01418,"88":0.00473,"89":0},F:{"9":0,"11":0,"12":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.00473,"37":0,"38":0,"39":0,"40":0.00473,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0.00473,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0.00473,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.00473,"69":0,"70":0.1087,"71":0.95465,"72":0.02363,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":6.38315,"3.2":0.01529,"4.0-4.1":0.01311,"4.2-4.3":0.00218,"5.0-5.1":0.01092,"6.0-6.1":0.00655,"7.0-7.1":0.01529,"8.1-8.4":0.05024,"9.0-9.2":0.0284,"9.3":0.36263,"10.0-10.2":0.06117,"10.3":0.33642,"11.0-11.2":0.1267,"11.3-11.4":0.21627,"12.0-12.1":0.22064,"12.2-12.4":2.1998,"13.0-13.1":0.18131,"13.2":0.08957,"13.3":0.68157,"13.4-13.7":3.63066},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.00473,"13":0.03781,"14":0.25993,_:"0","3.1":0,"3.2":0,"5.1":0.00473,"6.1":0,"7.1":0,"9.1":0,"10.1":0.00473,"11.1":0.01418,"12.1":0.02363,"13.1":0.20794},B:{"12":0,"13":0.00473,"14":0.00473,"15":0.00945,"16":0.00473,"17":0.01418,"18":0.08979,"79":0,"80":0,"81":0,"83":0,"84":0.00473,"85":0.27411,"86":0.60965},I:{"3":0,"4":0.06757,_:"81","2.1":0,"2.2":0,"2.3":0.00054,"4.1":0.03406,"4.2-4.3":0.01514,"4.4":0,"4.4.3-4.4.4":0.12325},P:{"4":0.18253,"5.0-5.4":0.01014,"6.2-6.4":0.03042,"7.2-7.4":0.03042,"8.2":0.02028,"9.2":0.13183,"10.1":0.10141,"11.1-11.2":0.25352,"12.0":4.47207},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.02521,"9":0.01008,"10":0.01008,"11":0.33271,"5.5":0},J:{"7":0,"10":0.00527},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.2637},Q:{"10.4":0.00527},O:{"0":0.05274},H:{"0":0.26963},L:{"0":54.55023}};
diff --git a/node_modules/caniuse-lite/data/regions/RS.js b/node_modules/caniuse-lite/data/regions/RS.js
new file mode 100644
index 0000000..29ce102
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/RS.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00472,"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.00943,"44":0,"45":0.00472,"46":0,"47":0.00943,"48":0.00943,"49":0.00472,"50":0.02829,"51":0.00472,"52":0.1556,"53":0,"54":0.00472,"55":0.00472,"56":0.00943,"57":0.00472,"58":0.00472,"59":0.00472,"60":0.00943,"61":0.00472,"62":0.00472,"63":0.00472,"64":0.00472,"65":0.00943,"66":0.00943,"67":0.00472,"68":0.02829,"69":0.00472,"70":0.00943,"71":0.00472,"72":0.02358,"73":0.00472,"74":0.01415,"75":0.00472,"76":0.00943,"77":0.00472,"78":0.05658,"79":0.01886,"80":0.07544,"81":2.49424,"82":0.40549,"83":0.01415,"84":0,"3.5":0,"3.6":0},D:{"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.00472,"23":0,"24":0,"25":0,"26":0.00472,"27":0,"28":0,"29":0.00472,"30":0,"31":0,"32":0,"33":0,"34":0.00472,"35":0,"36":0,"37":0,"38":0.01415,"39":0,"40":0,"41":0,"42":0,"43":0.00472,"44":0,"45":0,"46":0,"47":0.00472,"48":0,"49":0.27819,"50":0.00472,"51":0,"52":0,"53":0.01415,"54":0,"55":0,"56":0.00472,"57":0,"58":0.00472,"59":0.00472,"60":0.00472,"61":0.04715,"62":0.00472,"63":0.00472,"64":0.00472,"65":0.00943,"66":0.00472,"67":0.01415,"68":0.00943,"69":0.01415,"70":0.04244,"71":0.05187,"72":0.02829,"73":0.02358,"74":0.02829,"75":0.01415,"76":0.01886,"77":0.01886,"78":0.02358,"79":0.04244,"80":0.07544,"81":0.07544,"83":0.08487,"84":0.1556,"85":5.19593,"86":8.84063,"87":0.00943,"88":0.00472,"89":0},F:{"9":0,"11":0,"12":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.01886,"37":0,"38":0,"39":0,"40":0.00472,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0.00472,"52":0,"53":0.00472,"54":0,"55":0,"56":0,"57":0.00943,"58":0,"60":0.00943,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.00472,"69":0,"70":0.13202,"71":0.95243,"72":0.02829,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.00472},G:{"8":0,"14":3.44127,"3.2":0.00824,"4.0-4.1":0.00707,"4.2-4.3":0.00118,"5.0-5.1":0.00589,"6.0-6.1":0.00353,"7.0-7.1":0.00824,"8.1-8.4":0.02709,"9.0-9.2":0.01531,"9.3":0.1955,"10.0-10.2":0.03298,"10.3":0.18137,"11.0-11.2":0.06831,"11.3-11.4":0.11659,"12.0-12.1":0.11895,"12.2-12.4":1.18595,"13.0-13.1":0.09775,"13.2":0.04829,"13.3":0.36745,"13.4-13.7":1.95735},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.00943,"13":0.02829,"14":0.19803,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.00472,"10.1":0.00472,"11.1":0.01886,"12.1":0.02829,"13.1":0.17917},B:{"12":0,"13":0.00472,"14":0.01415,"15":0.02829,"16":0.00472,"17":0.01415,"18":0.07073,"79":0,"80":0,"81":0,"83":0,"84":0.00472,"85":0.1886,"86":0.44321},I:{"3":0,"4":0.05024,_:"81","2.1":0,"2.2":0,"2.3":0.0004,"4.1":0.02532,"4.2-4.3":0.01125,"4.4":0,"4.4.3-4.4.4":0.09164},P:{"4":0.10274,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.03082,"8.2":0.01027,"9.2":0.09247,"10.1":0.08219,"11.1-11.2":0.18493,"12.0":3.33906},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.03565,"9":0.00509,"10":0.01018,"11":0.33099,"5.5":0},J:{"7":0,"10":0.01057},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.25897},Q:{"10.4":0.00529},O:{"0":0.037},H:{"0":0.44031},L:{"0":63.21689}};
diff --git a/node_modules/caniuse-lite/data/regions/RU.js b/node_modules/caniuse-lite/data/regions/RU.js
new file mode 100644
index 0000000..444bbba
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/RU.js
@@ -0,0 +1 @@
+module.exports={C:{"2":0.03807,"3":0.03807,"4":0.00761,"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.02284,"31":0.03046,"32":0.03046,"33":0.03807,"34":0.03807,"35":0.02284,"36":0.03807,"37":0.02284,"38":0.04568,"39":0.03046,"40":0.03807,"41":0.03807,"42":0.06091,"43":0.06091,"44":0.04568,"45":0.09898,"46":0.04568,"47":0.07614,"48":0.07614,"49":0.0533,"50":0.08375,"51":0.06091,"52":0.23603,"53":0.06091,"54":0.06853,"55":0.0533,"56":0.12944,"57":0.06091,"58":0.0533,"59":0.04568,"60":0.06091,"61":0.03807,"62":0.03807,"63":0.06091,"64":0.03046,"65":0.0533,"66":0.03807,"67":0.03046,"68":0.0533,"69":0.01523,"70":0.02284,"71":0.01523,"72":0.04568,"73":0.02284,"74":0.02284,"75":0.00761,"76":0.01523,"77":0.02284,"78":0.09898,"79":0.03046,"80":0.1066,"81":1.81213,"82":0.28933,"83":0.00761,"84":0,"3.5":0.01523,"3.6":0.00761},D:{"4":0.00761,"5":0.01523,"6":0,"7":0,"8":0,"9":0,"10":0.00761,"11":0.00761,"12":0.00761,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0.00761,"22":0.00761,"23":0.00761,"24":0.00761,"25":0.00761,"26":0.02284,"27":0.00761,"28":0.00761,"29":0.00761,"30":0.00761,"31":0.03046,"32":0.01523,"33":0.00761,"34":0.02284,"35":0.01523,"36":0.02284,"37":0.01523,"38":0.02284,"39":0.02284,"40":0.00761,"41":0.04568,"42":0.01523,"43":0.01523,"44":0.00761,"45":0.01523,"46":0.07614,"47":0.06853,"48":0.06091,"49":0.36547,"50":0.01523,"51":0.1066,"52":0.03046,"53":0.03807,"54":0.03046,"55":0.0533,"56":0.06091,"57":0.06091,"58":0.0533,"59":0.08375,"60":0.08375,"61":0.1066,"62":0.06853,"63":0.09137,"64":0.08375,"65":0.06091,"66":0.08375,"67":0.12182,"68":0.06091,"69":0.73094,"70":0.25888,"71":0.22842,"72":0.22842,"73":0.15228,"74":0.2741,"75":0.07614,"76":0.12944,"77":0.09137,"78":0.24365,"79":0.40354,"80":0.434,"81":0.22081,"83":0.3274,"84":0.57866,"85":10.07332,"86":15.57824,"87":0.03046,"88":0.02284,"89":0},F:{"9":0,"11":0.01523,"12":0.01523,"15":0.01523,"16":0,"17":0.00761,"18":0,"19":0.00761,"20":0,"21":0.00761,"22":0,"23":0,"24":0,"25":0,"26":0.00761,"27":0.00761,"28":0.00761,"29":0.00761,"30":0.00761,"31":0.00761,"32":0.01523,"33":0.00761,"34":0.00761,"35":0,"36":0.0533,"37":0.00761,"38":0.00761,"39":0,"40":0.00761,"41":0.00761,"42":0.00761,"43":0.00761,"44":0.00761,"45":0.00761,"46":0.00761,"47":0,"48":0,"49":0,"50":0.00761,"51":0.02284,"52":0,"53":0.00761,"54":0.00761,"55":0,"56":0.00761,"57":0.01523,"58":0.01523,"60":0.01523,"62":0,"63":0.00761,"64":0,"65":0.00761,"66":0.00761,"67":0.01523,"68":0.03046,"69":0.01523,"70":0.44923,"71":3.51005,"72":0.07614,"9.5-9.6":0.00761,"10.0-10.1":0.00761,"10.5":0,"10.6":0,"11.1":0.00761,"11.5":0.00761,"11.6":0.00761,"12.1":0.06091},G:{"8":0,"14":4.78004,"3.2":0.01145,"4.0-4.1":0.00982,"4.2-4.3":0.00164,"5.0-5.1":0.00818,"6.0-6.1":0.00491,"7.0-7.1":0.01145,"8.1-8.4":0.03763,"9.0-9.2":0.02127,"9.3":0.27156,"10.0-10.2":0.0458,"10.3":0.25193,"11.0-11.2":0.09488,"11.3-11.4":0.16195,"12.0-12.1":0.16522,"12.2-12.4":1.64733,"13.0-13.1":0.13578,"13.2":0.06707,"13.3":0.51039,"13.4-13.7":2.71883},E:{"4":0.04568,"5":0.04568,"6":0.01523,"7":0.02284,"8":0.03046,"9":0.03046,"10":0.02284,"11":0.03046,"12":0.0533,"13":0.23603,"14":1.04312,_:"0","3.1":0.02284,"3.2":0.01523,"5.1":0.39593,"6.1":0.03046,"7.1":0.01523,"9.1":0.04568,"10.1":0.03807,"11.1":0.06091,"12.1":0.15228,"13.1":0.95175},B:{"12":0.01523,"13":0.03046,"14":0.0533,"15":0.02284,"16":0.02284,"17":0.04568,"18":0.18274,"79":0,"80":0.00761,"81":0,"83":0.00761,"84":0.01523,"85":0.31217,"86":0.58628},I:{"3":0,"4":0.09263,_:"81","2.1":0,"2.2":0,"2.3":0.00074,"4.1":0.04668,"4.2-4.3":0.02075,"4.4":0,"4.4.3-4.4.4":0.16895},P:{"4":0.21758,"5.0-5.4":0.01036,"6.2-6.4":0.02072,"7.2-7.4":0.0518,"8.2":0.01036,"9.2":0.03108,"10.1":0.08289,"11.1-11.2":0.06216,"12.0":0.66309},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.00841,"7":0.02523,"8":0.09252,"9":0.08411,"10":0.06729,"11":0.42895,"5.5":0.00841},J:{"7":0,"10":0.01193},N:{"10":0.02757,"11":0.0965},S:{"2.5":0},R:{_:"0"},M:{"0":0.08828},Q:{"10.4":0.0167},O:{"0":0.22906},H:{"0":0.37272},L:{"0":24.83601}};
diff --git a/node_modules/caniuse-lite/data/regions/RW.js b/node_modules/caniuse-lite/data/regions/RW.js
new file mode 100644
index 0000000..07eec04
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/RW.js
@@ -0,0 +1 @@
+module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0.00476,"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.00476,"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.00476,"41":0,"42":0,"43":0.00953,"44":0.00476,"45":0.00476,"46":0,"47":0.00476,"48":0.00953,"49":0.00953,"50":0.00953,"51":0,"52":0.00953,"53":0,"54":0,"55":0,"56":0.00476,"57":0.00476,"58":0.00476,"59":0.00476,"60":0.00476,"61":0.00476,"62":0,"63":0,"64":0,"65":0,"66":0.00953,"67":0.00476,"68":0.05717,"69":0.00476,"70":0.00476,"71":0,"72":0.01429,"73":0.00476,"74":0.00476,"75":0.00476,"76":0.00476,"77":0.01429,"78":0.10957,"79":0.01429,"80":0.0524,"81":1.86749,"82":0.27155,"83":0.02858,"84":0,"3.5":0,"3.6":0},D:{"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.00476,"41":0.00476,"42":0,"43":0.01906,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.0524,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0.00476,"56":0,"57":0,"58":0.00476,"59":0,"60":0,"61":0.00476,"62":0,"63":0.03335,"64":0.00953,"65":0.02382,"66":0,"67":0.00476,"68":0,"69":0.00953,"70":0.01429,"71":0.02382,"72":0.01429,"73":0.01906,"74":0.03335,"75":0.01429,"76":0.01906,"77":0.01429,"78":0.02382,"79":0.09052,"80":0.09528,"81":0.04288,"83":0.13339,"84":0.16674,"85":5.4262,"86":8.12262,"87":0.02382,"88":0.00476,"89":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0.00476,"17":0,"18":0,"19":0.00476,"20":0.00476,"21":0,"22":0,"23":0.01429,"24":0,"25":0,"26":0,"27":0.00476,"28":0.00476,"29":0,"30":0.00953,"31":0,"32":0.00953,"33":0.00476,"34":0,"35":0,"36":0,"37":0.24296,"38":0.00476,"39":0,"40":0,"41":0,"42":0.00476,"43":0,"44":0,"45":0.00953,"46":0.00476,"47":0.01429,"48":0,"49":0,"50":0.0667,"51":0.16674,"52":0,"53":0.00953,"54":0.00476,"55":0.00476,"56":0.00953,"57":0,"58":0,"60":0.04288,"62":0,"63":0.00476,"64":0,"65":0,"66":0,"67":0,"68":0.00476,"69":0,"70":0.12386,"71":0.58121,"72":0.03811,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.06193},G:{"8":0,"14":2.69392,"3.2":0.00645,"4.0-4.1":0.00553,"4.2-4.3":0.00092,"5.0-5.1":0.00461,"6.0-6.1":0.00277,"7.0-7.1":0.00645,"8.1-8.4":0.0212,"9.0-9.2":0.01199,"9.3":0.15304,"10.0-10.2":0.02581,"10.3":0.14198,"11.0-11.2":0.05347,"11.3-11.4":0.09127,"12.0-12.1":0.09312,"12.2-12.4":0.9284,"13.0-13.1":0.07652,"13.2":0.0378,"13.3":0.28765,"13.4-13.7":1.53227},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.01429,"12":0.0667,"13":0.0667,"14":0.32395,_:"0","3.1":0,"3.2":0,"5.1":0.10957,"6.1":0.00476,"7.1":0,"9.1":0.01429,"10.1":0.00953,"11.1":0.04764,"12.1":0.12863,"13.1":0.33824},B:{"12":0.03811,"13":0.02858,"14":0.01429,"15":0.01429,"16":0.00953,"17":0.02858,"18":0.1715,"79":0,"80":0,"81":0.00476,"83":0.01429,"84":0.01429,"85":0.9004,"86":0.83846},I:{"3":0,"4":0.06072,_:"81","2.1":0,"2.2":0,"2.3":0.00049,"4.1":0.03061,"4.2-4.3":0.0136,"4.4":0,"4.4.3-4.4.4":0.11076},P:{"4":0.29945,"5.0-5.4":0.02065,"6.2-6.4":0,"7.2-7.4":0.07228,"8.2":0.11358,"9.2":0.15489,"10.1":0.05163,"11.1-11.2":0.10326,"12.0":0.99127},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.01616,"9":0,"10":0,"11":0.23157,"5.5":0},J:{"7":0,"10":0.03665},N:{"10":0,"11":0},S:{"2.5":0.1885},R:{_:"0"},M:{"0":0.1885},Q:{"10.4":0.09425},O:{"0":0.466},H:{"0":15.0349},L:{"0":44.44373}};
diff --git a/node_modules/caniuse-lite/data/regions/SA.js b/node_modules/caniuse-lite/data/regions/SA.js
new file mode 100644
index 0000000..365360a
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/SA.js
@@ -0,0 +1 @@
+module.exports={C:{"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.004,"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.004,"49":0,"50":0,"51":0,"52":0.004,"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.00801,"69":0,"70":0,"71":0,"72":0.004,"73":0,"74":0,"75":0,"76":0,"77":0.004,"78":0.02002,"79":0.004,"80":0.03603,"81":0.57643,"82":0.08807,"83":0.004,"84":0,"3.5":0,"3.6":0},D:{"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.004,"35":0,"36":0,"37":0,"38":0.004,"39":0,"40":0,"41":0,"42":0,"43":0.004,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.02802,"50":0,"51":0,"52":0,"53":0.01201,"54":0,"55":0,"56":0.004,"57":0,"58":0.004,"59":0,"60":0,"61":0.00801,"62":0.004,"63":0.00801,"64":0.004,"65":0.004,"66":0.004,"67":0.00801,"68":0.004,"69":0.00801,"70":0.01201,"71":0.01601,"72":0.00801,"73":0.01201,"74":0.01601,"75":0.00801,"76":0.01201,"77":0.02002,"78":0.07205,"79":0.02802,"80":0.05204,"81":0.04003,"83":0.06005,"84":0.11208,"85":4.54341,"86":6.78909,"87":0.01201,"88":0.004,"89":0},F:{"9":0,"11":0,"12":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.004,"52":0,"53":0.004,"54":0,"55":0.004,"56":0,"57":0,"58":0,"60":0.004,"62":0.004,"63":0,"64":0.004,"65":0.004,"66":0.004,"67":0,"68":0.01601,"69":0,"70":0.01601,"71":0.04003,"72":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":14.33952,"3.2":0.03435,"4.0-4.1":0.02944,"4.2-4.3":0.00491,"5.0-5.1":0.02454,"6.0-6.1":0.01472,"7.0-7.1":0.03435,"8.1-8.4":0.11287,"9.0-9.2":0.0638,"9.3":0.81463,"10.0-10.2":0.13741,"10.3":0.75574,"11.0-11.2":0.28463,"11.3-11.4":0.48584,"12.0-12.1":0.49565,"12.2-12.4":4.94179,"13.0-13.1":0.40732,"13.2":0.2012,"13.3":1.53112,"13.4-13.7":8.15616},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.004,"12":0.01601,"13":0.09207,"14":0.6685,_:"0","3.1":0,"3.2":0,"5.1":0.03603,"6.1":0,"7.1":0,"9.1":0,"10.1":0.00801,"11.1":0.02802,"12.1":0.05604,"13.1":0.59645},B:{"12":0.004,"13":0.004,"14":0.004,"15":0.00801,"16":0.00801,"17":0.01601,"18":0.09207,"79":0,"80":0,"81":0,"83":0,"84":0.00801,"85":0.30423,"86":0.61246},I:{"3":0,"4":0.02865,_:"81","2.1":0,"2.2":0,"2.3":0.00023,"4.1":0.01444,"4.2-4.3":0.00642,"4.4":0,"4.4.3-4.4.4":0.05227},P:{"4":0.13293,"5.0-5.4":0.02045,"6.2-6.4":0.01023,"7.2-7.4":0.09203,"8.2":0.02045,"9.2":0.17383,"10.1":0.09203,"11.1-11.2":0.23518,"12.0":2.22914},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.00429,"9":0,"10":0,"11":0.17585,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.10195},Q:{"10.4":0.006},O:{"0":1.55322},H:{"0":0.10787},L:{"0":44.44324}};
diff --git a/node_modules/caniuse-lite/data/regions/SB.js b/node_modules/caniuse-lite/data/regions/SB.js
new file mode 100644
index 0000000..be92ff0
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/SB.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00461,"26":0,"27":0,"28":0,"29":0.00922,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0.00461,"41":0,"42":0,"43":0.00922,"44":0,"45":0.00461,"46":0,"47":0.00922,"48":0.00461,"49":0.00461,"50":0,"51":0,"52":0.00461,"53":0,"54":0,"55":0,"56":0.00922,"57":0,"58":0.00461,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.01844,"69":0,"70":0,"71":0,"72":0.00461,"73":0.00922,"74":0.00461,"75":0,"76":0,"77":0.01844,"78":0,"79":0.06917,"80":0.04611,"81":1.33719,"82":0.11989,"83":0,"84":0,"3.5":0,"3.6":0},D:{"4":0,"5":0.00922,"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.00461,"38":0.00461,"39":0.00922,"40":0.02306,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0.00461,"48":0,"49":0.12911,"50":0,"51":0.00922,"52":0,"53":0,"54":0,"55":0.00461,"56":0.00461,"57":0,"58":0.00922,"59":0,"60":0,"61":0,"62":0,"63":0.00922,"64":0.01383,"65":0.01844,"66":0.00461,"67":0,"68":0,"69":0.06917,"70":0,"71":0.00461,"72":0.00461,"73":0.00461,"74":0,"75":0.11989,"76":0.00922,"77":0.01383,"78":0.00922,"79":0.02767,"80":0.03689,"81":0.14294,"83":0.06455,"84":0.27666,"85":3.12165,"86":5.11821,"87":0.00461,"88":0,"89":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0.00461,"22":0.00461,"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.01844,"38":0.00461,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0.01383,"46":0,"47":0,"48":0,"49":0,"50":0.04611,"51":0.03228,"52":0.00461,"53":0.05533,"54":0,"55":0,"56":0,"57":0,"58":0.00461,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.01844,"71":0.12911,"72":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.03228},G:{"8":0,"14":2.8244,"3.2":0.00677,"4.0-4.1":0.0058,"4.2-4.3":0.00097,"5.0-5.1":0.00483,"6.0-6.1":0.0029,"7.0-7.1":0.00677,"8.1-8.4":0.02223,"9.0-9.2":0.01257,"9.3":0.16046,"10.0-10.2":0.02706,"10.3":0.14886,"11.0-11.2":0.05606,"11.3-11.4":0.09569,"12.0-12.1":0.09763,"12.2-12.4":0.97336,"13.0-13.1":0.08023,"13.2":0.03963,"13.3":0.30158,"13.4-13.7":1.60648},E:{"4":0,"5":0,"6":0,"7":0,"8":0.00461,"9":0.04611,"10":0,"11":0.00461,"12":0.00922,"13":0.07378,"14":0.04611,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.00461,"10.1":0,"11.1":0.083,"12.1":0.01844,"13.1":0.16139},B:{"12":0.02767,"13":0.07378,"14":0.03689,"15":0.20288,"16":0.1245,"17":0.18444,"18":2.75738,"79":0,"80":0,"81":0,"83":0.01383,"84":0.02306,"85":0.64093,"86":1.35563},I:{"3":0,"4":0.17392,_:"81","2.1":0,"2.2":0,"2.3":0.00139,"4.1":0.08766,"4.2-4.3":0.03896,"4.4":0,"4.4.3-4.4.4":0.31724},P:{"4":0.61463,"5.0-5.4":0.03023,"6.2-6.4":0.11084,"7.2-7.4":0.44334,"8.2":0.05038,"9.2":0.21159,"10.1":0.07053,"11.1-11.2":0.34258,"12.0":0.97736},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0.03689,"10":0,"11":1.36025,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.13473},Q:{"10.4":0.08622},O:{"0":3.01245},H:{"0":1.89283},L:{"0":62.156}};
diff --git a/node_modules/caniuse-lite/data/regions/SC.js b/node_modules/caniuse-lite/data/regions/SC.js
new file mode 100644
index 0000000..e4dd5bb
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/SC.js
@@ -0,0 +1 @@
+module.exports={C:{"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.03251,"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.00542,"45":0.01084,"46":0.03251,"47":0.01084,"48":0,"49":0.01084,"50":0,"51":0,"52":0.01084,"53":0,"54":0,"55":0,"56":0.00542,"57":0,"58":0,"59":0.01626,"60":0.06503,"61":0.03251,"62":0.05961,"63":0.09212,"64":0,"65":0.00542,"66":0.01084,"67":0,"68":0.05961,"69":0.00542,"70":0.01626,"71":0,"72":0.03251,"73":0.00542,"74":0,"75":0,"76":0.01626,"77":0.00542,"78":0.28179,"79":0.01626,"80":0.04877,"81":2.00503,"82":0.36307,"83":0.01084,"84":0,"3.5":0,"3.6":0},D:{"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.00542,"28":0,"29":0.00542,"30":0,"31":0,"32":0.00542,"33":0,"34":0,"35":0,"36":0.00542,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.01084,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.02168,"50":0.00542,"51":0.00542,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.00542,"59":0,"60":0,"61":0,"62":0.00542,"63":0.02168,"64":0,"65":0.00542,"66":0.02168,"67":0.01084,"68":0.03793,"69":0.04877,"70":0.02168,"71":0.04877,"72":2.04296,"73":0.08129,"74":0.01084,"75":0.00542,"76":0.00542,"77":0.01084,"78":0.01626,"79":0.02168,"80":0.03793,"81":0.17883,"83":0.06503,"84":0.16257,"85":10.78923,"86":7.38068,"87":0.02168,"88":0.01084,"89":0},F:{"9":0,"11":0,"12":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.00542,"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.04877,"52":0,"53":0.03251,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.00542,"69":0.02168,"70":0.06503,"71":0.28721,"72":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":3.453,"3.2":0.00827,"4.0-4.1":0.00709,"4.2-4.3":0.00118,"5.0-5.1":0.00591,"6.0-6.1":0.00355,"7.0-7.1":0.00827,"8.1-8.4":0.02718,"9.0-9.2":0.01536,"9.3":0.19617,"10.0-10.2":0.03309,"10.3":0.18199,"11.0-11.2":0.06854,"11.3-11.4":0.11699,"12.0-12.1":0.11935,"12.2-12.4":1.19,"13.0-13.1":0.09808,"13.2":0.04845,"13.3":0.3687,"13.4-13.7":1.96403},E:{"4":0,"5":0.00542,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00542,"12":0.03793,"13":0.08129,"14":0.31972,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0.00542,"11.1":0.03251,"12.1":0.20592,"13.1":0.34682},B:{"12":0.01626,"13":0.04877,"14":0.06503,"15":0.01084,"16":0.02168,"17":0.10296,"18":0.32514,"79":0,"80":0,"81":0,"83":0,"84":0.02168,"85":0.47687,"86":1.13799},I:{"3":0,"4":0.04623,_:"81","2.1":0,"2.2":0,"2.3":0.00037,"4.1":0.0233,"4.2-4.3":0.01036,"4.4":0,"4.4.3-4.4.4":0.08432},P:{"4":0.16285,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.4682,"8.2":0.02036,"9.2":0.13232,"10.1":0.28499,"11.1-11.2":0.22392,"12.0":4.47841},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.02168,"9":0,"10":0,"11":0.33056,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.17866},Q:{"10.4":0.00458},O:{"0":2.55162},H:{"0":0.54212},L:{"0":49.31087}};
diff --git a/node_modules/caniuse-lite/data/regions/SD.js b/node_modules/caniuse-lite/data/regions/SD.js
new file mode 100644
index 0000000..d343d95
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/SD.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00251,"31":0,"32":0,"33":0.00251,"34":0.00251,"35":0.00251,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0.00251,"42":0.00251,"43":0.00754,"44":0.00251,"45":0.00251,"46":0,"47":0.01006,"48":0.00503,"49":0.00251,"50":0,"51":0,"52":0.02011,"53":0,"54":0.00251,"55":0,"56":0.00503,"57":0.00503,"58":0,"59":0,"60":0.00251,"61":0.00251,"62":0,"63":0,"64":0.00251,"65":0.00251,"66":0.00503,"67":0.00251,"68":0.02263,"69":0.00503,"70":0.00251,"71":0,"72":0.0176,"73":0.00503,"74":0.00251,"75":0.00754,"76":0.00251,"77":0.00503,"78":0.06034,"79":0.02011,"80":0.03771,"81":0.87236,"82":0.10056,"83":0.00754,"84":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00251,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0.00251,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.00251,"30":0,"31":0,"32":0,"33":0.00251,"34":0.00251,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0.01257,"41":0,"42":0.00503,"43":0.03268,"44":0,"45":0,"46":0.00251,"47":0.00251,"48":0.00251,"49":0.00754,"50":0.00251,"51":0.00251,"52":0,"53":0,"54":0.00251,"55":0.00251,"56":0.00251,"57":0.00754,"58":0.00503,"59":0.00251,"60":0.00251,"61":0.00754,"62":0.00251,"63":0.01257,"64":0.00503,"65":0.00251,"66":0.00251,"67":0.00251,"68":0.00503,"69":0.0176,"70":0.01006,"71":0.00503,"72":0.00754,"73":0.00503,"74":0.00754,"75":0.01508,"76":0.01006,"77":0.01006,"78":0.03268,"79":0.03771,"80":0.04274,"81":0.02263,"83":0.03268,"84":0.04525,"85":0.91258,"86":1.41287,"87":0.00251,"88":0.00251,"89":0},F:{"9":0,"11":0,"12":0,"15":0.00251,"16":0.00251,"17":0,"18":0,"19":0.00251,"20":0.00251,"21":0,"22":0,"23":0.00251,"24":0.02263,"25":0.00251,"26":0.0176,"27":0.00251,"28":0.03017,"29":0.00251,"30":0.01257,"31":0.00251,"32":0.01257,"33":0.01006,"34":0,"35":0.00503,"36":0,"37":0.00251,"38":0.0176,"39":0,"40":0,"41":0.00754,"42":0.00251,"43":0,"44":0,"45":0.00754,"46":0.01257,"47":0.0176,"48":0.00251,"49":0,"50":0.04274,"51":0.05531,"52":0,"53":0.02011,"54":0.00503,"55":0.00251,"56":0.00503,"57":0.00251,"58":0.00251,"60":0.06788,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.00251,"69":0,"70":0.06788,"71":0.3771,"72":0.00503,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0.00503,"11.6":0,"12.1":0.01257},G:{"8":0,"14":2.68656,"3.2":0.00644,"4.0-4.1":0.00552,"4.2-4.3":0.00092,"5.0-5.1":0.0046,"6.0-6.1":0.00276,"7.0-7.1":0.00644,"8.1-8.4":0.02115,"9.0-9.2":0.01195,"9.3":0.15262,"10.0-10.2":0.02574,"10.3":0.14159,"11.0-11.2":0.05333,"11.3-11.4":0.09102,"12.0-12.1":0.09286,"12.2-12.4":0.92586,"13.0-13.1":0.07631,"13.2":0.0377,"13.3":0.28686,"13.4-13.7":1.52809},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.00503,"11":0.00754,"12":0.00251,"13":0.02011,"14":0.04274,_:"0","3.1":0,"3.2":0,"5.1":0.70643,"6.1":0,"7.1":0,"9.1":0.01006,"10.1":0.00503,"11.1":0.03268,"12.1":0.05531,"13.1":0.08799},B:{"12":0.00503,"13":0.00754,"14":0.0176,"15":0.00503,"16":0.01006,"17":0.05782,"18":0.07542,"79":0,"80":0,"81":0.00503,"83":0,"84":0.00503,"85":0.09553,"86":0.17095},I:{"3":0,"4":0.08499,_:"81","2.1":0,"2.2":0,"2.3":0.00068,"4.1":0.04284,"4.2-4.3":0.01904,"4.4":0,"4.4.3-4.4.4":0.15502},P:{"4":1.59065,"5.0-5.4":0.11074,"6.2-6.4":0.13088,"7.2-7.4":0.4027,"8.2":0.07047,"9.2":0.35236,"10.1":0.17115,"11.1-11.2":0.44296,"12.0":1.39937},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.02757,"9":0.00459,"10":0,"11":0.10108,"5.5":0},J:{"7":0,"10":0.00749},N:{"10":0,"11":0},S:{"2.5":0.01497},R:{_:"0"},M:{"0":0.19464},Q:{"10.4":0.07486},O:{"0":1.93139},H:{"0":10.04265},L:{"0":65.36039}};
diff --git a/node_modules/caniuse-lite/data/regions/SE.js b/node_modules/caniuse-lite/data/regions/SE.js
new file mode 100644
index 0000000..838c5b4
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/SE.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00566,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.01132,"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.00566,"49":0,"50":0,"51":0,"52":0.02264,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0.00566,"60":0.00566,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.02831,"69":0,"70":0,"71":0,"72":0.00566,"73":0,"74":0,"75":0,"76":0.00566,"77":0.01132,"78":0.06793,"79":0.01698,"80":0.06793,"81":1.27939,"82":0.19247,"83":0.00566,"84":0,"3.5":0,"3.6":0},D:{"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.00566,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.01132,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0.00566,"47":0,"48":0,"49":0.04529,"50":0,"51":0,"52":0.00566,"53":0.01132,"54":0,"55":0,"56":0,"57":0,"58":0.00566,"59":0.00566,"60":0,"61":0.00566,"62":0,"63":0.00566,"64":0.00566,"65":0.01698,"66":0.02264,"67":0.02264,"68":0.00566,"69":0.03963,"70":0.01132,"71":0.16417,"72":0.01132,"73":0.02264,"74":0.01132,"75":0.02831,"76":0.05095,"77":0.06793,"78":0.03397,"79":0.07359,"80":0.09624,"81":0.16417,"83":0.19247,"84":0.45854,"85":10.13319,"86":9.47085,"87":0.01698,"88":0.00566,"89":0},F:{"9":0,"11":0,"12":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.00566,"51":0.00566,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0,"62":0,"63":0,"64":0.01132,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.03963,"71":0.23776,"72":0.00566,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":16.05936,"3.2":0.03847,"4.0-4.1":0.03298,"4.2-4.3":0.0055,"5.0-5.1":0.02748,"6.0-6.1":0.01649,"7.0-7.1":0.03847,"8.1-8.4":0.12641,"9.0-9.2":0.07145,"9.3":0.91234,"10.0-10.2":0.15389,"10.3":0.84639,"11.0-11.2":0.31877,"11.3-11.4":0.54411,"12.0-12.1":0.5551,"12.2-12.4":5.53449,"13.0-13.1":0.45617,"13.2":0.22534,"13.3":1.71476,"13.4-13.7":9.13438},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.00566,"11":0.01132,"12":0.02831,"13":0.27739,"14":1.51149,_:"0","3.1":0,"3.2":0,"5.1":0.00566,"6.1":0,"7.1":0,"9.1":0.00566,"10.1":0.03963,"11.1":0.09058,"12.1":0.16983,"13.1":2.28138},B:{"12":0,"13":0,"14":0.00566,"15":0.00566,"16":0.03397,"17":0.03963,"18":0.41325,"79":0,"80":0.01132,"81":0.01132,"83":0.01132,"84":0.01698,"85":0.75857,"86":1.3643},I:{"3":0,"4":0.02809,_:"81","2.1":0,"2.2":0,"2.3":0.00022,"4.1":0.01416,"4.2-4.3":0.00629,"4.4":0,"4.4.3-4.4.4":0.05124},P:{"4":0.06255,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.02085,"8.2":0.01043,"9.2":0.0417,"10.1":0.06255,"11.1-11.2":0.10425,"12.0":3.65918},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.01155,"9":0.00577,"10":0,"11":0.5601,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.29505},Q:{"10.4":0},O:{"0":0.02603},H:{"0":0.13967},L:{"0":25.11428}};
diff --git a/node_modules/caniuse-lite/data/regions/SG.js b/node_modules/caniuse-lite/data/regions/SG.js
new file mode 100644
index 0000000..a3f9544
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/SG.js
@@ -0,0 +1 @@
+module.exports={C:{"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.01804,"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.00451,"49":0,"50":0,"51":0,"52":0.00451,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0.01353,"64":0.00451,"65":0.00451,"66":0.00451,"67":0.00451,"68":0.02255,"69":0,"70":0,"71":0,"72":0.00902,"73":0,"74":0.00451,"75":0.00451,"76":0.00451,"77":0.00451,"78":0.03607,"79":0.00902,"80":0.03607,"81":0.84769,"82":0.12174,"83":0.00451,"84":0,"3.5":0,"3.6":0},D:{"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.00451,"23":0,"24":0,"25":0,"26":0.00451,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.0496,"35":0,"36":0,"37":0,"38":0.10822,"39":0,"40":0.00451,"41":0.00451,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0.01353,"48":0,"49":0.31563,"50":0.00451,"51":0,"52":0,"53":0.11723,"54":0.00451,"55":0.00451,"56":0.00451,"57":0.00451,"58":0.00451,"59":0,"60":0,"61":0.00902,"62":0.01804,"63":0.00451,"64":0.00902,"65":0.02255,"66":0.00451,"67":0.02255,"68":0.01804,"69":0.01804,"70":0.04058,"71":0.05862,"72":0.04509,"73":0.04058,"74":0.01804,"75":0.02255,"76":0.02255,"77":0.03607,"78":0.03156,"79":0.05411,"80":0.11723,"81":0.08567,"83":0.13076,"84":0.27505,"85":4.79758,"86":7.10618,"87":0.00902,"88":0.00451,"89":0},F:{"9":0,"11":0,"12":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.00902,"37":0.02255,"38":0,"39":0,"40":0.00451,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0.00451,"47":0,"48":0,"49":0,"50":0.00451,"51":0.05862,"52":0.00451,"53":0,"54":0.00451,"55":0,"56":0.00451,"57":0.00451,"58":0.00451,"60":0.00451,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.01804,"71":0.12174,"72":0.00451,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":11.31545,"3.2":0.02711,"4.0-4.1":0.02324,"4.2-4.3":0.00387,"5.0-5.1":0.01936,"6.0-6.1":0.01162,"7.0-7.1":0.02711,"8.1-8.4":0.08907,"9.0-9.2":0.05034,"9.3":0.64284,"10.0-10.2":0.10843,"10.3":0.59637,"11.0-11.2":0.22461,"11.3-11.4":0.38338,"12.0-12.1":0.39112,"12.2-12.4":3.89961,"13.0-13.1":0.32142,"13.2":0.15877,"13.3":1.20822,"13.4-13.7":6.4361},E:{"4":0,"5":0,"6":0,"7":0,"8":0.00451,"9":0,"10":0.00451,"11":0.00902,"12":0.01804,"13":0.12625,"14":0.80711,_:"0","3.1":0,"3.2":0,"5.1":0.00902,"6.1":0,"7.1":0,"9.1":0.00451,"10.1":0.01804,"11.1":0.03607,"12.1":0.07665,"13.1":1.17234},B:{"12":0,"13":0,"14":0,"15":0,"16":0.00451,"17":0.01804,"18":0.07665,"79":0,"80":0,"81":0,"83":0,"84":0.00902,"85":0.29309,"86":0.58166},I:{"3":0,"4":0.2141,_:"81","2.1":0,"2.2":0,"2.3":0.00171,"4.1":0.1079,"4.2-4.3":0.04796,"4.4":0,"4.4.3-4.4.4":0.39051},P:{"4":0.51327,"5.0-5.4":0.01047,"6.2-6.4":0.02095,"7.2-7.4":0.01047,"8.2":0.01047,"9.2":0.03142,"10.1":0.03142,"11.1-11.2":0.06285,"12.0":3.94906},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.01612,"9":0.00537,"10":0.00537,"11":0.7577,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.39535},Q:{"10.4":0.08786},O:{"0":0.75776},H:{"0":0.63422},L:{"0":35.74333}};
diff --git a/node_modules/caniuse-lite/data/regions/SH.js b/node_modules/caniuse-lite/data/regions/SH.js
new file mode 100644
index 0000000..22cad63
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/SH.js
@@ -0,0 +1 @@
+module.exports={C:{"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,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":6.84487,"82":0,"83":0,"84":0,"3.5":0,"3.6":0},D:{"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,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":13.68974,"83":0,"84":0,"85":3.91644,"86":22.49283,"87":0,"88":0,"89":0},F:{"9":0,"11":0,"12":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,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":9.06186,"3.2":0.02171,"4.0-4.1":0.01861,"4.2-4.3":0.0031,"5.0-5.1":0.01551,"6.0-6.1":0.0093,"7.0-7.1":0.02171,"8.1-8.4":0.07133,"9.0-9.2":0.04032,"9.3":0.51481,"10.0-10.2":0.08684,"10.3":0.47759,"11.0-11.2":0.17987,"11.3-11.4":0.30702,"12.0-12.1":0.31323,"12.2-12.4":3.12296,"13.0-13.1":0.2574,"13.2":0.12715,"13.3":0.96759,"13.4-13.7":5.15428},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":30.32571,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0,"12.1":0,"13.1":0},B:{"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"79":0,"80":0,"81":0,"83":0,"84":0,"85":0,"86":0},I:{"3":0,"4":0,_:"81","2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0},P:{"4":0,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0,"8.2":0,"9.2":0,"10.1":0,"11.1-11.2":0,"12.0":0},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0},Q:{"10.4":0},O:{"0":0},H:{"0":0},L:{"0":0}};
diff --git a/node_modules/caniuse-lite/data/regions/SI.js b/node_modules/caniuse-lite/data/regions/SI.js
new file mode 100644
index 0000000..dcc7e0b
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/SI.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00632,"46":0,"47":0,"48":0.00632,"49":0,"50":0.00632,"51":0,"52":0.12636,"53":0.00632,"54":0,"55":0,"56":0.00632,"57":0.00632,"58":0.00632,"59":0,"60":0.03791,"61":0,"62":0.00632,"63":0.01895,"64":0.01264,"65":0.00632,"66":0.00632,"67":0.01264,"68":0.05054,"69":0.00632,"70":0.00632,"71":0.01264,"72":0.01895,"73":0.00632,"74":0.01264,"75":0.02527,"76":0.01895,"77":0.01895,"78":0.22745,"79":0.03159,"80":0.1769,"81":4.65005,"82":0.81502,"83":0.01264,"84":0,"3.5":0,"3.6":0},D:{"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.00632,"30":0,"31":0,"32":0,"33":0,"34":0.00632,"35":0,"36":0,"37":0,"38":0.00632,"39":0,"40":0,"41":0,"42":0,"43":0.00632,"44":0,"45":0,"46":0.06318,"47":0,"48":0,"49":0.12636,"50":0,"51":0,"52":0,"53":0.01264,"54":0,"55":0,"56":0.00632,"57":0,"58":0.01895,"59":0,"60":0,"61":0.08213,"62":0.01895,"63":0.00632,"64":0,"65":0.01264,"66":0,"67":0.01264,"68":0.00632,"69":0.02527,"70":0.02527,"71":0.01895,"72":0.03159,"73":0.02527,"74":0.01895,"75":0.04423,"76":0.03159,"77":0.02527,"78":0.02527,"79":0.02527,"80":0.139,"81":0.05686,"83":0.13268,"84":0.1769,"85":9.31273,"86":15.19479,"87":0.01264,"88":0.00632,"89":0},F:{"9":0,"11":0,"12":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.00632,"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.00632,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0.00632,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.10741,"71":0.68234,"72":0.01264,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":4.69979,"3.2":0.01126,"4.0-4.1":0.00965,"4.2-4.3":0.00161,"5.0-5.1":0.00804,"6.0-6.1":0.00483,"7.0-7.1":0.01126,"8.1-8.4":0.03699,"9.0-9.2":0.02091,"9.3":0.267,"10.0-10.2":0.04504,"10.3":0.2477,"11.0-11.2":0.09329,"11.3-11.4":0.15923,"12.0-12.1":0.16245,"12.2-12.4":1.61968,"13.0-13.1":0.1335,"13.2":0.06595,"13.3":0.50183,"13.4-13.7":2.67319},E:{"4":0,"5":0.00632,"6":0,"7":0,"8":0,"9":0,"10":0.00632,"11":0.00632,"12":0.02527,"13":0.12004,"14":0.91611,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.00632,"10.1":0.01895,"11.1":0.06318,"12.1":0.10741,"13.1":0.8087},B:{"12":0,"13":0,"14":0.00632,"15":0.01264,"16":0.01264,"17":0.01264,"18":0.1769,"79":0,"80":0,"81":0,"83":0,"84":0.01264,"85":0.73921,"86":1.61741},I:{"3":0,"4":0.04879,_:"81","2.1":0,"2.2":0,"2.3":0.00039,"4.1":0.02459,"4.2-4.3":0.01093,"4.4":0,"4.4.3-4.4.4":0.08899},P:{"4":0.08248,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.02062,"8.2":0.01031,"9.2":0.07217,"10.1":0.06186,"11.1-11.2":0.1031,"12.0":2.897},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.00635,"9":0,"10":0,"11":1.3078,"5.5":0},J:{"7":0,"10":0.00368},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.27247},Q:{"10.4":0},O:{"0":0.00368},H:{"0":0.21961},L:{"0":43.77519}};
diff --git a/node_modules/caniuse-lite/data/regions/SK.js b/node_modules/caniuse-lite/data/regions/SK.js
new file mode 100644
index 0000000..bcca67f
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/SK.js
@@ -0,0 +1 @@
+module.exports={C:{"47":0.00603,"48":0.01207,"52":0.21116,"56":0.04826,"57":0.00603,"59":0.03017,"60":0.01207,"62":0.00603,"65":0.01207,"66":0.0181,"67":0.01207,"68":0.0905,"70":0.01207,"71":0.01207,"72":0.04223,"73":0.0181,"74":0.01207,"75":0.01207,"76":0.0181,"77":0.02413,"78":0.25339,"79":0.11463,"80":0.21116,"81":6.31655,"82":1.06181,"83":0.01207,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 49 50 51 53 54 55 58 61 63 64 69 84 3.5 3.6"},D:{"22":0.00603,"34":0.01207,"38":0.0362,"43":0.02413,"47":0.00603,"48":0.03017,"49":0.34388,"53":0.06033,"57":0.00603,"58":0.00603,"59":0.01207,"63":0.07843,"65":0.01207,"66":0.00603,"67":0.03017,"69":0.04826,"70":0.04826,"71":0.07843,"72":0.02413,"73":0.0724,"74":0.0181,"75":0.03017,"76":0.0181,"77":0.02413,"78":0.0905,"79":0.06033,"80":0.12669,"81":0.14479,"83":0.14479,"84":0.36198,"85":13.57425,"86":23.4744,"87":0.02413,"88":0.01207,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 23 24 25 26 27 28 29 30 31 32 33 35 36 37 39 40 41 42 44 45 46 50 51 52 54 55 56 60 61 62 64 68 89"},F:{"36":0.0181,"58":0.0181,"68":0.01207,"70":0.39818,"71":2.77518,"72":0.0543,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 60 62 63 64 65 66 67 69 9.5-9.6 10.5 10.6 11.1 11.5 11.6","10.0-10.1":0,"12.1":0.02413},G:{"8":0,"14":3.32449,"3.2":0.00796,"4.0-4.1":0.00683,"4.2-4.3":0.00114,"5.0-5.1":0.00569,"6.0-6.1":0.00341,"7.0-7.1":0.00796,"8.1-8.4":0.02617,"9.0-9.2":0.01479,"9.3":0.18887,"10.0-10.2":0.03186,"10.3":0.17521,"11.0-11.2":0.06599,"11.3-11.4":0.11264,"12.0-12.1":0.11491,"12.2-12.4":1.14571,"13.0-13.1":0.09443,"13.2":0.04665,"13.3":0.35498,"13.4-13.7":1.89093},E:{"4":0,"11":0.00603,"12":0.04826,"13":0.19306,"14":1.81593,_:"0 5 6 7 8 9 10 3.1 3.2 6.1 7.1 9.1","5.1":0.01207,"10.1":0.0362,"11.1":0.09653,"12.1":0.15686,"13.1":1.32726},B:{"14":0.00603,"15":0.02413,"16":0.0181,"17":0.04826,"18":0.31975,"81":0.00603,"84":0.0181,"85":0.92305,"86":2.24428,_:"12 13 79 80 83"},I:{"3":0,"4":0.039,_:"81","2.1":0,"2.2":0,"2.3":0.00031,"4.1":0.01966,"4.2-4.3":0.00874,"4.4":0,"4.4.3-4.4.4":0.07114},P:{"4":0.24245,"5.0-5.4":0.01054,"6.2-6.4":0.02095,"7.2-7.4":0.01047,"8.2":0.01047,"9.2":0.01054,"10.1":0.04217,"11.1-11.2":0.08433,"12.0":2.22422},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.00607,"9":0.01214,"10":0.00607,"11":1.0134,_:"6 7 5.5"},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.21025},Q:{"10.4":0},O:{"0":0.05157},H:{"0":0.34552},L:{"0":29.17744}};
diff --git a/node_modules/caniuse-lite/data/regions/SL.js b/node_modules/caniuse-lite/data/regions/SL.js
new file mode 100644
index 0000000..b7fd89d
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/SL.js
@@ -0,0 +1 @@
+module.exports={C:{"2":0,"3":0,"4":0.00649,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.00973,"14":0,"15":0.00324,"16":0,"17":0.00324,"18":0,"19":0,"20":0.00324,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.00649,"30":0.00324,"31":0,"32":0,"33":0,"34":0,"35":0.00324,"36":0.00324,"37":0,"38":0.00324,"39":0.00324,"40":0.00324,"41":0,"42":0,"43":0.01297,"44":0.00324,"45":0.00324,"46":0,"47":0.00324,"48":0.00324,"49":0,"50":0,"51":0,"52":0.00324,"53":0,"54":0,"55":0,"56":0.00324,"57":0,"58":0,"59":0,"60":0.00324,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.01297,"69":0,"70":0,"71":0,"72":0.0227,"73":0,"74":0,"75":0.0227,"76":0,"77":0.00324,"78":0.01946,"79":0.02919,"80":0.04216,"81":0.52537,"82":0.10702,"83":0.01946,"84":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00649,"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.00973,"25":0.00324,"26":0,"27":0,"28":0,"29":0,"30":0.00324,"31":0,"32":0,"33":0.02594,"34":0.00324,"35":0,"36":0,"37":0,"38":0.00324,"39":0,"40":0.00324,"41":0,"42":0,"43":0.00324,"44":0,"45":0,"46":0.00324,"47":0,"48":0,"49":0.00973,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.00649,"59":0,"60":0.00649,"61":0,"62":0,"63":0.01297,"64":0.01297,"65":0.00973,"66":0,"67":0.0227,"68":0,"69":0.01622,"70":0.00649,"71":0,"72":0.00649,"73":0.00973,"74":0.05837,"75":0.00973,"76":0.00649,"77":0.01946,"78":0.00324,"79":0.03567,"80":0.01946,"81":0.0454,"83":0.02919,"84":0.07783,"85":1.76744,"86":3.20408,"87":0.00973,"88":0,"89":0},F:{"9":0,"11":0,"12":0,"15":0.00324,"16":0.00973,"17":0,"18":0.00649,"19":0.00324,"20":0.04216,"21":0,"22":0,"23":0.03243,"24":0.00324,"25":0,"26":0.00324,"27":0,"28":0.00649,"29":0,"30":0,"31":0,"32":0.00324,"33":0,"34":0,"35":0,"36":0,"37":0.00649,"38":0.00973,"39":0,"40":0,"41":0,"42":0.00649,"43":0,"44":0,"45":0.00649,"46":0.00649,"47":0.00649,"48":0,"49":0,"50":0.16864,"51":0.07783,"52":0,"53":0.00324,"54":0,"55":0.00324,"56":0.00324,"57":0.00324,"58":0.02594,"60":0.0227,"62":0,"63":0,"64":0,"65":0.00324,"66":0.00324,"67":0.00324,"68":0.00973,"69":0.00324,"70":0.06486,"71":0.46051,"72":0.01946,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.54807},G:{"8":0,"14":2.08575,"3.2":0.005,"4.0-4.1":0.00428,"4.2-4.3":0.00071,"5.0-5.1":0.00357,"6.0-6.1":0.00214,"7.0-7.1":0.005,"8.1-8.4":0.01642,"9.0-9.2":0.00928,"9.3":0.11849,"10.0-10.2":0.01999,"10.3":0.10993,"11.0-11.2":0.0414,"11.3-11.4":0.07067,"12.0-12.1":0.07209,"12.2-12.4":0.71881,"13.0-13.1":0.05925,"13.2":0.02927,"13.3":0.22271,"13.4-13.7":1.18635},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.00324,"11":0,"12":0.00324,"13":0.00973,"14":0.17512,_:"0","3.1":0,"3.2":0,"5.1":0.14918,"6.1":0,"7.1":0,"9.1":0.00324,"10.1":0.00324,"11.1":0.00649,"12.1":0.01946,"13.1":0.21404},B:{"12":0.03892,"13":0.01946,"14":0.00973,"15":0.01622,"16":0.01297,"17":0.02919,"18":0.28863,"79":0,"80":0,"81":0.00324,"83":0.00649,"84":0.02594,"85":0.25295,"86":0.35997},I:{"3":0,"4":0.12337,_:"81","2.1":0,"2.2":0,"2.3":0.00099,"4.1":0.06218,"4.2-4.3":0.02763,"4.4":0,"4.4.3-4.4.4":0.22502},P:{"4":0.15403,"5.0-5.4":0.05134,"6.2-6.4":0.01027,"7.2-7.4":0.12323,"8.2":0.02054,"9.2":0.08215,"10.1":0.06161,"11.1-11.2":0.35941,"12.0":0.69828},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.02351,"9":0,"10":0.00588,"11":0.1587,"5.5":0},J:{"7":0,"10":0.02027},N:{"10":0.06081,"11":0},S:{"2.5":0.01351},R:{_:"0"},M:{"0":0.1419},Q:{"10.4":0.02703},O:{"0":2.19603},H:{"0":21.9868},L:{"0":49.58629}};
diff --git a/node_modules/caniuse-lite/data/regions/SM.js b/node_modules/caniuse-lite/data/regions/SM.js
new file mode 100644
index 0000000..e18e230
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/SM.js
@@ -0,0 +1 @@
+module.exports={C:{"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.03195,"49":0,"50":0,"51":0,"52":0.03195,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0.00799,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0.00799,"67":0,"68":0.01598,"69":0,"70":0,"71":0,"72":0.01598,"73":0,"74":0.00799,"75":0,"76":0.00799,"77":0.00799,"78":0.50324,"79":0.01598,"80":0.11183,"81":4.04193,"82":0.61508,"83":0.0639,"84":0,"3.5":0,"3.6":0},D:{"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.00799,"35":0,"36":0,"37":0,"38":0.00799,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.49526,"50":0,"51":0,"52":0,"53":0.01598,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0.00799,"64":0.01598,"65":0.00799,"66":0.00799,"67":0.11183,"68":0,"69":0,"70":0,"71":0.00799,"72":0.03195,"73":0.01598,"74":0.00799,"75":0.00799,"76":0.11982,"77":0.0639,"78":0.00799,"79":0.00799,"80":0,"81":0.04793,"83":0.07189,"84":0.18372,"85":15.81624,"86":27.63848,"87":0,"88":0,"89":0},F:{"9":0,"11":0,"12":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,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.00799,"71":0.39141,"72":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":5.86488,"3.2":0.01405,"4.0-4.1":0.01204,"4.2-4.3":0.00201,"5.0-5.1":0.01004,"6.0-6.1":0.00602,"7.0-7.1":0.01405,"8.1-8.4":0.04616,"9.0-9.2":0.02609,"9.3":0.33319,"10.0-10.2":0.0562,"10.3":0.3091,"11.0-11.2":0.11641,"11.3-11.4":0.19871,"12.0-12.1":0.20272,"12.2-12.4":2.0212,"13.0-13.1":0.16659,"13.2":0.08229,"13.3":0.62623,"13.4-13.7":3.33588},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.00799,"11":0,"12":0.08787,"13":0.67898,"14":2.67598,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.00799,"10.1":0.12781,"11.1":0.25562,"12.1":0.72691,"13.1":2.50024},B:{"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0.50324,"79":0,"80":0,"81":0,"83":0,"84":0,"85":1.31003,"86":2.29256},I:{"3":0,"4":0.02362,_:"81","2.1":0,"2.2":0,"2.3":0.00019,"4.1":0.0119,"4.2-4.3":0.00529,"4.4":0,"4.4.3-4.4.4":0.04308},P:{"4":0.02075,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0,"8.2":0,"9.2":0,"10.1":0,"11.1-11.2":0.01037,"12.0":2.10563},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.44733,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.0664},Q:{"10.4":0},O:{"0":0},H:{"0":0.00571},L:{"0":20.18905}};
diff --git a/node_modules/caniuse-lite/data/regions/SN.js b/node_modules/caniuse-lite/data/regions/SN.js
new file mode 100644
index 0000000..b96e72e
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/SN.js
@@ -0,0 +1 @@
+module.exports={C:{"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.0029,"30":0,"31":0,"32":0.00579,"33":0,"34":0.0029,"35":0.0029,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0.0029,"43":0.0029,"44":0,"45":0.0029,"46":0,"47":0.02316,"48":0.0029,"49":0,"50":0,"51":0.0029,"52":0.00869,"53":0.0029,"54":0,"55":0,"56":0.0029,"57":0,"58":0,"59":0,"60":0.00579,"61":0,"62":0,"63":0.0029,"64":0.0029,"65":0.0029,"66":0.0029,"67":0.01448,"68":0.02027,"69":0,"70":0.00869,"71":0,"72":0.00869,"73":0,"74":0.0029,"75":0.0029,"76":0.0029,"77":0,"78":0.05501,"79":0.00579,"80":0.02895,"81":0.71507,"82":0.08396,"83":0.0029,"84":0,"3.5":0,"3.6":0},D:{"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.00579,"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.0029,"39":0,"40":0.0029,"41":0,"42":0,"43":0.0029,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.04632,"50":0,"51":0,"52":0,"53":0.0029,"54":0,"55":0.0029,"56":0.0029,"57":0,"58":0.0029,"59":0.0029,"60":0,"61":0.00579,"62":0.0029,"63":0.01448,"64":0.00579,"65":0.02316,"66":0.00579,"67":0.01448,"68":0,"69":0.02606,"70":0.00869,"71":0.00579,"72":0.00579,"73":0.00579,"74":0.0579,"75":0.01448,"76":0.02027,"77":0.00869,"78":0.00869,"79":0.01448,"80":0.04922,"81":0.04343,"83":0.02316,"84":0.06659,"85":1.60094,"86":2.90948,"87":0.00579,"88":0,"89":0},F:{"9":0,"11":0,"12":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.00579,"51":0.04343,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0.0029,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.03764,"71":0.22871,"72":0.00579,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":5.21442,"3.2":0.01249,"4.0-4.1":0.01071,"4.2-4.3":0.00178,"5.0-5.1":0.00892,"6.0-6.1":0.00535,"7.0-7.1":0.01249,"8.1-8.4":0.04104,"9.0-9.2":0.0232,"9.3":0.29623,"10.0-10.2":0.04997,"10.3":0.27482,"11.0-11.2":0.1035,"11.3-11.4":0.17667,"12.0-12.1":0.18024,"12.2-12.4":1.79703,"13.0-13.1":0.14812,"13.2":0.07317,"13.3":0.55678,"13.4-13.7":2.9659},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.00579,"11":0.00579,"12":0.00579,"13":0.01448,"14":0.13896,_:"0","3.1":0,"3.2":0,"5.1":0.01448,"6.1":0,"7.1":0,"9.1":0.00579,"10.1":0.01158,"11.1":0.03474,"12.1":0.04053,"13.1":0.15344},B:{"12":0.00869,"13":0.0029,"14":0.0029,"15":0.01448,"16":0.00869,"17":0.01737,"18":0.06369,"79":0,"80":0,"81":0,"83":0,"84":0.00579,"85":0.13028,"86":0.25187},I:{"3":0,"4":0.05071,_:"81","2.1":0,"2.2":0,"2.3":0.00041,"4.1":0.02556,"4.2-4.3":0.01136,"4.4":0,"4.4.3-4.4.4":0.0925},P:{"4":0.41315,"5.0-5.4":0.02015,"6.2-6.4":0.06046,"7.2-7.4":0.38292,"8.2":0.03023,"9.2":0.33253,"10.1":0.15115,"11.1-11.2":0.48369,"12.0":2.31766},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.00655,"9":0,"10":0.00327,"11":0.14072,"5.5":0},J:{"7":0,"10":0.02132},N:{"10":0,"11":0.02842},S:{"2.5":0},R:{_:"0"},M:{"0":0.15631},Q:{"10.4":0.00711},O:{"0":0.09947},H:{"0":0.53812},L:{"0":73.76734}};
diff --git a/node_modules/caniuse-lite/data/regions/SO.js b/node_modules/caniuse-lite/data/regions/SO.js
new file mode 100644
index 0000000..317e924
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/SO.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00412,"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.00412,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.00824,"69":0,"70":0,"71":0,"72":0.00412,"73":0,"74":0.00824,"75":0,"76":0.00412,"77":0,"78":0.00824,"79":0.00824,"80":0.00824,"81":0.51899,"82":0.0865,"83":0.00412,"84":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00412,"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.00412,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0.04943,"34":0,"35":0,"36":0,"37":0.14005,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.02883,"44":0,"45":0.00824,"46":0,"47":0.00824,"48":0,"49":0.00412,"50":0,"51":0.00412,"52":0,"53":0.00412,"54":0,"55":0.00824,"56":0,"57":0.00412,"58":0,"59":0,"60":0,"61":0.00412,"62":0.00412,"63":0.04943,"64":0.01236,"65":0,"66":0,"67":0,"68":0.00824,"69":0.00824,"70":0.01236,"71":0.00412,"72":0.00412,"73":0.00824,"74":0.02471,"75":0.00412,"76":0.02471,"77":0.02883,"78":0.03295,"79":0.06179,"80":0.08238,"81":0.03295,"83":0.03707,"84":0.14417,"85":4.95928,"86":7.80551,"87":0.02883,"88":0.02471,"89":0},F:{"9":0,"11":0,"12":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.00412,"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.03707,"51":0.07414,"52":0,"53":0.00412,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0.0206,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.07414,"71":0.35835,"72":0.00824,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.00824},G:{"8":0,"14":2.06724,"3.2":0.00495,"4.0-4.1":0.00424,"4.2-4.3":0.00071,"5.0-5.1":0.00354,"6.0-6.1":0.00212,"7.0-7.1":0.00495,"8.1-8.4":0.01627,"9.0-9.2":0.0092,"9.3":0.11744,"10.0-10.2":0.01981,"10.3":0.10895,"11.0-11.2":0.04103,"11.3-11.4":0.07004,"12.0-12.1":0.07146,"12.2-12.4":0.71243,"13.0-13.1":0.05872,"13.2":0.02901,"13.3":0.22073,"13.4-13.7":1.17582},E:{"4":0,"5":0,"6":0,"7":0.00412,"8":0,"9":0,"10":0,"11":0,"12":0.00412,"13":0.0206,"14":0.04531,_:"0","3.1":0,"3.2":0,"5.1":0.32128,"6.1":0,"7.1":0,"9.1":0,"10.1":0.0865,"11.1":0,"12.1":0.07002,"13.1":0.16064},B:{"12":0.01236,"13":0.00824,"14":0.00412,"15":0.00412,"16":0.01236,"17":0.02883,"18":0.16064,"79":0,"80":0,"81":0.00412,"83":0,"84":0.00412,"85":0.35012,"86":0.55195},I:{"3":0,"4":0.05783,_:"81","2.1":0,"2.2":0,"2.3":0.00046,"4.1":0.02915,"4.2-4.3":0.01295,"4.4":0,"4.4.3-4.4.4":0.10549},P:{"4":0.35414,"5.0-5.4":0.05059,"6.2-6.4":0.10118,"7.2-7.4":0.54639,"8.2":0.02024,"9.2":0.23272,"10.1":0.21248,"11.1-11.2":0.57674,"12.0":2.79263},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.00824,"9":0,"10":0,"11":0.03295,"5.5":0},J:{"7":0,"10":0.01176},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.06469},Q:{"10.4":0.00588},O:{"0":3.76384},H:{"0":3.7805},L:{"0":60.04822}};
diff --git a/node_modules/caniuse-lite/data/regions/SR.js b/node_modules/caniuse-lite/data/regions/SR.js
new file mode 100644
index 0000000..8ee8562
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/SR.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00462,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0.00462,"53":0.00462,"54":0,"55":0,"56":0.00462,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0.00924,"64":0,"65":0.00462,"66":0,"67":0,"68":0.00924,"69":0.00462,"70":0,"71":0,"72":0.00924,"73":0.00462,"74":0.00462,"75":0,"76":0,"77":0,"78":0.01849,"79":0.00924,"80":0.03235,"81":0.95675,"82":0.12479,"83":0.00462,"84":0,"3.5":0,"3.6":0},D:{"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.00462,"40":0.00462,"41":0.00462,"42":0,"43":0,"44":0,"45":0,"46":0.00462,"47":0,"48":0,"49":0.18488,"50":0,"51":0.01387,"52":0,"53":0.00462,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0.00462,"63":0.01849,"64":0.00462,"65":0.00462,"66":0.05084,"67":0.00462,"68":0,"69":0.00924,"70":0.01387,"71":0.02311,"72":0.00462,"73":0.00924,"74":0.01849,"75":0.05084,"76":0.00924,"77":0.00462,"78":0.06009,"79":0.0416,"80":0.12017,"81":0.12942,"83":0.06471,"84":0.17564,"85":5.1674,"86":8.3196,"87":0.00924,"88":0.00462,"89":0},F:{"9":0,"11":0,"12":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.00462,"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.01387,"52":0,"53":0,"54":0,"55":0,"56":0.00462,"57":0,"58":0,"60":0.00462,"62":0,"63":0.00924,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.10168,"71":0.33741,"72":0.00462,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":5.99653,"3.2":0.01437,"4.0-4.1":0.01231,"4.2-4.3":0.00205,"5.0-5.1":0.01026,"6.0-6.1":0.00616,"7.0-7.1":0.01437,"8.1-8.4":0.0472,"9.0-9.2":0.02668,"9.3":0.34067,"10.0-10.2":0.05746,"10.3":0.31604,"11.0-11.2":0.11903,"11.3-11.4":0.20317,"12.0-12.1":0.20727,"12.2-12.4":2.06656,"13.0-13.1":0.17033,"13.2":0.08414,"13.3":0.64029,"13.4-13.7":3.41076},E:{"4":0,"5":0,"6":0,"7":0,"8":0.02311,"9":0,"10":0,"11":0.00462,"12":0.0416,"13":0.02773,"14":0.32354,_:"0","3.1":0,"3.2":0,"5.1":0.2311,"6.1":0,"7.1":0,"9.1":0,"10.1":0.02311,"11.1":0.00924,"12.1":0.06471,"13.1":0.38363},B:{"12":0.00462,"13":0.00924,"14":0,"15":0.00462,"16":0.01849,"17":0.01849,"18":0.1479,"79":0,"80":0,"81":0,"83":0,"84":0.01387,"85":0.61473,"86":1.20172},I:{"3":0,"4":0.16309,_:"81","2.1":0,"2.2":0,"2.3":0.0013,"4.1":0.0822,"4.2-4.3":0.03653,"4.4":0,"4.4.3-4.4.4":0.29748},P:{"4":0.46739,"5.0-5.4":0.02077,"6.2-6.4":0.05193,"7.2-7.4":0.46739,"8.2":0.03116,"9.2":0.27005,"10.1":0.18696,"11.1-11.2":0.58164,"12.0":6.64731},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.61935,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.10756},Q:{"10.4":0.05916},O:{"0":0.48402},H:{"0":0.25967},L:{"0":51.46156}};
diff --git a/node_modules/caniuse-lite/data/regions/ST.js b/node_modules/caniuse-lite/data/regions/ST.js
new file mode 100644
index 0000000..3c773e5
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/ST.js
@@ -0,0 +1 @@
+module.exports={C:{"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.02414,"50":0,"51":0,"52":0.01448,"53":0,"54":0,"55":0,"56":0.01448,"57":0,"58":0,"59":0,"60":0,"61":0.00483,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.00483,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0.00483,"78":0.12553,"79":0,"80":0.04345,"81":0.32348,"82":0.05311,"83":0,"84":0,"3.5":0,"3.6":0},D:{"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.01448,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0.02414,"41":0,"42":0.01931,"43":0.35244,"44":0,"45":0,"46":0.02414,"47":0,"48":0,"49":0.02414,"50":0,"51":0.01931,"52":0,"53":0.01448,"54":0,"55":0,"56":0.00483,"57":0,"58":0.02897,"59":0,"60":0,"61":0.00483,"62":0.00483,"63":0.03862,"64":0,"65":0,"66":0.02897,"67":0,"68":0,"69":0.02897,"70":0.01448,"71":0,"72":0.02897,"73":0,"74":0.00483,"75":0,"76":0.04345,"77":0,"78":0.02414,"79":0.05794,"80":0.02897,"81":0.0338,"83":0.28968,"84":0.14484,"85":5.55703,"86":10.5347,"87":0,"88":0.00966,"89":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0.00483,"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.26071,"51":0.05794,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0.00483,"70":0.05311,"71":0.52142,"72":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.02897},G:{"8":0,"14":5.19132,"3.2":0.01244,"4.0-4.1":0.01066,"4.2-4.3":0.00178,"5.0-5.1":0.00888,"6.0-6.1":0.00533,"7.0-7.1":0.01244,"8.1-8.4":0.04086,"9.0-9.2":0.0231,"9.3":0.29492,"10.0-10.2":0.04975,"10.3":0.2736,"11.0-11.2":0.10304,"11.3-11.4":0.17589,"12.0-12.1":0.17944,"12.2-12.4":1.78907,"13.0-13.1":0.14746,"13.2":0.07284,"13.3":0.55431,"13.4-13.7":2.95276},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.00483,"11":0.14967,"12":0,"13":0.02897,"14":0.18829,_:"0","3.1":0,"3.2":0,"5.1":0.16898,"6.1":0,"7.1":0,"9.1":0,"10.1":0.00483,"11.1":0.09173,"12.1":0.02897,"13.1":0.30416},B:{"12":0.00483,"13":0,"14":0.00483,"15":0.00966,"16":0,"17":0,"18":0.13518,"79":0,"80":0,"81":0.01448,"83":0,"84":0.01931,"85":0.2414,"86":0.73868},I:{"3":0,"4":0.1205,_:"81","2.1":0,"2.2":0,"2.3":0.00096,"4.1":0.06073,"4.2-4.3":0.02699,"4.4":0,"4.4.3-4.4.4":0.21979},P:{"4":0.12461,"5.0-5.4":0.01038,"6.2-6.4":0.01038,"7.2-7.4":0.08307,"8.2":0,"9.2":0.14538,"10.1":0.01038,"11.1-11.2":0.04154,"12.0":0.90342},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.03038,"9":0,"10":0,"11":0.38483,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.01034},Q:{"10.4":0.01552},O:{"0":3.89452},H:{"0":0.99889},L:{"0":56.53298}};
diff --git a/node_modules/caniuse-lite/data/regions/SV.js b/node_modules/caniuse-lite/data/regions/SV.js
new file mode 100644
index 0000000..efb1ded
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/SV.js
@@ -0,0 +1 @@
+module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.00712,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0.00712,"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.02847,"49":0,"50":0,"51":0,"52":0.03559,"53":0,"54":0,"55":0,"56":0,"57":0.00712,"58":0,"59":0,"60":0.00712,"61":0,"62":0,"63":0.00712,"64":0.00712,"65":0.00712,"66":0.17795,"67":0,"68":0.02847,"69":0.00712,"70":0.05694,"71":0,"72":0.01424,"73":0.04271,"74":0.00712,"75":0.00712,"76":0,"77":0.01424,"78":0.10677,"79":0.01424,"80":0.05694,"81":2.52689,"82":0.28472,"83":0.01424,"84":0,"3.5":0,"3.6":0},D:{"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.00712,"39":0,"40":0,"41":0,"42":0,"43":0.00712,"44":0,"45":0,"46":0,"47":0,"48":0.00712,"49":0.1993,"50":0,"51":0,"52":0,"53":0.02135,"54":0,"55":0,"56":0.00712,"57":0,"58":0.00712,"59":0,"60":0,"61":0,"62":0,"63":0.01424,"64":0,"65":0.02135,"66":0.01424,"67":0.04983,"68":0.01424,"69":0.00712,"70":0.06406,"71":0.03559,"72":0.07118,"73":0.04271,"74":0.03559,"75":0.05694,"76":0.04983,"77":0.09965,"78":0.06406,"79":0.09965,"80":0.1566,"81":0.12101,"83":0.17795,"84":0.29184,"85":13.92993,"86":22.99114,"87":0.02135,"88":0.00712,"89":0},F:{"9":0,"11":0,"12":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.00712,"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.00712,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0.01424,"58":0,"60":0.00712,"62":0.00712,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.14236,"71":1.33107,"72":0.02135,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":2.43802,"3.2":0.00584,"4.0-4.1":0.00501,"4.2-4.3":0.00083,"5.0-5.1":0.00417,"6.0-6.1":0.0025,"7.0-7.1":0.00584,"8.1-8.4":0.01919,"9.0-9.2":0.01085,"9.3":0.1385,"10.0-10.2":0.02336,"10.3":0.12849,"11.0-11.2":0.04839,"11.3-11.4":0.0826,"12.0-12.1":0.08427,"12.2-12.4":0.84021,"13.0-13.1":0.06925,"13.2":0.03421,"13.3":0.26032,"13.4-13.7":1.38672},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00712,"12":0.03559,"13":0.24913,"14":0.90399,_:"0","3.1":0,"3.2":0,"5.1":0.76874,"6.1":0,"7.1":0,"9.1":0,"10.1":0.01424,"11.1":0.05694,"12.1":0.16371,"13.1":0.85416},B:{"12":0,"13":0,"14":0,"15":0.01424,"16":0.00712,"17":0.02847,"18":0.08542,"79":0,"80":0.00712,"81":0,"83":0.00712,"84":0.00712,"85":0.61927,"86":1.18871},I:{"3":0,"4":0.06175,_:"81","2.1":0,"2.2":0,"2.3":0.00049,"4.1":0.03112,"4.2-4.3":0.01383,"4.4":0,"4.4.3-4.4.4":0.11263},P:{"4":0.1139,"5.0-5.4":0.01035,"6.2-6.4":0,"7.2-7.4":0.08284,"8.2":0.01035,"9.2":0.08284,"10.1":0.07248,"11.1-11.2":0.1139,"12.0":1.24254},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.00754,"9":0,"10":0,"11":0.12059,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.26226},Q:{"10.4":0},O:{"0":0.10375},H:{"0":0.1146},L:{"0":41.3009}};
diff --git a/node_modules/caniuse-lite/data/regions/SY.js b/node_modules/caniuse-lite/data/regions/SY.js
new file mode 100644
index 0000000..29453f7
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/SY.js
@@ -0,0 +1 @@
+module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.00219,"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.00219,"37":0,"38":0.00219,"39":0,"40":0,"41":0,"42":0,"43":0.00219,"44":0,"45":0,"46":0,"47":0.00219,"48":0,"49":0,"50":0.00219,"51":0,"52":0.01752,"53":0,"54":0,"55":0,"56":0.00438,"57":0,"58":0.00219,"59":0.00219,"60":0,"61":0,"62":0.00219,"63":0,"64":0,"65":0,"66":0.00219,"67":0.00219,"68":0.02409,"69":0,"70":0,"71":0,"72":0.00657,"73":0,"74":0.00219,"75":0.00219,"76":0.00219,"77":0.00219,"78":0.00657,"79":0.00438,"80":0.01533,"81":0.37887,"82":0.05694,"83":0.00219,"84":0,"3.5":0,"3.6":0},D:{"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.00219,"33":0.00219,"34":0,"35":0,"36":0.00219,"37":0,"38":0.00219,"39":0,"40":0.00657,"41":0,"42":0.00219,"43":0.00876,"44":0,"45":0.00219,"46":0.00219,"47":0.00219,"48":0,"49":0.01095,"50":0,"51":0,"52":0,"53":0.00438,"54":0.00219,"55":0.00438,"56":0.00219,"57":0,"58":0.00438,"59":0,"60":0.00438,"61":0,"62":0.00219,"63":0.00876,"64":0.00219,"65":0.00219,"66":0.00219,"67":0.00219,"68":0.00219,"69":0.00438,"70":0.0876,"71":0.01314,"72":0.00438,"73":0.00657,"74":0.00876,"75":0.01971,"76":0.01095,"77":0.00438,"78":0.01752,"79":0.04161,"80":0.03285,"81":0.04818,"83":0.02847,"84":0.04818,"85":0.84096,"86":1.29429,"87":0.00219,"88":0.00219,"89":0},F:{"9":0,"11":0,"12":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.00219,"51":0.01314,"52":0,"53":0,"54":0,"55":0,"56":0.00219,"57":0,"58":0,"60":0.00219,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0.00219,"70":0.01314,"71":0.10512,"72":0.00438,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.00219},G:{"8":0,"14":1.43863,"3.2":0.00345,"4.0-4.1":0.00295,"4.2-4.3":0.00049,"5.0-5.1":0.00246,"6.0-6.1":0.00148,"7.0-7.1":0.00345,"8.1-8.4":0.01132,"9.0-9.2":0.0064,"9.3":0.08173,"10.0-10.2":0.01379,"10.3":0.07582,"11.0-11.2":0.02856,"11.3-11.4":0.04874,"12.0-12.1":0.04973,"12.2-12.4":0.49579,"13.0-13.1":0.04086,"13.2":0.02019,"13.3":0.15361,"13.4-13.7":0.81828},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.00219,"14":0.01095,_:"0","3.1":0,"3.2":0,"5.1":1.20888,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0,"12.1":0.00219,"13.1":0.01533},B:{"12":0,"13":0,"14":0.00219,"15":0.00219,"16":0.00219,"17":0.00876,"18":0.01752,"79":0,"80":0,"81":0,"83":0,"84":0.00438,"85":0.05694,"86":0.06789},I:{"3":0,"4":0.11308,_:"81","2.1":0,"2.2":0,"2.3":0.0009,"4.1":0.05699,"4.2-4.3":0.02533,"4.4":0,"4.4.3-4.4.4":0.20626},P:{"4":1.90333,"5.0-5.4":0.10124,"6.2-6.4":0.19236,"7.2-7.4":0.40496,"8.2":0.10124,"9.2":0.63782,"10.1":0.63782,"11.1-11.2":0.85042,"12.0":4.18124},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.00694,"9":0,"10":0,"11":0.03468,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.17963},Q:{"10.4":0},O:{"0":1.21055},H:{"0":1.41225},L:{"0":76.97515}};
diff --git a/node_modules/caniuse-lite/data/regions/SZ.js b/node_modules/caniuse-lite/data/regions/SZ.js
new file mode 100644
index 0000000..925044f
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/SZ.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00353,"46":0.00353,"47":0.00353,"48":0,"49":0,"50":0,"51":0,"52":0.00706,"53":0.00353,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0.03179,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0.00353,"67":0,"68":0.02119,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0.00353,"75":0.00353,"76":0,"77":0.00706,"78":0.01413,"79":0.00353,"80":0.04238,"81":0.64989,"82":0.06711,"83":0.0106,"84":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00353,"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.00353,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0.01413,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0.00706,"47":0.00353,"48":0,"49":0.03532,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0.00706,"56":0,"57":0,"58":0.00353,"59":0.00353,"60":0,"61":0,"62":0,"63":0.00353,"64":0.00353,"65":0.00353,"66":0.00353,"67":0.00353,"68":0.02119,"69":0.01413,"70":0.03885,"71":0.0106,"72":0.01413,"73":0.00353,"74":0.03179,"75":0.00353,"76":0.00353,"77":0.00706,"78":0.0106,"79":0.00353,"80":0.166,"81":0.15894,"83":0.02472,"84":0.07417,"85":2.44061,"86":3.94171,"87":0.02119,"88":0,"89":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0.00353,"17":0.00706,"18":0.00353,"19":0.00353,"20":0.00353,"21":0,"22":0,"23":0,"24":0,"25":0.00353,"26":0.01413,"27":0,"28":0.0106,"29":0,"30":0,"31":0,"32":0.00353,"33":0.00706,"34":0,"35":0.01766,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0.00353,"43":0,"44":0,"45":0.00353,"46":0.00706,"47":0.00353,"48":0,"49":0,"50":0.02826,"51":0.31435,"52":0,"53":0.00706,"54":0.00353,"55":0,"56":0,"57":0,"58":0.0106,"60":0.02119,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0.00706,"68":0.00353,"69":0,"70":0.12715,"71":0.53333,"72":0.00706,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.38146},G:{"8":0,"14":2.27863,"3.2":0.00546,"4.0-4.1":0.00468,"4.2-4.3":0.00078,"5.0-5.1":0.0039,"6.0-6.1":0.00234,"7.0-7.1":0.00546,"8.1-8.4":0.01794,"9.0-9.2":0.01014,"9.3":0.12945,"10.0-10.2":0.02183,"10.3":0.12009,"11.0-11.2":0.04523,"11.3-11.4":0.0772,"12.0-12.1":0.07876,"12.2-12.4":0.78528,"13.0-13.1":0.06472,"13.2":0.03197,"13.3":0.2433,"13.4-13.7":1.29606},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0.37792,"10":0,"11":0,"12":0.00353,"13":0.0106,"14":0.04592,_:"0","3.1":0,"3.2":0,"5.1":0.05298,"6.1":0.00353,"7.1":0,"9.1":0,"10.1":0,"11.1":0.02119,"12.1":0.0106,"13.1":0.0989},B:{"12":0.02826,"13":0.0106,"14":0.02826,"15":0.03885,"16":0.01766,"17":0.01766,"18":0.14834,"79":0,"80":0.00353,"81":0,"83":0,"84":0.01413,"85":0.30728,"86":0.59338},I:{"3":0,"4":0.10146,_:"81","2.1":0,"2.2":0,"2.3":0.00081,"4.1":0.05114,"4.2-4.3":0.02273,"4.4":0,"4.4.3-4.4.4":0.18506},P:{"4":0.53183,"5.0-5.4":0,"6.2-6.4":0.02045,"7.2-7.4":0.5216,"8.2":0.01023,"9.2":0.14318,"10.1":0.1125,"11.1-11.2":0.2966,"12.0":2.833},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.01181,"9":0.01181,"10":0,"11":0.31898,"5.5":0},J:{"7":0,"10":0.05174},N:{"10":0,"11":0},S:{"2.5":0.27166},R:{_:"0"},M:{"0":0.23932},Q:{"10.4":0},O:{"0":1.06722},H:{"0":15.4618},L:{"0":53.08322}};
diff --git a/node_modules/caniuse-lite/data/regions/TC.js b/node_modules/caniuse-lite/data/regions/TC.js
new file mode 100644
index 0000000..ea21f70
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/TC.js
@@ -0,0 +1 @@
+module.exports={C:{"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.02291,"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.05727,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.01718,"79":0,"80":0,"81":1.4432,"82":0.08018,"83":0,"84":0,"3.5":0,"3.6":0},D:{"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.00573,"50":0,"51":0,"52":0,"53":0.18326,"54":0,"55":0,"56":0,"57":0,"58":0.00573,"59":0,"60":0,"61":0,"62":0,"63":0.02291,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.00573,"71":0,"72":0,"73":0,"74":0,"75":0.00573,"76":0.02864,"77":0.08591,"78":0.01145,"79":0.02864,"80":0,"81":0.32071,"83":0.01145,"84":0.09736,"85":6.62041,"86":9.82753,"87":0.01145,"88":0.01145,"89":0},F:{"9":0,"11":0,"12":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,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.04582,"71":0.10309,"72":0.00573,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":11.97304,"3.2":0.02868,"4.0-4.1":0.02459,"4.2-4.3":0.0041,"5.0-5.1":0.02049,"6.0-6.1":0.01229,"7.0-7.1":0.02868,"8.1-8.4":0.09424,"9.0-9.2":0.05327,"9.3":0.68019,"10.0-10.2":0.11473,"10.3":0.63102,"11.0-11.2":0.23766,"11.3-11.4":0.40566,"12.0-12.1":0.41385,"12.2-12.4":4.12623,"13.0-13.1":0.3401,"13.2":0.168,"13.3":1.27843,"13.4-13.7":6.81012},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.10309,"13":0.09163,"14":1.40312,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0.09163,"11.1":0.04009,"12.1":0.10309,"13.1":2.81196},B:{"12":0.01145,"13":0.01145,"14":0,"15":0.00573,"16":0.01718,"17":0.07445,"18":0.50398,"79":0,"80":0.01145,"81":0,"83":0,"84":0.01718,"85":1.87273,"86":3.27012},I:{"3":0,"4":0.51956,_:"81","2.1":0,"2.2":0,"2.3":0.00416,"4.1":0.26186,"4.2-4.3":0.11638,"4.4":0,"4.4.3-4.4.4":0.94768},P:{"4":0.01068,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.05341,"8.2":0,"9.2":0.08546,"10.1":0,"11.1-11.2":0.05341,"12.0":3.04451},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.28635,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.16665},Q:{"10.4":0},O:{"0":0.00427},H:{"0":0.01214},L:{"0":35.55491}};
diff --git a/node_modules/caniuse-lite/data/regions/TD.js b/node_modules/caniuse-lite/data/regions/TD.js
new file mode 100644
index 0000000..8a03118
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/TD.js
@@ -0,0 +1 @@
+module.exports={C:{"2":0,"3":0.02047,"4":0.00341,"5":0.03412,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00341,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0.00341,"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.00341,"36":0,"37":0,"38":0,"39":0,"40":0.00682,"41":0,"42":0,"43":0.00682,"44":0,"45":0,"46":0,"47":0.01024,"48":0.00341,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0.00341,"57":0,"58":0,"59":0,"60":0.01024,"61":0.00341,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.03753,"69":0.00341,"70":0,"71":0.00682,"72":0.00682,"73":0,"74":0,"75":0,"76":0.00682,"77":0,"78":0.01024,"79":0.00341,"80":0.06483,"81":1.51152,"82":0.12966,"83":0.00341,"84":0,"3.5":0,"3.6":0},D:{"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.00341,"28":0,"29":0.01365,"30":0,"31":0,"32":0,"33":0.00341,"34":0,"35":0,"36":0,"37":0.00341,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.00341,"44":0,"45":0,"46":0,"47":0,"48":0.00341,"49":0.0273,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0.00341,"56":0,"57":0.00682,"58":0,"59":0.00341,"60":0.00341,"61":0,"62":0,"63":0.00682,"64":0,"65":0.60734,"66":0,"67":0.02388,"68":0,"69":0.03071,"70":0,"71":0,"72":0,"73":0.00682,"74":0.00682,"75":0.08871,"76":0.52886,"77":0.01365,"78":0.00682,"79":0.05459,"80":0.01706,"81":0.01024,"83":0.3992,"84":0.13648,"85":1.34774,"86":2.1598,"87":0.02047,"88":0,"89":0},F:{"9":0,"11":0.00682,"12":0,"15":0,"16":0.00341,"17":0,"18":0,"19":0.00341,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0.01024,"29":0.00341,"30":0.02047,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0.01024,"38":0.00341,"39":0,"40":0.00682,"41":0,"42":0.00682,"43":0.00682,"44":0,"45":0.00341,"46":0.01024,"47":0.00341,"48":0,"49":0,"50":0.00682,"51":0.05118,"52":0,"53":0.00341,"54":0,"55":0,"56":0.00682,"57":0,"58":0.00341,"60":0.00341,"62":0,"63":0,"64":0.00682,"65":0.01706,"66":0,"67":0.00682,"68":0.00682,"69":0,"70":0.33096,"71":0.21837,"72":0.00682,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.00341},G:{"8":0,"14":2.50858,"3.2":0.00601,"4.0-4.1":0.00515,"4.2-4.3":0.00086,"5.0-5.1":0.00429,"6.0-6.1":0.00258,"7.0-7.1":0.00601,"8.1-8.4":0.01975,"9.0-9.2":0.01116,"9.3":0.14251,"10.0-10.2":0.02404,"10.3":0.13221,"11.0-11.2":0.04979,"11.3-11.4":0.08499,"12.0-12.1":0.08671,"12.2-12.4":0.86452,"13.0-13.1":0.07126,"13.2":0.0352,"13.3":0.26786,"13.4-13.7":1.42685},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.10577,"12":0,"13":0.0273,"14":0.0273,_:"0","3.1":0,"3.2":0,"5.1":0.05459,"6.1":0.00341,"7.1":0,"9.1":0.00682,"10.1":0.00682,"11.1":0.03071,"12.1":0.13989,"13.1":0.18425},B:{"12":0.01365,"13":0.01706,"14":0.01024,"15":0.01024,"16":0.02388,"17":0.01706,"18":0.1433,"79":0,"80":0.00341,"81":0.00341,"83":0,"84":0.01706,"85":0.23202,"86":0.2286},I:{"3":0,"4":0.87825,_:"81","2.1":0,"2.2":0,"2.3":0.00703,"4.1":0.44264,"4.2-4.3":0.19673,"4.4":0,"4.4.3-4.4.4":1.60193},P:{"4":0.61431,"5.0-5.4":0.09064,"6.2-6.4":0.07049,"7.2-7.4":0.11078,"8.2":0,"9.2":0.2417,"10.1":0.11078,"11.1-11.2":0.27191,"12.0":0.76537},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.07093,"9":0.00887,"10":0.00887,"11":1.21472,"5.5":0},J:{"7":0,"10":0.02635},N:{"10":0.01318,"11":0},S:{"2.5":0.04612},R:{_:"0"},M:{"0":0.08564},Q:{"10.4":4.30196},O:{"0":2.87896},H:{"0":2.65076},L:{"0":63.63216}};
diff --git a/node_modules/caniuse-lite/data/regions/TG.js b/node_modules/caniuse-lite/data/regions/TG.js
new file mode 100644
index 0000000..f5d0e04
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/TG.js
@@ -0,0 +1 @@
+module.exports={C:{"2":0,"3":0.00627,"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.00627,"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.01882,"39":0.00627,"40":0,"41":0.00627,"42":0,"43":0.01254,"44":0.00627,"45":0.01882,"46":0,"47":0.01254,"48":0,"49":0.01254,"50":0.00627,"51":0,"52":0.05645,"53":0,"54":0,"55":0.00627,"56":0.02509,"57":0.00627,"58":0,"59":0.00627,"60":0.00627,"61":0,"62":0,"63":0.00627,"64":0.01254,"65":0.00627,"66":0.01254,"67":0.01882,"68":0.05645,"69":0.01254,"70":0.00627,"71":0.01254,"72":0.07526,"73":0.01254,"74":0.01254,"75":0.01882,"76":0.01254,"77":0.03136,"78":0.2007,"79":0.06899,"80":0.23834,"81":6.26573,"82":1.00352,"83":0.0439,"84":0,"3.5":0,"3.6":0},D:{"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.00627,"19":0,"20":0,"21":0,"22":0,"23":0.01254,"24":0,"25":0,"26":0.01882,"27":0,"28":0,"29":0.03763,"30":0,"31":0.01254,"32":0,"33":0.03136,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0.01254,"41":0,"42":0,"43":0.03763,"44":0,"45":0,"46":0.00627,"47":0,"48":0.00627,"49":0.10662,"50":0.00627,"51":0,"52":0,"53":0,"54":0,"55":0.00627,"56":0,"57":0.00627,"58":0.01882,"59":0,"60":0,"61":0,"62":0.0439,"63":0.07526,"64":0.00627,"65":0.03763,"66":0.00627,"67":0.00627,"68":0.01254,"69":0.00627,"70":0.01882,"71":0.03763,"72":0.08781,"73":0.05018,"74":0.06272,"75":0.05645,"76":0.0439,"77":0.05645,"78":0.08154,"79":0.48922,"80":0.52685,"81":0.10662,"83":0.19443,"84":0.41395,"85":7.46995,"86":10.64986,"87":0.05018,"88":0.01254,"89":0},F:{"9":0,"11":0,"12":0.00627,"15":0,"16":0,"17":0.00627,"18":0.00627,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0.00627,"25":0,"26":0.01254,"27":0.00627,"28":0.01254,"29":0,"30":0.01882,"31":0.00627,"32":0.00627,"33":0.00627,"34":0,"35":0,"36":0,"37":0,"38":0.00627,"39":0,"40":0,"41":0,"42":0.01254,"43":0,"44":0.03136,"45":0,"46":0.01254,"47":0.00627,"48":0,"49":0,"50":0.07526,"51":0.85926,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0.0439,"62":0,"63":0,"64":0,"65":0.00627,"66":0.01254,"67":0.01254,"68":0.01254,"69":0,"70":0.44531,"71":2.89766,"72":0.0439,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.03136},G:{"8":0,"14":2.16334,"3.2":0.00518,"4.0-4.1":0.00444,"4.2-4.3":0.00074,"5.0-5.1":0.0037,"6.0-6.1":0.00222,"7.0-7.1":0.00518,"8.1-8.4":0.01703,"9.0-9.2":0.00962,"9.3":0.1229,"10.0-10.2":0.02073,"10.3":0.11402,"11.0-11.2":0.04294,"11.3-11.4":0.0733,"12.0-12.1":0.07478,"12.2-12.4":0.74555,"13.0-13.1":0.06145,"13.2":0.03035,"13.3":0.23099,"13.4-13.7":1.23049},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.00627,"11":0,"12":0,"13":0.03136,"14":0.29478,_:"0","3.1":0,"3.2":0,"5.1":0.55821,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0.07526,"12.1":0.05645,"13.1":0.18816},B:{"12":0.02509,"13":0.08154,"14":0.00627,"15":0.03763,"16":0.01254,"17":0.02509,"18":0.29478,"79":0,"80":0,"81":0,"83":0.01254,"84":0.03136,"85":0.87181,"86":1.64326},I:{"3":0,"4":0.13412,_:"81","2.1":0,"2.2":0,"2.3":0.00107,"4.1":0.06759,"4.2-4.3":0.03004,"4.4":0,"4.4.3-4.4.4":0.24463},P:{"4":0.06107,"5.0-5.4":0.01018,"6.2-6.4":0.02036,"7.2-7.4":0.01018,"8.2":0.01018,"9.2":0.01018,"10.1":0.07125,"11.1-11.2":0.07125,"12.0":0.64126},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.01223,"7":0,"8":0.13453,"9":0.02446,"10":0.04892,"11":0.26907,"5.5":0},J:{"7":0,"10":0.01118},N:{"10":0,"11":0.03355},S:{"2.5":0},R:{_:"0"},M:{"0":0.14539},Q:{"10.4":0.01864},O:{"0":0.8127},H:{"0":3.62472},L:{"0":47.15336}};
diff --git a/node_modules/caniuse-lite/data/regions/TH.js b/node_modules/caniuse-lite/data/regions/TH.js
new file mode 100644
index 0000000..7894658
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/TH.js
@@ -0,0 +1 @@
+module.exports={C:{"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.02033,"16":0,"17":0.00508,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.00508,"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.00508,"49":0,"50":0,"51":0,"52":0.02033,"53":0.00508,"54":0.00508,"55":0.02541,"56":0.08131,"57":0,"58":0.00508,"59":0,"60":0,"61":0,"62":0,"63":0.00508,"64":0.00508,"65":0.00508,"66":0.00508,"67":0,"68":0.01016,"69":0,"70":0,"71":0,"72":0.00508,"73":0,"74":0,"75":0,"76":0,"77":0.00508,"78":0.02541,"79":0.00508,"80":0.01525,"81":0.71656,"82":0.10164,"83":0.00508,"84":0,"3.5":0,"3.6":0},D:{"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.01016,"39":0,"40":0,"41":0,"42":0,"43":0.01016,"44":0,"45":0,"46":0.00508,"47":0.00508,"48":0.00508,"49":0.10164,"50":0,"51":0.00508,"52":0,"53":0.02033,"54":0.00508,"55":0,"56":0.00508,"57":0.00508,"58":0.01016,"59":0.00508,"60":0.00508,"61":0.01016,"62":0.00508,"63":0.01525,"64":0.00508,"65":0.01016,"66":0.01016,"67":0.01525,"68":0.00508,"69":0.01016,"70":0.04066,"71":0.03557,"72":0.03049,"73":0.03049,"74":0.04574,"75":0.04574,"76":0.03557,"77":0.03049,"78":0.04066,"79":0.04574,"80":0.06607,"81":0.06098,"83":0.1118,"84":0.14738,"85":7.18087,"86":11.16007,"87":0.03557,"88":0.01016,"89":0},F:{"9":0,"11":0,"12":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.02541,"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,"60":0.01016,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.02033,"71":0.16771,"72":0.00508,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":8.03621,"3.2":0.01925,"4.0-4.1":0.0165,"4.2-4.3":0.00275,"5.0-5.1":0.01375,"6.0-6.1":0.00825,"7.0-7.1":0.01925,"8.1-8.4":0.06326,"9.0-9.2":0.03575,"9.3":0.45654,"10.0-10.2":0.07701,"10.3":0.42354,"11.0-11.2":0.15951,"11.3-11.4":0.27227,"12.0-12.1":0.27777,"12.2-12.4":2.76949,"13.0-13.1":0.22827,"13.2":0.11276,"13.3":0.85808,"13.4-13.7":4.5709},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00508,"12":0.02033,"13":0.10164,"14":0.78771,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0.01016,"11.1":0.03049,"12.1":0.08639,"13.1":0.77246},B:{"12":0,"13":0,"14":0.00508,"15":0.00508,"16":0.00508,"17":0.01016,"18":0.05082,"79":0,"80":0,"81":0.00508,"83":0.00508,"84":0.00508,"85":0.43705,"86":0.80804},I:{"3":0,"4":0.02114,_:"81","2.1":0,"2.2":0,"2.3":0.00017,"4.1":0.01065,"4.2-4.3":0.00473,"4.4":0,"4.4.3-4.4.4":0.03855},P:{"4":0.14401,"5.0-5.4":0,"6.2-6.4":0.01029,"7.2-7.4":0.06172,"8.2":0.03086,"9.2":0.12343,"10.1":0.08229,"11.1-11.2":0.16458,"12.0":2.29383},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.01601,"9":0.00534,"10":0.00534,"11":0.18676,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.10328},Q:{"10.4":0.00492},O:{"0":0.21639},H:{"0":0.26074},L:{"0":51.9248}};
diff --git a/node_modules/caniuse-lite/data/regions/TJ.js b/node_modules/caniuse-lite/data/regions/TJ.js
new file mode 100644
index 0000000..23c53be
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/TJ.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00569,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0.00569,"48":0,"49":0,"50":0,"51":0,"52":0.02277,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0.27322,"65":0,"66":0,"67":0.00569,"68":0.01138,"69":0,"70":0,"71":0.01708,"72":0.01138,"73":0,"74":0,"75":0,"76":0,"77":0.00569,"78":0.03415,"79":0.00569,"80":0.07969,"81":0.79688,"82":0.04554,"83":0,"84":0,"3.5":0,"3.6":0},D:{"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.00569,"24":0.00569,"25":0,"26":0,"27":0,"28":0.00569,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.01138,"36":0,"37":0,"38":0.00569,"39":0,"40":0.01708,"41":0,"42":0,"43":0,"44":0.074,"45":0,"46":0,"47":0.00569,"48":0,"49":0.15938,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0.00569,"56":0,"57":0,"58":0,"59":0.00569,"60":0.00569,"61":0,"62":0.01138,"63":0.06261,"64":0.00569,"65":0,"66":0,"67":0.01138,"68":0.02846,"69":0.03415,"70":0.23906,"71":0.27891,"72":0.27891,"73":0.01708,"74":0.02846,"75":0.01708,"76":0.02277,"77":0.03984,"78":0.06261,"79":0.15938,"80":0.04554,"81":0.074,"83":0.15368,"84":0.23906,"85":5.9026,"86":10.73511,"87":0,"88":0.00569,"89":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0.00569,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0.00569,"27":0,"28":0.00569,"29":0,"30":0,"31":0,"32":0,"33":0.00569,"34":0,"35":0,"36":0.00569,"37":0,"38":0.00569,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0.00569,"47":0.00569,"48":0,"49":0,"50":0.01708,"51":0.02846,"52":0,"53":0.0683,"54":0,"55":0,"56":0,"57":0.00569,"58":0,"60":0.02277,"62":0,"63":0.01708,"64":0.00569,"65":0,"66":0,"67":0.01138,"68":0.11384,"69":0,"70":0.29598,"71":2.1345,"72":0.01708,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.03415},G:{"8":0,"14":2.48748,"3.2":0.00596,"4.0-4.1":0.00511,"4.2-4.3":0.00085,"5.0-5.1":0.00426,"6.0-6.1":0.00255,"7.0-7.1":0.00596,"8.1-8.4":0.01958,"9.0-9.2":0.01107,"9.3":0.14131,"10.0-10.2":0.02384,"10.3":0.1311,"11.0-11.2":0.04938,"11.3-11.4":0.08428,"12.0-12.1":0.08598,"12.2-12.4":0.85725,"13.0-13.1":0.07066,"13.2":0.0349,"13.3":0.2656,"13.4-13.7":1.41485},E:{"4":0,"5":0,"6":0,"7":0,"8":0.01138,"9":0,"10":0,"11":0,"12":0.02846,"13":0.01138,"14":0.18784,_:"0","3.1":0,"3.2":0,"5.1":2.85738,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0.13661,"12.1":0.01138,"13.1":0.25045},B:{"12":0,"13":0,"14":0.00569,"15":0.05123,"16":0.01708,"17":0.10246,"18":0.07969,"79":0,"80":0,"81":0,"83":0,"84":0.00569,"85":0.17645,"86":0.13661},I:{"3":0,"4":0.03976,_:"81","2.1":0,"2.2":0,"2.3":0.00032,"4.1":0.02004,"4.2-4.3":0.00891,"4.4":0,"4.4.3-4.4.4":0.07252},P:{"4":1.1976,"5.0-5.4":0.14209,"6.2-6.4":0.14209,"7.2-7.4":0.27403,"8.2":0.0609,"9.2":0.38567,"10.1":0.26388,"11.1-11.2":0.41612,"12.0":1.16715},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.03936,"9":0.00787,"10":0.00787,"11":0.31488,"5.5":0},J:{"7":0,"10":0.00862},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.03016},Q:{"10.4":0.20248},O:{"0":1.68874},H:{"0":3.71555},L:{"0":45.90254}};
diff --git a/node_modules/caniuse-lite/data/regions/TK.js b/node_modules/caniuse-lite/data/regions/TK.js
new file mode 100644
index 0000000..18eac43
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/TK.js
@@ -0,0 +1 @@
+module.exports={C:{"81":3.66738,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 82 83 84 3.5 3.6"},D:{"57":1.83695,"81":7.34128,"85":11.00866,"86":27.52165,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 83 84 87 88 89"},F:{_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 70 71 72 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"14":0,"3.2":0,"4.0-4.1":0,"4.2-4.3":0,"5.0-5.1":0,"6.0-6.1":0,"7.0-7.1":0,"8.1-8.4":0,"9.0-9.2":0,"9.3":0,"10.0-10.2":0,"10.3":0,"11.0-11.2":0,"11.3-11.4":0,"12.0-12.1":0,"12.2-12.4":0,"13.0-13.1":0,"13.2":0,"13.3":0,"13.4-13.7":0},E:{"4":0,_:"0 5 6 7 8 9 10 11 12 13 14 3.1 3.2 5.1 6.1 7.1 9.1 10.1 11.1 12.1 13.1"},B:{"17":0.91847,"85":0.91847,"86":5.50433,_:"12 13 14 15 16 18 79 80 81 83 84"},I:{"3":0,"4":0,_:"81","2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0},P:{"4":0.06107,"5.0-5.4":0.01018,"6.2-6.4":0.02036,"7.2-7.4":0.01018,"8.2":0.01018,"9.2":0.91682,"10.1":0.07125,"11.1-11.2":0.91682,"12.0":0.64126},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{_:"6 7 8 9 10 11 5.5"},J:{"7":0,"10":0},N:{"10":0,"11":0.03355},S:{"2.5":0},R:{_:"0"},M:{"0":0},Q:{"10.4":0},O:{"0":0},H:{"0":0},L:{"0":39.44917}};
diff --git a/node_modules/caniuse-lite/data/regions/TL.js b/node_modules/caniuse-lite/data/regions/TL.js
new file mode 100644
index 0000000..a680c4e
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/TL.js
@@ -0,0 +1 @@
+module.exports={C:{"2":0,"3":0,"4":0.00359,"5":0.00359,"6":0,"7":0,"8":0.00359,"9":0,"10":0,"11":0,"12":0.00718,"13":0,"14":0,"15":0.01436,"16":0,"17":0.01077,"18":0.00359,"19":0.00359,"20":0.00718,"21":0.01436,"22":0,"23":0.00359,"24":0.00359,"25":0.00718,"26":0,"27":0,"28":0,"29":0.00359,"30":0.00359,"31":0.04667,"32":0.00359,"33":0,"34":0.00359,"35":0.02513,"36":0.00359,"37":0.01436,"38":0,"39":0,"40":0.00359,"41":0.03231,"42":0.00718,"43":0.0359,"44":0.01436,"45":0.00359,"46":0.00359,"47":0.05026,"48":0.01436,"49":0.00359,"50":0.00359,"51":0,"52":0.01795,"53":0,"54":0.00359,"55":0.00359,"56":0.01795,"57":0.01077,"58":0.00718,"59":0.00718,"60":0.00718,"61":0.02872,"62":0.00359,"63":0.00359,"64":0,"65":0.00359,"66":0.04308,"67":0.03231,"68":0.02154,"69":0.01436,"70":0.01077,"71":0.01436,"72":0.02154,"73":0.00359,"74":0.00718,"75":0.00359,"76":0.00359,"77":0.02872,"78":0.06103,"79":0.14001,"80":0.15078,"81":1.72679,"82":0.47029,"83":0.07898,"84":0,"3.5":0,"3.6":0},D:{"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.00359,"24":0.00359,"25":0.00718,"26":0.00359,"27":0,"28":0,"29":0.00359,"30":0,"31":0.01795,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0.01436,"41":0,"42":0.05744,"43":0.04667,"44":0,"45":0,"46":0.00359,"47":0.00359,"48":0,"49":0.05026,"50":0,"51":0.00359,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.00359,"59":0.00718,"60":0,"61":0,"62":0.00359,"63":0.05026,"64":0.00359,"65":0.01436,"66":0.01436,"67":0.01077,"68":0,"69":0.00359,"70":0.00718,"71":0.01795,"72":0.00359,"73":0.00359,"74":0.03231,"75":0.03949,"76":0.01077,"77":0.00359,"78":0.00718,"79":0.01077,"80":0.02154,"81":0.01795,"83":0.01436,"84":0.16155,"85":2.45556,"86":3.64385,"87":0.01077,"88":0.00359,"89":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0.00718,"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.20104,"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.01077,"52":0,"53":0,"54":0.02872,"55":0.04667,"56":0,"57":0,"58":0,"60":0.01077,"62":0,"63":0.00718,"64":0,"65":0,"66":0,"67":0,"68":0.00359,"69":0,"70":0.05385,"71":0.13283,"72":0.00359,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.01795},G:{"8":0,"14":1.87586,"3.2":0.00449,"4.0-4.1":0.00385,"4.2-4.3":0.00064,"5.0-5.1":0.00321,"6.0-6.1":0.00193,"7.0-7.1":0.00449,"8.1-8.4":0.01477,"9.0-9.2":0.00835,"9.3":0.10657,"10.0-10.2":0.01798,"10.3":0.09886,"11.0-11.2":0.03723,"11.3-11.4":0.06356,"12.0-12.1":0.06484,"12.2-12.4":0.64647,"13.0-13.1":0.05328,"13.2":0.02632,"13.3":0.2003,"13.4-13.7":1.06697},E:{"4":0,"5":0,"6":0,"7":0,"8":0.01436,"9":0.00718,"10":0.00359,"11":0.00359,"12":0.00359,"13":0.03949,"14":0.06103,_:"0","3.1":0,"3.2":0,"5.1":0.01795,"6.1":0,"7.1":0,"9.1":0.00718,"10.1":0.01077,"11.1":0.00718,"12.1":0.08616,"13.1":0.06821},B:{"12":0.0359,"13":0.01436,"14":0.00718,"15":0.01077,"16":0.01436,"17":0.02872,"18":0.13283,"79":0,"80":0,"81":0.00359,"83":0,"84":0.04308,"85":0.22258,"86":0.25848},I:{"3":0,"4":0.17006,_:"81","2.1":0,"2.2":0,"2.3":0.00136,"4.1":0.08571,"4.2-4.3":0.03809,"4.4":0,"4.4.3-4.4.4":0.31018},P:{"4":1.49553,"5.0-5.4":0.06063,"6.2-6.4":0.06063,"7.2-7.4":0.33346,"8.2":0.05052,"9.2":0.2021,"10.1":0.27283,"11.1-11.2":0.22231,"12.0":0.46483},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.04242,"9":0,"10":0.00386,"11":0.26606,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.03205},Q:{"10.4":0.01282},O:{"0":0.66023},H:{"0":3.04642},L:{"0":73.47543}};
diff --git a/node_modules/caniuse-lite/data/regions/TM.js b/node_modules/caniuse-lite/data/regions/TM.js
new file mode 100644
index 0000000..3697384
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/TM.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00299,"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.0015,"42":0,"43":0.0015,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0.00897,"52":0.0015,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0.0015,"60":0,"61":0.0015,"62":0.0015,"63":0,"64":0.0015,"65":0.0015,"66":0,"67":0,"68":0.00449,"69":0,"70":0.00449,"71":0,"72":0,"73":0.0015,"74":0,"75":0,"76":0,"77":0.0015,"78":0,"79":0,"80":0.0015,"81":0.00598,"82":0.0015,"83":0,"84":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00299,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0.00299,"21":0,"22":0.0015,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.00299,"30":0.00449,"31":0.0015,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0.0015,"38":0.00449,"39":0.0015,"40":0.00598,"41":0,"42":0.0015,"43":0,"44":0.0015,"45":0,"46":0,"47":0.0015,"48":0.00449,"49":0.02841,"50":0,"51":0.00299,"52":0.00897,"53":0,"54":0.0015,"55":0.0015,"56":0.0015,"57":0.0015,"58":0.0015,"59":0,"60":0.00299,"61":0.0015,"62":0,"63":0.0015,"64":0.0015,"65":0.01047,"66":0.00299,"67":0.00598,"68":0.0015,"69":0.00299,"70":0.00449,"71":0.00897,"72":0.00449,"73":0.00598,"74":0.00299,"75":0.00449,"76":0.00299,"77":0.00299,"78":0.00748,"79":0.00598,"80":0.01196,"81":0.02542,"83":0.01047,"84":0.02691,"85":0.33937,"86":0.89252,"87":0.0015,"88":0,"89":0},F:{"9":0,"11":0,"12":0.02392,"15":0,"16":0,"17":0,"18":0.00598,"19":0,"20":0,"21":0.0015,"22":0.0015,"23":0.0015,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0.00598,"30":0,"31":0,"32":0,"33":0.00449,"34":0.0015,"35":0,"36":0.00299,"37":0.00299,"38":0,"39":0,"40":0.0015,"41":0,"42":0,"43":0.00299,"44":0,"45":0,"46":0,"47":0.0015,"48":0,"49":0.0015,"50":0,"51":0.00748,"52":0,"53":0.0015,"54":0.00299,"55":0.0015,"56":0,"57":0,"58":0,"60":0.0015,"62":0,"63":0,"64":0.00299,"65":0,"66":0,"67":0.0015,"68":0.00299,"69":0,"70":0.0015,"71":0.00449,"72":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.00748},G:{"8":0,"14":2.47672,"3.2":0.00593,"4.0-4.1":0.00509,"4.2-4.3":0.00085,"5.0-5.1":0.00424,"6.0-6.1":0.00254,"7.0-7.1":0.00593,"8.1-8.4":0.0195,"9.0-9.2":0.01102,"9.3":0.1407,"10.0-10.2":0.02373,"10.3":0.13053,"11.0-11.2":0.04916,"11.3-11.4":0.08391,"12.0-12.1":0.08561,"12.2-12.4":0.85355,"13.0-13.1":0.07035,"13.2":0.03475,"13.3":0.26446,"13.4-13.7":1.40873},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.00449,"14":0.0015,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0.0015,"9.1":0,"10.1":0,"11.1":0,"12.1":0.0015,"13.1":0.00299},B:{"12":0,"13":0,"14":0,"15":0.00598,"16":0,"17":0,"18":0.00449,"79":0,"80":0,"81":0,"83":0,"84":0,"85":0.0015,"86":0.01346},I:{"3":0,"4":0.12121,_:"81","2.1":0,"2.2":0,"2.3":0.00097,"4.1":0.06109,"4.2-4.3":0.02715,"4.4":0,"4.4.3-4.4.4":0.22108},P:{"4":9.57239,"5.0-5.4":0.42589,"6.2-6.4":0.33463,"7.2-7.4":1.33851,"8.2":0.0507,"9.2":1.19655,"10.1":0.49687,"11.1-11.2":1.28781,"12.0":5.47573},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.00748,"9":0.00449,"10":0,"11":0.13156,"5.5":0},J:{"7":0,"10":0.05954},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.01701},Q:{"10.4":0.01701},O:{"0":2.41542},H:{"0":0.32208},L:{"0":64.94869}};
diff --git a/node_modules/caniuse-lite/data/regions/TN.js b/node_modules/caniuse-lite/data/regions/TN.js
new file mode 100644
index 0000000..2555386
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/TN.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00649,"48":0.01947,"49":0,"50":0,"51":0,"52":0.03895,"53":0,"54":0,"55":0,"56":0.00649,"57":0,"58":0,"59":0,"60":0,"61":0.00649,"62":0,"63":0.01947,"64":0.00649,"65":0.00649,"66":0.00649,"67":0,"68":0.01298,"69":0,"70":0,"71":0,"72":0.00649,"73":0,"74":0,"75":0.00649,"76":0.00649,"77":0.00649,"78":0.12982,"79":0.01298,"80":0.04544,"81":1.34364,"82":0.20771,"83":0.01298,"84":0,"3.5":0,"3.6":0},D:{"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.00649,"30":0,"31":0,"32":0.00649,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.00649,"39":0,"40":0.00649,"41":0.01298,"42":0,"43":0.01947,"44":0,"45":0,"46":0,"47":0.01298,"48":0.00649,"49":0.47384,"50":0.00649,"51":0,"52":0.00649,"53":0,"54":0,"55":0,"56":0.00649,"57":0,"58":0.02596,"59":0,"60":0.01298,"61":0.05193,"62":0.01298,"63":0.03895,"64":0.00649,"65":0.05193,"66":0.01298,"67":0.08438,"68":0.01298,"69":0.02596,"70":0.10386,"71":0.08438,"72":0.09737,"73":0.03895,"74":0.09087,"75":0.01947,"76":0.05193,"77":0.04544,"78":0.07789,"79":0.13631,"80":0.22719,"81":0.17526,"83":0.2142,"84":0.32455,"85":12.13817,"86":19.7651,"87":0.08438,"88":0.01298,"89":0},F:{"9":0,"11":0,"12":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.00649,"48":0,"49":0,"50":0.00649,"51":0.02596,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0.00649,"58":0.00649,"60":0.00649,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.00649,"69":0,"70":0.20122,"71":1.85643,"72":0.03246,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":1.71143,"3.2":0.0041,"4.0-4.1":0.00351,"4.2-4.3":0.00059,"5.0-5.1":0.00293,"6.0-6.1":0.00176,"7.0-7.1":0.0041,"8.1-8.4":0.01347,"9.0-9.2":0.00761,"9.3":0.09723,"10.0-10.2":0.0164,"10.3":0.0902,"11.0-11.2":0.03397,"11.3-11.4":0.05798,"12.0-12.1":0.05916,"12.2-12.4":0.58981,"13.0-13.1":0.04861,"13.2":0.02401,"13.3":0.18274,"13.4-13.7":0.97344},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.00649,"11":0.01298,"12":0.05193,"13":0.07789,"14":0.17526,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0.04544,"11.1":0.05842,"12.1":0.10386,"13.1":0.22069},B:{"12":0.00649,"13":0.00649,"14":0.01298,"15":0.00649,"16":0.00649,"17":0.03246,"18":0.07789,"79":0,"80":0,"81":0,"83":0.00649,"84":0.00649,"85":0.40893,"86":0.7919},I:{"3":0,"4":0.0958,_:"81","2.1":0,"2.2":0,"2.3":0.00077,"4.1":0.04828,"4.2-4.3":0.02146,"4.4":0,"4.4.3-4.4.4":0.17474},P:{"4":0.13066,"5.0-5.4":0.01005,"6.2-6.4":0.01005,"7.2-7.4":0.08041,"8.2":0.01005,"9.2":0.10051,"10.1":0.07036,"11.1-11.2":0.15076,"12.0":1.42723},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.04939,"9":0.00706,"10":0.00706,"11":0.09878,"5.5":0},J:{"7":0,"10":0.00351},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.06316},Q:{"10.4":0},O:{"0":0.09123},H:{"0":0.22258},L:{"0":50.56179}};
diff --git a/node_modules/caniuse-lite/data/regions/TO.js b/node_modules/caniuse-lite/data/regions/TO.js
new file mode 100644
index 0000000..fde0729
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/TO.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00575,"33":0,"34":0.01149,"35":0,"36":0,"37":0,"38":0.00575,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0.01149,"48":0,"49":0,"50":0,"51":0,"52":0.64366,"53":0,"54":0,"55":0,"56":0.01724,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.01149,"69":0,"70":0.00575,"71":0,"72":0.00575,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.0977,"79":0.01149,"80":0.11494,"81":1.12067,"82":0.21264,"83":0.01724,"84":0,"3.5":0,"3.6":0},D:{"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.02874,"38":0,"39":0,"40":0.01149,"41":0,"42":0,"43":0.00575,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.01149,"50":0.00575,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0.11494,"57":0,"58":0.01149,"59":0,"60":0,"61":0,"62":0,"63":0.06896,"64":0,"65":0.00575,"66":0,"67":0.04598,"68":0.01724,"69":0,"70":0.00575,"71":0,"72":0.01149,"73":0.04598,"74":0.00575,"75":0,"76":0.00575,"77":0.02299,"78":0.01149,"79":0.04023,"80":0.01724,"81":0.11494,"83":0.06322,"84":0.12643,"85":5.41367,"86":8.25269,"87":0.00575,"88":0,"89":0},F:{"9":0,"11":0,"12":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.00575,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0.01149,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0.02299,"70":0.05172,"71":0.24712,"72":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":3.03802,"3.2":0.00728,"4.0-4.1":0.00624,"4.2-4.3":0.00104,"5.0-5.1":0.0052,"6.0-6.1":0.00312,"7.0-7.1":0.00728,"8.1-8.4":0.02391,"9.0-9.2":0.01352,"9.3":0.17259,"10.0-10.2":0.02911,"10.3":0.16011,"11.0-11.2":0.0603,"11.3-11.4":0.10293,"12.0-12.1":0.10501,"12.2-12.4":1.04699,"13.0-13.1":0.0863,"13.2":0.04263,"13.3":0.32439,"13.4-13.7":1.72799},E:{"4":0,"5":0,"6":0,"7":0.04023,"8":0,"9":0,"10":0.00575,"11":0,"12":0.01724,"13":0.14368,"14":0.98848,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0.02874,"11.1":0.02299,"12.1":0.02299,"13.1":0.2816},B:{"12":0.02874,"13":0.03448,"14":0.08621,"15":0,"16":0.05747,"17":0.12069,"18":2.35052,"79":0,"80":0.00575,"81":0,"83":0,"84":0,"85":0.42528,"86":0.99423},I:{"3":0,"4":1.66852,_:"81","2.1":0,"2.2":0,"2.3":0.01335,"4.1":0.84093,"4.2-4.3":0.37375,"4.4":0,"4.4.3-4.4.4":3.04338},P:{"4":0.18305,"5.0-5.4":0.10169,"6.2-6.4":0.12203,"7.2-7.4":0.18305,"8.2":0,"9.2":0.24406,"10.1":0.21355,"11.1-11.2":0.62032,"12.0":1.97282},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":1.93099,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.03402},Q:{"10.4":0.22966},O:{"0":0.2084},H:{"0":0.0765},L:{"0":55.33728}};
diff --git a/node_modules/caniuse-lite/data/regions/TR.js b/node_modules/caniuse-lite/data/regions/TR.js
new file mode 100644
index 0000000..bfcaafc
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/TR.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00218,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0.00218,"64":0.00218,"65":0.00218,"66":0,"67":0,"68":0.02618,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.00436,"79":0.00218,"80":0.00436,"81":0.09601,"82":0.01309,"83":0,"84":0,"3.5":0,"3.6":0},D:{"4":0.00218,"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.01091,"23":0,"24":0,"25":0,"26":0.00218,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0.00436,"35":0,"36":0,"37":0,"38":0.00655,"39":0,"40":0,"41":0,"42":0.00218,"43":0.00218,"44":0,"45":0,"46":0,"47":0.00218,"48":0,"49":0.05019,"50":0,"51":0,"52":0,"53":0.00655,"54":0,"55":0.00218,"56":0.00218,"57":0,"58":0.00218,"59":0.00218,"60":0.00218,"61":0.00436,"62":0.00218,"63":0.00436,"64":0.00218,"65":0.00218,"66":0.00218,"67":0.00218,"68":0.00436,"69":0.00436,"70":0.01309,"71":0.01964,"72":0.01091,"73":0.01091,"74":0.00655,"75":0.01091,"76":0.00873,"77":0.00873,"78":0.01091,"79":0.01746,"80":0.024,"81":0.01964,"83":0.024,"84":0.03928,"85":1.27429,"86":2.16018,"87":0.00218,"88":0,"89":0},F:{"9":0,"11":0,"12":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.00218,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0.00218,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0.00218,"52":0,"53":0,"54":0.00218,"55":0,"56":0,"57":0,"58":0,"60":0.00218,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.01746,"71":0.18329,"72":0.00436,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0.00218,"12.1":0},G:{"8":0,"14":5.72176,"3.2":0.01371,"4.0-4.1":0.01175,"4.2-4.3":0.00196,"5.0-5.1":0.00979,"6.0-6.1":0.00587,"7.0-7.1":0.01371,"8.1-8.4":0.04504,"9.0-9.2":0.02546,"9.3":0.32506,"10.0-10.2":0.05483,"10.3":0.30156,"11.0-11.2":0.11357,"11.3-11.4":0.19386,"12.0-12.1":0.19777,"12.2-12.4":1.97187,"13.0-13.1":0.16253,"13.2":0.08028,"13.3":0.61095,"13.4-13.7":3.25447},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.00218,"13":0.01091,"14":0.0611,_:"0","3.1":0,"3.2":0,"5.1":0.03491,"6.1":0,"7.1":0,"9.1":0,"10.1":0.00218,"11.1":0.00436,"12.1":0.00873,"13.1":0.05673},B:{"12":0,"13":0,"14":0.00218,"15":0,"16":0,"17":0.00218,"18":0.01309,"79":0,"80":0,"81":0,"83":0,"84":0.00218,"85":0.048,"86":0.07855},I:{"3":0,"4":0.01772,_:"81","2.1":0,"2.2":0,"2.3":0.00014,"4.1":0.00893,"4.2-4.3":0.00397,"4.4":0,"4.4.3-4.4.4":0.03233},P:{"4":0.64987,"5.0-5.4":0.07108,"6.2-6.4":0.05077,"7.2-7.4":0.30463,"8.2":0.05077,"9.2":0.27417,"10.1":0.19293,"11.1-11.2":0.45694,"12.0":4.89436},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.00225,"9":0.00225,"10":0,"11":0.06751,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.19545},Q:{"10.4":0},O:{"0":0.14854},H:{"0":0.54032},L:{"0":72.07205}};
diff --git a/node_modules/caniuse-lite/data/regions/TT.js b/node_modules/caniuse-lite/data/regions/TT.js
new file mode 100644
index 0000000..e7e2286
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/TT.js
@@ -0,0 +1 @@
+module.exports={C:{"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.02158,"49":0,"50":0,"51":0,"52":0.07552,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0.00539,"64":0,"65":0,"66":0,"67":0,"68":0.01618,"69":0.02158,"70":0,"71":0,"72":0.00539,"73":0,"74":0.02158,"75":0.00539,"76":0,"77":0.01618,"78":0.04315,"79":0.00539,"80":0.04855,"81":1.15432,"82":0.17261,"83":0,"84":0,"3.5":0,"3.6":0},D:{"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.00539,"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.01618,"39":0,"40":0,"41":0,"42":0.00539,"43":0.00539,"44":0,"45":0,"46":0,"47":0.00539,"48":0,"49":0.15103,"50":0,"51":0,"52":0,"53":0.01618,"54":0,"55":0,"56":0,"57":0,"58":0.01079,"59":0,"60":0,"61":0,"62":0.00539,"63":0.00539,"64":0.00539,"65":0.00539,"66":0,"67":0.01618,"68":0.00539,"69":0.0863,"70":0.00539,"71":0.01079,"72":0.03236,"73":0.00539,"74":0.01079,"75":0.02158,"76":0.04855,"77":0.01618,"78":0.01079,"79":0.02697,"80":0.05394,"81":0.0917,"83":0.07012,"84":0.15103,"85":6.94747,"86":11.08467,"87":0.01079,"88":0.00539,"89":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0.00539,"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.00539,"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,"60":0.00539,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.04855,"71":0.39376,"72":0.02158,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":5.64362,"3.2":0.01352,"4.0-4.1":0.01159,"4.2-4.3":0.00193,"5.0-5.1":0.00966,"6.0-6.1":0.00579,"7.0-7.1":0.01352,"8.1-8.4":0.04442,"9.0-9.2":0.02511,"9.3":0.32062,"10.0-10.2":0.05408,"10.3":0.29744,"11.0-11.2":0.11202,"11.3-11.4":0.19121,"12.0-12.1":0.19507,"12.2-12.4":1.94495,"13.0-13.1":0.16031,"13.2":0.07919,"13.3":0.6026,"13.4-13.7":3.21003},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00539,"12":0.01618,"13":0.12946,"14":0.92777,_:"0","3.1":0,"3.2":0,"5.1":0.05933,"6.1":0,"7.1":0,"9.1":0,"10.1":0.01618,"11.1":0.11327,"12.1":0.12406,"13.1":0.93316},B:{"12":0,"13":0.00539,"14":0.00539,"15":0.00539,"16":0.01618,"17":0.03236,"18":0.30206,"79":0,"80":0,"81":0,"83":0.00539,"84":0.01079,"85":0.73358,"86":1.56426},I:{"3":0,"4":0.42396,_:"81","2.1":0,"2.2":0,"2.3":0.00339,"4.1":0.21367,"4.2-4.3":0.09497,"4.4":0,"4.4.3-4.4.4":0.7733},P:{"4":0.18145,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.24549,"8.2":0,"9.2":0.3202,"10.1":0.06404,"11.1-11.2":0.26683,"12.0":4.65355},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.02862,"9":0.00572,"10":0.00572,"11":0.24042,"5.5":0},J:{"7":0,"10":0.00461},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.16121},Q:{"10.4":0.00921},O:{"0":0.06909},H:{"0":0.33141},L:{"0":49.22747}};
diff --git a/node_modules/caniuse-lite/data/regions/TV.js b/node_modules/caniuse-lite/data/regions/TV.js
new file mode 100644
index 0000000..e93348f
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/TV.js
@@ -0,0 +1 @@
+module.exports={C:{"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.01887,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0.01092,"82":0.00199,"83":0,"84":0,"3.5":0,"3.6":0},D:{"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.01092,"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.00794,"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,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0.00199,"81":0.00298,"83":0.00497,"84":0.04568,"85":0.22343,"86":0.46373,"87":0,"88":0,"89":0},F:{"9":0,"11":0,"12":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.02284,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0.00894,"72":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":0.1784,"3.2":0.00043,"4.0-4.1":0.00037,"4.2-4.3":0.00006,"5.0-5.1":0.00031,"6.0-6.1":0.00018,"7.0-7.1":0.00043,"8.1-8.4":0.0014,"9.0-9.2":0.00079,"9.3":0.01013,"10.0-10.2":0.00171,"10.3":0.0094,"11.0-11.2":0.00354,"11.3-11.4":0.00604,"12.0-12.1":0.00617,"12.2-12.4":0.06148,"13.0-13.1":0.00507,"13.2":0.0025,"13.3":0.01905,"13.4-13.7":0.10147},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.00497,"14":0.00199,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0,"12.1":0,"13.1":0.0278},B:{"12":0.00894,"13":0,"14":0,"15":0,"16":0.01986,"17":0.00497,"18":0.02185,"79":0,"80":0,"81":0,"83":0,"84":0,"85":0.02284,"86":0.07646},I:{"3":0,"4":0.02668,_:"81","2.1":0,"2.2":0,"2.3":0.00021,"4.1":0.01344,"4.2-4.3":0.00598,"4.4":0,"4.4.3-4.4.4":0.04866},P:{"4":0.01947,"5.0-5.4":0.13627,"6.2-6.4":0,"7.2-7.4":0.04867,"8.2":0,"9.2":0.01947,"10.1":0.30173,"11.1-11.2":0.0584,"12.0":0.01947},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.18915},Q:{"10.4":0},O:{"0":0.55843},H:{"0":0.26434},L:{"0":96.75183}};
diff --git a/node_modules/caniuse-lite/data/regions/TW.js b/node_modules/caniuse-lite/data/regions/TW.js
new file mode 100644
index 0000000..63ad204
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/TW.js
@@ -0,0 +1 @@
+module.exports={C:{"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.0048,"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.01919,"53":0,"54":0,"55":0.0048,"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.0096,"69":0,"70":0,"71":0,"72":0.0048,"73":0,"74":0,"75":0,"76":0.0048,"77":0.0048,"78":0.01439,"79":0.0096,"80":0.02879,"81":0.56137,"82":0.09116,"83":0,"84":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.0048,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0.0048,"23":0,"24":0,"25":0,"26":0.0048,"27":0,"28":0,"29":0,"30":0.0048,"31":0,"32":0,"33":0,"34":0.01439,"35":0,"36":0,"37":0,"38":0.06717,"39":0.0048,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0.01439,"46":0,"47":0.0048,"48":0.0048,"49":0.10556,"50":0.0048,"51":0,"52":0,"53":0.16793,"54":0,"55":0.0096,"56":0.0048,"57":0.0048,"58":0.0096,"59":0.0048,"60":0.0048,"61":0.02399,"62":0.0096,"63":0.0096,"64":0.01919,"65":0.01439,"66":0.0096,"67":0.02399,"68":0.02879,"69":0.01919,"70":0.01439,"71":0.02879,"72":0.01919,"73":0.03838,"74":0.02879,"75":0.02879,"76":0.02399,"77":0.02399,"78":0.02879,"79":0.03838,"80":0.08157,"81":0.11035,"83":0.10556,"84":0.19672,"85":5.92553,"86":9.54802,"87":0.0096,"88":0.0048,"89":0},F:{"9":0,"11":0,"12":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.0048,"37":0.03359,"38":0,"39":0,"40":0.0048,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0.0096,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0.0048,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.0096,"71":0.05758,"72":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":14.51849,"3.2":0.03478,"4.0-4.1":0.02981,"4.2-4.3":0.00497,"5.0-5.1":0.02484,"6.0-6.1":0.01491,"7.0-7.1":0.03478,"8.1-8.4":0.11428,"9.0-9.2":0.06459,"9.3":0.8248,"10.0-10.2":0.13912,"10.3":0.76518,"11.0-11.2":0.28818,"11.3-11.4":0.4919,"12.0-12.1":0.50184,"12.2-12.4":5.00346,"13.0-13.1":0.4124,"13.2":0.20372,"13.3":1.55023,"13.4-13.7":8.25795},E:{"4":0,"5":0,"6":0,"7":0,"8":0.0048,"9":0,"10":0.0048,"11":0.0048,"12":0.01439,"13":0.17273,"14":0.40783,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0.0048,"10.1":0.01919,"11.1":0.02879,"12.1":0.06717,"13.1":1.16112},B:{"12":0,"13":0,"14":0.0048,"15":0.0048,"16":0.0048,"17":0.01439,"18":0.07197,"79":0,"80":0,"81":0,"83":0,"84":0.0048,"85":0.30707,"86":0.65253},I:{"3":0,"4":0.04145,_:"81","2.1":0,"2.2":0,"2.3":0.00033,"4.1":0.02089,"4.2-4.3":0.00929,"4.4":0,"4.4.3-4.4.4":0.07561},P:{"4":0.46147,"5.0-5.4":0.01073,"6.2-6.4":0.02146,"7.2-7.4":0.05366,"8.2":0.04293,"9.2":0.21464,"10.1":0.12878,"11.1-11.2":0.30049,"12.0":2.51127},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.01137,"9":0.00569,"10":0,"11":0.29001,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.08843},Q:{"10.4":0.0104},O:{"0":0.07283},H:{"0":0.51219},L:{"0":38.96409}};
diff --git a/node_modules/caniuse-lite/data/regions/TZ.js b/node_modules/caniuse-lite/data/regions/TZ.js
new file mode 100644
index 0000000..ff5f6d7
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/TZ.js
@@ -0,0 +1 @@
+module.exports={C:{"17":0.00352,"21":0.00352,"23":0.00705,"25":0.00352,"29":0.00705,"30":0.00705,"31":0.00705,"32":0.01057,"34":0.00352,"38":0.01057,"39":0.00352,"40":0.01057,"41":0.00352,"42":0.00705,"43":0.04229,"44":0.0141,"45":0.02467,"46":0.00705,"47":0.02819,"48":0.02467,"49":0.02819,"51":0.00352,"52":0.02114,"56":0.00705,"58":0.00352,"59":0.00705,"60":0.01762,"61":0.00352,"62":0.00352,"64":0.00352,"66":0.00352,"67":0.00705,"68":0.02819,"69":0.00705,"70":0.01057,"71":0.01057,"72":0.03172,"73":0.00352,"74":0.0141,"75":0.01057,"76":0.00705,"77":0.06696,"78":0.20439,"79":0.03172,"80":0.18325,"81":3.34428,"82":0.49336,"83":0.06343,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 18 19 20 22 24 26 27 28 33 35 36 37 50 53 54 55 57 63 65 84 3.5 3.6"},D:{"21":0.00705,"29":0.00705,"32":0.00705,"33":0.00705,"37":0.00352,"40":0.00352,"42":0.00352,"43":0.0141,"49":0.13744,"50":0.03524,"53":0.00352,"55":0.01057,"58":0.0141,"60":0.00352,"61":0.00705,"62":0.0141,"63":0.04934,"64":0.00705,"65":0.03172,"66":0.00705,"67":0.01762,"68":0.01057,"69":0.03172,"70":0.0141,"71":0.01762,"72":0.04581,"73":0.04229,"74":0.16915,"75":0.03524,"76":0.03172,"77":0.02819,"78":0.03172,"79":0.13039,"80":0.1762,"81":0.08458,"83":0.17972,"84":0.39469,"85":8.21092,"86":10.73763,"87":0.03524,"88":0.01762,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 30 31 34 35 36 38 39 41 44 45 46 47 48 51 52 54 56 57 59 89"},F:{"31":0.00352,"36":0.00352,"42":0.00352,"60":0.01762,"63":0.02114,"65":0.00705,"67":0.00352,"68":0.01057,"69":0.00705,"70":0.29249,"71":1.57523,"72":0.05638,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 32 33 34 35 37 38 39 40 41 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 62 64 66 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"14":1.96066,"3.2":0.0047,"4.0-4.1":0.00403,"4.2-4.3":0.00067,"5.0-5.1":0.00335,"6.0-6.1":0.00201,"7.0-7.1":0.0047,"8.1-8.4":0.01543,"9.0-9.2":0.00872,"9.3":0.11139,"10.0-10.2":0.01879,"10.3":0.10333,"11.0-11.2":0.03892,"11.3-11.4":0.06643,"12.0-12.1":0.06777,"12.2-12.4":0.67569,"13.0-13.1":0.05569,"13.2":0.02751,"13.3":0.20935,"13.4-13.7":1.1152},E:{"4":0,"9":0.01762,"10":0.0141,"11":0.03876,"12":0.03524,"13":0.18677,"14":0.43345,_:"0 5 6 7 8 3.1 3.2 5.1 7.1","6.1":0.00705,"9.1":0.00705,"10.1":0.03876,"11.1":0.11277,"12.1":0.22201,"13.1":0.71537},B:{"12":0.04581,"13":0.02819,"14":0.01057,"15":0.0141,"16":0.05991,"17":0.03172,"18":0.3524,"81":0.00705,"83":0.00705,"84":0.04229,"85":0.63784,"86":0.90919,_:"79 80"},I:{"3":0,"4":0.05457,_:"81","2.1":0,"2.2":0,"2.3":0.00044,"4.1":0.0275,"4.2-4.3":0.01222,"4.4":0,"4.4.3-4.4.4":0.09954},P:{"4":0.35909,"5.0-5.4":0.03078,"6.2-6.4":0.02052,"7.2-7.4":0.16416,"8.2":0.01026,"9.2":0.29753,"10.1":0.12312,"11.1-11.2":0.35909,"12.0":1.3748},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.06603,"11":0.24761,_:"6 7 9 10 5.5"},J:{"7":0,"10":0.00648},N:{"10":0,"11":0},S:{"2.5":0.31732},R:{_:"0"},M:{"0":0.23961},Q:{"10.4":0.0259},O:{"0":1.81328},H:{"0":11.44056},L:{"0":44.90886}};
diff --git a/node_modules/caniuse-lite/data/regions/UA.js b/node_modules/caniuse-lite/data/regions/UA.js
new file mode 100644
index 0000000..d1b6f08
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/UA.js
@@ -0,0 +1 @@
+module.exports={C:{"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.03139,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0.00785,"27":0,"28":0,"29":0,"30":0,"31":0.00785,"32":0.00785,"33":0.00785,"34":0.00785,"35":0,"36":0.00785,"37":0,"38":0.00785,"39":0.00785,"40":0.00785,"41":0.00785,"42":0.00785,"43":0.00785,"44":0.00785,"45":0.02354,"46":0.0157,"47":0.02354,"48":0.02354,"49":0.0157,"50":0.0157,"51":0.0157,"52":0.21974,"53":0.0157,"54":0.0157,"55":0.0157,"56":0.03924,"57":0.03139,"58":0.0157,"59":0.00785,"60":0.06278,"61":0.00785,"62":0.00785,"63":0.0157,"64":0.0157,"65":0.02354,"66":0.02354,"67":0.00785,"68":0.11772,"69":0.00785,"70":0.00785,"71":0.00785,"72":0.03139,"73":0.00785,"74":0.00785,"75":0.0157,"76":0.0157,"77":0.0157,"78":0.12557,"79":0.02354,"80":0.10202,"81":2.10326,"82":0.32962,"83":0.00785,"84":0,"3.5":0,"3.6":0},D:{"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.00785,"23":0,"24":0.00785,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0.00785,"32":0,"33":0,"34":0.00785,"35":0,"36":0,"37":0.00785,"38":0,"39":0.00785,"40":0,"41":0.00785,"42":0.00785,"43":0,"44":0,"45":0.00785,"46":0.00785,"47":0.00785,"48":0.0157,"49":0.5886,"50":0.00785,"51":0.02354,"52":0.00785,"53":0.0157,"54":0.00785,"55":0.00785,"56":0.03139,"57":0.0157,"58":0.0157,"59":0.03139,"60":0.02354,"61":0.1962,"62":0.0157,"63":0.03139,"64":0.0157,"65":0.02354,"66":0.02354,"67":0.03139,"68":0.02354,"69":0.05494,"70":0.15696,"71":0.1805,"72":0.16481,"73":0.14911,"74":0.07848,"75":0.05494,"76":0.07848,"77":0.07848,"78":0.09418,"79":0.14126,"80":0.3924,"81":0.1805,"83":0.32962,"84":0.56506,"85":14.85626,"86":22.93186,"87":0.03924,"88":0.03139,"89":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0.00785,"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.06278,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0.00785,"49":0,"50":0,"51":0.00785,"52":0,"53":0.00785,"54":0.00785,"55":0.00785,"56":0.0157,"57":0.00785,"58":0.02354,"60":0.04709,"62":0,"63":0.00785,"64":0.00785,"65":0.00785,"66":0.00785,"67":0.0157,"68":0.05494,"69":0.0157,"70":0.87113,"71":5.91739,"72":0.17266,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.03139},G:{"8":0,"14":3.58581,"3.2":0.00859,"4.0-4.1":0.00736,"4.2-4.3":0.00123,"5.0-5.1":0.00614,"6.0-6.1":0.00368,"7.0-7.1":0.00859,"8.1-8.4":0.02823,"9.0-9.2":0.01595,"9.3":0.20371,"10.0-10.2":0.03436,"10.3":0.18899,"11.0-11.2":0.07118,"11.3-11.4":0.12149,"12.0-12.1":0.12395,"12.2-12.4":1.23577,"13.0-13.1":0.10186,"13.2":0.05031,"13.3":0.38288,"13.4-13.7":2.03957},E:{"4":0.00785,"5":0.00785,"6":0,"7":0,"8":0.00785,"9":0.00785,"10":0.00785,"11":0.00785,"12":0.04709,"13":0.21974,"14":1.02809,_:"0","3.1":0,"3.2":0,"5.1":0.67493,"6.1":0,"7.1":0,"9.1":0.00785,"10.1":0.00785,"11.1":0.03924,"12.1":0.14911,"13.1":0.91822},B:{"12":0,"13":0.00785,"14":0.0157,"15":0.00785,"16":0.00785,"17":0.0157,"18":0.06278,"79":0,"80":0,"81":0,"83":0,"84":0.00785,"85":0.22759,"86":0.47088},I:{"3":0,"4":0.03915,_:"81","2.1":0,"2.2":0,"2.3":0.00031,"4.1":0.01973,"4.2-4.3":0.00877,"4.4":0,"4.4.3-4.4.4":0.07141},P:{"4":0.05237,"5.0-5.4":0.01047,"6.2-6.4":0,"7.2-7.4":0.01047,"8.2":0.01047,"9.2":0.03142,"10.1":0.03142,"11.1-11.2":0.05237,"12.0":0.67039},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.03956,"9":0.01583,"10":0.01583,"11":1.85155,"5.5":0},J:{"7":0,"10":0.00215},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.08823},Q:{"10.4":0.01291},O:{"0":0.25824},H:{"0":1.07981},L:{"0":26.05712}};
diff --git a/node_modules/caniuse-lite/data/regions/UG.js b/node_modules/caniuse-lite/data/regions/UG.js
new file mode 100644
index 0000000..de68d19
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/UG.js
@@ -0,0 +1 @@
+module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0.00416,"14":0,"15":0.00416,"16":0,"17":0.00416,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0.00416,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0.00416,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0.00416,"38":0.00416,"39":0.00416,"40":0.00416,"41":0,"42":0,"43":0.00831,"44":0.00416,"45":0.00831,"46":0.00416,"47":0.01247,"48":0.02078,"49":0.00831,"50":0.00831,"51":0,"52":0.07479,"53":0.00416,"54":0,"55":0.00831,"56":0.00831,"57":0.01662,"58":0.00831,"59":0.00416,"60":0.00416,"61":0,"62":0,"63":0.00416,"64":0.00416,"65":0.00831,"66":0.00831,"67":0,"68":0.04571,"69":0.00416,"70":0.00831,"71":0.00831,"72":0.04571,"73":0.00416,"74":0.00416,"75":0.00416,"76":0.00831,"77":0.00831,"78":0.07479,"79":0.02078,"80":0.09972,"81":2.05673,"82":0.49029,"83":0.08726,"84":0.00416,"3.5":0,"3.6":0},D:{"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.00416,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0.00831,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.00831,"39":0,"40":0.00416,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0.00831,"48":0,"49":0.03324,"50":0.00831,"51":0,"52":0,"53":0.00416,"54":0,"55":0.00416,"56":0.00416,"57":0.00416,"58":0.00416,"59":0.00416,"60":0.00416,"61":0,"62":0.00416,"63":0.02493,"64":0.03324,"65":0.01247,"66":0.00416,"67":0.00416,"68":0.00416,"69":0.00831,"70":0.01247,"71":0.01662,"72":0.01662,"73":0.00831,"74":0.03324,"75":0.00831,"76":0.02909,"77":0.01247,"78":0.03324,"79":0.09972,"80":0.12881,"81":0.05402,"83":0.06233,"84":0.24099,"85":3.58577,"86":5.42228,"87":0.01662,"88":0.00831,"89":0},F:{"9":0,"11":0,"12":0.00831,"15":0,"16":0.00831,"17":0,"18":0,"19":0,"20":0.00416,"21":0,"22":0,"23":0.00831,"24":0.02493,"25":0,"26":0.01247,"27":0.01247,"28":0.02078,"29":0,"30":0.06233,"31":0.00416,"32":0.02909,"33":0.01662,"34":0,"35":0.00416,"36":0,"37":0.00416,"38":0.02909,"39":0,"40":0,"41":0,"42":0.02493,"43":0,"44":0.00416,"45":0.02909,"46":0.11634,"47":0.12465,"48":0,"49":0,"50":0.39888,"51":1.15094,"52":0,"53":0.00831,"54":0.00416,"55":0,"56":0.01247,"57":0.01247,"58":0,"60":0.02909,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.00416,"69":0.00416,"70":0.11634,"71":0.67727,"72":0.02078,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.06233},G:{"8":0,"14":2.0574,"3.2":0.00493,"4.0-4.1":0.00422,"4.2-4.3":0.0007,"5.0-5.1":0.00352,"6.0-6.1":0.00211,"7.0-7.1":0.00493,"8.1-8.4":0.01619,"9.0-9.2":0.00915,"9.3":0.11688,"10.0-10.2":0.01972,"10.3":0.10843,"11.0-11.2":0.04084,"11.3-11.4":0.06971,"12.0-12.1":0.07111,"12.2-12.4":0.70904,"13.0-13.1":0.05844,"13.2":0.02887,"13.3":0.21968,"13.4-13.7":1.17023},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0.01247,"10":0.00416,"11":0.0374,"12":0.02909,"13":0.05402,"14":0.17451,_:"0","3.1":0,"3.2":0,"5.1":0.02078,"6.1":0,"7.1":0,"9.1":0.00831,"10.1":0.00416,"11.1":0.01247,"12.1":0.05402,"13.1":0.17867},B:{"12":0.02078,"13":0.00831,"14":0.01247,"15":0.01247,"16":0.18698,"17":0.01247,"18":0.13712,"79":0,"80":0,"81":0.00416,"83":0.00416,"84":0.02493,"85":0.24099,"86":0.3698},I:{"3":0,"4":0.08332,_:"81","2.1":0,"2.2":0,"2.3":0.00067,"4.1":0.04199,"4.2-4.3":0.01866,"4.4":0,"4.4.3-4.4.4":0.15198},P:{"4":0.19254,"5.0-5.4":0.05067,"6.2-6.4":0.01013,"7.2-7.4":0.07093,"8.2":0.01013,"9.2":0.17227,"10.1":0.1216,"11.1-11.2":0.20267,"12.0":1.02348},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.03823,"9":0.00765,"10":0.00765,"11":0.13761,"5.5":0},J:{"7":0,"10":0.02923},N:{"10":0,"11":0.01169},S:{"2.5":0.1812},R:{_:"0"},M:{"0":0.15782},Q:{"10.4":0.01754},O:{"0":1.01703},H:{"0":15.4334},L:{"0":51.23491}};
diff --git a/node_modules/caniuse-lite/data/regions/US.js b/node_modules/caniuse-lite/data/regions/US.js
new file mode 100644
index 0000000..2046d98
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/US.js
@@ -0,0 +1 @@
+module.exports={C:{"2":0,"3":0,"4":0.01629,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00543,"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.01629,"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.00543,"44":0.01086,"45":0.00543,"46":0,"47":0.00543,"48":0.01086,"49":0,"50":0,"51":0,"52":0.03258,"53":0,"54":0.00543,"55":0,"56":0.00543,"57":0,"58":0,"59":0.00543,"60":0.00543,"61":0,"62":0,"63":0.01086,"64":0.00543,"65":0.00543,"66":0.00543,"67":0.00543,"68":0.03801,"69":0,"70":0.00543,"71":0.00543,"72":0.01086,"73":0.00543,"74":0.00543,"75":0.00543,"76":0.00543,"77":0.01086,"78":0.09231,"79":0.01629,"80":0.08145,"81":1.33578,"82":0.2172,"83":0.00543,"84":0,"3.5":0,"3.6":0},D:{"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.00543,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0.00543,"36":0,"37":0,"38":0.00543,"39":0,"40":0.01629,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0.00543,"47":0.00543,"48":0.02715,"49":0.11946,"50":0,"51":0.00543,"52":0.00543,"53":0.00543,"54":0.00543,"55":0.00543,"56":0.0543,"57":0.00543,"58":0.00543,"59":0.00543,"60":0.00543,"61":0.01629,"62":0.00543,"63":0.02172,"64":0.01629,"65":0.01629,"66":0.02715,"67":0.02715,"68":0.00543,"69":0.02715,"70":0.0543,"71":0.04887,"72":0.05973,"73":0.03258,"74":0.03258,"75":0.07602,"76":0.13032,"77":0.0543,"78":0.09774,"79":0.17376,"80":0.13575,"81":0.11946,"83":0.34752,"84":0.52128,"85":6.41826,"86":7.74318,"87":0.01629,"88":0.02172,"89":0},F:{"9":0,"11":0,"12":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.01086,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0.00543,"60":0.00543,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.03258,"71":0.19548,"72":0.00543,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":18.05066,"3.2":0.04324,"4.0-4.1":0.03707,"4.2-4.3":0.00618,"5.0-5.1":0.03089,"6.0-6.1":0.01853,"7.0-7.1":0.04324,"8.1-8.4":0.14208,"9.0-9.2":0.08031,"9.3":1.02547,"10.0-10.2":0.17297,"10.3":0.95134,"11.0-11.2":0.3583,"11.3-11.4":0.61157,"12.0-12.1":0.62393,"12.2-12.4":6.22074,"13.0-13.1":0.51273,"13.2":0.25328,"13.3":1.92738,"13.4-13.7":10.26701},E:{"4":0.00543,"5":0,"6":0,"7":0,"8":0.00543,"9":0.00543,"10":0.00543,"11":0.01086,"12":0.02715,"13":0.19005,"14":1.53669,_:"0","3.1":0,"3.2":0,"5.1":0.00543,"6.1":0,"7.1":0,"9.1":0.08145,"10.1":0.04344,"11.1":0.1086,"12.1":0.1629,"13.1":2.5521},B:{"12":0.00543,"13":0,"14":0.00543,"15":0.00543,"16":0.01086,"17":0.03258,"18":0.22263,"79":0,"80":0.01629,"81":0.00543,"83":0.00543,"84":0.01086,"85":0.97197,"86":1.68873},I:{"3":0,"4":0.16118,_:"81","2.1":0,"2.2":0,"2.3":0.00129,"4.1":0.08124,"4.2-4.3":0.0361,"4.4":0,"4.4.3-4.4.4":0.294},P:{"4":0.04233,"5.0-5.4":0.01058,"6.2-6.4":0,"7.2-7.4":0.01058,"8.2":0.01058,"9.2":0.05292,"10.1":0.02117,"11.1-11.2":0.08467,"12.0":1.97905},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0.00574,"8":0.03441,"9":0.50473,"10":0.01147,"11":0.76857,"5.5":0},J:{"7":0,"10":0.00457},N:{"10":0,"11":0},S:{"2.5":0.00457},R:{_:"0"},M:{"0":0.37474},Q:{"10.4":0.01371},O:{"0":0.10968},H:{"0":0.15576},L:{"0":25.36501}};
diff --git a/node_modules/caniuse-lite/data/regions/UY.js b/node_modules/caniuse-lite/data/regions/UY.js
new file mode 100644
index 0000000..2bae47a
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/UY.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00586,"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.01758,"46":0,"47":0,"48":0.00586,"49":0.00586,"50":0.00586,"51":0.00586,"52":0.09376,"53":0,"54":0.00586,"55":0,"56":0.00586,"57":0.01172,"58":0,"59":0,"60":0.00586,"61":0.00586,"62":0.00586,"63":0,"64":0,"65":0,"66":0.03516,"67":0,"68":0.03516,"69":0,"70":0,"71":0,"72":0.01172,"73":0.02344,"74":0,"75":0.00586,"76":0.00586,"77":0.00586,"78":0.06446,"79":0.02344,"80":0.0586,"81":1.51774,"82":0.24026,"83":0.00586,"84":0,"3.5":0,"3.6":0},D:{"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.00586,"44":0,"45":0,"46":0.00586,"47":0,"48":0.00586,"49":0.1465,"50":0,"51":0,"52":0.00586,"53":0.01758,"54":0,"55":0.00586,"56":0.00586,"57":0,"58":0.00586,"59":0.00586,"60":0,"61":0,"62":0.0293,"63":0.01758,"64":0.00586,"65":0.01172,"66":0.01172,"67":0.01172,"68":0.01172,"69":0.01172,"70":0.0293,"71":0.03516,"72":0.01758,"73":0.01758,"74":0.03516,"75":0.01758,"76":0.03516,"77":0.05274,"78":0.04102,"79":0.06446,"80":0.2344,"81":0.08204,"83":0.92002,"84":0.25198,"85":10.44252,"86":15.23014,"87":0.01172,"88":0.00586,"89":0},F:{"9":0,"11":0,"12":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.00586,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.06446,"71":0.72078,"72":0.01172,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":4.73148,"3.2":0.01133,"4.0-4.1":0.00972,"4.2-4.3":0.00162,"5.0-5.1":0.0081,"6.0-6.1":0.00486,"7.0-7.1":0.01133,"8.1-8.4":0.03724,"9.0-9.2":0.02105,"9.3":0.2688,"10.0-10.2":0.04534,"10.3":0.24937,"11.0-11.2":0.09392,"11.3-11.4":0.16031,"12.0-12.1":0.16355,"12.2-12.4":1.6306,"13.0-13.1":0.1344,"13.2":0.06639,"13.3":0.50521,"13.4-13.7":2.69121},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.00586,"11":0,"12":0.02344,"13":0.07618,"14":0.42778,_:"0","3.1":0,"3.2":0,"5.1":0.46294,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0.03516,"12.1":0.0879,"13.1":0.53326},B:{"12":0,"13":0,"14":0.00586,"15":0.00586,"16":0.00586,"17":0.00586,"18":0.07032,"79":0,"80":0,"81":0,"83":0,"84":0.00586,"85":0.3223,"86":0.59186},I:{"3":0,"4":0.09851,_:"81","2.1":0,"2.2":0,"2.3":0.00079,"4.1":0.04965,"4.2-4.3":0.02207,"4.4":0,"4.4.3-4.4.4":0.17968},P:{"4":0.07106,"5.0-5.4":0,"6.2-6.4":0.01015,"7.2-7.4":0.12181,"8.2":0.01015,"9.2":0.10151,"10.1":0.0609,"11.1-11.2":0.14211,"12.0":1.90835},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.00586,"9":0,"10":0,"11":0.19338,"5.5":0},J:{"7":0,"10":0.00414},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.1863},Q:{"10.4":0},O:{"0":0.0207},H:{"0":0.09407},L:{"0":50.60286}};
diff --git a/node_modules/caniuse-lite/data/regions/UZ.js b/node_modules/caniuse-lite/data/regions/UZ.js
new file mode 100644
index 0000000..111c756
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/UZ.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00605,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.00605,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0.00605,"45":0.00605,"46":0.00605,"47":0.00605,"48":0.00605,"49":0.00605,"50":0.00605,"51":0.00605,"52":0.04236,"53":0,"54":0.00605,"55":0.00605,"56":0.00605,"57":0,"58":0.00605,"59":0.00605,"60":0.00605,"61":0,"62":0,"63":0,"64":0.00605,"65":0.01816,"66":0.00605,"67":0,"68":0.03026,"69":0,"70":0,"71":0,"72":0.03026,"73":0,"74":0.0121,"75":0,"76":0.00605,"77":0.00605,"78":0.05447,"79":0.26024,"80":0.01816,"81":0.95016,"82":0.14525,"83":0.00605,"84":0,"3.5":0,"3.6":0},D:{"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.08473,"33":0,"34":0,"35":0.00605,"36":0,"37":0,"38":0,"39":0.00605,"40":0.00605,"41":0.00605,"42":0,"43":0,"44":0,"45":0,"46":0.00605,"47":0.00605,"48":0.01816,"49":0.16946,"50":0,"51":0.00605,"52":0,"53":0.00605,"54":0,"55":0.00605,"56":0.01816,"57":0.00605,"58":0.0121,"59":0.00605,"60":0.0121,"61":0.0121,"62":0.0121,"63":0.01816,"64":0.00605,"65":0.00605,"66":0.00605,"67":0.01816,"68":0.01816,"69":0.00605,"70":0.07868,"71":0.08473,"72":0.04842,"73":0.02421,"74":0.02421,"75":0.0121,"76":0.01816,"77":0.02421,"78":0.04236,"79":0.10894,"80":0.15735,"81":0.1513,"83":0.16946,"84":0.22392,"85":8.79961,"86":15.68073,"87":0.03026,"88":0.01816,"89":0},F:{"9":0,"11":0,"12":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.0121,"37":0.00605,"38":0.01816,"39":0,"40":0,"41":0,"42":0.00605,"43":0,"44":0,"45":0.03026,"46":0,"47":0.00605,"48":0.00605,"49":0.0121,"50":0.00605,"51":0.03631,"52":0.02421,"53":0.08473,"54":0.01816,"55":0.04236,"56":0.04236,"57":0.10288,"58":0.0121,"60":0.06052,"62":0.08473,"63":0.04842,"64":0.06052,"65":0.04236,"66":0.06052,"67":0.05447,"68":0.09078,"69":0.03631,"70":0.07868,"71":0.16946,"72":0.00605,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.0121},G:{"8":0,"14":2.08779,"3.2":0.005,"4.0-4.1":0.00429,"4.2-4.3":0.00071,"5.0-5.1":0.00357,"6.0-6.1":0.00214,"7.0-7.1":0.005,"8.1-8.4":0.01643,"9.0-9.2":0.00929,"9.3":0.11861,"10.0-10.2":0.02001,"10.3":0.11003,"11.0-11.2":0.04144,"11.3-11.4":0.07074,"12.0-12.1":0.07217,"12.2-12.4":0.71951,"13.0-13.1":0.0593,"13.2":0.02929,"13.3":0.22293,"13.4-13.7":1.18751},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.03026,"12":0.00605,"13":0.03026,"14":0.19972,_:"0","3.1":0,"3.2":0,"5.1":1.5009,"6.1":0,"7.1":0,"9.1":0.00605,"10.1":0.00605,"11.1":0.0121,"12.1":0.05447,"13.1":0.19972},B:{"12":0,"13":0,"14":0.00605,"15":0.02421,"16":0.00605,"17":0.01816,"18":0.10288,"79":0,"80":0.00605,"81":0,"83":0,"84":0.00605,"85":0.1392,"86":0.26024},I:{"3":0,"4":0.05322,_:"81","2.1":0,"2.2":0,"2.3":0.00043,"4.1":0.02683,"4.2-4.3":0.01192,"4.4":0,"4.4.3-4.4.4":0.09708},P:{"4":0.98263,"5.0-5.4":0.11143,"6.2-6.4":0.2026,"7.2-7.4":0.35456,"8.2":0.05065,"9.2":0.35456,"10.1":0.14182,"11.1-11.2":0.42547,"12.0":1.82344},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.02324,"9":0.02324,"10":0.02324,"11":0.22078,"5.5":0},J:{"7":0,"10":0.00395},N:{"10":0,"11":0.01184},S:{"2.5":0},R:{_:"0"},M:{"0":0.05132},Q:{"10.4":0.01579},O:{"0":3.28079},H:{"0":0.26164},L:{"0":44.97687}};
diff --git a/node_modules/caniuse-lite/data/regions/VA.js b/node_modules/caniuse-lite/data/regions/VA.js
new file mode 100644
index 0000000..9f69be5
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/VA.js
@@ -0,0 +1 @@
+module.exports={C:{"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.01944,"56":0,"57":0,"58":0,"59":0,"60":0.00972,"61":0,"62":0.00972,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.01944,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0.01944,"77":0,"78":0.16527,"79":0.04861,"80":0.0875,"81":12.83304,"82":1.83746,"83":0,"84":0,"3.5":0,"3.6":0},D:{"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.03889,"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.00972,"67":0.45693,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0.01944,"76":0,"77":0.09722,"78":0,"79":0,"80":0.01944,"81":0.02917,"83":0,"84":0.93331,"85":21.02869,"86":36.27278,"87":0,"88":0,"89":0},F:{"9":0,"11":0,"12":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,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.15555,"71":0.37916,"72":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":1.76716,"3.2":0.00423,"4.0-4.1":0.00363,"4.2-4.3":0.0006,"5.0-5.1":0.00302,"6.0-6.1":0.00181,"7.0-7.1":0.00423,"8.1-8.4":0.01391,"9.0-9.2":0.00786,"9.3":0.10039,"10.0-10.2":0.01693,"10.3":0.09314,"11.0-11.2":0.03508,"11.3-11.4":0.05987,"12.0-12.1":0.06108,"12.2-12.4":0.60901,"13.0-13.1":0.0502,"13.2":0.0248,"13.3":0.18869,"13.4-13.7":1.00514},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.00972,"13":0.00972,"14":1.22497,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0.26249,"11.1":0.26249,"12.1":0.49582,"13.1":1.31247},B:{"12":0,"13":0,"14":0,"15":0.03889,"16":0.04861,"17":0.11666,"18":1.06942,"79":0,"80":0,"81":0,"83":0,"84":0,"85":2.16801,"86":4.57906},I:{"3":0,"4":0.0039,_:"81","2.1":0,"2.2":0,"2.3":0.00003,"4.1":0.00197,"4.2-4.3":0.00087,"4.4":0,"4.4.3-4.4.4":0.00712},P:{"4":0,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0,"8.2":0,"9.2":0,"10.1":0,"11.1-11.2":0,"12.0":0.16958},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":6.92206,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.03225},Q:{"10.4":0},O:{"0":0},H:{"0":0},L:{"0":2.42756}};
diff --git a/node_modules/caniuse-lite/data/regions/VC.js b/node_modules/caniuse-lite/data/regions/VC.js
new file mode 100644
index 0000000..209eace
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/VC.js
@@ -0,0 +1 @@
+module.exports={C:{"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.0233,"31":0.01165,"32":0.03496,"33":0.04078,"34":0.02913,"35":0.00583,"36":0.0233,"37":0,"38":0.05243,"39":0.01748,"40":0.0233,"41":0.0233,"42":0.06409,"43":0.02913,"44":0.01748,"45":0.01165,"46":0.0233,"47":0.03496,"48":0.03496,"49":0.02913,"50":0.01748,"51":0.04661,"52":0.0233,"53":0.05243,"54":0.01165,"55":0.01748,"56":0.04661,"57":0.06409,"58":0.02913,"59":0.0233,"60":0.0233,"61":0,"62":0.04078,"63":0.00583,"64":0.00583,"65":0.01165,"66":0.00583,"67":0.00583,"68":0.02913,"69":0,"70":0.00583,"71":0.01165,"72":0.01165,"73":0,"74":0.01165,"75":0,"76":0,"77":0.01165,"78":0.03496,"79":0.01748,"80":0.08156,"81":1.42154,"82":0.12817,"83":0,"84":0,"3.5":0,"3.6":0},D:{"4":0,"5":0.03496,"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.01165,"21":0.00583,"22":0.00583,"23":0.01165,"24":0,"25":0,"26":0.00583,"27":0,"28":0,"29":0,"30":0,"31":0.00583,"32":0.01748,"33":0,"34":0.01165,"35":0,"36":0.01165,"37":0.00583,"38":0,"39":0.01165,"40":0.01165,"41":0.05243,"42":0.00583,"43":0,"44":0.01165,"45":0.0233,"46":0.04661,"47":0.05826,"48":0.01165,"49":0.66416,"50":0,"51":0.02913,"52":0.01748,"53":0.01748,"54":0.00583,"55":0.01748,"56":0.0233,"57":0.03496,"58":0.06409,"59":0.0233,"60":0.05243,"61":0.04661,"62":0.07574,"63":0.07574,"64":0.03496,"65":0.0233,"66":0.06991,"67":0.05243,"68":0.02913,"69":0.02913,"70":0.06991,"71":0.01748,"72":0.02913,"73":0.01165,"74":0.04661,"75":0.85642,"76":0.06409,"77":0.04078,"78":0.06991,"79":0.09322,"80":0.11652,"81":0.05243,"83":0.05826,"84":0.80399,"85":7.02616,"86":9.51386,"87":0.00583,"88":0,"89":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0.01165,"17":0,"18":0,"19":0.01165,"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.00583,"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,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.134,"71":1.17685,"72":0.00583,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.00583},G:{"8":0,"14":3.44828,"3.2":0.00826,"4.0-4.1":0.00708,"4.2-4.3":0.00118,"5.0-5.1":0.0059,"6.0-6.1":0.00354,"7.0-7.1":0.00826,"8.1-8.4":0.02714,"9.0-9.2":0.01534,"9.3":0.1959,"10.0-10.2":0.03304,"10.3":0.18174,"11.0-11.2":0.06845,"11.3-11.4":0.11683,"12.0-12.1":0.11919,"12.2-12.4":1.18837,"13.0-13.1":0.09795,"13.2":0.04838,"13.3":0.36819,"13.4-13.7":1.96134},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.01748,"11":0.01748,"12":0.01165,"13":0.16895,"14":1.52059,_:"0","3.1":0,"3.2":0,"5.1":0.06991,"6.1":0.00583,"7.1":0,"9.1":0,"10.1":0.03496,"11.1":0.04078,"12.1":0.01165,"13.1":0.65251},B:{"12":0,"13":0.0233,"14":0.05826,"15":0.04078,"16":0,"17":0.06991,"18":0.14565,"79":0,"80":0,"81":0,"83":0,"84":0.01748,"85":0.78651,"86":1.62545},I:{"3":0,"4":0.31751,_:"81","2.1":0,"2.2":0,"2.3":0.00254,"4.1":0.16002,"4.2-4.3":0.07112,"4.4":0,"4.4.3-4.4.4":0.57914},P:{"4":0.1607,"5.0-5.4":0,"6.2-6.4":0.02143,"7.2-7.4":0.10713,"8.2":0,"9.2":0.03214,"10.1":0.07499,"11.1-11.2":0.08571,"12.0":2.08909},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0.00583,"11":0.25052,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.096},Q:{"10.4":0},O:{"0":0.05009},H:{"0":0.07113},L:{"0":55.70145}};
diff --git a/node_modules/caniuse-lite/data/regions/VE.js b/node_modules/caniuse-lite/data/regions/VE.js
new file mode 100644
index 0000000..565f3d5
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/VE.js
@@ -0,0 +1 @@
+module.exports={C:{"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0.01482,"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.00741,"24":0,"25":0,"26":0,"27":0.03704,"28":0.00741,"29":0.00741,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0.00741,"41":0,"42":0,"43":0.00741,"44":0.00741,"45":0.01482,"46":0,"47":0.01482,"48":0.02963,"49":0.00741,"50":0.00741,"51":0,"52":0.3704,"53":0,"54":0,"55":0.00741,"56":0.00741,"57":0.00741,"58":0.00741,"59":0.00741,"60":0.02222,"61":0.01482,"62":0.01482,"63":0.00741,"64":0.01482,"65":0.03704,"66":0.02963,"67":0.00741,"68":0.07408,"69":0.01482,"70":0.01482,"71":0.02222,"72":0.03704,"73":0.00741,"74":0.00741,"75":0.00741,"76":0.00741,"77":0.01482,"78":0.1852,"79":0.02963,"80":0.10371,"81":2.81504,"82":0.43707,"83":0.01482,"84":0,"3.5":0,"3.6":0},D:{"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.00741,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0.00741,"38":0,"39":0.00741,"40":0,"41":0,"42":0.02222,"43":0.00741,"44":0,"45":0.00741,"46":0.00741,"47":0.00741,"48":0.00741,"49":0.66672,"50":0.00741,"51":0.00741,"52":0.00741,"53":0.01482,"54":0,"55":0.00741,"56":0.00741,"57":0.00741,"58":0.02963,"59":0.00741,"60":0.00741,"61":0.00741,"62":0.00741,"63":0.04445,"64":0.01482,"65":0.04445,"66":0.01482,"67":0.05186,"68":0.04445,"69":0.10371,"70":0.07408,"71":0.14075,"72":0.0889,"73":0.07408,"74":0.10371,"75":0.11853,"76":0.11112,"77":0.10371,"78":0.10371,"79":0.17779,"80":0.49634,"81":0.24446,"83":0.34818,"84":0.71117,"85":13.68998,"86":23.63152,"87":0.02963,"88":0.01482,"89":0},F:{"9":0,"11":0,"12":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.00741,"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.01482,"52":0,"53":0,"54":0,"55":0,"56":0.00741,"57":0.00741,"58":0.00741,"60":0.01482,"62":0,"63":0.00741,"64":0,"65":0,"66":0,"67":0,"68":0.00741,"69":0,"70":0.19261,"71":1.7631,"72":0.03704,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":1.64323,"3.2":0.00394,"4.0-4.1":0.00337,"4.2-4.3":0.00056,"5.0-5.1":0.00281,"6.0-6.1":0.00169,"7.0-7.1":0.00394,"8.1-8.4":0.01293,"9.0-9.2":0.00731,"9.3":0.09335,"10.0-10.2":0.01575,"10.3":0.0866,"11.0-11.2":0.03262,"11.3-11.4":0.05567,"12.0-12.1":0.0568,"12.2-12.4":0.5663,"13.0-13.1":0.04668,"13.2":0.02306,"13.3":0.17546,"13.4-13.7":0.93465},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0.00741,"10":0,"11":0.00741,"12":0.02222,"13":0.05926,"14":0.2815,_:"0","3.1":0,"3.2":0,"5.1":0.51115,"6.1":0,"7.1":0,"9.1":0.00741,"10.1":0.00741,"11.1":0.07408,"12.1":0.0889,"13.1":0.39262},B:{"12":0.00741,"13":0.00741,"14":0.00741,"15":0.00741,"16":0.00741,"17":0.01482,"18":0.04445,"79":0,"80":0,"81":0,"83":0.00741,"84":0.01482,"85":0.42226,"86":0.90378},I:{"3":0,"4":0.21703,_:"81","2.1":0,"2.2":0,"2.3":0.00174,"4.1":0.10938,"4.2-4.3":0.04862,"4.4":0,"4.4.3-4.4.4":0.39587},P:{"4":0.07208,"5.0-5.4":0.0103,"6.2-6.4":0.0103,"7.2-7.4":0.05149,"8.2":0.0103,"9.2":0.05149,"10.1":0.03089,"11.1-11.2":0.06178,"12.0":0.83408},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.1147,"9":0.02294,"10":0,"11":0.33647,"5.5":0},J:{"7":0,"10":0.04925},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.13219},Q:{"10.4":0.00778},O:{"0":0.04406},H:{"0":0.4368},L:{"0":40.55314}};
diff --git a/node_modules/caniuse-lite/data/regions/VG.js b/node_modules/caniuse-lite/data/regions/VG.js
new file mode 100644
index 0000000..5ed53d8
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/VG.js
@@ -0,0 +1 @@
+module.exports={C:{"50":0.1084,"56":0.01712,"72":0.13692,"78":0.00571,"80":0.43929,"81":1.91118,"82":0.07987,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 51 52 53 54 55 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 73 74 75 76 77 79 83 84 3.5 3.6"},D:{"50":0.00571,"60":0.00571,"63":0.02853,"65":0.01712,"68":0.01141,"74":0.34801,"76":0.01712,"77":0.02282,"78":0.35942,"80":0.1084,"81":0.02282,"83":0.1141,"84":0.1141,"85":19.41982,"86":17.61134,"87":0.01712,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 51 52 53 54 55 56 57 58 59 61 62 64 66 67 69 70 71 72 73 75 79 88 89"},F:{"53":0.04564,"58":0.01141,"70":0.01712,"71":0.49063,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 54 55 56 57 60 62 63 64 65 66 67 68 69 72 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"14":5.16202,"3.2":0.01237,"4.0-4.1":0.0106,"4.2-4.3":0.00177,"5.0-5.1":0.00883,"6.0-6.1":0.0053,"7.0-7.1":0.01237,"8.1-8.4":0.04063,"9.0-9.2":0.02297,"9.3":0.29326,"10.0-10.2":0.04946,"10.3":0.27206,"11.0-11.2":0.10246,"11.3-11.4":0.17489,"12.0-12.1":0.17843,"12.2-12.4":1.77897,"13.0-13.1":0.14663,"13.2":0.07243,"13.3":0.55118,"13.4-13.7":2.9361},E:{"4":0,"11":0.01712,"12":0.06846,"13":0.10269,"14":2.78404,_:"0 5 6 7 8 9 10 3.1 3.2 6.1 7.1 9.1","5.1":0.26243,"10.1":0.07987,"11.1":0.03994,"12.1":0.13692,"13.1":4.48984},B:{"13":0.01141,"14":0.00571,"15":0.03994,"16":0.03423,"17":0.03423,"18":1.0269,"85":1.54035,"86":2.89814,_:"12 79 80 81 83 84"},I:{"3":0,"4":0.00965,_:"81","2.1":0,"2.2":0,"2.3":0.00008,"4.1":0.00486,"4.2-4.3":0.00216,"4.4":0,"4.4.3-4.4.4":0.0176},P:{"4":0.01057,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0.04227,"8.2":0,"9.2":0.06341,"10.1":0.01057,"11.1-11.2":0.2325,"12.0":5.67515},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"10":0.02282,"11":1.16953,_:"6 7 8 9 5.5"},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.03436},Q:{"10.4":0},O:{"0":0.01289},H:{"0":0.21958},L:{"0":25.23983}};
diff --git a/node_modules/caniuse-lite/data/regions/VI.js b/node_modules/caniuse-lite/data/regions/VI.js
new file mode 100644
index 0000000..0e612e7
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/VI.js
@@ -0,0 +1 @@
+module.exports={C:{"35":0.00549,"40":0.00549,"41":0.01098,"42":0.01098,"43":0.01647,"45":0.02196,"47":0.00549,"49":0.02196,"50":0.08235,"55":0.01098,"57":0.01098,"58":0.02196,"60":0.01098,"61":0.00549,"62":0.01098,"63":0.01647,"65":0.01098,"67":0.00549,"68":0.02196,"69":0.01098,"72":0.11529,"75":0.01098,"78":0.09333,"80":0.10431,"81":2.27835,"82":0.549,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 36 37 38 39 44 46 48 51 52 53 54 56 59 64 66 70 71 73 74 76 77 79 83 84 3.5 3.6"},D:{"5":0.00549,"12":0.01098,"31":0.01647,"38":0.01647,"41":0.01098,"43":0.00549,"46":0.01647,"47":0.01098,"48":0.01098,"49":0.03294,"50":0.01647,"51":0.02745,"53":0.02196,"54":0.01098,"55":0.01098,"57":0.01098,"58":0.01098,"61":0.00549,"63":0.02745,"65":0.03843,"66":0.01647,"67":0.01647,"68":0.02745,"69":0.10431,"70":0.03294,"71":0.01098,"72":0.01098,"73":0.01647,"74":0.02196,"75":0.40077,"76":0.08235,"77":0.12627,"78":0.04392,"79":0.03294,"80":0.53253,"81":0.01098,"83":0.1647,"84":0.33489,"85":11.65527,"86":15.28965,_:"4 6 7 8 9 10 11 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 32 33 34 35 36 37 39 40 42 44 45 52 56 59 60 62 64 87 88 89"},F:{"37":0.01098,"70":0.02196,"71":0.12078,"72":0.01098,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"14":9.6033,"3.2":0.02301,"4.0-4.1":0.01972,"4.2-4.3":0.00329,"5.0-5.1":0.01643,"6.0-6.1":0.00986,"7.0-7.1":0.02301,"8.1-8.4":0.07559,"9.0-9.2":0.04273,"9.3":0.54557,"10.0-10.2":0.09202,"10.3":0.50613,"11.0-11.2":0.19062,"11.3-11.4":0.32537,"12.0-12.1":0.33194,"12.2-12.4":3.30956,"13.0-13.1":0.27278,"13.2":0.13475,"13.3":1.0254,"13.4-13.7":5.46225},E:{"4":0,"8":0.00549,"10":0.00549,"11":0.02745,"12":0.13176,"13":0.4392,"14":2.90421,_:"0 5 6 7 9 3.1 3.2 6.1 7.1","5.1":0.02196,"9.1":0.01098,"10.1":0.02745,"11.1":0.09333,"12.1":0.38979,"13.1":4.58415},B:{"12":0.00549,"13":0.00549,"14":0.02196,"15":0.01098,"16":0.15921,"17":0.07686,"18":0.63135,"80":0.00549,"81":0.1098,"84":0.03294,"85":3.42576,"86":6.81309,_:"79 83"},I:{"3":0,"4":0.00507,_:"81","2.1":0,"2.2":0,"2.3":0.00004,"4.1":0.00255,"4.2-4.3":0.00114,"4.4":0,"4.4.3-4.4.4":0.00924},P:{"4":0.07208,"5.0-5.4":0.0103,"6.2-6.4":0.0103,"7.2-7.4":0.05149,"8.2":0.06413,"9.2":0.03207,"10.1":0.01069,"11.1-11.2":0.17102,"12.0":7.1185},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"11":0.88389,_:"6 7 8 9 10 5.5"},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.32923},Q:{"10.4":0},O:{"0":0.00902},H:{"0":0.01708},L:{"0":15.88358}};
diff --git a/node_modules/caniuse-lite/data/regions/VN.js b/node_modules/caniuse-lite/data/regions/VN.js
new file mode 100644
index 0000000..2a76e3e
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/VN.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00804,"37":0,"38":0.00804,"39":0,"40":0.00804,"41":0.00804,"42":0.00804,"43":0.00804,"44":0.00804,"45":0.00804,"46":0,"47":0.00804,"48":0.00804,"49":0.00804,"50":0.00804,"51":0.00804,"52":0.06435,"53":0.00804,"54":0.00804,"55":0.00804,"56":0.02413,"57":0.00804,"58":0.00804,"59":0.00804,"60":0.01609,"61":0.00804,"62":0.00804,"63":0.04022,"64":0.04022,"65":0.03218,"66":0.02413,"67":0.00804,"68":0.01609,"69":0,"70":0.00804,"71":0.00804,"72":0.00804,"73":0.00804,"74":0.01609,"75":0,"76":0,"77":0.00804,"78":0.04826,"79":0.01609,"80":0.04826,"81":1.1342,"82":0.16088,"83":0.00804,_:"84","3.5":0,"3.6":0},D:{"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.00804,"37":0,"38":0.00804,"39":0,"40":0,"41":0.00804,"42":0,"43":0,"44":0,"45":0,"46":0.00804,"47":0.00804,"48":0.01609,"49":0.13675,"50":0,"51":0.00804,"52":0.00804,"53":0.01609,"54":0.01609,"55":0.00804,"56":0.01609,"57":0.12066,"58":0.00804,"59":0.00804,"60":0.00804,"61":0.15284,"62":0.01609,"63":0.04022,"64":0.01609,"65":0.01609,"66":0.01609,"67":0.04022,"68":0.01609,"69":0.03218,"70":0.25741,"71":0.32176,"72":0.25741,"73":0.12066,"74":0.04022,"75":0.05631,"76":0.04022,"77":0.06435,"78":0.0724,"79":0.09653,"80":0.31372,"81":0.09653,"83":0.24936,"84":0.4022,"85":16.80392,"86":25.43513,"87":0.02413,"88":0.01609,_:"89"},F:{"9":0,"11":0,"12":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.00804,"37":0.01609,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.06435,"44":0,"45":0,"46":0,"47":0,"48":0.00804,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0.00804,"57":0.03218,"58":0.01609,"60":0.00804,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0.00804,"68":0,"69":0,"70":0.06435,"71":0.64352,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.00804,"11":0.00804,"12":0.04826,"13":0.16088,"14":0.72396,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0.01609,"11.1":0.04826,"12.1":0.21719,"13.1":0.82049},G:{"8":0,"14":5.08644,"3.2":0.01219,"4.0-4.1":0.01044,"4.2-4.3":0.00174,"5.0-5.1":0.0087,"6.0-6.1":0.00522,"7.0-7.1":0.01219,"8.1-8.4":0.04004,"9.0-9.2":0.02263,"9.3":0.28896,"10.0-10.2":0.04874,"10.3":0.26807,"11.0-11.2":0.10096,"11.3-11.4":0.17233,"12.0-12.1":0.17581,"12.2-12.4":1.75292,"13.0-13.1":0.14448,"13.2":0.07137,"13.3":0.54311,"13.4-13.7":2.89311},B:{"12":0,"13":0,"14":0.03218,"15":0.00804,"16":0.02413,"17":0.02413,"18":0.08848,"79":0,"80":0,"81":0.00804,"83":0,"84":0.00804,"85":0.77222,_:"86"},I:{"3":0,"4":0.04134,_:"81","2.1":0,"2.2":0,"2.3":0.00033,"4.1":0.02083,"4.2-4.3":0.00926,"4.4":0,"4.4.3-4.4.4":0.0754},P:{"4":0.1016,"5.0-5.4":0.02032,"6.2-6.4":0,"7.2-7.4":0.02032,"8.2":0.02032,"9.2":0.08128,"10.1":0.04064,"11.1-11.2":0.14224,"12.0":0.98551},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.06757,"9":0.01931,"10":0.00965,"11":0.19306,"5.5":0},J:{"7":0,"10":0.00782},N:{"10":0,"11":0},H:{"0":0.14074},L:{"0":20.30352},S:{"2.5":0.00196},R:{_:"0"},M:{"0":0.03716},Q:{"10.4":0.01174},O:{"0":0.34426}};
diff --git a/node_modules/caniuse-lite/data/regions/VU.js b/node_modules/caniuse-lite/data/regions/VU.js
new file mode 100644
index 0000000..1b443a5
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/VU.js
@@ -0,0 +1 @@
+module.exports={C:{"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.0048,"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.01441,"35":0.0048,"36":0,"37":0,"38":0.01441,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0.0048,"48":0,"49":0,"50":0,"51":0,"52":0.0048,"53":0,"54":0,"55":0,"56":0.0048,"57":0,"58":0,"59":0,"60":0,"61":0.0048,"62":0,"63":0,"64":0.01441,"65":0,"66":0.0048,"67":0.0048,"68":0.01921,"69":0,"70":0.0048,"71":0,"72":0.10084,"73":0,"74":0,"75":0,"76":0.0048,"77":0,"78":0.0096,"79":0.01921,"80":0.02881,"81":1.02763,"82":0.10084,"83":0,"84":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.0048,"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.45619,"41":0.0048,"42":0,"43":0,"44":0,"45":0.0048,"46":0,"47":0,"48":0,"49":0.0096,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0.0048,"57":0.29772,"58":0.0048,"59":0.0048,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0.0048,"68":0,"69":0.2305,"70":0,"71":0.0048,"72":0.0048,"73":0.0048,"74":0.0096,"75":0,"76":0.02881,"77":0.0048,"78":0.0048,"79":0.02401,"80":0.05282,"81":0.36015,"83":0.07683,"84":0.07203,"85":4.10571,"86":6.75161,"87":0.02401,"88":0,"89":0},F:{"9":0,"11":0,"12":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,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.0096,"71":0.03842,"72":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":4.59198,"3.2":0.011,"4.0-4.1":0.00943,"4.2-4.3":0.00157,"5.0-5.1":0.00786,"6.0-6.1":0.00471,"7.0-7.1":0.011,"8.1-8.4":0.03614,"9.0-9.2":0.02043,"9.3":0.26087,"10.0-10.2":0.044,"10.3":0.24201,"11.0-11.2":0.09115,"11.3-11.4":0.15558,"12.0-12.1":0.15872,"12.2-12.4":1.58252,"13.0-13.1":0.13044,"13.2":0.06443,"13.3":0.49031,"13.4-13.7":2.61186},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.0096,"12":0,"13":0.05282,"14":0.46579,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0.01441,"11.1":0.05282,"12.1":0.0048,"13.1":0.37456},B:{"12":0.0096,"13":0.02401,"14":0.0048,"15":0.02401,"16":0.02401,"17":0.13446,"18":0.20168,"79":0,"80":0,"81":0.0048,"83":0,"84":0.0096,"85":1.49822,"86":3.31338},I:{"3":0,"4":0.18747,_:"81","2.1":0,"2.2":0,"2.3":0.0015,"4.1":0.09448,"4.2-4.3":0.04199,"4.4":0,"4.4.3-4.4.4":0.34194},P:{"4":0.21832,"5.0-5.4":0.06238,"6.2-6.4":0.02079,"7.2-7.4":0.22871,"8.2":0,"9.2":0.12475,"10.1":0.06238,"11.1-11.2":0.13515,"12.0":0.81089},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0.01137,"10":0,"11":0.76175,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.10916},Q:{"10.4":0.04678},O:{"0":1.32549},H:{"0":0.08366},L:{"0":62.96285}};
diff --git a/node_modules/caniuse-lite/data/regions/WF.js b/node_modules/caniuse-lite/data/regions/WF.js
new file mode 100644
index 0000000..89ea506
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/WF.js
@@ -0,0 +1 @@
+module.exports={C:{"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.04181,"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":1.86265,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.20903,"69":0,"70":0.52024,"71":0,"72":0.47844,"73":0,"74":0,"75":0,"76":0.01858,"77":0.06039,"78":0.31122,"79":0,"80":0.3716,"81":2.40147,"82":0.20903,"83":0,"84":0,"3.5":0,"3.6":0},D:{"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.22761,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0.01858,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.08361,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0.66424,"58":0,"59":0.04181,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0.45521,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0.28799,"79":0,"80":0,"81":0,"83":0,"84":0.04181,"85":4.04115,"86":1.61646,"87":0,"88":0,"89":0},F:{"9":0,"11":0,"12":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,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.01858,"71":0.53882,"72":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":3.06916,"3.2":0.00735,"4.0-4.1":0.0063,"4.2-4.3":0.00105,"5.0-5.1":0.00525,"6.0-6.1":0.00315,"7.0-7.1":0.00735,"8.1-8.4":0.02416,"9.0-9.2":0.01365,"9.3":0.17436,"10.0-10.2":0.02941,"10.3":0.16176,"11.0-11.2":0.06092,"11.3-11.4":0.10399,"12.0-12.1":0.10609,"12.2-12.4":1.05771,"13.0-13.1":0.08718,"13.2":0.04306,"13.3":0.32771,"13.4-13.7":1.7457},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0.01858,"11":0,"12":0,"13":0.04181,"14":0.39483,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0,"12.1":0.16722,"13.1":2.11348},B:{"12":0,"13":0,"14":0,"15":0,"16":0,"17":0.04181,"18":0,"79":0,"80":0,"81":0,"83":0,"84":0,"85":0.59921,"86":2.19709},I:{"3":0,"4":0.12001,_:"81","2.1":0,"2.2":0,"2.3":0.00096,"4.1":0.06048,"4.2-4.3":0.02688,"4.4":0,"4.4.3-4.4.4":0.21889},P:{"4":0,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0,"8.2":0,"9.2":0,"10.1":0.04215,"11.1-11.2":0.47413,"12.0":7.2806},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0.144,"10":0,"11":0.12542,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.0482},Q:{"10.4":0},O:{"0":0},H:{"0":0.40051},L:{"0":59.9696}};
diff --git a/node_modules/caniuse-lite/data/regions/WS.js b/node_modules/caniuse-lite/data/regions/WS.js
new file mode 100644
index 0000000..717a94c
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/WS.js
@@ -0,0 +1 @@
+module.exports={C:{"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.02806,"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.00351,"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.00351,"69":0.00351,"70":0,"71":0,"72":0.00351,"73":0,"74":0,"75":0.00701,"76":0,"77":0.00351,"78":0.02455,"79":0.00351,"80":0.02455,"81":0.4524,"82":0.03507,"83":0.00351,"84":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0.00351,"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.01052,"48":0,"49":0.01052,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0.00351,"57":0,"58":0.00351,"59":0,"60":0.01052,"61":0,"62":0.05611,"63":0.00351,"64":0,"65":0.00351,"66":0,"67":0,"68":0,"69":0.01052,"70":0.00701,"71":0.01052,"72":0.00351,"73":0,"74":0.01403,"75":0,"76":0,"77":0.00351,"78":0.01403,"79":0.00701,"80":0.00701,"81":0.00701,"83":0.02806,"84":0.04559,"85":3.06863,"86":3.78756,"87":0.11222,"88":0,"89":0},F:{"9":0,"11":0,"12":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.02455,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0.00351,"47":0.00351,"48":0,"49":0,"50":0.01754,"51":0,"52":0,"53":0.00351,"54":0.00351,"55":0,"56":0,"57":0,"58":0,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.01403,"71":0.08066,"72":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":1.9359,"3.2":0.00464,"4.0-4.1":0.00398,"4.2-4.3":0.00066,"5.0-5.1":0.00331,"6.0-6.1":0.00199,"7.0-7.1":0.00464,"8.1-8.4":0.01524,"9.0-9.2":0.00861,"9.3":0.10998,"10.0-10.2":0.01855,"10.3":0.10203,"11.0-11.2":0.03843,"11.3-11.4":0.06559,"12.0-12.1":0.06692,"12.2-12.4":0.66716,"13.0-13.1":0.05499,"13.2":0.02716,"13.3":0.20671,"13.4-13.7":1.10112},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00351,"12":0.00351,"13":0.01403,"14":0.07715,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0.00701,"12.1":0.00701,"13.1":0.04559},B:{"12":0.00351,"13":0.00701,"14":0.01052,"15":0.03156,"16":0.02806,"17":0.07365,"18":0.20691,"79":0,"80":0,"81":0.00351,"83":0.00351,"84":0.02104,"85":0.22094,"86":0.34719},I:{"3":0,"4":0.05312,_:"81","2.1":0,"2.2":0,"2.3":0.00042,"4.1":0.02677,"4.2-4.3":0.0119,"4.4":0,"4.4.3-4.4.4":0.09689},P:{"4":0.29639,"5.0-5.4":0.02044,"6.2-6.4":0.06132,"7.2-7.4":0.64389,"8.2":0.03066,"9.2":0.27595,"10.1":1.22646,"11.1-11.2":0.33728,"12.0":2.62666},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.00805,"9":0.00805,"10":0,"11":0.20133,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.10389},Q:{"10.4":0.04545},O:{"0":3.3374},H:{"0":0.84216},L:{"0":72.82173}};
diff --git a/node_modules/caniuse-lite/data/regions/YE.js b/node_modules/caniuse-lite/data/regions/YE.js
new file mode 100644
index 0000000..2c1ca94
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/YE.js
@@ -0,0 +1 @@
+module.exports={C:{"2":0,"3":0.01621,"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.0054,"44":0.0027,"45":0,"46":0,"47":0.0027,"48":0.0027,"49":0.0027,"50":0,"51":0,"52":0.0081,"53":0,"54":0.0027,"55":0.0027,"56":0.0054,"57":0.0054,"58":0,"59":0,"60":0.0027,"61":0.0027,"62":0.0054,"63":0,"64":0.0027,"65":0.0027,"66":0.0027,"67":0.0027,"68":0.03511,"69":0.0027,"70":0.0108,"71":0.0027,"72":0.01891,"73":0.0027,"74":0.0081,"75":0.0027,"76":0.0027,"77":0.0027,"78":0.0081,"79":0.0081,"80":0.02161,"81":0.41595,"82":0.04862,"83":0.0027,"84":0,"3.5":0,"3.6":0},D:{"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.0027,"32":0.0108,"33":0.01351,"34":0,"35":0,"36":0.0027,"37":0,"38":0,"39":0.0027,"40":0.0054,"41":0,"42":0.0027,"43":0.0081,"44":0,"45":0,"46":0.0027,"47":0,"48":0.0027,"49":0.0108,"50":0.0027,"51":0,"52":0,"53":0.0054,"54":0.0027,"55":0.0054,"56":0.0027,"57":0.0027,"58":0.0027,"59":0.0027,"60":0.0027,"61":0,"62":0.0027,"63":0.02161,"64":0.0027,"65":0.0027,"66":0.0054,"67":0.0027,"68":0.01621,"69":0.01351,"70":0.0108,"71":0.01891,"72":0.01891,"73":0.0081,"74":0.02701,"75":0.01891,"76":0.02701,"77":0.01621,"78":0.03511,"79":0.03241,"80":0.04862,"81":0.03781,"83":0.07293,"84":0.09724,"85":1.32079,"86":1.97713,"87":0.0027,"88":0,"89":0},F:{"9":0,"11":0,"12":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.0027,"30":0.0027,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0.0027,"37":0,"38":0.0054,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0.0027,"51":0.02161,"52":0,"53":0.0027,"54":0,"55":0,"56":0,"57":0,"58":0.0027,"60":0.0054,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.0081,"71":0.04052,"72":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.0108},G:{"8":0,"14":1.14313,"3.2":0.00274,"4.0-4.1":0.00235,"4.2-4.3":0.00039,"5.0-5.1":0.00196,"6.0-6.1":0.00117,"7.0-7.1":0.00274,"8.1-8.4":0.009,"9.0-9.2":0.00509,"9.3":0.06494,"10.0-10.2":0.01095,"10.3":0.06025,"11.0-11.2":0.02269,"11.3-11.4":0.03873,"12.0-12.1":0.03951,"12.2-12.4":0.39395,"13.0-13.1":0.03247,"13.2":0.01604,"13.3":0.12206,"13.4-13.7":0.6502},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.0054,"13":0.0027,"14":0.0108,_:"0","3.1":0,"3.2":0,"5.1":0.62393,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0,"12.1":0.0054,"13.1":0.03781},B:{"12":0,"13":0.0027,"14":0.0108,"15":0,"16":0.0054,"17":0.0108,"18":0.03781,"79":0,"80":0,"81":0,"83":0.0027,"84":0.0054,"85":0.05132,"86":0.07293},I:{"3":0,"4":0.38955,_:"81","2.1":0,"2.2":0,"2.3":0.00312,"4.1":0.19633,"4.2-4.3":0.08726,"4.4":0,"4.4.3-4.4.4":0.71053},P:{"4":0.68745,"5.0-5.4":0.14153,"6.2-6.4":0.04044,"7.2-7.4":0.18197,"8.2":0.03033,"9.2":0.35383,"10.1":0.22241,"11.1-11.2":0.29318,"12.0":1.54676},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.0027,"9":0,"10":0,"11":0.01621,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.27736},Q:{"10.4":0.0073},O:{"0":3.53272},H:{"0":1.84503},L:{"0":78.55956}};
diff --git a/node_modules/caniuse-lite/data/regions/YT.js b/node_modules/caniuse-lite/data/regions/YT.js
new file mode 100644
index 0000000..da69cab
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/YT.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00606,"41":0,"42":0.00606,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0.01817,"53":0,"54":0,"55":0.01817,"56":0.02422,"57":0,"58":0,"59":0,"60":0.03028,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0.01211,"67":0,"68":0.04845,"69":0.00606,"70":0.00606,"71":0,"72":0.02422,"73":0,"74":0,"75":0,"76":0.00606,"77":0.02422,"78":0.08478,"79":0.00606,"80":0.3028,"81":3.785,"82":0.27858,"83":0.00606,"84":0,"3.5":0,"3.6":0},D:{"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.00606,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0.01817,"50":0,"51":0.00606,"52":0,"53":0.00606,"54":0,"55":0,"56":0.01211,"57":0,"58":0.03028,"59":0,"60":0,"61":0,"62":0,"63":0.00606,"64":0.00606,"65":0.02422,"66":0,"67":0.07873,"68":0,"69":0.00606,"70":0.00606,"71":0,"72":0,"73":0,"74":0.03028,"75":0,"76":0.04239,"77":0.02422,"78":0.01211,"79":0.19985,"80":0,"81":0.06662,"83":0.04845,"84":0.07873,"85":9.31413,"86":12.32396,"87":0.03028,"88":0,"89":0},F:{"9":0,"11":0,"12":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.00606,"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.00606,"58":0,"60":0,"62":0,"63":0.01817,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.0545,"71":0.43603,"72":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":5.16059,"3.2":0.01236,"4.0-4.1":0.0106,"4.2-4.3":0.00177,"5.0-5.1":0.00883,"6.0-6.1":0.0053,"7.0-7.1":0.01236,"8.1-8.4":0.04062,"9.0-9.2":0.02296,"9.3":0.29318,"10.0-10.2":0.04945,"10.3":0.27198,"11.0-11.2":0.10243,"11.3-11.4":0.17485,"12.0-12.1":0.17838,"12.2-12.4":1.77848,"13.0-13.1":0.14659,"13.2":0.07241,"13.3":0.55103,"13.4-13.7":2.93529},E:{"4":0,"5":0,"6":0,"7":0,"8":0.00606,"9":0,"10":0.00606,"11":0,"12":0.01211,"13":0.06056,"14":1.28993,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0.00606,"9.1":0,"10.1":0.00606,"11.1":0.0545,"12.1":0.15746,"13.1":0.78728},B:{"12":0.10295,"13":0.06056,"14":0.01817,"15":0.01211,"16":0.03028,"17":0.10295,"18":0.9629,"79":0,"80":0.01817,"81":0.00606,"83":0.01211,"84":0.02422,"85":0.88418,"86":2.31945},I:{"3":0,"4":0.04324,_:"81","2.1":0,"2.2":0,"2.3":0.00035,"4.1":0.02179,"4.2-4.3":0.00969,"4.4":0,"4.4.3-4.4.4":0.07887},P:{"4":0.33984,"5.0-5.4":0,"6.2-6.4":0.0103,"7.2-7.4":0.07209,"8.2":0,"9.2":0.05149,"10.1":0.0103,"11.1-11.2":0.06179,"12.0":2.04935},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0.01817,"10":0,"11":0.19985,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.21692},Q:{"10.4":0},O:{"0":0.00789},H:{"0":0.48168},L:{"0":47.94274}};
diff --git a/node_modules/caniuse-lite/data/regions/ZA.js b/node_modules/caniuse-lite/data/regions/ZA.js
new file mode 100644
index 0000000..e27d556
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/ZA.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00571,"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.00286,"49":0,"50":0,"51":0,"52":0.00857,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0.00571,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0.00286,"67":0,"68":0.01143,"69":0,"70":0,"71":0,"72":0.00286,"73":0,"74":0,"75":0,"76":0,"77":0.00286,"78":0.01714,"79":0.00857,"80":0.03714,"81":0.40855,"82":0.06571,"83":0.00286,"84":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00857,"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.00286,"27":0,"28":0.00286,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0.00571,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0.00286,"47":0,"48":0,"49":0.03143,"50":0.00286,"51":0,"52":0,"53":0.00286,"54":0,"55":0.00857,"56":0.00286,"57":0,"58":0.00571,"59":0,"60":0,"61":0.00286,"62":0.00286,"63":0.00286,"64":0.00286,"65":0.00286,"66":0.00571,"67":0.00571,"68":0.00286,"69":0.00571,"70":0.00857,"71":0.00571,"72":0.00857,"73":0.00571,"74":0.00857,"75":0.00857,"76":0.00571,"77":0.00857,"78":0.01714,"79":0.02571,"80":0.03143,"81":0.04857,"83":0.03428,"84":0.05428,"85":1.7742,"86":2.89414,"87":0.00857,"88":0.00286,"89":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0.00286,"25":0.00286,"26":0.01714,"27":0,"28":0.00857,"29":0,"30":0.00286,"31":0.00286,"32":0.00571,"33":0.00286,"34":0,"35":0.03428,"36":0,"37":0,"38":0.00571,"39":0,"40":0,"41":0,"42":0.00286,"43":0,"44":0,"45":0.00286,"46":0.01714,"47":0.01429,"48":0,"49":0,"50":0.05714,"51":0.22856,"52":0,"53":0.00571,"54":0,"55":0,"56":0,"57":0,"58":0,"60":0.01143,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0.01714,"71":0.11428,"72":0.00286,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.00857},G:{"8":0,"14":5.60021,"3.2":0.01342,"4.0-4.1":0.0115,"4.2-4.3":0.00192,"5.0-5.1":0.00958,"6.0-6.1":0.00575,"7.0-7.1":0.01342,"8.1-8.4":0.04408,"9.0-9.2":0.02492,"9.3":0.31815,"10.0-10.2":0.05366,"10.3":0.29515,"11.0-11.2":0.11116,"11.3-11.4":0.18974,"12.0-12.1":0.19357,"12.2-12.4":1.92998,"13.0-13.1":0.15908,"13.2":0.07858,"13.3":0.59797,"13.4-13.7":3.18534},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00286,"12":0.00571,"13":0.02857,"14":0.21713,_:"0","3.1":0,"3.2":0,"5.1":0.00571,"6.1":0,"7.1":0,"9.1":0,"10.1":0.00571,"11.1":0.01714,"12.1":0.02857,"13.1":0.2457},B:{"12":0.00571,"13":0.00286,"14":0.00571,"15":0.00571,"16":0.00857,"17":0.02,"18":0.07714,"79":0,"80":0,"81":0,"83":0,"84":0.00286,"85":0.16856,"86":0.31998},I:{"3":0,"4":0.0301,_:"81","2.1":0,"2.2":0,"2.3":0.00024,"4.1":0.01517,"4.2-4.3":0.00674,"4.4":0,"4.4.3-4.4.4":0.0549},P:{"4":0.63944,"5.0-5.4":0.03045,"6.2-6.4":0.0609,"7.2-7.4":0.47704,"8.2":0.05075,"9.2":0.28419,"10.1":0.27404,"11.1-11.2":0.55824,"12.0":7.10484},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.00577,"9":0.00288,"10":0,"11":0.29133,"5.5":0},J:{"7":0,"10":0.02143},N:{"10":0,"11":0},S:{"2.5":0.01429},R:{_:"0"},M:{"0":0.35715},Q:{"10.4":0.00714},O:{"0":0.52858},H:{"0":3.44889},L:{"0":61.64168}};
diff --git a/node_modules/caniuse-lite/data/regions/ZM.js b/node_modules/caniuse-lite/data/regions/ZM.js
new file mode 100644
index 0000000..5168edb
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/ZM.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00319,"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.00319,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.00319,"44":0,"45":0.00319,"46":0,"47":0.01278,"48":0.01597,"49":0,"50":0,"51":0,"52":0.00319,"53":0,"54":0,"55":0,"56":0.00319,"57":0,"58":0,"59":0,"60":0.00319,"61":0,"62":0,"63":0.01278,"64":0,"65":0.00319,"66":0,"67":0,"68":0.02875,"69":0,"70":0.00319,"71":0.00319,"72":0.00639,"73":0,"74":0,"75":0,"76":0.00958,"77":0.00319,"78":0.02555,"79":0.00958,"80":0.02236,"81":0.62922,"82":0.08304,"83":0.00958,"84":0,"3.5":0,"3.6":0},D:{"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.02555,"41":0,"42":0.00319,"43":0.00319,"44":0,"45":0,"46":0.00319,"47":0,"48":0,"49":0.01278,"50":0.00319,"51":0.00319,"52":0,"53":0,"54":0.00319,"55":0.00319,"56":0,"57":0,"58":0.00958,"59":0,"60":0,"61":0.00319,"62":0.00319,"63":0.01597,"64":0.00958,"65":0.00319,"66":0.00319,"67":0.00319,"68":0.00319,"69":0.00958,"70":0.00319,"71":0.02236,"72":0.00319,"73":0.00319,"74":0.01597,"75":0.01278,"76":0.02555,"77":0.00639,"78":0.01597,"79":0.04472,"80":0.07985,"81":0.0543,"83":0.0511,"84":0.07346,"85":1.74392,"86":2.61908,"87":0.00958,"88":0.01916,"89":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0.00319,"17":0,"18":0,"19":0.00319,"20":0.00639,"21":0,"22":0,"23":0.00639,"24":0.0543,"25":0.00319,"26":0.03833,"27":0.02555,"28":0.03833,"29":0.00319,"30":0.04791,"31":0.00639,"32":0.07027,"33":0.0543,"34":0.00319,"35":0.22039,"36":0.00319,"37":0.00639,"38":0.04472,"39":0,"40":0.00319,"41":0.00319,"42":0.09263,"43":0.00319,"44":0.00639,"45":0.13415,"46":0.17567,"47":0.16289,"48":0.00319,"49":0,"50":0.7985,"51":2.35078,"52":0.00319,"53":0.00958,"54":0.00319,"55":0,"56":0.00319,"57":0.00319,"58":0.00319,"60":0.07027,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0.00319,"69":0.00319,"70":0.11498,"71":0.68032,"72":0.02236,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.25871},G:{"8":0,"14":2.19878,"3.2":0.00527,"4.0-4.1":0.00451,"4.2-4.3":0.00075,"5.0-5.1":0.00376,"6.0-6.1":0.00226,"7.0-7.1":0.00527,"8.1-8.4":0.01731,"9.0-9.2":0.00978,"9.3":0.12491,"10.0-10.2":0.02107,"10.3":0.11588,"11.0-11.2":0.04364,"11.3-11.4":0.0745,"12.0-12.1":0.076,"12.2-12.4":0.75776,"13.0-13.1":0.06246,"13.2":0.03085,"13.3":0.23478,"13.4-13.7":1.25064},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.01597,"12":0.01278,"13":0.00639,"14":0.13415,_:"0","3.1":0,"3.2":0,"5.1":0.04472,"6.1":0,"7.1":0,"9.1":0,"10.1":0.01278,"11.1":0.02236,"12.1":0.05749,"13.1":0.13734},B:{"12":0.04152,"13":0.02236,"14":0.01916,"15":0.02555,"16":0.04152,"17":0.04791,"18":0.15331,"79":0,"80":0,"81":0.00319,"83":0.00319,"84":0.01597,"85":0.25552,"86":0.3737},I:{"3":0,"4":0.17685,_:"81","2.1":0,"2.2":0,"2.3":0.00141,"4.1":0.08913,"4.2-4.3":0.03961,"4.4":0,"4.4.3-4.4.4":0.32257},P:{"4":0.34049,"5.0-5.4":0.03095,"6.2-6.4":0.04127,"7.2-7.4":0.12381,"8.2":0.02064,"9.2":0.24763,"10.1":0.07223,"11.1-11.2":0.35081,"12.0":1.34133},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.03528,"9":0,"10":0.00504,"11":0.18646,"5.5":0},J:{"7":0,"10":0.05445},N:{"10":0,"11":0.04764},S:{"2.5":0.04764},R:{_:"0"},M:{"0":0.21099},Q:{"10.4":0.12931},O:{"0":2.43655},H:{"0":21.87562},L:{"0":47.71723}};
diff --git a/node_modules/caniuse-lite/data/regions/ZW.js b/node_modules/caniuse-lite/data/regions/ZW.js
new file mode 100644
index 0000000..414bf31
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/ZW.js
@@ -0,0 +1 @@
+module.exports={C:{"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.00497,"18":0.01986,"19":0,"20":0,"21":0,"22":0,"23":0.00497,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0.00497,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0.00497,"44":0,"45":0.00497,"46":0,"47":0.00497,"48":0.00497,"49":0,"50":0.00497,"51":0.00993,"52":0.02979,"53":0,"54":0,"55":0,"56":0.00497,"57":0.00993,"58":0,"59":0,"60":0.00497,"61":0,"62":0.00497,"63":0,"64":0,"65":0.00497,"66":0.00497,"67":0.00497,"68":0.03476,"69":0.00497,"70":0.00497,"71":0,"72":0.01986,"73":0,"74":0.00497,"75":0.00497,"76":0.00497,"77":0.0149,"78":0.08937,"79":0.02483,"80":0.08441,"81":1.91649,"82":0.3128,"83":0.03476,"84":0,"3.5":0,"3.6":0},D:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0.00497,"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.00497,"25":0,"26":0,"27":0,"28":0,"29":0.00497,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0.00497,"39":0,"40":0.02979,"41":0,"42":0.00497,"43":0.00497,"44":0,"45":0,"46":0.01986,"47":0.00993,"48":0,"49":0.03972,"50":0.00497,"51":0,"52":0,"53":0.00993,"54":0,"55":0.03972,"56":0,"57":0.00497,"58":0.01986,"59":0,"60":0.00993,"61":0.00497,"62":0.00497,"63":0.04469,"64":0.00497,"65":0.00993,"66":0.00497,"67":0.00993,"68":0.00993,"69":0.02979,"70":0.02483,"71":0.00993,"72":0.00993,"73":0.01986,"74":0.04469,"75":0.01986,"76":0.03476,"77":0.02483,"78":0.03476,"79":0.10427,"80":0.13406,"81":0.13902,"83":0.12413,"84":0.20357,"85":4.53305,"86":7.62128,"87":0.0149,"88":0.00497,"89":0},F:{"9":0,"11":0,"12":0,"15":0,"16":0,"17":0,"18":0,"19":0.00497,"20":0.00497,"21":0,"22":0,"23":0,"24":0.00993,"25":0.00497,"26":0.04469,"27":0.00497,"28":0.08937,"29":0.0149,"30":0.02979,"31":0.00497,"32":0.06951,"33":0.06455,"34":0.00497,"35":0.13406,"36":0.00993,"37":0.00497,"38":0.20357,"39":0.00497,"40":0,"41":0.00497,"42":0.1142,"43":0,"44":0.00993,"45":0.02483,"46":0.12413,"47":0.08937,"48":0.00497,"49":0,"50":0.38231,"51":1.36041,"52":0,"53":0.00497,"54":0.00993,"55":0.00497,"56":0,"57":0,"58":0.00497,"60":0.06455,"62":0,"63":0.00497,"64":0.00497,"65":0.00497,"66":0.00497,"67":0.00497,"68":0.00993,"69":0.00993,"70":0.22343,"71":1.32069,"72":0.04469,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0.37734},G:{"8":0,"14":3.05314,"3.2":0.00731,"4.0-4.1":0.00627,"4.2-4.3":0.00104,"5.0-5.1":0.00522,"6.0-6.1":0.00313,"7.0-7.1":0.00731,"8.1-8.4":0.02403,"9.0-9.2":0.01358,"9.3":0.17345,"10.0-10.2":0.02926,"10.3":0.16091,"11.0-11.2":0.0606,"11.3-11.4":0.10344,"12.0-12.1":0.10553,"12.2-12.4":1.05219,"13.0-13.1":0.08673,"13.2":0.04284,"13.3":0.326,"13.4-13.7":1.73659},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0.00497,"10":0,"11":0.0149,"12":0.03476,"13":0.08937,"14":0.38231,_:"0","3.1":0,"3.2":0,"5.1":0.28301,"6.1":0,"7.1":0,"9.1":0,"10.1":0.00993,"11.1":0.04965,"12.1":0.04965,"13.1":0.39224},B:{"12":0.06951,"13":0.07944,"14":0.05958,"15":0.04965,"16":0.05462,"17":0.06951,"18":0.32769,"79":0,"80":0,"81":0.00497,"83":0.00497,"84":0.02979,"85":0.57594,"86":0.97314},I:{"3":0,"4":0.1686,_:"81","2.1":0,"2.2":0,"2.3":0.00135,"4.1":0.08497,"4.2-4.3":0.03777,"4.4":0,"4.4.3-4.4.4":0.30752},P:{"4":0.63775,"5.0-5.4":0.01045,"6.2-6.4":0.02091,"7.2-7.4":0.2091,"8.2":0.02091,"9.2":0.10455,"10.1":0.115,"11.1-11.2":0.15682,"12.0":1.99687},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0.01032,"9":0,"10":0.01032,"11":0.24251,"5.5":0},J:{"7":0,"10":0.01511},N:{"10":0,"11":0.02014},S:{"2.5":0.00504},R:{_:"0"},M:{"0":0.18126},Q:{"10.4":0.03021},O:{"0":1.25875},H:{"0":11.36885},L:{"0":45.08303}};
diff --git a/node_modules/caniuse-lite/data/regions/alt-af.js b/node_modules/caniuse-lite/data/regions/alt-af.js
new file mode 100644
index 0000000..ba8bd37
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/alt-af.js
@@ -0,0 +1 @@
+module.exports={C:{"36":0.00386,"43":0.01546,"45":0.00386,"47":0.01546,"48":0.02318,"49":0.00386,"50":0.00386,"52":0.0966,"56":0.00773,"57":0.00386,"60":0.01159,"62":0.00386,"63":0.00773,"64":0.00386,"65":0.01159,"66":0.00773,"67":0.00773,"68":0.01546,"69":0.00773,"70":0.00773,"71":0.00773,"72":0.02705,"73":0.00386,"74":0.00773,"75":0.00773,"76":0.00773,"77":0.01546,"78":0.14683,"79":0.02705,"80":0.12751,"81":2.51546,"82":0.3864,"83":0.03091,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 44 46 51 53 54 55 58 59 61 84 3.5 3.6"},D:{"11":0.00386,"24":0.00386,"26":0.01159,"28":0.00386,"29":0.00386,"31":0.00773,"33":0.01546,"37":0.00386,"38":0.00773,"39":0.00386,"40":0.01546,"43":0.11206,"46":0.00386,"47":0.01159,"48":0.00386,"49":0.21638,"50":0.00773,"51":0.00386,"53":0.01546,"55":0.00773,"56":0.01159,"57":0.00773,"58":0.01932,"59":0.00386,"60":0.00773,"61":0.02705,"62":0.01159,"63":0.04637,"64":0.01159,"65":0.03091,"66":0.01159,"67":0.03091,"68":0.01159,"69":0.03864,"70":0.05023,"71":0.05796,"72":0.0541,"73":0.0425,"74":0.08887,"75":0.0425,"76":0.05796,"77":0.0541,"78":0.07728,"79":0.1507,"80":0.23957,"81":0.13138,"83":0.20093,"84":0.37094,"85":9.14995,"86":14.70638,"87":0.03478,"88":0.01546,_:"4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 25 27 30 32 34 35 36 41 42 44 45 52 54 89"},F:{"36":0.00773,"60":0.00773,"63":0.00386,"64":0.00773,"67":0.00773,"68":0.03091,"69":0.00773,"70":0.27434,"71":1.08192,"72":0.02705,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 62 65 66 9.5-9.6 10.5 10.6 11.1 11.5 11.6","10.0-10.1":0,"12.1":0.00386},G:{"8":0,"14":2.48182,"3.2":0.00595,"4.0-4.1":0.0051,"4.2-4.3":0.00085,"5.0-5.1":0.00425,"6.0-6.1":0.00255,"7.0-7.1":0.00595,"8.1-8.4":0.01954,"9.0-9.2":0.01104,"9.3":0.14099,"10.0-10.2":0.02378,"10.3":0.1308,"11.0-11.2":0.04926,"11.3-11.4":0.08409,"12.0-12.1":0.08579,"12.2-12.4":0.8553,"13.0-13.1":0.0705,"13.2":0.03482,"13.3":0.265,"13.4-13.7":1.41163},E:{"4":0,"10":0.00386,"11":0.01546,"12":0.03478,"13":0.11592,"14":0.51778,_:"0 5 6 7 8 9 3.1 3.2 6.1 7.1","5.1":0.30912,"9.1":0.00773,"10.1":0.02318,"11.1":0.06182,"12.1":0.11206,"13.1":0.54096},B:{"12":0.02318,"13":0.01159,"14":0.01546,"15":0.02705,"16":0.02705,"17":0.04637,"18":0.2357,"81":0.00386,"83":0.00773,"84":0.01932,"85":0.59892,"86":1.10124,_:"79 80"},I:{"3":0,"4":0.03793,_:"81","2.1":0,"2.2":0,"2.3":0.0003,"4.1":0.01911,"4.2-4.3":0.0085,"4.4":0,"4.4.3-4.4.4":0.06918},P:{"4":0.36771,"5.0-5.4":0.01021,"6.2-6.4":0.02043,"7.2-7.4":0.24514,"8.2":0.03064,"9.2":0.18386,"10.1":0.143,"11.1-11.2":0.30643,"12.0":3.13577},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.05757,"9":0.01329,"10":0.00886,"11":0.49602,_:"6 7 5.5"},J:{"7":0,"10":0.01841},N:{"10":0,"11":0.02014},S:{"2.5":0.01841},R:{_:"0"},M:{"0":0.23934},Q:{"10.4":0.02455},O:{"0":0.77326},H:{"0":6.92566},L:{"0":44.84031}};
diff --git a/node_modules/caniuse-lite/data/regions/alt-an.js b/node_modules/caniuse-lite/data/regions/alt-an.js
new file mode 100644
index 0000000..6b31cfe
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/alt-an.js
@@ -0,0 +1 @@
+module.exports={C:{"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,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":4.59821,"82":0,"83":0,"84":0,"3.5":0,"3.6":0},D:{"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.30779,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"83":0,"84":4.29975,"85":12.27433,"86":33.13883,"87":0,"88":0,"89":0},F:{"9":0,"11":0,"12":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,"60":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"9.5-9.6":0,"10.0-10.1":0,"10.5":0,"10.6":0,"11.1":0,"11.5":0,"11.6":0,"12.1":0},G:{"8":0,"14":3.7425,"3.2":0.00897,"4.0-4.1":0.00768,"4.2-4.3":0.00128,"5.0-5.1":0.0064,"6.0-6.1":0.00384,"7.0-7.1":0.00897,"8.1-8.4":0.02946,"9.0-9.2":0.01665,"9.3":0.21261,"10.0-10.2":0.03586,"10.3":0.19724,"11.0-11.2":0.07429,"11.3-11.4":0.1268,"12.0-12.1":0.12936,"12.2-12.4":1.28976,"13.0-13.1":0.10631,"13.2":0.05251,"13.3":0.39961,"13.4-13.7":2.12869},E:{"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0.30779,"13":0.30779,"14":3.06858,_:"0","3.1":0,"3.2":0,"5.1":0,"6.1":0,"7.1":0,"9.1":0,"10.1":0,"11.1":0,"12.1":0,"13.1":0.61558},B:{"12":0,"13":0,"14":1.52963,"15":0,"16":0,"17":0,"18":4.906,"79":0,"80":0,"81":0,"83":0,"84":0,"85":0,"86":0},I:{"3":0,"4":0,_:"81","2.1":0,"2.2":0,"2.3":0,"4.1":0,"4.2-4.3":0,"4.4":0,"4.4.3-4.4.4":0},P:{"4":0,"5.0-5.4":0,"6.2-6.4":0,"7.2-7.4":0,"8.2":0,"9.2":0,"10.1":0,"11.1-11.2":0,"12.0":0},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0,"7":0,"8":0,"9":0,"10":0,"11":18.71929,"5.5":0},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0},Q:{"10.4":0},O:{"0":0},H:{"0":0},L:{"0":7.04917}};
diff --git a/node_modules/caniuse-lite/data/regions/alt-as.js b/node_modules/caniuse-lite/data/regions/alt-as.js
new file mode 100644
index 0000000..4e2f80c
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/alt-as.js
@@ -0,0 +1 @@
+module.exports={C:{"17":0.00401,"36":0.00802,"43":0.10824,"47":0.00802,"48":0.00802,"52":0.07617,"55":0.00401,"56":0.01604,"60":0.00802,"63":0.00802,"64":0.00802,"65":0.00802,"66":0.00802,"67":0.00401,"68":0.01203,"69":0.00401,"70":0.00401,"72":0.01604,"74":0.00802,"75":0.00401,"76":0.00802,"77":0.01203,"78":0.05613,"79":0.02005,"80":0.05613,"81":1.56351,"82":0.2686,"83":0.02405,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 44 45 46 49 50 51 53 54 57 58 59 61 62 71 73 84 3.5 3.6"},D:{"13":0.01604,"22":0.01203,"26":0.00401,"31":0.01604,"34":0.01203,"38":0.03608,"40":0.00802,"42":0.00401,"43":0.00802,"45":0.00802,"47":0.00802,"48":0.01604,"49":0.17239,"50":0.00401,"51":0.00401,"53":0.06414,"54":0.00401,"55":0.02005,"56":0.00802,"57":0.03207,"58":0.01604,"59":0.00802,"60":0.00802,"61":0.03608,"62":0.02405,"63":0.04009,"64":0.00802,"65":0.02405,"66":0.01203,"67":0.03207,"68":0.02405,"69":0.10824,"70":0.06414,"71":0.10423,"72":0.07216,"73":0.06414,"74":0.12829,"75":0.06815,"76":0.05613,"77":0.06014,"78":0.09622,"79":0.11626,"80":0.20446,"81":0.1323,"83":0.20045,"84":0.34077,"85":10.247,"86":16.18834,"87":0.03608,"88":0.02005,_:"4 5 6 7 8 9 10 11 12 14 15 16 17 18 19 20 21 23 24 25 27 28 29 30 32 33 35 36 37 39 41 44 46 52 89"},F:{"36":0.00802,"68":0.00802,"70":0.06815,"71":0.47707,"72":0.01203,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 69 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"14":3.65177,"3.2":0.00875,"4.0-4.1":0.0075,"4.2-4.3":0.00125,"5.0-5.1":0.00625,"6.0-6.1":0.00375,"7.0-7.1":0.00875,"8.1-8.4":0.02874,"9.0-9.2":0.01625,"9.3":0.20746,"10.0-10.2":0.03499,"10.3":0.19246,"11.0-11.2":0.07249,"11.3-11.4":0.12373,"12.0-12.1":0.12622,"12.2-12.4":1.2585,"13.0-13.1":0.10373,"13.2":0.05124,"13.3":0.38992,"13.4-13.7":2.07708},E:{"4":0,"8":0.00401,"11":0.00802,"12":0.02405,"13":0.12829,"14":0.64946,_:"0 5 6 7 9 10 3.1 3.2 6.1 7.1 9.1","5.1":0.18842,"10.1":0.01604,"11.1":0.04009,"12.1":0.09622,"13.1":0.85392},B:{"12":0.00802,"13":0.00401,"14":0.00802,"15":0.00401,"16":0.01203,"17":0.02806,"18":0.18842,"84":0.01203,"85":0.54522,"86":1.08644,_:"79 80 81 83"},I:{"3":0,"4":0.05049,_:"81","2.1":0,"2.2":0,"2.3":0.0004,"4.1":0.02545,"4.2-4.3":0.01131,"4.4":0,"4.4.3-4.4.4":0.0921},P:{"4":0.42115,"5.0-5.4":0.02054,"6.2-6.4":0.02054,"7.2-7.4":0.12326,"8.2":0.02054,"9.2":0.17462,"10.1":0.11299,"11.1-11.2":0.26707,"12.0":2.57827},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.09891,"9":0.04565,"10":0.01522,"11":1.2554,_:"6 7 5.5"},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0.0779},R:{_:"0"},M:{"0":0.1498},Q:{"10.4":0.43742},O:{"0":2.59454},H:{"0":1.14591},L:{"0":44.49326}};
diff --git a/node_modules/caniuse-lite/data/regions/alt-eu.js b/node_modules/caniuse-lite/data/regions/alt-eu.js
new file mode 100644
index 0000000..f567475
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/alt-eu.js
@@ -0,0 +1 @@
+module.exports={C:{"38":0.00561,"43":0.00561,"44":0.00561,"45":0.01682,"47":0.01121,"48":0.02803,"49":0.00561,"50":0.01121,"51":0.01121,"52":0.16255,"53":0.00561,"54":0.00561,"55":0.00561,"56":0.03363,"57":0.01121,"58":0.00561,"59":0.01121,"60":0.02803,"61":0.00561,"62":0.01121,"63":0.01682,"64":0.01682,"65":0.01682,"66":0.02242,"67":0.01121,"68":0.07847,"69":0.01121,"70":0.01121,"71":0.00561,"72":0.03363,"73":0.01121,"74":0.01121,"75":0.01121,"76":0.01682,"77":0.03363,"78":0.25223,"79":0.05045,"80":0.18497,"81":4.35509,"82":0.65579,"83":0.01121,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 46 84 3.5 3.6"},D:{"22":0.01682,"34":0.00561,"38":0.01682,"40":0.01682,"43":0.00561,"46":0.00561,"47":0.01121,"48":0.01682,"49":0.37554,"50":0.01121,"51":0.01121,"52":0.01682,"53":0.02803,"54":0.03924,"55":0.00561,"56":0.01121,"57":0.01121,"58":0.01682,"59":0.01121,"60":0.02803,"61":0.05045,"62":0.01121,"63":0.02803,"64":0.02242,"65":0.04484,"66":0.03924,"67":0.03924,"68":0.02242,"69":0.10089,"70":0.10089,"71":0.13452,"72":0.11771,"73":0.06726,"74":0.06726,"75":0.07287,"76":0.07287,"77":0.06166,"78":0.08968,"79":0.14573,"80":0.2242,"81":0.14573,"83":0.27465,"84":0.46522,"85":13.25583,"86":18.98974,"87":0.02242,"88":0.01121,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 23 24 25 26 27 28 29 30 31 32 33 35 36 37 39 41 42 44 45 89"},F:{"36":0.01682,"40":0.00561,"58":0.00561,"68":0.01682,"70":0.20739,"71":1.68711,"72":0.03363,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 60 62 63 64 65 66 67 69 9.5-9.6 10.5 10.6 11.1 11.5 11.6","10.0-10.1":0,"12.1":0.01121},G:{"8":0,"14":5.72127,"3.2":0.01371,"4.0-4.1":0.01175,"4.2-4.3":0.00196,"5.0-5.1":0.00979,"6.0-6.1":0.00587,"7.0-7.1":0.01371,"8.1-8.4":0.04503,"9.0-9.2":0.02545,"9.3":0.32503,"10.0-10.2":0.05482,"10.3":0.30153,"11.0-11.2":0.11356,"11.3-11.4":0.19384,"12.0-12.1":0.19776,"12.2-12.4":1.97171,"13.0-13.1":0.16251,"13.2":0.08028,"13.3":0.6109,"13.4-13.7":3.2542},E:{"4":0,"8":0.00561,"9":0.00561,"10":0.01121,"11":0.02242,"12":0.05605,"13":0.31388,"14":2.15793,_:"0 5 6 7 3.1 3.2 6.1 7.1","5.1":0.05605,"9.1":0.01682,"10.1":0.04484,"11.1":0.14573,"12.1":0.24662,"13.1":2.43257},B:{"12":0.01121,"13":0.00561,"14":0.01121,"15":0.01121,"16":0.02242,"17":0.06166,"18":0.43159,"81":0.00561,"83":0.00561,"84":0.02242,"85":1.17705,"86":2.25882,_:"79 80"},I:{"3":0,"4":0.02963,_:"81","2.1":0,"2.2":0,"2.3":0.00024,"4.1":0.01493,"4.2-4.3":0.00664,"4.4":0,"4.4.3-4.4.4":0.05404},P:{"4":0.12714,"5.0-5.4":0.02054,"6.2-6.4":0.02054,"7.2-7.4":0.0106,"8.2":0.0106,"9.2":0.07417,"10.1":0.05298,"11.1-11.2":0.13774,"12.0":3.32693},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.03652,"7":0.01217,"8":0.0487,"9":0.02435,"10":0.01826,"11":0.99221,_:"5.5"},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.29447},Q:{"10.4":0.01319},O:{"0":0.14504},H:{"0":0.32871},L:{"0":26.54463}};
diff --git a/node_modules/caniuse-lite/data/regions/alt-na.js b/node_modules/caniuse-lite/data/regions/alt-na.js
new file mode 100644
index 0000000..1d51d12
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/alt-na.js
@@ -0,0 +1 @@
+module.exports={C:{"4":0.05361,"11":0.01072,"43":0.00536,"44":0.01608,"45":0.00536,"47":0.00536,"48":0.01608,"52":0.05361,"54":0.00536,"56":0.00536,"59":0.00536,"60":0.01072,"63":0.05361,"64":0.01072,"65":0.01072,"66":0.01072,"68":0.03217,"70":0.00536,"71":0.00536,"72":0.02144,"73":0.01072,"74":0.00536,"75":0.01072,"76":0.01072,"77":0.02144,"78":0.16619,"79":0.03217,"80":0.13403,"81":2.35884,"82":0.37527,"83":0.00536,_:"2 3 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 46 49 50 51 53 55 57 58 61 62 67 69 84 3.5 3.6"},D:{"29":0.01072,"35":0.00536,"38":0.00536,"40":0.02144,"47":0.00536,"48":0.05361,"49":0.24125,"52":0.00536,"53":0.01608,"56":0.08042,"57":0.00536,"58":0.01072,"59":0.01072,"60":0.01072,"61":0.03217,"62":0.01072,"63":0.03753,"64":0.02681,"65":0.03753,"66":0.04289,"67":0.04825,"68":0.04289,"69":0.04825,"70":0.13403,"71":0.09114,"72":0.10186,"73":0.05897,"74":0.05897,"75":0.1233,"76":0.20372,"77":0.09114,"78":0.15547,"79":0.27341,"80":0.23588,"81":0.19836,"83":0.55218,"84":0.8524,"85":12.51257,"86":16.1795,"87":0.02681,"88":0.03753,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 30 31 32 33 34 36 37 39 41 42 43 44 45 46 50 51 54 55 89"},F:{"70":0.06969,"71":0.47713,"72":0.01608,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"14":10.16131,"3.2":0.02434,"4.0-4.1":0.02087,"4.2-4.3":0.00348,"5.0-5.1":0.01739,"6.0-6.1":0.01043,"7.0-7.1":0.02434,"8.1-8.4":0.07998,"9.0-9.2":0.04521,"9.3":0.57727,"10.0-10.2":0.09737,"10.3":0.53554,"11.0-11.2":0.2017,"11.3-11.4":0.34427,"12.0-12.1":0.35123,"12.2-12.4":3.50186,"13.0-13.1":0.28863,"13.2":0.14258,"13.3":1.08499,"13.4-13.7":5.77964},E:{"4":0,"8":0.01072,"9":0.01072,"10":0.00536,"11":0.02144,"12":0.05361,"13":0.33774,"14":2.70194,_:"0 5 6 7 3.1 3.2 6.1 7.1","5.1":0.06433,"9.1":0.11794,"10.1":0.07505,"11.1":0.193,"12.1":0.30022,"13.1":4.23519},B:{"12":0.00536,"13":0.00536,"14":0.01072,"15":0.01072,"16":0.01608,"17":0.0965,"18":0.38063,"80":0.02681,"81":0.00536,"83":0.00536,"84":0.02144,"85":1.66191,"86":2.94855,_:"79"},I:{"3":0,"4":0.02736,_:"81","2.1":0,"2.2":0,"2.3":0.00022,"4.1":0.01379,"4.2-4.3":0.00613,"4.4":0,"4.4.3-4.4.4":0.04991},P:{"4":0.0219,"5.0-5.4":0.02054,"6.2-6.4":0.02054,"7.2-7.4":0.01095,"8.2":0.0106,"9.2":0.04381,"10.1":0.0219,"11.1-11.2":0.09856,"12.0":2.20124},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.00571,"7":0.00571,"8":0.05713,"9":0.71978,"10":0.01714,"11":1.28532,_:"5.5"},J:{"7":0,"10":0.00464},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.35256},Q:{"10.4":0.01392},O:{"0":0.11134},H:{"0":0.15372},L:{"0":20.54268}};
diff --git a/node_modules/caniuse-lite/data/regions/alt-oc.js b/node_modules/caniuse-lite/data/regions/alt-oc.js
new file mode 100644
index 0000000..4879d76
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/alt-oc.js
@@ -0,0 +1 @@
+module.exports={C:{"48":0.01087,"52":0.04892,"56":0.01087,"60":0.01087,"63":0.00544,"64":0.00544,"65":0.00544,"66":0.01631,"68":0.02718,"70":0.00544,"72":0.01631,"73":0.00544,"74":0.00544,"75":0.00544,"76":0.01087,"77":0.01631,"78":0.13046,"79":0.03262,"80":0.14677,"81":2.22332,"82":0.34247,"83":0.00544,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 49 50 51 53 54 55 57 58 59 61 62 67 69 71 84 3.5 3.6"},D:{"26":0.01087,"34":0.01631,"38":0.04349,"40":0.01631,"46":0.03805,"48":0.00544,"49":0.28267,"53":0.04892,"54":0.00544,"55":0.01087,"56":0.01087,"57":0.01631,"58":0.01087,"59":0.01631,"60":0.00544,"61":0.01087,"62":0.00544,"63":0.02174,"64":0.02174,"65":0.05436,"66":0.02174,"67":0.05436,"68":0.03805,"69":0.06523,"70":0.07067,"71":0.0761,"72":0.0761,"73":0.11416,"74":0.10328,"75":0.08698,"76":0.08154,"77":0.09241,"78":0.12503,"79":0.17939,"80":0.32616,"81":0.23918,"83":0.57622,"84":1.00022,"85":13.74764,"86":17.29192,"87":0.02718,"88":0.01087,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 27 28 29 30 31 32 33 35 36 37 39 41 42 43 44 45 47 50 51 52 89"},F:{"70":0.04892,"71":0.28811,"72":0.01087,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"14":9.38379,"3.2":0.02248,"4.0-4.1":0.01927,"4.2-4.3":0.00321,"5.0-5.1":0.01606,"6.0-6.1":0.00963,"7.0-7.1":0.02248,"8.1-8.4":0.07386,"9.0-9.2":0.04175,"9.3":0.5331,"10.0-10.2":0.08992,"10.3":0.49456,"11.0-11.2":0.18626,"11.3-11.4":0.31793,"12.0-12.1":0.32435,"12.2-12.4":3.23391,"13.0-13.1":0.26655,"13.2":0.13167,"13.3":1.00196,"13.4-13.7":5.33739},E:{"4":0,"8":0.00544,"10":0.01087,"11":0.03805,"12":0.0761,"13":0.44032,"14":2.74518,_:"0 5 6 7 9 3.1 3.2 5.1 6.1 7.1","9.1":0.02718,"10.1":0.08698,"11.1":0.19026,"12.1":0.35878,"13.1":4.59886},B:{"14":0.00544,"15":0.01087,"16":0.02174,"17":0.05436,"18":0.51098,"80":0.00544,"81":0.00544,"83":0.00544,"84":0.02718,"85":1.27202,"86":2.40815,_:"12 13 79"},I:{"3":0,"4":0.03718,_:"81","2.1":0,"2.2":0,"2.3":0.0003,"4.1":0.01874,"4.2-4.3":0.00833,"4.4":0,"4.4.3-4.4.4":0.06781},P:{"4":0.14316,"5.0-5.4":0.02054,"6.2-6.4":0.02054,"7.2-7.4":0.01095,"8.2":0.01101,"9.2":0.06607,"10.1":0.06607,"11.1-11.2":0.12113,"12.0":3.19354},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"9":0.0088,"11":1.58395,_:"6 7 8 10 5.5"},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.33774},Q:{"10.4":0.11866},O:{"0":0.21907},H:{"0":0.23765},L:{"0":20.0224}};
diff --git a/node_modules/caniuse-lite/data/regions/alt-sa.js b/node_modules/caniuse-lite/data/regions/alt-sa.js
new file mode 100644
index 0000000..27a4787
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/alt-sa.js
@@ -0,0 +1 @@
+module.exports={C:{"48":0.00672,"52":0.05378,"60":0.00672,"63":0.00672,"64":0.00672,"65":0.01344,"66":0.01344,"68":0.02689,"72":0.01344,"76":0.00672,"77":0.01344,"78":0.10083,"79":0.02017,"80":0.0605,"81":2.21154,"82":0.32938,"83":0.00672,_:"2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 49 50 51 53 54 55 56 57 58 59 61 62 67 69 70 71 73 74 75 84 3.5 3.6"},D:{"38":0.01344,"49":0.24199,"53":0.02689,"56":0.02017,"58":0.01344,"61":0.02689,"63":0.02689,"65":0.03361,"66":0.02017,"67":0.03361,"68":0.01344,"69":0.02689,"70":0.0605,"71":0.08066,"72":0.06722,"73":0.05378,"74":0.05378,"75":0.0605,"76":0.05378,"77":0.05378,"78":0.08739,"79":0.14116,"80":0.23527,"81":0.14788,"83":0.2756,"84":0.49071,"85":20.05845,"86":33.40834,"87":0.0605,"88":0.02689,_:"4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 46 47 48 50 51 52 54 55 57 59 60 62 64 89"},F:{"70":0.16133,"71":1.96282,"72":0.03361,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 68 69 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"14":1.52584,"3.2":0.00366,"4.0-4.1":0.00313,"4.2-4.3":0.00052,"5.0-5.1":0.00261,"6.0-6.1":0.00157,"7.0-7.1":0.00366,"8.1-8.4":0.01201,"9.0-9.2":0.00679,"9.3":0.08668,"10.0-10.2":0.01462,"10.3":0.08042,"11.0-11.2":0.03029,"11.3-11.4":0.0517,"12.0-12.1":0.05274,"12.2-12.4":0.52584,"13.0-13.1":0.04334,"13.2":0.02141,"13.3":0.16292,"13.4-13.7":0.86788},E:{"4":0,"11":0.00672,"12":0.02689,"13":0.121,"14":0.82681,_:"0 5 6 7 8 9 10 3.1 3.2 6.1 7.1 9.1","5.1":0.2756,"10.1":0.01344,"11.1":0.06722,"12.1":0.12772,"13.1":0.77303},B:{"17":0.02017,"18":0.10755,"84":0.01344,"85":0.87386,"86":1.65361,_:"12 13 14 15 16 79 80 81 83"},I:{"3":0,"4":0.01105,_:"81","2.1":0,"2.2":0,"2.3":0.00009,"4.1":0.00557,"4.2-4.3":0.00248,"4.4":0,"4.4.3-4.4.4":0.02015},P:{"4":0.08546,"5.0-5.4":0.02054,"6.2-6.4":0.02054,"7.2-7.4":0.08546,"8.2":0.01101,"9.2":0.05341,"10.1":0.03205,"11.1-11.2":0.09614,"12.0":1.46349},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"8":0.05878,"9":0.00735,"10":0.00735,"11":0.24246,_:"6 7 5.5"},J:{"7":0,"10":0},N:{"10":0,"11":0},S:{"2.5":0},R:{_:"0"},M:{"0":0.07867},Q:{"10.4":0.00328},O:{"0":0.05573},H:{"0":0.12724},L:{"0":27.63109}};
diff --git a/node_modules/caniuse-lite/data/regions/alt-ww.js b/node_modules/caniuse-lite/data/regions/alt-ww.js
new file mode 100644
index 0000000..de34369
--- /dev/null
+++ b/node_modules/caniuse-lite/data/regions/alt-ww.js
@@ -0,0 +1 @@
+module.exports={C:{"4":0.01467,"36":0.00489,"43":0.04891,"44":0.00489,"45":0.00489,"47":0.00978,"48":0.01467,"52":0.09293,"54":0.00489,"55":0.00489,"56":0.01956,"57":0.00489,"59":0.00489,"60":0.01467,"62":0.00489,"63":0.01956,"64":0.00978,"65":0.00978,"66":0.01467,"67":0.00489,"68":0.03913,"69":0.00489,"70":0.00489,"71":0.00489,"72":0.01956,"73":0.00489,"74":0.00978,"75":0.00978,"76":0.00978,"77":0.01956,"78":0.16629,"79":0.02935,"80":0.1076,"81":2.50908,"82":0.39617,"83":0.01467,_:"2 3 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 46 49 50 51 53 58 61 84 3.5 3.6"},D:{"13":0.00978,"22":0.00978,"31":0.00978,"34":0.00978,"38":0.02446,"40":0.00978,"43":0.00978,"46":0.00489,"47":0.00978,"48":0.01956,"49":0.24455,"50":0.00489,"51":0.00489,"52":0.00489,"53":0.03913,"54":0.01467,"55":0.00978,"56":0.02935,"57":0.01956,"58":0.01467,"59":0.00978,"60":0.01467,"61":0.03913,"62":0.01467,"63":0.03424,"64":0.01467,"65":0.03424,"66":0.02446,"67":0.03913,"68":0.02935,"69":0.08804,"70":0.08804,"71":0.1076,"72":0.08804,"73":0.06358,"74":0.09293,"75":0.07826,"76":0.09293,"77":0.06847,"78":0.1076,"79":0.1614,"80":0.22499,"81":0.15162,"83":0.30324,"84":0.50377,"85":12.1199,"86":17.92552,"87":0.03424,"88":0.01956,_:"4 5 6 7 8 9 10 11 12 14 15 16 17 18 19 20 21 23 24 25 26 27 28 29 30 32 33 35 36 37 39 41 42 44 45 89"},F:{"36":0.00978,"68":0.00978,"70":0.12228,"71":0.92929,"72":0.01956,_:"9 11 12 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 62 63 64 65 66 67 69 9.5-9.6 10.5 10.6 11.1 11.5 11.6 12.1","10.0-10.1":0},G:{"8":0,"14":5.38701,"3.2":0.01291,"4.0-4.1":0.01106,"4.2-4.3":0.00184,"5.0-5.1":0.00922,"6.0-6.1":0.00553,"7.0-7.1":0.01291,"8.1-8.4":0.0424,"9.0-9.2":0.02397,"9.3":0.30604,"10.0-10.2":0.05162,"10.3":0.28391,"11.0-11.2":0.10693,"11.3-11.4":0.18252,"12.0-12.1":0.1862,"12.2-12.4":1.85651,"13.0-13.1":0.15302,"13.2":0.07559,"13.3":0.5752,"13.4-13.7":3.06407},E:{"4":0,"8":0.00489,"9":0.00489,"10":0.00489,"11":0.01467,"12":0.03913,"13":0.22499,"14":1.50154,_:"0 5 6 7 3.1 3.2 6.1 7.1","5.1":0.13695,"9.1":0.02935,"10.1":0.03913,"11.1":0.10271,"12.1":0.18097,"13.1":2.0102},B:{"12":0.00978,"13":0.00489,"14":0.00978,"15":0.00978,"16":0.01467,"17":0.04891,"18":0.29346,"80":0.00978,"83":0.00489,"84":0.01956,"85":0.97331,"86":1.82923,_:"79 81"},I:{"3":0,"4":0.03731,_:"81","2.1":0,"2.2":0,"2.3":0.0003,"4.1":0.01881,"4.2-4.3":0.00836,"4.4":0,"4.4.3-4.4.4":0.06806},P:{"4":0.25177,"5.0-5.4":0.01049,"6.2-6.4":0.02091,"7.2-7.4":0.06294,"8.2":0.02098,"9.2":0.11539,"10.1":0.07343,"11.1-11.2":0.17833,"12.0":2.63306},K:{_:"0 10 11 12 11.1 11.5 12.1"},A:{"6":0.01309,"8":0.06544,"9":0.20942,"10":0.01963,"11":1.08635,_:"7 5.5"},J:{"7":0,"10":0},N:{"10":0,"11":0.02014},S:{"2.5":0.03576},R:{_:"0"},M:{"0":0.22991},Q:{"10.4":0.19925},O:{"0":1.21083},H:{"0":0.87547},L:{"0":33.5525}};
diff --git a/node_modules/caniuse-lite/dist/lib/statuses.js b/node_modules/caniuse-lite/dist/lib/statuses.js
new file mode 100644
index 0000000..c346e2b
--- /dev/null
+++ b/node_modules/caniuse-lite/dist/lib/statuses.js
@@ -0,0 +1,14 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+exports.default = {
+ 1: "ls", // WHATWG Living Standard
+ 2: "rec", // W3C Recommendation
+ 3: "pr", // W3C Proposed Recommendation
+ 4: "cr", // W3C Candidate Recommendation
+ 5: "wd", // W3C Working Draft
+ 6: "other", // Non-W3C, but reputable
+ 7: "unoff" // Unofficial, Editor's Draft or W3C "Note"
+};
diff --git a/node_modules/caniuse-lite/dist/lib/supported.js b/node_modules/caniuse-lite/dist/lib/supported.js
new file mode 100644
index 0000000..3523a87
--- /dev/null
+++ b/node_modules/caniuse-lite/dist/lib/supported.js
@@ -0,0 +1,14 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+exports.default = {
+ y: 1 << 0,
+ n: 1 << 1,
+ a: 1 << 2,
+ p: 1 << 3,
+ u: 1 << 4,
+ x: 1 << 5,
+ d: 1 << 6
+};
diff --git a/node_modules/caniuse-lite/dist/unpacker/agents.js b/node_modules/caniuse-lite/dist/unpacker/agents.js
new file mode 100644
index 0000000..8dc5d49
--- /dev/null
+++ b/node_modules/caniuse-lite/dist/unpacker/agents.js
@@ -0,0 +1,51 @@
+'use strict';
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+exports.agents = undefined;
+
+var _browsers = require('./browsers');
+
+var _browserVersions = require('./browserVersions');
+
+var agentsData = require('../../data/agents');
+
+function unpackBrowserVersions(versionsData) {
+ return Object.keys(versionsData).reduce(function (usage, version) {
+ usage[_browserVersions.browserVersions[version]] = versionsData[version];
+ return usage;
+ }, {});
+}
+
+var agents = exports.agents = Object.keys(agentsData).reduce(function (map, key) {
+ var versionsData = agentsData[key];
+ map[_browsers.browsers[key]] = Object.keys(versionsData).reduce(function (data, entry) {
+ if (entry === 'A') {
+ data.usage_global = unpackBrowserVersions(versionsData[entry]);
+ } else if (entry === 'C') {
+ data.versions = versionsData[entry].reduce(function (list, version) {
+ if (version === '') {
+ list.push(null);
+ } else {
+ list.push(_browserVersions.browserVersions[version]);
+ }
+ return list;
+ }, []);
+ } else if (entry === 'D') {
+ data.prefix_exceptions = unpackBrowserVersions(versionsData[entry]);
+ } else if (entry === 'E') {
+ data.browser = versionsData[entry];
+ } else if (entry === 'F') {
+ data.release_date = Object.keys(versionsData[entry]).reduce(function (map, key) {
+ map[_browserVersions.browserVersions[key]] = versionsData[entry][key];
+ return map;
+ }, {});
+ } else {
+ // entry is B
+ data.prefix = versionsData[entry];
+ }
+ return data;
+ }, {});
+ return map;
+}, {});
\ No newline at end of file
diff --git a/node_modules/caniuse-lite/dist/unpacker/browserVersions.js b/node_modules/caniuse-lite/dist/unpacker/browserVersions.js
new file mode 100644
index 0000000..f63d752
--- /dev/null
+++ b/node_modules/caniuse-lite/dist/unpacker/browserVersions.js
@@ -0,0 +1,6 @@
+'use strict';
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+var browserVersions = exports.browserVersions = require('../../data/browserVersions');
\ No newline at end of file
diff --git a/node_modules/caniuse-lite/dist/unpacker/browsers.js b/node_modules/caniuse-lite/dist/unpacker/browsers.js
new file mode 100644
index 0000000..4ef0082
--- /dev/null
+++ b/node_modules/caniuse-lite/dist/unpacker/browsers.js
@@ -0,0 +1,6 @@
+'use strict';
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+var browsers = exports.browsers = require('../../data/browsers');
\ No newline at end of file
diff --git a/node_modules/caniuse-lite/dist/unpacker/feature.js b/node_modules/caniuse-lite/dist/unpacker/feature.js
new file mode 100644
index 0000000..d484a57
--- /dev/null
+++ b/node_modules/caniuse-lite/dist/unpacker/feature.js
@@ -0,0 +1,58 @@
+'use strict';
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+exports.default = unpackFeature;
+
+var _statuses = require('../lib/statuses');
+
+var _statuses2 = _interopRequireDefault(_statuses);
+
+var _supported = require('../lib/supported');
+
+var _supported2 = _interopRequireDefault(_supported);
+
+var _browsers = require('./browsers');
+
+var _browserVersions = require('./browserVersions');
+
+function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+var MATH2LOG = Math.log(2);
+
+function unpackSupport(cipher) {
+ // bit flags
+ var stats = Object.keys(_supported2.default).reduce(function (list, support) {
+ if (cipher & _supported2.default[support]) list.push(support);
+ return list;
+ }, []);
+
+ // notes
+ var notes = cipher >> 7;
+ var notesArray = [];
+ while (notes) {
+ var note = Math.floor(Math.log(notes) / MATH2LOG) + 1;
+ notesArray.unshift('#' + note);
+ notes -= Math.pow(2, note - 1);
+ }
+
+ return stats.concat(notesArray).join(' ');
+}
+
+function unpackFeature(packed) {
+ var unpacked = { status: _statuses2.default[packed.B], title: packed.C };
+ unpacked.stats = Object.keys(packed.A).reduce(function (browserStats, key) {
+ var browser = packed.A[key];
+ browserStats[_browsers.browsers[key]] = Object.keys(browser).reduce(function (stats, support) {
+ var packedVersions = browser[support].split(' ');
+ var unpacked = unpackSupport(support);
+ packedVersions.forEach(function (v) {
+ return stats[_browserVersions.browserVersions[v]] = unpacked;
+ });
+ return stats;
+ }, {});
+ return browserStats;
+ }, {});
+ return unpacked;
+}
\ No newline at end of file
diff --git a/node_modules/caniuse-lite/dist/unpacker/features.js b/node_modules/caniuse-lite/dist/unpacker/features.js
new file mode 100644
index 0000000..dec36e3
--- /dev/null
+++ b/node_modules/caniuse-lite/dist/unpacker/features.js
@@ -0,0 +1,11 @@
+'use strict';
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+/*
+ * Load this dynamically so that it
+ * doesn't appear in the rollup bundle.
+ */
+
+var features = exports.features = require('../../data/features');
\ No newline at end of file
diff --git a/node_modules/caniuse-lite/dist/unpacker/index.js b/node_modules/caniuse-lite/dist/unpacker/index.js
new file mode 100644
index 0000000..2cc2f05
--- /dev/null
+++ b/node_modules/caniuse-lite/dist/unpacker/index.js
@@ -0,0 +1,43 @@
+'use strict';
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+
+var _agents = require('./agents');
+
+Object.defineProperty(exports, 'agents', {
+ enumerable: true,
+ get: function get() {
+ return _agents.agents;
+ }
+});
+
+var _feature = require('./feature');
+
+Object.defineProperty(exports, 'feature', {
+ enumerable: true,
+ get: function get() {
+ return _interopRequireDefault(_feature).default;
+ }
+});
+
+var _features = require('./features');
+
+Object.defineProperty(exports, 'features', {
+ enumerable: true,
+ get: function get() {
+ return _features.features;
+ }
+});
+
+var _region = require('./region');
+
+Object.defineProperty(exports, 'region', {
+ enumerable: true,
+ get: function get() {
+ return _interopRequireDefault(_region).default;
+ }
+});
+
+function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
\ No newline at end of file
diff --git a/node_modules/caniuse-lite/dist/unpacker/region.js b/node_modules/caniuse-lite/dist/unpacker/region.js
new file mode 100644
index 0000000..e09ae36
--- /dev/null
+++ b/node_modules/caniuse-lite/dist/unpacker/region.js
@@ -0,0 +1,26 @@
+'use strict';
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+exports.default = unpackRegion;
+
+var _browsers = require('./browsers');
+
+function unpackRegion(packed) {
+ return Object.keys(packed).reduce(function (list, browser) {
+ var data = packed[browser];
+ list[_browsers.browsers[browser]] = Object.keys(data).reduce(function (memo, key) {
+ var stats = data[key];
+ if (key === '_') {
+ stats.split(' ').forEach(function (version) {
+ return memo[version] = null;
+ });
+ } else {
+ memo[key] = stats;
+ }
+ return memo;
+ }, {});
+ return list;
+ }, {});
+}
\ No newline at end of file
diff --git a/node_modules/caniuse-lite/package.json b/node_modules/caniuse-lite/package.json
new file mode 100644
index 0000000..157103e
--- /dev/null
+++ b/node_modules/caniuse-lite/package.json
@@ -0,0 +1,60 @@
+{
+ "_from": "caniuse-lite@^1.0.30001109",
+ "_id": "caniuse-lite@1.0.30001157",
+ "_inBundle": false,
+ "_integrity": "sha512-gOerH9Wz2IRZ2ZPdMfBvyOi3cjaz4O4dgNwPGzx8EhqAs4+2IL/O+fJsbt+znSigujoZG8bVcIAUM/I/E5K3MA==",
+ "_location": "/caniuse-lite",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "range",
+ "registry": true,
+ "raw": "caniuse-lite@^1.0.30001109",
+ "name": "caniuse-lite",
+ "escapedName": "caniuse-lite",
+ "rawSpec": "^1.0.30001109",
+ "saveSpec": null,
+ "fetchSpec": "^1.0.30001109"
+ },
+ "_requiredBy": [
+ "/autoprefixer",
+ "/browserslist"
+ ],
+ "_resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001157.tgz",
+ "_shasum": "2d11aaeb239b340bc1aa730eca18a37fdb07a9ab",
+ "_spec": "caniuse-lite@^1.0.30001109",
+ "_where": "C:\\Users\\Futil\\AppData\\Local\\FoundryVTT\\Data\\systems\\mothership\\node_modules\\autoprefixer",
+ "author": {
+ "name": "Ben Briggs",
+ "email": "beneb.info@gmail.com",
+ "url": "http://beneb.info"
+ },
+ "bugs": {
+ "url": "https://github.com/ben-eb/caniuse-lite/issues"
+ },
+ "bundleDependencies": false,
+ "deprecated": false,
+ "description": "A smaller version of caniuse-db, with only the essentials!",
+ "files": [
+ "data",
+ "dist"
+ ],
+ "homepage": "https://github.com/ben-eb/caniuse-lite#readme",
+ "keywords": [
+ "support",
+ "css",
+ "js",
+ "html5",
+ "svg"
+ ],
+ "license": "CC-BY-4.0",
+ "main": "dist/unpacker/index.js",
+ "name": "caniuse-lite",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/ben-eb/caniuse-lite.git"
+ },
+ "scripts": {
+ "prepublish": "del-cli dist && babel src/unpacker -d dist/unpacker && mkdir dist/lib && babel src/lib/statuses.js -o dist/lib/statuses.js && babel src/lib/supported.js -o dist/lib/supported.js"
+ },
+ "version": "1.0.30001157"
+}
diff --git a/node_modules/caseless/LICENSE b/node_modules/caseless/LICENSE
new file mode 100644
index 0000000..61789f4
--- /dev/null
+++ b/node_modules/caseless/LICENSE
@@ -0,0 +1,28 @@
+Apache License
+Version 2.0, January 2004
+http://www.apache.org/licenses/
+TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+1. Definitions.
+"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.
+"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.
+"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.
+"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.
+"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.
+"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.
+"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).
+"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.
+"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."
+"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.
+2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.
+3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.
+4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:
+You must give any other recipients of the Work or Derivative Works a copy of this License; and
+You must cause any modified files to carry prominent notices stating that You changed the files; and
+You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and
+If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.
+5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.
+6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.
+7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.
+8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.
+9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.
+END OF TERMS AND CONDITIONS
\ No newline at end of file
diff --git a/node_modules/caseless/README.md b/node_modules/caseless/README.md
new file mode 100644
index 0000000..e5077a2
--- /dev/null
+++ b/node_modules/caseless/README.md
@@ -0,0 +1,45 @@
+## Caseless -- wrap an object to set and get property with caseless semantics but also preserve caseing.
+
+This library is incredibly useful when working with HTTP headers. It allows you to get/set/check for headers in a caseless manner while also preserving the caseing of headers the first time they are set.
+
+## Usage
+
+```javascript
+var headers = {}
+ , c = caseless(headers)
+ ;
+c.set('a-Header', 'asdf')
+c.get('a-header') === 'asdf'
+```
+
+## has(key)
+
+Has takes a name and if it finds a matching header will return that header name with the preserved caseing it was set with.
+
+```javascript
+c.has('a-header') === 'a-Header'
+```
+
+## set(key, value[, clobber=true])
+
+Set is fairly straight forward except that if the header exists and clobber is disabled it will add `','+value` to the existing header.
+
+```javascript
+c.set('a-Header', 'fdas')
+c.set('a-HEADER', 'more', false)
+c.get('a-header') === 'fdsa,more'
+```
+
+## swap(key)
+
+Swaps the casing of a header with the new one that is passed in.
+
+```javascript
+var headers = {}
+ , c = caseless(headers)
+ ;
+c.set('a-Header', 'fdas')
+c.swap('a-HEADER')
+c.has('a-header') === 'a-HEADER'
+headers === {'a-HEADER': 'fdas'}
+```
diff --git a/node_modules/caseless/index.js b/node_modules/caseless/index.js
new file mode 100644
index 0000000..b194734
--- /dev/null
+++ b/node_modules/caseless/index.js
@@ -0,0 +1,67 @@
+function Caseless (dict) {
+ this.dict = dict || {}
+}
+Caseless.prototype.set = function (name, value, clobber) {
+ if (typeof name === 'object') {
+ for (var i in name) {
+ this.set(i, name[i], value)
+ }
+ } else {
+ if (typeof clobber === 'undefined') clobber = true
+ var has = this.has(name)
+
+ if (!clobber && has) this.dict[has] = this.dict[has] + ',' + value
+ else this.dict[has || name] = value
+ return has
+ }
+}
+Caseless.prototype.has = function (name) {
+ var keys = Object.keys(this.dict)
+ , name = name.toLowerCase()
+ ;
+ for (var i=0;i 0;
+}
+
+function Chalk(options) {
+ // We check for this.template here since calling `chalk.constructor()`
+ // by itself will have a `this` of a previously constructed chalk object
+ if (!this || !(this instanceof Chalk) || this.template) {
+ const chalk = {};
+ applyOptions(chalk, options);
+
+ chalk.template = function () {
+ const args = [].slice.call(arguments);
+ return chalkTag.apply(null, [chalk.template].concat(args));
+ };
+
+ Object.setPrototypeOf(chalk, Chalk.prototype);
+ Object.setPrototypeOf(chalk.template, chalk);
+
+ chalk.template.constructor = Chalk;
+
+ return chalk.template;
+ }
+
+ applyOptions(this, options);
+}
+
+// Use bright blue on Windows as the normal blue color is illegible
+if (isSimpleWindowsTerm) {
+ ansiStyles.blue.open = '\u001B[94m';
+}
+
+for (const key of Object.keys(ansiStyles)) {
+ ansiStyles[key].closeRe = new RegExp(escapeStringRegexp(ansiStyles[key].close), 'g');
+
+ styles[key] = {
+ get() {
+ const codes = ansiStyles[key];
+ return build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, key);
+ }
+ };
+}
+
+styles.visible = {
+ get() {
+ return build.call(this, this._styles || [], true, 'visible');
+ }
+};
+
+ansiStyles.color.closeRe = new RegExp(escapeStringRegexp(ansiStyles.color.close), 'g');
+for (const model of Object.keys(ansiStyles.color.ansi)) {
+ if (skipModels.has(model)) {
+ continue;
+ }
+
+ styles[model] = {
+ get() {
+ const level = this.level;
+ return function () {
+ const open = ansiStyles.color[levelMapping[level]][model].apply(null, arguments);
+ const codes = {
+ open,
+ close: ansiStyles.color.close,
+ closeRe: ansiStyles.color.closeRe
+ };
+ return build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, model);
+ };
+ }
+ };
+}
+
+ansiStyles.bgColor.closeRe = new RegExp(escapeStringRegexp(ansiStyles.bgColor.close), 'g');
+for (const model of Object.keys(ansiStyles.bgColor.ansi)) {
+ if (skipModels.has(model)) {
+ continue;
+ }
+
+ const bgModel = 'bg' + model[0].toUpperCase() + model.slice(1);
+ styles[bgModel] = {
+ get() {
+ const level = this.level;
+ return function () {
+ const open = ansiStyles.bgColor[levelMapping[level]][model].apply(null, arguments);
+ const codes = {
+ open,
+ close: ansiStyles.bgColor.close,
+ closeRe: ansiStyles.bgColor.closeRe
+ };
+ return build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, model);
+ };
+ }
+ };
+}
+
+const proto = Object.defineProperties(() => {}, styles);
+
+function build(_styles, _empty, key) {
+ const builder = function () {
+ return applyStyle.apply(builder, arguments);
+ };
+
+ builder._styles = _styles;
+ builder._empty = _empty;
+
+ const self = this;
+
+ Object.defineProperty(builder, 'level', {
+ enumerable: true,
+ get() {
+ return self.level;
+ },
+ set(level) {
+ self.level = level;
+ }
+ });
+
+ Object.defineProperty(builder, 'enabled', {
+ enumerable: true,
+ get() {
+ return self.enabled;
+ },
+ set(enabled) {
+ self.enabled = enabled;
+ }
+ });
+
+ // See below for fix regarding invisible grey/dim combination on Windows
+ builder.hasGrey = this.hasGrey || key === 'gray' || key === 'grey';
+
+ // `__proto__` is used because we must return a function, but there is
+ // no way to create a function with a different prototype
+ builder.__proto__ = proto; // eslint-disable-line no-proto
+
+ return builder;
+}
+
+function applyStyle() {
+ // Support varags, but simply cast to string in case there's only one arg
+ const args = arguments;
+ const argsLen = args.length;
+ let str = String(arguments[0]);
+
+ if (argsLen === 0) {
+ return '';
+ }
+
+ if (argsLen > 1) {
+ // Don't slice `arguments`, it prevents V8 optimizations
+ for (let a = 1; a < argsLen; a++) {
+ str += ' ' + args[a];
+ }
+ }
+
+ if (!this.enabled || this.level <= 0 || !str) {
+ return this._empty ? '' : str;
+ }
+
+ // Turns out that on Windows dimmed gray text becomes invisible in cmd.exe,
+ // see https://github.com/chalk/chalk/issues/58
+ // If we're on Windows and we're dealing with a gray color, temporarily make 'dim' a noop.
+ const originalDim = ansiStyles.dim.open;
+ if (isSimpleWindowsTerm && this.hasGrey) {
+ ansiStyles.dim.open = '';
+ }
+
+ for (const code of this._styles.slice().reverse()) {
+ // Replace any instances already present with a re-opening code
+ // otherwise only the part of the string until said closing code
+ // will be colored, and the rest will simply be 'plain'.
+ str = code.open + str.replace(code.closeRe, code.open) + code.close;
+
+ // Close the styling before a linebreak and reopen
+ // after next line to fix a bleed issue on macOS
+ // https://github.com/chalk/chalk/pull/92
+ str = str.replace(/\r?\n/g, `${code.close}$&${code.open}`);
+ }
+
+ // Reset the original `dim` if we changed it to work around the Windows dimmed gray issue
+ ansiStyles.dim.open = originalDim;
+
+ return str;
+}
+
+function chalkTag(chalk, strings) {
+ if (!Array.isArray(strings)) {
+ // If chalk() was called by itself or with a string,
+ // return the string itself as a string.
+ return [].slice.call(arguments, 1).join(' ');
+ }
+
+ const args = [].slice.call(arguments, 2);
+ const parts = [strings.raw[0]];
+
+ for (let i = 1; i < strings.length; i++) {
+ parts.push(String(args[i - 1]).replace(/[{}\\]/g, '\\$&'));
+ parts.push(String(strings.raw[i]));
+ }
+
+ return template(chalk, parts.join(''));
+}
+
+Object.defineProperties(Chalk.prototype, styles);
+
+module.exports = Chalk(); // eslint-disable-line new-cap
+module.exports.supportsColor = stdoutColor;
+module.exports.default = module.exports; // For TypeScript
diff --git a/node_modules/chalk/index.js.flow b/node_modules/chalk/index.js.flow
new file mode 100644
index 0000000..622caaa
--- /dev/null
+++ b/node_modules/chalk/index.js.flow
@@ -0,0 +1,93 @@
+// @flow strict
+
+type TemplateStringsArray = $ReadOnlyArray;
+
+export type Level = $Values<{
+ None: 0,
+ Basic: 1,
+ Ansi256: 2,
+ TrueColor: 3
+}>;
+
+export type ChalkOptions = {|
+ enabled?: boolean,
+ level?: Level
+|};
+
+export type ColorSupport = {|
+ level: Level,
+ hasBasic: boolean,
+ has256: boolean,
+ has16m: boolean
+|};
+
+export interface Chalk {
+ (...text: string[]): string,
+ (text: TemplateStringsArray, ...placeholders: string[]): string,
+ constructor(options?: ChalkOptions): Chalk,
+ enabled: boolean,
+ level: Level,
+ rgb(r: number, g: number, b: number): Chalk,
+ hsl(h: number, s: number, l: number): Chalk,
+ hsv(h: number, s: number, v: number): Chalk,
+ hwb(h: number, w: number, b: number): Chalk,
+ bgHex(color: string): Chalk,
+ bgKeyword(color: string): Chalk,
+ bgRgb(r: number, g: number, b: number): Chalk,
+ bgHsl(h: number, s: number, l: number): Chalk,
+ bgHsv(h: number, s: number, v: number): Chalk,
+ bgHwb(h: number, w: number, b: number): Chalk,
+ hex(color: string): Chalk,
+ keyword(color: string): Chalk,
+
+ +reset: Chalk,
+ +bold: Chalk,
+ +dim: Chalk,
+ +italic: Chalk,
+ +underline: Chalk,
+ +inverse: Chalk,
+ +hidden: Chalk,
+ +strikethrough: Chalk,
+
+ +visible: Chalk,
+
+ +black: Chalk,
+ +red: Chalk,
+ +green: Chalk,
+ +yellow: Chalk,
+ +blue: Chalk,
+ +magenta: Chalk,
+ +cyan: Chalk,
+ +white: Chalk,
+ +gray: Chalk,
+ +grey: Chalk,
+ +blackBright: Chalk,
+ +redBright: Chalk,
+ +greenBright: Chalk,
+ +yellowBright: Chalk,
+ +blueBright: Chalk,
+ +magentaBright: Chalk,
+ +cyanBright: Chalk,
+ +whiteBright: Chalk,
+
+ +bgBlack: Chalk,
+ +bgRed: Chalk,
+ +bgGreen: Chalk,
+ +bgYellow: Chalk,
+ +bgBlue: Chalk,
+ +bgMagenta: Chalk,
+ +bgCyan: Chalk,
+ +bgWhite: Chalk,
+ +bgBlackBright: Chalk,
+ +bgRedBright: Chalk,
+ +bgGreenBright: Chalk,
+ +bgYellowBright: Chalk,
+ +bgBlueBright: Chalk,
+ +bgMagentaBright: Chalk,
+ +bgCyanBright: Chalk,
+ +bgWhiteBrigh: Chalk,
+
+ supportsColor: ColorSupport
+};
+
+declare module.exports: Chalk;
diff --git a/node_modules/chalk/license b/node_modules/chalk/license
new file mode 100644
index 0000000..e7af2f7
--- /dev/null
+++ b/node_modules/chalk/license
@@ -0,0 +1,9 @@
+MIT License
+
+Copyright (c) Sindre Sorhus (sindresorhus.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/node_modules/chalk/node_modules/supports-color/browser.js b/node_modules/chalk/node_modules/supports-color/browser.js
new file mode 100644
index 0000000..62afa3a
--- /dev/null
+++ b/node_modules/chalk/node_modules/supports-color/browser.js
@@ -0,0 +1,5 @@
+'use strict';
+module.exports = {
+ stdout: false,
+ stderr: false
+};
diff --git a/node_modules/chalk/node_modules/supports-color/index.js b/node_modules/chalk/node_modules/supports-color/index.js
new file mode 100644
index 0000000..1704131
--- /dev/null
+++ b/node_modules/chalk/node_modules/supports-color/index.js
@@ -0,0 +1,131 @@
+'use strict';
+const os = require('os');
+const hasFlag = require('has-flag');
+
+const env = process.env;
+
+let forceColor;
+if (hasFlag('no-color') ||
+ hasFlag('no-colors') ||
+ hasFlag('color=false')) {
+ forceColor = false;
+} else if (hasFlag('color') ||
+ hasFlag('colors') ||
+ hasFlag('color=true') ||
+ hasFlag('color=always')) {
+ forceColor = true;
+}
+if ('FORCE_COLOR' in env) {
+ forceColor = env.FORCE_COLOR.length === 0 || parseInt(env.FORCE_COLOR, 10) !== 0;
+}
+
+function translateLevel(level) {
+ if (level === 0) {
+ return false;
+ }
+
+ return {
+ level,
+ hasBasic: true,
+ has256: level >= 2,
+ has16m: level >= 3
+ };
+}
+
+function supportsColor(stream) {
+ if (forceColor === false) {
+ return 0;
+ }
+
+ if (hasFlag('color=16m') ||
+ hasFlag('color=full') ||
+ hasFlag('color=truecolor')) {
+ return 3;
+ }
+
+ if (hasFlag('color=256')) {
+ return 2;
+ }
+
+ if (stream && !stream.isTTY && forceColor !== true) {
+ return 0;
+ }
+
+ const min = forceColor ? 1 : 0;
+
+ if (process.platform === 'win32') {
+ // Node.js 7.5.0 is the first version of Node.js to include a patch to
+ // libuv that enables 256 color output on Windows. Anything earlier and it
+ // won't work. However, here we target Node.js 8 at minimum as it is an LTS
+ // release, and Node.js 7 is not. Windows 10 build 10586 is the first Windows
+ // release that supports 256 colors. Windows 10 build 14931 is the first release
+ // that supports 16m/TrueColor.
+ const osRelease = os.release().split('.');
+ if (
+ Number(process.versions.node.split('.')[0]) >= 8 &&
+ Number(osRelease[0]) >= 10 &&
+ Number(osRelease[2]) >= 10586
+ ) {
+ return Number(osRelease[2]) >= 14931 ? 3 : 2;
+ }
+
+ return 1;
+ }
+
+ if ('CI' in env) {
+ if (['TRAVIS', 'CIRCLECI', 'APPVEYOR', 'GITLAB_CI'].some(sign => sign in env) || env.CI_NAME === 'codeship') {
+ return 1;
+ }
+
+ return min;
+ }
+
+ if ('TEAMCITY_VERSION' in env) {
+ return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;
+ }
+
+ if (env.COLORTERM === 'truecolor') {
+ return 3;
+ }
+
+ if ('TERM_PROGRAM' in env) {
+ const version = parseInt((env.TERM_PROGRAM_VERSION || '').split('.')[0], 10);
+
+ switch (env.TERM_PROGRAM) {
+ case 'iTerm.app':
+ return version >= 3 ? 3 : 2;
+ case 'Apple_Terminal':
+ return 2;
+ // No default
+ }
+ }
+
+ if (/-256(color)?$/i.test(env.TERM)) {
+ return 2;
+ }
+
+ if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {
+ return 1;
+ }
+
+ if ('COLORTERM' in env) {
+ return 1;
+ }
+
+ if (env.TERM === 'dumb') {
+ return min;
+ }
+
+ return min;
+}
+
+function getSupportLevel(stream) {
+ const level = supportsColor(stream);
+ return translateLevel(level);
+}
+
+module.exports = {
+ supportsColor: getSupportLevel,
+ stdout: getSupportLevel(process.stdout),
+ stderr: getSupportLevel(process.stderr)
+};
diff --git a/node_modules/chalk/node_modules/supports-color/license b/node_modules/chalk/node_modules/supports-color/license
new file mode 100644
index 0000000..e7af2f7
--- /dev/null
+++ b/node_modules/chalk/node_modules/supports-color/license
@@ -0,0 +1,9 @@
+MIT License
+
+Copyright (c) Sindre Sorhus (sindresorhus.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/node_modules/chalk/node_modules/supports-color/package.json b/node_modules/chalk/node_modules/supports-color/package.json
new file mode 100644
index 0000000..95f67ff
--- /dev/null
+++ b/node_modules/chalk/node_modules/supports-color/package.json
@@ -0,0 +1,85 @@
+{
+ "_from": "supports-color@^5.3.0",
+ "_id": "supports-color@5.5.0",
+ "_inBundle": false,
+ "_integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "_location": "/chalk/supports-color",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "range",
+ "registry": true,
+ "raw": "supports-color@^5.3.0",
+ "name": "supports-color",
+ "escapedName": "supports-color",
+ "rawSpec": "^5.3.0",
+ "saveSpec": null,
+ "fetchSpec": "^5.3.0"
+ },
+ "_requiredBy": [
+ "/chalk"
+ ],
+ "_resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "_shasum": "e2e69a44ac8772f78a1ec0b35b689df6530efc8f",
+ "_spec": "supports-color@^5.3.0",
+ "_where": "C:\\Users\\Futil\\AppData\\Local\\FoundryVTT\\Data\\systems\\mothership\\node_modules\\chalk",
+ "author": {
+ "name": "Sindre Sorhus",
+ "email": "sindresorhus@gmail.com",
+ "url": "sindresorhus.com"
+ },
+ "browser": "browser.js",
+ "bugs": {
+ "url": "https://github.com/chalk/supports-color/issues"
+ },
+ "bundleDependencies": false,
+ "dependencies": {
+ "has-flag": "^3.0.0"
+ },
+ "deprecated": false,
+ "description": "Detect whether a terminal supports color",
+ "devDependencies": {
+ "ava": "^0.25.0",
+ "import-fresh": "^2.0.0",
+ "xo": "^0.20.0"
+ },
+ "engines": {
+ "node": ">=4"
+ },
+ "files": [
+ "index.js",
+ "browser.js"
+ ],
+ "homepage": "https://github.com/chalk/supports-color#readme",
+ "keywords": [
+ "color",
+ "colour",
+ "colors",
+ "terminal",
+ "console",
+ "cli",
+ "ansi",
+ "styles",
+ "tty",
+ "rgb",
+ "256",
+ "shell",
+ "xterm",
+ "command-line",
+ "support",
+ "supports",
+ "capability",
+ "detect",
+ "truecolor",
+ "16m"
+ ],
+ "license": "MIT",
+ "name": "supports-color",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/chalk/supports-color.git"
+ },
+ "scripts": {
+ "test": "xo && ava"
+ },
+ "version": "5.5.0"
+}
diff --git a/node_modules/chalk/node_modules/supports-color/readme.md b/node_modules/chalk/node_modules/supports-color/readme.md
new file mode 100644
index 0000000..f6e4019
--- /dev/null
+++ b/node_modules/chalk/node_modules/supports-color/readme.md
@@ -0,0 +1,66 @@
+# supports-color [](https://travis-ci.org/chalk/supports-color)
+
+> Detect whether a terminal supports color
+
+
+## Install
+
+```
+$ npm install supports-color
+```
+
+
+## Usage
+
+```js
+const supportsColor = require('supports-color');
+
+if (supportsColor.stdout) {
+ console.log('Terminal stdout supports color');
+}
+
+if (supportsColor.stdout.has256) {
+ console.log('Terminal stdout supports 256 colors');
+}
+
+if (supportsColor.stderr.has16m) {
+ console.log('Terminal stderr supports 16 million colors (truecolor)');
+}
+```
+
+
+## API
+
+Returns an `Object` with a `stdout` and `stderr` property for testing either streams. Each property is an `Object`, or `false` if color is not supported.
+
+The `stdout`/`stderr` objects specifies a level of support for color through a `.level` property and a corresponding flag:
+
+- `.level = 1` and `.hasBasic = true`: Basic color support (16 colors)
+- `.level = 2` and `.has256 = true`: 256 color support
+- `.level = 3` and `.has16m = true`: Truecolor support (16 million colors)
+
+
+## Info
+
+It obeys the `--color` and `--no-color` CLI flags.
+
+Can be overridden by the user with the flags `--color` and `--no-color`. For situations where using `--color` is not possible, add the environment variable `FORCE_COLOR=1` to forcefully enable color or `FORCE_COLOR=0` to forcefully disable. The use of `FORCE_COLOR` overrides all other color support checks.
+
+Explicit 256/Truecolor mode can be enabled using the `--color=256` and `--color=16m` flags, respectively.
+
+
+## Related
+
+- [supports-color-cli](https://github.com/chalk/supports-color-cli) - CLI for this module
+- [chalk](https://github.com/chalk/chalk) - Terminal string styling done right
+
+
+## Maintainers
+
+- [Sindre Sorhus](https://github.com/sindresorhus)
+- [Josh Junon](https://github.com/qix-)
+
+
+## License
+
+MIT
diff --git a/node_modules/chalk/package.json b/node_modules/chalk/package.json
new file mode 100644
index 0000000..c5c49b0
--- /dev/null
+++ b/node_modules/chalk/package.json
@@ -0,0 +1,106 @@
+{
+ "_from": "chalk@^2.4.2",
+ "_id": "chalk@2.4.2",
+ "_inBundle": false,
+ "_integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "_location": "/chalk",
+ "_phantomChildren": {
+ "has-flag": "3.0.0"
+ },
+ "_requested": {
+ "type": "range",
+ "registry": true,
+ "raw": "chalk@^2.4.2",
+ "name": "chalk",
+ "escapedName": "chalk",
+ "rawSpec": "^2.4.2",
+ "saveSpec": null,
+ "fetchSpec": "^2.4.2"
+ },
+ "_requiredBy": [
+ "/gulp-sass",
+ "/postcss"
+ ],
+ "_resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "_shasum": "cd42541677a54333cf541a49108c1432b44c9424",
+ "_spec": "chalk@^2.4.2",
+ "_where": "C:\\Users\\Futil\\AppData\\Local\\FoundryVTT\\Data\\systems\\mothership\\node_modules\\postcss",
+ "bugs": {
+ "url": "https://github.com/chalk/chalk/issues"
+ },
+ "bundleDependencies": false,
+ "dependencies": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ },
+ "deprecated": false,
+ "description": "Terminal string styling done right",
+ "devDependencies": {
+ "ava": "*",
+ "coveralls": "^3.0.0",
+ "execa": "^0.9.0",
+ "flow-bin": "^0.68.0",
+ "import-fresh": "^2.0.0",
+ "matcha": "^0.7.0",
+ "nyc": "^11.0.2",
+ "resolve-from": "^4.0.0",
+ "typescript": "^2.5.3",
+ "xo": "*"
+ },
+ "engines": {
+ "node": ">=4"
+ },
+ "files": [
+ "index.js",
+ "templates.js",
+ "types/index.d.ts",
+ "index.js.flow"
+ ],
+ "homepage": "https://github.com/chalk/chalk#readme",
+ "keywords": [
+ "color",
+ "colour",
+ "colors",
+ "terminal",
+ "console",
+ "cli",
+ "string",
+ "str",
+ "ansi",
+ "style",
+ "styles",
+ "tty",
+ "formatting",
+ "rgb",
+ "256",
+ "shell",
+ "xterm",
+ "log",
+ "logging",
+ "command-line",
+ "text"
+ ],
+ "license": "MIT",
+ "name": "chalk",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/chalk/chalk.git"
+ },
+ "scripts": {
+ "bench": "matcha benchmark.js",
+ "coveralls": "nyc report --reporter=text-lcov | coveralls",
+ "test": "xo && tsc --project types && flow --max-warnings=0 && nyc ava"
+ },
+ "types": "types/index.d.ts",
+ "version": "2.4.2",
+ "xo": {
+ "envs": [
+ "node",
+ "mocha"
+ ],
+ "ignores": [
+ "test/_flow.js"
+ ]
+ }
+}
diff --git a/node_modules/chalk/readme.md b/node_modules/chalk/readme.md
new file mode 100644
index 0000000..d298e2c
--- /dev/null
+++ b/node_modules/chalk/readme.md
@@ -0,0 +1,314 @@
+
+
+
+
+
+
+
+
+
+> Terminal string styling done right
+
+[](https://travis-ci.org/chalk/chalk) [](https://coveralls.io/github/chalk/chalk?branch=master) [](https://www.youtube.com/watch?v=9auOCbH5Ns4) [](https://github.com/xojs/xo) [](https://github.com/sindresorhus/awesome-nodejs)
+
+### [See what's new in Chalk 2](https://github.com/chalk/chalk/releases/tag/v2.0.0)
+
+
+
+
+## Highlights
+
+- Expressive API
+- Highly performant
+- Ability to nest styles
+- [256/Truecolor color support](#256-and-truecolor-color-support)
+- Auto-detects color support
+- Doesn't extend `String.prototype`
+- Clean and focused
+- Actively maintained
+- [Used by ~23,000 packages](https://www.npmjs.com/browse/depended/chalk) as of December 31, 2017
+
+
+## Install
+
+```console
+$ npm install chalk
+```
+
+
+
+
+
+
+## Usage
+
+```js
+const chalk = require('chalk');
+
+console.log(chalk.blue('Hello world!'));
+```
+
+Chalk comes with an easy to use composable API where you just chain and nest the styles you want.
+
+```js
+const chalk = require('chalk');
+const log = console.log;
+
+// Combine styled and normal strings
+log(chalk.blue('Hello') + ' World' + chalk.red('!'));
+
+// Compose multiple styles using the chainable API
+log(chalk.blue.bgRed.bold('Hello world!'));
+
+// Pass in multiple arguments
+log(chalk.blue('Hello', 'World!', 'Foo', 'bar', 'biz', 'baz'));
+
+// Nest styles
+log(chalk.red('Hello', chalk.underline.bgBlue('world') + '!'));
+
+// Nest styles of the same type even (color, underline, background)
+log(chalk.green(
+ 'I am a green line ' +
+ chalk.blue.underline.bold('with a blue substring') +
+ ' that becomes green again!'
+));
+
+// ES2015 template literal
+log(`
+CPU: ${chalk.red('90%')}
+RAM: ${chalk.green('40%')}
+DISK: ${chalk.yellow('70%')}
+`);
+
+// ES2015 tagged template literal
+log(chalk`
+CPU: {red ${cpu.totalPercent}%}
+RAM: {green ${ram.used / ram.total * 100}%}
+DISK: {rgb(255,131,0) ${disk.used / disk.total * 100}%}
+`);
+
+// Use RGB colors in terminal emulators that support it.
+log(chalk.keyword('orange')('Yay for orange colored text!'));
+log(chalk.rgb(123, 45, 67).underline('Underlined reddish color'));
+log(chalk.hex('#DEADED').bold('Bold gray!'));
+```
+
+Easily define your own themes:
+
+```js
+const chalk = require('chalk');
+
+const error = chalk.bold.red;
+const warning = chalk.keyword('orange');
+
+console.log(error('Error!'));
+console.log(warning('Warning!'));
+```
+
+Take advantage of console.log [string substitution](https://nodejs.org/docs/latest/api/console.html#console_console_log_data_args):
+
+```js
+const name = 'Sindre';
+console.log(chalk.green('Hello %s'), name);
+//=> 'Hello Sindre'
+```
+
+
+## API
+
+### chalk.`