diff --git a/content.js b/content.js
index 1fdbd77f68017760caee33844c53728db1ba7542..d0eb02c6bd51c45ece226ca11633e3708e3f08d3 100644
--- a/content.js
+++ b/content.js
@@ -138,11 +138,17 @@ let Content = {
       "display.res(halveNumber(a), [a]);\n",
     executeAtStart: false,
     points: function ($element, config, accessor) {
-      var p = accessor.testResults(10, function (i, args, res) {
-        return parseFloat(res) === args[0] / 2 ? 10 : 0;
+      var p = accessor.testResults(8, function (i, args, res) {
+        return parseFloat(res) === args[0] / 2 ? 8 : 0;
       });
       return { points: p };
     },
+    qlcs: {
+      requirePoints: 8,
+      rewardPoints: 2,
+      request: [{ count: 3, types: ['FunctionName', 'ParameterName', 'ParameterValue'], uniqueTypes: true }],
+      input: [{ functionName: 'halveNumber', parameters: [[4], [8], [16]] }],
+    },
     maxPoints: 10,
     title: "declare halveNumber function",
     concepts: ["JavaScrit", "function declaration"],
diff --git a/static/qlcjs.min.js b/static/qlcjs.min.js
index db9f812a5946b3ba01ef149f83a0ababc7b88273..d01b0c575046d3d1567db6dfb3945fa62031e9f4 100644
--- a/static/qlcjs.min.js
+++ b/static/qlcjs.min.js
@@ -1 +1 @@
-!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).qlcjs={})}(this,(function(e){"use strict";function t(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var r={},n={},i={},a={};Object.defineProperty(a,"__esModule",{value:!0}),a.whitespaceArray=[5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279],a.whitespaceBool=[!1,!1,!1,!1,!1,!1,!1,!1,!1,!0,!1,!0,!0,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!0,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1],a.idStartLargeRegex=/^[\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\u0561-\u0587\u05D0-\u05EA\u05F0-\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\u08A0-\u08B4\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\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\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\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-\u1877\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\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\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-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\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-\uAB65\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]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDEC0-\uDEF8]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]$/,a.idStartBool=[!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!0,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!1,!1,!1,!1,!0,!1,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!1,!1,!1,!1,!1],a.idContinueLargeRegex=/^[\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\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\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFC-\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\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\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-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C4\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDEC0-\uDEF8]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]$/,a.idContinueBool=[!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!0,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!1,!1,!1,!1,!1,!1,!1,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!1,!1,!1,!1,!0,!1,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!1,!1,!1,!1,!1],Object.defineProperty(i,"__esModule",{value:!0}),i.isStrictModeReservedWord=function(e){return-1!==s.indexOf(e)},i.isWhiteSpace=function(e){return e<128?u.whitespaceBool[e]:160===e||e>5759&&-1!==u.whitespaceArray.indexOf(e)},i.isLineTerminator=function(e){return 10===e||13===e||8232===e||8233===e},i.isIdentifierStart=function(e){return e<128?u.idStartBool[e]:u.idStartLargeRegex.test(String.fromCodePoint(e))},i.isIdentifierPart=function(e){return e<128?u.idContinueBool[e]:u.idContinueLargeRegex.test(String.fromCodePoint(e))},i.isDecimalDigit=function(e){return e>=48&&e<=57},i.getHexValue=function(e){if(e>="0"&&e<="9")return e.charCodeAt(0)-48;if(e>="a"&&e<="f")return e.charCodeAt(0)-87;if(e>="A"&&e<="F")return e.charCodeAt(0)-55;return-1};var u=a,s=["null","true","false","implements","interface","package","private","protected","public","static","let","if","in","do","var","for","new","try","this","else","case","void","with","enum","while","break","catch","throw","const","yield","class","super","return","typeof","delete","switch","export","import","default","finally","extends","function","continue","debugger","instanceof"];var o={};Object.defineProperty(o,"__esModule",{value:!0}),o.ErrorMessages={UNEXPECTED_TOKEN:function(e){return"Unexpected token "+JSON.stringify(e)},UNEXPECTED_ILLEGAL_TOKEN:function(e){return"Unexpected "+JSON.stringify(e)},UNEXPECTED_ESCAPED_KEYWORD:"Unexpected escaped keyword",UNEXPECTED_NUMBER:"Unexpected number",UNEXPECTED_STRING:"Unexpected string",UNEXPECTED_IDENTIFIER:"Unexpected identifier",UNEXPECTED_RESERVED_WORD:"Unexpected reserved word",UNEXPECTED_TEMPLATE:"Unexpected template",UNEXPECTED_EOS:"Unexpected end of input",UNEXPECTED_LINE_TERMINATOR:"Unexpected line terminator",UNEXPECTED_COMMA_AFTER_REST:"Unexpected comma after rest",UNEXPECTED_REST_PARAMETERS_INITIALIZATION:"Rest parameter may not have a default initializer",NEWLINE_AFTER_THROW:"Illegal newline after throw",UNTERMINATED_REGEXP:"Invalid regular expression: missing /",INVALID_LAST_REST_PARAMETER:"Rest parameter must be last formal parameter",INVALID_REST_PARAMETERS_INITIALIZATION:"Rest parameter may not have a default initializer",INVALID_REGEXP_FLAGS:"Invalid regular expression flags",INVALID_REGEX:"Invalid regular expression",INVALID_LHS_IN_ASSIGNMENT:"Invalid left-hand side in assignment",INVALID_LHS_IN_BINDING:"Invalid left-hand side in binding",INVALID_LHS_IN_FOR_IN:"Invalid left-hand side in for-in",INVALID_LHS_IN_FOR_OF:"Invalid left-hand side in for-of",INVALID_LHS_IN_FOR_AWAIT:"Invalid left-hand side in for-await",INVALID_UPDATE_OPERAND:"Increment/decrement target must be an identifier or member expression",INVALID_EXPONENTIATION_LHS:"Unary expressions as the left operand of an exponentation expression must be disambiguated with parentheses",MULTIPLE_DEFAULTS_IN_SWITCH:"More than one default clause in switch statement",NO_CATCH_OR_FINALLY:"Missing catch or finally after try",ILLEGAL_RETURN:"Illegal return statement",ILLEGAL_ARROW_FUNCTION_PARAMS:"Illegal arrow function parameter list",INVALID_ASYNC_PARAMS:"Async function parameters must not contain await expressions",INVALID_VAR_INIT_FOR_IN:"Invalid variable declaration in for-in statement",INVALID_VAR_INIT_FOR_OF:"Invalid variable declaration in for-of statement",INVALID_VAR_INIT_FOR_AWAIT:"Invalid variable declaration in for-await statement",UNINITIALIZED_BINDINGPATTERN_IN_FOR_INIT:"Binding pattern appears without initializer in for statement init",ILLEGAL_PROPERTY:"Illegal property initializer",INVALID_ID_BINDING_STRICT_MODE:function(e){return"The identifier "+JSON.stringify(e)+" must not be in binding position in strict mode"},INVALID_ID_IN_LABEL_STRICT_MODE:function(e){return"The identifier "+JSON.stringify(e)+" must not be in label position in strict mode"},INVALID_ID_IN_EXPRESSION_STRICT_MODE:function(e){return"The identifier "+JSON.stringify(e)+" must not be in expression position in strict mode"},INVALID_CALL_TO_SUPER:'Calls to super must be in the "constructor" method of a class expression or class declaration that has a superclass',INVALID_DELETE_STRICT_MODE:"Identifier expressions must not be deleted in strict mode",DUPLICATE_BINDING:function(e){return"Duplicate binding "+JSON.stringify(e)},ILLEGAL_ID_IN_LEXICAL_DECLARATION:function(e){return"Lexical declarations must not have a binding named "+JSON.stringify(e)},UNITIALIZED_CONST:"Constant lexical declarations must have an initialiser",ILLEGAL_LABEL_IN_BODY:function(e){return"The body of a "+e+" statement must not be a labeled function declaration"},ILLEGEAL_LABEL_IN_IF:"The consequent of an if statement must not be a labeled function declaration",ILLEGAL_LABEL_IN_ELSE:"The alternate of an if statement must not be a labeled function declaration",ILLEGAL_CONTINUE_WITHOUT_ITERATION_WITH_ID:function(e){return"Continue statement must be nested within an iteration statement with label "+JSON.stringify(e)},ILLEGAL_CONTINUE_WITHOUT_ITERATION:"Continue statement must be nested within an iteration statement",ILLEGAL_BREAK_WITHOUT_ITERATION_OR_SWITCH:"Break statement must be nested within an iteration statement or a switch statement",ILLEGAL_WITH_STRICT_MODE:"Strict mode code must not include a with statement",ILLEGAL_ACCESS_SUPER_MEMBER:"Member access on super must be in a method",ILLEGAL_SUPER_CALL:'Calls to super must be in the "constructor" method of a class expression or class declaration that has a superclass',DUPLICATE_LABEL_DECLARATION:function(e){return"Label "+JSON.stringify(e)+" has already been declared"},ILLEGAL_BREAK_WITHIN_LABEL:function(e){return"Break statement must be nested within a statement with label "+JSON.stringify(e)},ILLEGAL_YIELD_EXPRESSIONS:function(e){return e+" parameters must not contain yield expressions"},ILLEGAL_YIELD_IDENTIFIER:'"yield" may not be used as an identifier in this context',ILLEGAL_AWAIT_IDENTIFIER:'"await" may not be used as an identifier in this context',DUPLICATE_CONSTRUCTOR:"Duplicate constructor method in class",ILLEGAL_CONSTRUCTORS:"Constructors cannot be async, generators, getters or setters",ILLEGAL_STATIC_CLASS_NAME:'Static class methods cannot be named "prototype"',NEW_TARGET_ERROR:"new.target must be within function (but not arrow expression) code",DUPLICATE_EXPORT:function(e){return"Duplicate export "+JSON.stringify(e)},UNDECLARED_BINDING:function(e){return"Exported binding "+JSON.stringify(e)+" is not declared"},DUPLICATE_PROPTO_PROP:"Duplicate __proto__ property in object literal not allowed",ILLEGAL_LABEL_FUNC_DECLARATION:"Labeled FunctionDeclarations are disallowed in strict mode",ILLEGAL_FUNC_DECL_IF:"FunctionDeclarations in IfStatements are disallowed in strict mode",ILLEGAL_USE_STRICT:'Functions with non-simple parameter lists may not contain a "use strict" directive',ILLEGAL_EXPORTED_NAME:"Names of variables used in an export specifier from the current module must be identifiers",NO_OCTALS_IN_TEMPLATES:"Template literals may not contain octal escape sequences",NO_AWAIT_IN_ASYNC_PARAMS:'Async arrow parameters may not contain "await"'},Object.defineProperty(n,"__esModule",{value:!0}),n.JsError=n.TokenType=n.TokenClass=void 0;var c=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var r=[],n=!0,i=!1,a=void 0;try{for(var u,s=e[Symbol.iterator]();!(n=(u=s.next()).done)&&(r.push(u.value),!t||r.length!==t);n=!0);}catch(e){i=!0,a=e}finally{try{!n&&s.return&&s.return()}finally{if(i)throw a}}return r}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")},p=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),l=i,d=o;function h(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var f=n.TokenClass={Eof:{name:"<End>"},Ident:{name:"Identifier",isIdentifierName:!0},Keyword:{name:"Keyword",isIdentifierName:!0},NumericLiteral:{name:"Numeric"},TemplateElement:{name:"Template"},Punctuator:{name:"Punctuator"},StringLiteral:{name:"String"},RegularExpression:{name:"RegularExpression"},Illegal:{name:"Illegal"}},m=n.TokenType={EOS:{klass:f.Eof,name:"EOS"},LPAREN:{klass:f.Punctuator,name:"("},RPAREN:{klass:f.Punctuator,name:")"},LBRACK:{klass:f.Punctuator,name:"["},RBRACK:{klass:f.Punctuator,name:"]"},LBRACE:{klass:f.Punctuator,name:"{"},RBRACE:{klass:f.Punctuator,name:"}"},COLON:{klass:f.Punctuator,name:":"},SEMICOLON:{klass:f.Punctuator,name:";"},PERIOD:{klass:f.Punctuator,name:"."},ELLIPSIS:{klass:f.Punctuator,name:"..."},ARROW:{klass:f.Punctuator,name:"=>"},CONDITIONAL:{klass:f.Punctuator,name:"?"},INC:{klass:f.Punctuator,name:"++"},DEC:{klass:f.Punctuator,name:"--"},ASSIGN:{klass:f.Punctuator,name:"="},ASSIGN_BIT_OR:{klass:f.Punctuator,name:"|="},ASSIGN_BIT_XOR:{klass:f.Punctuator,name:"^="},ASSIGN_BIT_AND:{klass:f.Punctuator,name:"&="},ASSIGN_SHL:{klass:f.Punctuator,name:"<<="},ASSIGN_SHR:{klass:f.Punctuator,name:">>="},ASSIGN_SHR_UNSIGNED:{klass:f.Punctuator,name:">>>="},ASSIGN_ADD:{klass:f.Punctuator,name:"+="},ASSIGN_SUB:{klass:f.Punctuator,name:"-="},ASSIGN_MUL:{klass:f.Punctuator,name:"*="},ASSIGN_DIV:{klass:f.Punctuator,name:"/="},ASSIGN_MOD:{klass:f.Punctuator,name:"%="},ASSIGN_EXP:{klass:f.Punctuator,name:"**="},COMMA:{klass:f.Punctuator,name:","},OR:{klass:f.Punctuator,name:"||"},AND:{klass:f.Punctuator,name:"&&"},BIT_OR:{klass:f.Punctuator,name:"|"},BIT_XOR:{klass:f.Punctuator,name:"^"},BIT_AND:{klass:f.Punctuator,name:"&"},SHL:{klass:f.Punctuator,name:"<<"},SHR:{klass:f.Punctuator,name:">>"},SHR_UNSIGNED:{klass:f.Punctuator,name:">>>"},ADD:{klass:f.Punctuator,name:"+"},SUB:{klass:f.Punctuator,name:"-"},MUL:{klass:f.Punctuator,name:"*"},DIV:{klass:f.Punctuator,name:"/"},MOD:{klass:f.Punctuator,name:"%"},EXP:{klass:f.Punctuator,name:"**"},EQ:{klass:f.Punctuator,name:"=="},NE:{klass:f.Punctuator,name:"!="},EQ_STRICT:{klass:f.Punctuator,name:"==="},NE_STRICT:{klass:f.Punctuator,name:"!=="},LT:{klass:f.Punctuator,name:"<"},GT:{klass:f.Punctuator,name:">"},LTE:{klass:f.Punctuator,name:"<="},GTE:{klass:f.Punctuator,name:">="},INSTANCEOF:{klass:f.Keyword,name:"instanceof"},IN:{klass:f.Keyword,name:"in"},NOT:{klass:f.Punctuator,name:"!"},BIT_NOT:{klass:f.Punctuator,name:"~"},ASYNC:{klass:f.Keyword,name:"async"},AWAIT:{klass:f.Keyword,name:"await"},ENUM:{klass:f.Keyword,name:"enum"},DELETE:{klass:f.Keyword,name:"delete"},TYPEOF:{klass:f.Keyword,name:"typeof"},VOID:{klass:f.Keyword,name:"void"},BREAK:{klass:f.Keyword,name:"break"},CASE:{klass:f.Keyword,name:"case"},CATCH:{klass:f.Keyword,name:"catch"},CLASS:{klass:f.Keyword,name:"class"},CONTINUE:{klass:f.Keyword,name:"continue"},DEBUGGER:{klass:f.Keyword,name:"debugger"},DEFAULT:{klass:f.Keyword,name:"default"},DO:{klass:f.Keyword,name:"do"},ELSE:{klass:f.Keyword,name:"else"},EXPORT:{klass:f.Keyword,name:"export"},EXTENDS:{klass:f.Keyword,name:"extends"},FINALLY:{klass:f.Keyword,name:"finally"},FOR:{klass:f.Keyword,name:"for"},FUNCTION:{klass:f.Keyword,name:"function"},IF:{klass:f.Keyword,name:"if"},IMPORT:{klass:f.Keyword,name:"import"},LET:{klass:f.Keyword,name:"let"},NEW:{klass:f.Keyword,name:"new"},RETURN:{klass:f.Keyword,name:"return"},SUPER:{klass:f.Keyword,name:"super"},SWITCH:{klass:f.Keyword,name:"switch"},THIS:{klass:f.Keyword,name:"this"},THROW:{klass:f.Keyword,name:"throw"},TRY:{klass:f.Keyword,name:"try"},VAR:{klass:f.Keyword,name:"var"},WHILE:{klass:f.Keyword,name:"while"},WITH:{klass:f.Keyword,name:"with"},NULL:{klass:f.Keyword,name:"null"},TRUE:{klass:f.Keyword,name:"true"},FALSE:{klass:f.Keyword,name:"false"},YIELD:{klass:f.Keyword,name:"yield"},NUMBER:{klass:f.NumericLiteral,name:""},STRING:{klass:f.StringLiteral,name:""},REGEXP:{klass:f.RegularExpression,name:""},IDENTIFIER:{klass:f.Ident,name:""},CONST:{klass:f.Keyword,name:"const"},TEMPLATE:{klass:f.TemplateElement,name:""},ESCAPED_KEYWORD:{klass:f.Keyword,name:""},ILLEGAL:{klass:f.Illegal,name:""}},y=m.ILLEGAL,E=!1,D=!0,g=[y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,m.NOT,y,y,y,m.MOD,m.BIT_AND,y,m.LPAREN,m.RPAREN,m.MUL,m.ADD,m.COMMA,m.SUB,m.PERIOD,m.DIV,y,y,y,y,y,y,y,y,y,y,m.COLON,m.SEMICOLON,m.LT,m.ASSIGN,m.GT,m.CONDITIONAL,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,m.LBRACK,y,m.RBRACK,m.BIT_XOR,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,m.LBRACE,m.BIT_OR,m.RBRACE,m.BIT_NOT],v=[E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,D,E,E,E,D,D,E,D,D,D,D,D,D,E,D,E,E,E,E,E,E,E,E,E,E,D,D,D,D,D,D,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,D,E,D,D,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,D,D,D,D,E],A=n.JsError=function(e){function t(e,r,n,i){h(this,t);var a=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,i));a.index=e;try{a.line=r,a.column=n}catch(e){}return a.parseErrorLine=r,a.parseErrorColumn=n,a.description=i,a.message="["+r+":"+n+"]: "+i,a}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,Error),t}();function x(e){return e<=65535?String.fromCharCode(e):String.fromCharCode(Math.floor((e-65536)/1024)+55296)+String.fromCharCode((e-65536)%1024+56320)}var C=function(){function e(t){h(this,e),this.source=t,this.index=0,this.line=0,this.lineStart=0,this.startIndex=0,this.startLine=0,this.startLineStart=0,this.lastIndex=0,this.lastLine=0,this.lastLineStart=0,this.hasLineTerminatorBeforeNext=!1,this.tokenIndex=0}return p(e,[{key:"saveLexerState",value:function(){return{source:this.source,index:this.index,line:this.line,lineStart:this.lineStart,startIndex:this.startIndex,startLine:this.startLine,startLineStart:this.startLineStart,lastIndex:this.lastIndex,lastLine:this.lastLine,lastLineStart:this.lastLineStart,lookahead:this.lookahead,hasLineTerminatorBeforeNext:this.hasLineTerminatorBeforeNext,tokenIndex:this.tokenIndex}}},{key:"restoreLexerState",value:function(e){this.source=e.source,this.index=e.index,this.line=e.line,this.lineStart=e.lineStart,this.startIndex=e.startIndex,this.startLine=e.startLine,this.startLineStart=e.startLineStart,this.lastIndex=e.lastIndex,this.lastLine=e.lastLine,this.lastLineStart=e.lastLineStart,this.lookahead=e.lookahead,this.hasLineTerminatorBeforeNext=e.hasLineTerminatorBeforeNext,this.tokenIndex=e.tokenIndex}},{key:"createILLEGAL",value:function(){return this.startIndex=this.index,this.startLine=this.line,this.startLineStart=this.lineStart,this.index<this.source.length?this.createError(d.ErrorMessages.UNEXPECTED_ILLEGAL_TOKEN,this.source.charAt(this.index)):this.createError(d.ErrorMessages.UNEXPECTED_EOS)}},{key:"createUnexpected",value:function(e){switch(e.type.klass){case f.Eof:return this.createError(d.ErrorMessages.UNEXPECTED_EOS);case f.Ident:return this.createError(d.ErrorMessages.UNEXPECTED_IDENTIFIER);case f.Keyword:return e.type===m.ESCAPED_KEYWORD?this.createError(d.ErrorMessages.UNEXPECTED_ESCAPED_KEYWORD):this.createError(d.ErrorMessages.UNEXPECTED_TOKEN,e.slice.text);case f.NumericLiteral:return this.createError(d.ErrorMessages.UNEXPECTED_NUMBER);case f.TemplateElement:return this.createError(d.ErrorMessages.UNEXPECTED_TEMPLATE);case f.Punctuator:return this.createError(d.ErrorMessages.UNEXPECTED_TOKEN,e.type.name);case f.StringLiteral:return this.createError(d.ErrorMessages.UNEXPECTED_STRING)}throw new Error("Unreachable: unexpected token of class "+e.type.klass)}},{key:"createError",value:function(e){var t=void 0;if("function"==typeof e){for(var r=arguments.length,n=Array(r>1?r-1:0),i=1;i<r;i++)n[i-1]=arguments[i];t=e.apply(void 0,n)}else t=e;return new A(this.startIndex,this.startLine+1,this.startIndex-this.startLineStart+1,t)}},{key:"createErrorWithLocation",value:function(e,t){var r=arguments,n=t.replace(/\{(\d+)\}/g,(function(e,t){return JSON.stringify(r[+t+2])}));return e.slice&&e.slice.startLocation&&(e=e.slice.startLocation),new A(e.offset,e.line,e.column+1,n)}},{key:"getKeyword",value:function(t){if(1===t.length||t.length>10)return m.IDENTIFIER;switch(t.length){case 2:switch(t.charAt(0)){case"i":switch(t.charAt(1)){case"f":return m.IF;case"n":return m.IN}break;case"d":if("o"===t.charAt(1))return m.DO}break;case 3:switch(t.charAt(0)){case"v":if(e.cse2(t,"a","r"))return m.VAR;break;case"f":if(e.cse2(t,"o","r"))return m.FOR;break;case"n":if(e.cse2(t,"e","w"))return m.NEW;break;case"t":if(e.cse2(t,"r","y"))return m.TRY;break;case"l":if(e.cse2(t,"e","t"))return m.LET}break;case 4:switch(t.charAt(0)){case"t":if(e.cse3(t,"h","i","s"))return m.THIS;if(e.cse3(t,"r","u","e"))return m.TRUE;break;case"n":if(e.cse3(t,"u","l","l"))return m.NULL;break;case"e":if(e.cse3(t,"l","s","e"))return m.ELSE;if(e.cse3(t,"n","u","m"))return m.ENUM;break;case"c":if(e.cse3(t,"a","s","e"))return m.CASE;break;case"v":if(e.cse3(t,"o","i","d"))return m.VOID;break;case"w":if(e.cse3(t,"i","t","h"))return m.WITH}break;case 5:switch(t.charAt(0)){case"a":if(e.cse4(t,"s","y","n","c"))return m.ASYNC;if(e.cse4(t,"w","a","i","t"))return m.AWAIT;break;case"w":if(e.cse4(t,"h","i","l","e"))return m.WHILE;break;case"b":if(e.cse4(t,"r","e","a","k"))return m.BREAK;break;case"f":if(e.cse4(t,"a","l","s","e"))return m.FALSE;break;case"c":if(e.cse4(t,"a","t","c","h"))return m.CATCH;if(e.cse4(t,"o","n","s","t"))return m.CONST;if(e.cse4(t,"l","a","s","s"))return m.CLASS;break;case"t":if(e.cse4(t,"h","r","o","w"))return m.THROW;break;case"y":if(e.cse4(t,"i","e","l","d"))return m.YIELD;break;case"s":if(e.cse4(t,"u","p","e","r"))return m.SUPER}break;case 6:switch(t.charAt(0)){case"r":if(e.cse5(t,"e","t","u","r","n"))return m.RETURN;break;case"t":if(e.cse5(t,"y","p","e","o","f"))return m.TYPEOF;break;case"d":if(e.cse5(t,"e","l","e","t","e"))return m.DELETE;break;case"s":if(e.cse5(t,"w","i","t","c","h"))return m.SWITCH;break;case"e":if(e.cse5(t,"x","p","o","r","t"))return m.EXPORT;break;case"i":if(e.cse5(t,"m","p","o","r","t"))return m.IMPORT}break;case 7:switch(t.charAt(0)){case"d":if(e.cse6(t,"e","f","a","u","l","t"))return m.DEFAULT;break;case"f":if(e.cse6(t,"i","n","a","l","l","y"))return m.FINALLY;break;case"e":if(e.cse6(t,"x","t","e","n","d","s"))return m.EXTENDS}break;case 8:switch(t.charAt(0)){case"f":if(e.cse7(t,"u","n","c","t","i","o","n"))return m.FUNCTION;break;case"c":if(e.cse7(t,"o","n","t","i","n","u","e"))return m.CONTINUE;break;case"d":if(e.cse7(t,"e","b","u","g","g","e","r"))return m.DEBUGGER}break;case 10:if("instanceof"===t)return m.INSTANCEOF}return m.IDENTIFIER}},{key:"skipSingleLineComment",value:function(e){for(this.index+=e;this.index<this.source.length;){var t=this.source.charCodeAt(this.index);if(this.index++,(0,l.isLineTerminator)(t))return this.hasLineTerminatorBeforeNext=!0,13===t&&10===this.source.charCodeAt(this.index)&&this.index++,this.lineStart=this.index,void this.line++}}},{key:"skipMultiLineComment",value:function(){this.index+=2;for(var e=this.source.length,t=!1;this.index<e;){var r=this.source.charCodeAt(this.index);if(r<128)switch(r){case 42:if("/"===this.source.charAt(this.index+1))return this.index=this.index+2,t;this.index++;break;case 10:t=!0,this.hasLineTerminatorBeforeNext=!0,this.index++,this.lineStart=this.index,this.line++;break;case 13:t=!0,this.hasLineTerminatorBeforeNext=!0,"\n"===this.source.charAt(this.index+1)&&this.index++,this.index++,this.lineStart=this.index,this.line++;break;default:this.index++}else 8232===r||8233===r?(t=!0,this.hasLineTerminatorBeforeNext=!0,this.index++,this.lineStart=this.index,this.line++):this.index++}throw this.createILLEGAL()}},{key:"skipComment",value:function(){this.hasLineTerminatorBeforeNext=!1;for(var e=0===this.index,t=this.source.length;this.index<t;){var r=this.source.charCodeAt(this.index);if((0,l.isWhiteSpace)(r))this.index++;else if((0,l.isLineTerminator)(r))this.hasLineTerminatorBeforeNext=!0,this.index++,13===r&&"\n"===this.source.charAt(this.index)&&this.index++,this.lineStart=this.index,this.line++,e=!0;else if(47===r){if(this.index+1>=t)break;if(47===(r=this.source.charCodeAt(this.index+1)))this.skipSingleLineComment(2),e=!0;else{if(42!==r)break;e=this.skipMultiLineComment()||e}}else if(!this.moduleIsTheGoalSymbol&&e&&45===r){if(this.index+2>=t)break;if("-"!==this.source.charAt(this.index+1)||">"!==this.source.charAt(this.index+2))break;this.skipSingleLineComment(3)}else{if(this.moduleIsTheGoalSymbol||60!==r)break;if("!--"!==this.source.slice(this.index+1,this.index+4))break;this.skipSingleLineComment(4),e=!0}}}},{key:"scanHexEscape2",value:function(){if(this.index+2>this.source.length)return-1;var e=(0,l.getHexValue)(this.source.charAt(this.index));if(-1===e)return-1;var t=(0,l.getHexValue)(this.source.charAt(this.index+1));return-1===t?-1:(this.index+=2,e<<4|t)}},{key:"scanUnicode",value:function(){if("{"===this.source.charAt(this.index)){for(var e=this.index+1,t=0,r=void 0;e<this.source.length;){r=this.source.charAt(e);var n=(0,l.getHexValue)(r);if(-1===n)break;if((t=t<<4|n)>1114111)throw this.createILLEGAL();e++}if("}"!==r)throw this.createILLEGAL();if(e===this.index+1)throw++this.index,this.createILLEGAL();return this.index=e+1,t}if(this.index+4>this.source.length)return-1;var i=(0,l.getHexValue)(this.source.charAt(this.index));if(-1===i)return-1;var a=(0,l.getHexValue)(this.source.charAt(this.index+1));if(-1===a)return-1;var u=(0,l.getHexValue)(this.source.charAt(this.index+2));if(-1===u)return-1;var s=(0,l.getHexValue)(this.source.charAt(this.index+3));return-1===s?-1:(this.index+=4,i<<12|a<<8|u<<4|s)}},{key:"getEscapedIdentifier",value:function(){for(var e="",t=l.isIdentifierStart;this.index<this.source.length;){var r=this.source.charAt(this.index),n=r.charCodeAt(0),i=this.index;if(++this.index,"\\"===r){if(this.index>=this.source.length)throw this.createILLEGAL();if("u"!==this.source.charAt(this.index))throw this.createILLEGAL();if(++this.index,(n=this.scanUnicode())<0)throw this.createILLEGAL();r=x(n)}else if(n>=55296&&n<=56319){if(this.index>=this.source.length)throw this.createILLEGAL();var a=this.source.charCodeAt(this.index);if(++this.index,!(a>=56320&&a<=57343))throw this.createILLEGAL();r=x(n=1024*(n-55296)+(a-56320)+65536)}if(!t(n)){if(e.length<1)throw this.createILLEGAL();return this.index=i,e}t=l.isIdentifierPart,e+=r}return e}},{key:"getIdentifier",value:function(){for(var e=this.index,t=this.source.length,r=this.index,n=l.isIdentifierStart;r<t;){var i=this.source.charAt(r),a=i.charCodeAt(0);if("\\"===i||a>=55296&&a<=56319)return this.index=e,this.getEscapedIdentifier();if(!n(a))return this.index=r,this.source.slice(e,r);++r,n=l.isIdentifierPart}return this.index=r,this.source.slice(e,r)}},{key:"scanIdentifier",value:function(){var e=this.getLocation(),t=this.index,r="\\"===this.source.charAt(this.index)?this.getEscapedIdentifier():this.getIdentifier(),n=this.getSlice(t,e);n.text=r;var i=this.index-t!==r.length,a=this.getKeyword(r);return i&&a!==m.IDENTIFIER&&(a=m.ESCAPED_KEYWORD),{type:a,value:r,slice:n,escaped:i}}},{key:"getLocation",value:function(){return{line:this.startLine+1,column:this.startIndex-this.startLineStart,offset:this.startIndex}}},{key:"getLastTokenEndLocation",value:function(){return{line:this.lastLine+1,column:this.lastIndex-this.lastLineStart,offset:this.lastIndex}}},{key:"getSlice",value:function(e,t){return{text:this.source.slice(e,this.index),start:e,startLocation:t,end:this.index}}},{key:"scanPunctuatorHelper",value:function(){var e=this.source.charAt(this.index);switch(e){case".":return"."!==this.source.charAt(this.index+1)||"."!==this.source.charAt(this.index+2)?m.PERIOD:m.ELLIPSIS;case"(":return m.LPAREN;case")":case";":case",":case"}":case"[":case"]":case":":case"?":case"~":return g[e.charCodeAt(0)];case"{":return m.LBRACE;default:if(this.index+1<this.source.length&&"="===this.source.charAt(this.index+1))switch(e){case"=":return this.index+2<this.source.length&&"="===this.source.charAt(this.index+2)?m.EQ_STRICT:m.EQ;case"!":return this.index+2<this.source.length&&"="===this.source.charAt(this.index+2)?m.NE_STRICT:m.NE;case"|":return m.ASSIGN_BIT_OR;case"+":return m.ASSIGN_ADD;case"-":return m.ASSIGN_SUB;case"*":return m.ASSIGN_MUL;case"<":return m.LTE;case">":return m.GTE;case"/":return m.ASSIGN_DIV;case"%":return m.ASSIGN_MOD;case"^":return m.ASSIGN_BIT_XOR;case"&":return m.ASSIGN_BIT_AND}}if(this.index+1<this.source.length){var t=this.source.charAt(this.index+1);if(e===t){if(this.index+2<this.source.length){var r=this.source.charAt(this.index+2);if(">"===e&&">"===r)return this.index+3<this.source.length&&"="===this.source.charAt(this.index+3)?m.ASSIGN_SHR_UNSIGNED:m.SHR_UNSIGNED;if("<"===e&&"="===r)return m.ASSIGN_SHL;if(">"===e&&"="===r)return m.ASSIGN_SHR;if("*"===e&&"="===r)return m.ASSIGN_EXP}switch(e){case"*":return m.EXP;case"+":return m.INC;case"-":return m.DEC;case"<":return m.SHL;case">":return m.SHR;case"&":return m.AND;case"|":return m.OR}}else if("="===e&&">"===t)return m.ARROW}return g[e.charCodeAt(0)]}},{key:"scanPunctuator",value:function(){var e=this.getLocation(),t=this.index,r=this.scanPunctuatorHelper();return this.index+=r.name.length,{type:r,value:r.name,slice:this.getSlice(t,e)}}},{key:"scanHexLiteral",value:function(e,t){for(var r=this.index;r<this.source.length;){var n=this.source.charAt(r);if(-1===(0,l.getHexValue)(n))break;r++}if(this.index===r)throw this.createILLEGAL();if(r<this.source.length&&(0,l.isIdentifierStart)(this.source.charCodeAt(r)))throw this.createILLEGAL();this.index=r;var i=this.getSlice(e,t);return{type:m.NUMBER,value:parseInt(i.text.substr(2),16),slice:i}}},{key:"scanBinaryLiteral",value:function(e,t){for(var r=this.index-e;this.index<this.source.length;){var n=this.source.charAt(this.index);if("0"!==n&&"1"!==n)break;this.index++}if(this.index-e<=r)throw this.createILLEGAL();if(this.index<this.source.length&&((0,l.isIdentifierStart)(this.source.charCodeAt(this.index))||(0,l.isDecimalDigit)(this.source.charCodeAt(this.index))))throw this.createILLEGAL();return{type:m.NUMBER,value:parseInt(this.getSlice(e,t).text.substr(r),2),slice:this.getSlice(e,t),octal:!1,noctal:!1}}},{key:"scanOctalLiteral",value:function(e,t){for(;this.index<this.source.length;){var r=this.source.charAt(this.index);if(!(r>="0"&&r<="7")){if((0,l.isIdentifierPart)(r.charCodeAt(0)))throw this.createILLEGAL();break}this.index++}if(this.index-e==2)throw this.createILLEGAL();return{type:m.NUMBER,value:parseInt(this.getSlice(e,t).text.substr(2),8),slice:this.getSlice(e,t),octal:!1,noctal:!1}}},{key:"scanLegacyOctalLiteral",value:function(e,t){for(var r=!0;this.index<this.source.length;){var n=this.source.charAt(this.index);if(n>="0"&&n<="7")this.index++;else{if("8"!==n&&"9"!==n){if((0,l.isIdentifierPart)(n.charCodeAt(0)))throw this.createILLEGAL();break}r=!1,this.index++}}var i=this.getSlice(e,t);return r?{type:m.NUMBER,slice:i,value:parseInt(i.text.substr(1),8),octal:!0,noctal:!r}:(this.eatDecimalLiteralSuffix(),{type:m.NUMBER,slice:i,value:+i.text,octal:!0,noctal:!r})}},{key:"scanNumericLiteral",value:function(){var e=this.source.charAt(this.index),t=this.getLocation(),r=this.index;if("0"===e){if(this.index++,!(this.index<this.source.length)){var n=this.getSlice(r,t);return{type:m.NUMBER,value:+n.text,slice:n,octal:!1,noctal:!1}}if("x"===(e=this.source.charAt(this.index))||"X"===e)return this.index++,this.scanHexLiteral(r,t);if("b"===e||"B"===e)return this.index++,this.scanBinaryLiteral(r,t);if("o"===e||"O"===e)return this.index++,this.scanOctalLiteral(r,t);if(e>="0"&&e<="9")return this.scanLegacyOctalLiteral(r,t)}else if("."!==e)for(e=this.source.charAt(this.index);e>="0"&&e<="9";){if(this.index++,this.index===this.source.length){var i=this.getSlice(r,t);return{type:m.NUMBER,value:+i.text,slice:i,octal:!1,noctal:!1}}e=this.source.charAt(this.index)}if(this.eatDecimalLiteralSuffix(),this.index!==this.source.length&&(0,l.isIdentifierStart)(this.source.charCodeAt(this.index)))throw this.createILLEGAL();var a=this.getSlice(r,t);return{type:m.NUMBER,value:+a.text,slice:a,octal:!1,noctal:!1}}},{key:"eatDecimalLiteralSuffix",value:function(){var e=this.source.charAt(this.index);if("."===e){if(this.index++,this.index===this.source.length)return;for(e=this.source.charAt(this.index);e>="0"&&e<="9";){if(this.index++,this.index===this.source.length)return;e=this.source.charAt(this.index)}}if("e"===e||"E"===e){if(this.index++,this.index===this.source.length)throw this.createILLEGAL();if("+"===(e=this.source.charAt(this.index))||"-"===e){if(this.index++,this.index===this.source.length)throw this.createILLEGAL();e=this.source.charAt(this.index)}if(!(e>="0"&&e<="9"))throw this.createILLEGAL();for(;e>="0"&&e<="9"&&(this.index++,this.index!==this.source.length);)e=this.source.charAt(this.index)}}},{key:"scanStringEscape",value:function(e,t){if(this.index++,this.index===this.source.length)throw this.createILLEGAL();var r=this.source.charAt(this.index);if((0,l.isLineTerminator)(r.charCodeAt(0)))this.index++,"\r"===r&&"\n"===this.source.charAt(this.index)&&this.index++,this.lineStart=this.index,this.line++;else switch(r){case"n":e+="\n",this.index++;break;case"r":e+="\r",this.index++;break;case"t":e+="\t",this.index++;break;case"u":case"x":var n;if(this.index++,this.index>=this.source.length)throw this.createILLEGAL();if((n="u"===r?this.scanUnicode():this.scanHexEscape2())<0)throw this.createILLEGAL();e+=x(n);break;case"b":e+="\b",this.index++;break;case"f":e+="\f",this.index++;break;case"v":e+="\v",this.index++;break;default:if(r>="0"&&r<="7"){var i=this.index,a=1;r>="0"&&r<="3"&&(a=0);for(var u=0;a<3&&r>="0"&&r<="7";){if(this.index++,(a>0||"0"!==r)&&(t=this.source.slice(i,this.index)),u*=8,u+=r-"0",a++,this.index===this.source.length)throw this.createILLEGAL();r=this.source.charAt(this.index)}0!==u||1!==a||"8"!==r&&"9"!==r||(t=this.source.slice(i,this.index+1)),e+=String.fromCharCode(u)}else{if("8"===r||"9"===r)throw this.createILLEGAL();e+=r,this.index++}}return[e,t]}},{key:"scanStringLiteral",value:function(){var e="",t=this.source.charAt(this.index),r=this.getLocation(),n=this.index;this.index++;for(var i=null;this.index<this.source.length;){var a=this.source.charAt(this.index);if(a===t)return this.index++,{type:m.STRING,slice:this.getSlice(n,r),str:e,octal:i};if("\\"===a){var u=this.scanStringEscape(e,i),s=c(u,2);e=s[0],i=s[1]}else{if((0,l.isLineTerminator)(a.charCodeAt(0)))throw this.createILLEGAL();e+=a,this.index++}}throw this.createILLEGAL()}},{key:"scanTemplateElement",value:function(){var e=this.getLocation(),t=this.index;for(this.index++;this.index<this.source.length;){switch(this.source.charCodeAt(this.index)){case 96:return this.index++,{type:m.TEMPLATE,tail:!0,slice:this.getSlice(t,e)};case 36:if(123===this.source.charCodeAt(this.index+1))return this.index+=2,{type:m.TEMPLATE,tail:!1,slice:this.getSlice(t,e)};this.index++;break;case 92:if(null!=this.scanStringEscape("",null)[1])throw this.createError(d.ErrorMessages.NO_OCTALS_IN_TEMPLATES);break;case 13:this.line++,this.index++,this.index<this.source.length&&"\n"===this.source.charAt(this.index)&&this.index++,this.lineStart=this.index;break;case 10:case 8232:case 8233:this.line++,this.index++,this.lineStart=this.index;break;default:this.index++}}throw this.createILLEGAL()}},{key:"scanRegExp",value:function(e){for(var t=this.getLocation(),r=this.index,n=!1,i=!1;this.index<this.source.length;){var a=this.source.charAt(this.index);if("\\"===a){if(e+=a,this.index++,a=this.source.charAt(this.index),(0,l.isLineTerminator)(a.charCodeAt(0)))throw this.createError(d.ErrorMessages.UNTERMINATED_REGEXP);e+=a,this.index++}else{if((0,l.isLineTerminator)(a.charCodeAt(0)))throw this.createError(d.ErrorMessages.UNTERMINATED_REGEXP);if(i)"]"===a&&(i=!1);else{if("/"===a){n=!0,e+=a,this.index++;break}"["===a&&(i=!0)}e+=a,this.index++}}if(!n)throw this.createError(d.ErrorMessages.UNTERMINATED_REGEXP);for(;this.index<this.source.length;){var u=this.source.charAt(this.index);if("\\"===u)throw this.createError(d.ErrorMessages.INVALID_REGEXP_FLAGS);if(!(0,l.isIdentifierPart)(u.charCodeAt(0)))break;this.index++,e+=u}return{type:m.REGEXP,value:e,slice:this.getSlice(r,t)}}},{key:"advance",value:function(){var e=this.getLocation();if(this.lastIndex=this.index,this.lastLine=this.line,this.lastLineStart=this.lineStart,this.skipComment(),this.startIndex=this.index,this.startLine=this.line,this.startLineStart=this.lineStart,0===this.lastIndex&&(this.lastIndex=this.index,this.lastLine=this.line,this.lastLineStart=this.lineStart),this.index>=this.source.length)return{type:m.EOS,slice:this.getSlice(this.index,e)};var t=this.source.charCodeAt(this.index);if(t<128){if(v[t])return this.scanPunctuator();if((0,l.isIdentifierStart)(t)||92===t)return this.scanIdentifier();if(46===t)return this.index+1<this.source.length&&(0,l.isDecimalDigit)(this.source.charCodeAt(this.index+1))?this.scanNumericLiteral():this.scanPunctuator();if(39===t||34===t)return this.scanStringLiteral();if(96===t)return this.scanTemplateElement();if(t>=48&&t<=57)return this.scanNumericLiteral();throw this.createILLEGAL()}if((0,l.isIdentifierStart)(t)||t>=55296&&t<=56319)return this.scanIdentifier();throw this.createILLEGAL()}},{key:"eof",value:function(){return this.lookahead.type===m.EOS}},{key:"lex",value:function(){var e=this.lookahead;return this.lookahead=this.advance(),this.tokenIndex++,e}}],[{key:"cse2",value:function(e,t,r){return e.charAt(1)===t&&e.charAt(2)===r}},{key:"cse3",value:function(e,t,r,n){return e.charAt(1)===t&&e.charAt(2)===r&&e.charAt(3)===n}},{key:"cse4",value:function(e,t,r,n,i){return e.charAt(1)===t&&e.charAt(2)===r&&e.charAt(3)===n&&e.charAt(4)===i}},{key:"cse5",value:function(e,t,r,n,i,a){return e.charAt(1)===t&&e.charAt(2)===r&&e.charAt(3)===n&&e.charAt(4)===i&&e.charAt(5)===a}},{key:"cse6",value:function(e,t,r,n,i,a,u){return e.charAt(1)===t&&e.charAt(2)===r&&e.charAt(3)===n&&e.charAt(4)===i&&e.charAt(5)===a&&e.charAt(6)===u}},{key:"cse7",value:function(e,t,r,n,i,a,u,s){return e.charAt(1)===t&&e.charAt(2)===r&&e.charAt(3)===n&&e.charAt(4)===i&&e.charAt(5)===a&&e.charAt(6)===u&&e.charAt(7)===s}}]),e}();n.default=C;var b={},S={},_=new Map([["General_Category",new Map([["C","Other"],["Cc","Control"],["cntrl","Control"],["Cf","Format"],["Cn","Unassigned"],["Co","Private_Use"],["Cs","Surrogate"],["L","Letter"],["LC","Cased_Letter"],["Ll","Lowercase_Letter"],["Lm","Modifier_Letter"],["Lo","Other_Letter"],["Lt","Titlecase_Letter"],["Lu","Uppercase_Letter"],["M","Mark"],["Combining_Mark","Mark"],["Mc","Spacing_Mark"],["Me","Enclosing_Mark"],["Mn","Nonspacing_Mark"],["N","Number"],["Nd","Decimal_Number"],["digit","Decimal_Number"],["Nl","Letter_Number"],["No","Other_Number"],["P","Punctuation"],["punct","Punctuation"],["Pc","Connector_Punctuation"],["Pd","Dash_Punctuation"],["Pe","Close_Punctuation"],["Pf","Final_Punctuation"],["Pi","Initial_Punctuation"],["Po","Other_Punctuation"],["Ps","Open_Punctuation"],["S","Symbol"],["Sc","Currency_Symbol"],["Sk","Modifier_Symbol"],["Sm","Math_Symbol"],["So","Other_Symbol"],["Z","Separator"],["Zl","Line_Separator"],["Zp","Paragraph_Separator"],["Zs","Space_Separator"],["Other","Other"],["Control","Control"],["Format","Format"],["Unassigned","Unassigned"],["Private_Use","Private_Use"],["Surrogate","Surrogate"],["Letter","Letter"],["Cased_Letter","Cased_Letter"],["Lowercase_Letter","Lowercase_Letter"],["Modifier_Letter","Modifier_Letter"],["Other_Letter","Other_Letter"],["Titlecase_Letter","Titlecase_Letter"],["Uppercase_Letter","Uppercase_Letter"],["Mark","Mark"],["Spacing_Mark","Spacing_Mark"],["Enclosing_Mark","Enclosing_Mark"],["Nonspacing_Mark","Nonspacing_Mark"],["Number","Number"],["Decimal_Number","Decimal_Number"],["Letter_Number","Letter_Number"],["Other_Number","Other_Number"],["Punctuation","Punctuation"],["Connector_Punctuation","Connector_Punctuation"],["Dash_Punctuation","Dash_Punctuation"],["Close_Punctuation","Close_Punctuation"],["Final_Punctuation","Final_Punctuation"],["Initial_Punctuation","Initial_Punctuation"],["Other_Punctuation","Other_Punctuation"],["Open_Punctuation","Open_Punctuation"],["Symbol","Symbol"],["Currency_Symbol","Currency_Symbol"],["Modifier_Symbol","Modifier_Symbol"],["Math_Symbol","Math_Symbol"],["Other_Symbol","Other_Symbol"],["Separator","Separator"],["Line_Separator","Line_Separator"],["Paragraph_Separator","Paragraph_Separator"],["Space_Separator","Space_Separator"]])],["Script",new Map([["Adlm","Adlam"],["Aghb","Caucasian_Albanian"],["Ahom","Ahom"],["Arab","Arabic"],["Armi","Imperial_Aramaic"],["Armn","Armenian"],["Avst","Avestan"],["Bali","Balinese"],["Bamu","Bamum"],["Bass","Bassa_Vah"],["Batk","Batak"],["Beng","Bengali"],["Bhks","Bhaiksuki"],["Bopo","Bopomofo"],["Brah","Brahmi"],["Brai","Braille"],["Bugi","Buginese"],["Buhd","Buhid"],["Cakm","Chakma"],["Cans","Canadian_Aboriginal"],["Cari","Carian"],["Cham","Cham"],["Cher","Cherokee"],["Copt","Coptic"],["Qaac","Coptic"],["Cprt","Cypriot"],["Cyrl","Cyrillic"],["Deva","Devanagari"],["Dogr","Dogra"],["Dsrt","Deseret"],["Dupl","Duployan"],["Egyp","Egyptian_Hieroglyphs"],["Elba","Elbasan"],["Ethi","Ethiopic"],["Geor","Georgian"],["Glag","Glagolitic"],["Gong","Gunjala_Gondi"],["Gonm","Masaram_Gondi"],["Goth","Gothic"],["Gran","Grantha"],["Grek","Greek"],["Gujr","Gujarati"],["Guru","Gurmukhi"],["Hang","Hangul"],["Hani","Han"],["Hano","Hanunoo"],["Hatr","Hatran"],["Hebr","Hebrew"],["Hira","Hiragana"],["Hluw","Anatolian_Hieroglyphs"],["Hmng","Pahawh_Hmong"],["Hrkt","Katakana_Or_Hiragana"],["Hung","Old_Hungarian"],["Ital","Old_Italic"],["Java","Javanese"],["Kali","Kayah_Li"],["Kana","Katakana"],["Khar","Kharoshthi"],["Khmr","Khmer"],["Khoj","Khojki"],["Knda","Kannada"],["Kthi","Kaithi"],["Lana","Tai_Tham"],["Laoo","Lao"],["Latn","Latin"],["Lepc","Lepcha"],["Limb","Limbu"],["Lina","Linear_A"],["Linb","Linear_B"],["Lisu","Lisu"],["Lyci","Lycian"],["Lydi","Lydian"],["Mahj","Mahajani"],["Maka","Makasar"],["Mand","Mandaic"],["Mani","Manichaean"],["Marc","Marchen"],["Medf","Medefaidrin"],["Mend","Mende_Kikakui"],["Merc","Meroitic_Cursive"],["Mero","Meroitic_Hieroglyphs"],["Mlym","Malayalam"],["Modi","Modi"],["Mong","Mongolian"],["Mroo","Mro"],["Mtei","Meetei_Mayek"],["Mult","Multani"],["Mymr","Myanmar"],["Narb","Old_North_Arabian"],["Nbat","Nabataean"],["Newa","Newa"],["Nkoo","Nko"],["Nshu","Nushu"],["Ogam","Ogham"],["Olck","Ol_Chiki"],["Orkh","Old_Turkic"],["Orya","Oriya"],["Osge","Osage"],["Osma","Osmanya"],["Palm","Palmyrene"],["Pauc","Pau_Cin_Hau"],["Perm","Old_Permic"],["Phag","Phags_Pa"],["Phli","Inscriptional_Pahlavi"],["Phlp","Psalter_Pahlavi"],["Phnx","Phoenician"],["Plrd","Miao"],["Prti","Inscriptional_Parthian"],["Rjng","Rejang"],["Rohg","Hanifi_Rohingya"],["Runr","Runic"],["Samr","Samaritan"],["Sarb","Old_South_Arabian"],["Saur","Saurashtra"],["Sgnw","SignWriting"],["Shaw","Shavian"],["Shrd","Sharada"],["Sidd","Siddham"],["Sind","Khudawadi"],["Sinh","Sinhala"],["Sogd","Sogdian"],["Sogo","Old_Sogdian"],["Sora","Sora_Sompeng"],["Soyo","Soyombo"],["Sund","Sundanese"],["Sylo","Syloti_Nagri"],["Syrc","Syriac"],["Tagb","Tagbanwa"],["Takr","Takri"],["Tale","Tai_Le"],["Talu","New_Tai_Lue"],["Taml","Tamil"],["Tang","Tangut"],["Tavt","Tai_Viet"],["Telu","Telugu"],["Tfng","Tifinagh"],["Tglg","Tagalog"],["Thaa","Thaana"],["Thai","Thai"],["Tibt","Tibetan"],["Tirh","Tirhuta"],["Ugar","Ugaritic"],["Vaii","Vai"],["Wara","Warang_Citi"],["Xpeo","Old_Persian"],["Xsux","Cuneiform"],["Yiii","Yi"],["Zanb","Zanabazar_Square"],["Zinh","Inherited"],["Qaai","Inherited"],["Zyyy","Common"],["Zzzz","Unknown"],["Adlam","Adlam"],["Caucasian_Albanian","Caucasian_Albanian"],["Arabic","Arabic"],["Imperial_Aramaic","Imperial_Aramaic"],["Armenian","Armenian"],["Avestan","Avestan"],["Balinese","Balinese"],["Bamum","Bamum"],["Bassa_Vah","Bassa_Vah"],["Batak","Batak"],["Bengali","Bengali"],["Bhaiksuki","Bhaiksuki"],["Bopomofo","Bopomofo"],["Brahmi","Brahmi"],["Braille","Braille"],["Buginese","Buginese"],["Buhid","Buhid"],["Chakma","Chakma"],["Canadian_Aboriginal","Canadian_Aboriginal"],["Carian","Carian"],["Cherokee","Cherokee"],["Coptic","Coptic"],["Cypriot","Cypriot"],["Cyrillic","Cyrillic"],["Devanagari","Devanagari"],["Dogra","Dogra"],["Deseret","Deseret"],["Duployan","Duployan"],["Egyptian_Hieroglyphs","Egyptian_Hieroglyphs"],["Elbasan","Elbasan"],["Ethiopic","Ethiopic"],["Georgian","Georgian"],["Glagolitic","Glagolitic"],["Gunjala_Gondi","Gunjala_Gondi"],["Masaram_Gondi","Masaram_Gondi"],["Gothic","Gothic"],["Grantha","Grantha"],["Greek","Greek"],["Gujarati","Gujarati"],["Gurmukhi","Gurmukhi"],["Hangul","Hangul"],["Han","Han"],["Hanunoo","Hanunoo"],["Hatran","Hatran"],["Hebrew","Hebrew"],["Hiragana","Hiragana"],["Anatolian_Hieroglyphs","Anatolian_Hieroglyphs"],["Pahawh_Hmong","Pahawh_Hmong"],["Katakana_Or_Hiragana","Katakana_Or_Hiragana"],["Old_Hungarian","Old_Hungarian"],["Old_Italic","Old_Italic"],["Javanese","Javanese"],["Kayah_Li","Kayah_Li"],["Katakana","Katakana"],["Kharoshthi","Kharoshthi"],["Khmer","Khmer"],["Khojki","Khojki"],["Kannada","Kannada"],["Kaithi","Kaithi"],["Tai_Tham","Tai_Tham"],["Lao","Lao"],["Latin","Latin"],["Lepcha","Lepcha"],["Limbu","Limbu"],["Linear_A","Linear_A"],["Linear_B","Linear_B"],["Lycian","Lycian"],["Lydian","Lydian"],["Mahajani","Mahajani"],["Makasar","Makasar"],["Mandaic","Mandaic"],["Manichaean","Manichaean"],["Marchen","Marchen"],["Medefaidrin","Medefaidrin"],["Mende_Kikakui","Mende_Kikakui"],["Meroitic_Cursive","Meroitic_Cursive"],["Meroitic_Hieroglyphs","Meroitic_Hieroglyphs"],["Malayalam","Malayalam"],["Mongolian","Mongolian"],["Mro","Mro"],["Meetei_Mayek","Meetei_Mayek"],["Multani","Multani"],["Myanmar","Myanmar"],["Old_North_Arabian","Old_North_Arabian"],["Nabataean","Nabataean"],["Nko","Nko"],["Nushu","Nushu"],["Ogham","Ogham"],["Ol_Chiki","Ol_Chiki"],["Old_Turkic","Old_Turkic"],["Oriya","Oriya"],["Osage","Osage"],["Osmanya","Osmanya"],["Palmyrene","Palmyrene"],["Pau_Cin_Hau","Pau_Cin_Hau"],["Old_Permic","Old_Permic"],["Phags_Pa","Phags_Pa"],["Inscriptional_Pahlavi","Inscriptional_Pahlavi"],["Psalter_Pahlavi","Psalter_Pahlavi"],["Phoenician","Phoenician"],["Miao","Miao"],["Inscriptional_Parthian","Inscriptional_Parthian"],["Rejang","Rejang"],["Hanifi_Rohingya","Hanifi_Rohingya"],["Runic","Runic"],["Samaritan","Samaritan"],["Old_South_Arabian","Old_South_Arabian"],["Saurashtra","Saurashtra"],["SignWriting","SignWriting"],["Shavian","Shavian"],["Sharada","Sharada"],["Siddham","Siddham"],["Khudawadi","Khudawadi"],["Sinhala","Sinhala"],["Sogdian","Sogdian"],["Old_Sogdian","Old_Sogdian"],["Sora_Sompeng","Sora_Sompeng"],["Soyombo","Soyombo"],["Sundanese","Sundanese"],["Syloti_Nagri","Syloti_Nagri"],["Syriac","Syriac"],["Tagbanwa","Tagbanwa"],["Takri","Takri"],["Tai_Le","Tai_Le"],["New_Tai_Lue","New_Tai_Lue"],["Tamil","Tamil"],["Tangut","Tangut"],["Tai_Viet","Tai_Viet"],["Telugu","Telugu"],["Tifinagh","Tifinagh"],["Tagalog","Tagalog"],["Thaana","Thaana"],["Tibetan","Tibetan"],["Tirhuta","Tirhuta"],["Ugaritic","Ugaritic"],["Vai","Vai"],["Warang_Citi","Warang_Citi"],["Old_Persian","Old_Persian"],["Cuneiform","Cuneiform"],["Yi","Yi"],["Zanabazar_Square","Zanabazar_Square"],["Inherited","Inherited"],["Common","Common"],["Unknown","Unknown"]])],["Script_Extensions",new Map([["Adlm","Adlam"],["Aghb","Caucasian_Albanian"],["Ahom","Ahom"],["Arab","Arabic"],["Armi","Imperial_Aramaic"],["Armn","Armenian"],["Avst","Avestan"],["Bali","Balinese"],["Bamu","Bamum"],["Bass","Bassa_Vah"],["Batk","Batak"],["Beng","Bengali"],["Bhks","Bhaiksuki"],["Bopo","Bopomofo"],["Brah","Brahmi"],["Brai","Braille"],["Bugi","Buginese"],["Buhd","Buhid"],["Cakm","Chakma"],["Cans","Canadian_Aboriginal"],["Cari","Carian"],["Cham","Cham"],["Cher","Cherokee"],["Copt","Coptic"],["Qaac","Coptic"],["Cprt","Cypriot"],["Cyrl","Cyrillic"],["Deva","Devanagari"],["Dogr","Dogra"],["Dsrt","Deseret"],["Dupl","Duployan"],["Egyp","Egyptian_Hieroglyphs"],["Elba","Elbasan"],["Ethi","Ethiopic"],["Geor","Georgian"],["Glag","Glagolitic"],["Gong","Gunjala_Gondi"],["Gonm","Masaram_Gondi"],["Goth","Gothic"],["Gran","Grantha"],["Grek","Greek"],["Gujr","Gujarati"],["Guru","Gurmukhi"],["Hang","Hangul"],["Hani","Han"],["Hano","Hanunoo"],["Hatr","Hatran"],["Hebr","Hebrew"],["Hira","Hiragana"],["Hluw","Anatolian_Hieroglyphs"],["Hmng","Pahawh_Hmong"],["Hrkt","Katakana_Or_Hiragana"],["Hung","Old_Hungarian"],["Ital","Old_Italic"],["Java","Javanese"],["Kali","Kayah_Li"],["Kana","Katakana"],["Khar","Kharoshthi"],["Khmr","Khmer"],["Khoj","Khojki"],["Knda","Kannada"],["Kthi","Kaithi"],["Lana","Tai_Tham"],["Laoo","Lao"],["Latn","Latin"],["Lepc","Lepcha"],["Limb","Limbu"],["Lina","Linear_A"],["Linb","Linear_B"],["Lisu","Lisu"],["Lyci","Lycian"],["Lydi","Lydian"],["Mahj","Mahajani"],["Maka","Makasar"],["Mand","Mandaic"],["Mani","Manichaean"],["Marc","Marchen"],["Medf","Medefaidrin"],["Mend","Mende_Kikakui"],["Merc","Meroitic_Cursive"],["Mero","Meroitic_Hieroglyphs"],["Mlym","Malayalam"],["Modi","Modi"],["Mong","Mongolian"],["Mroo","Mro"],["Mtei","Meetei_Mayek"],["Mult","Multani"],["Mymr","Myanmar"],["Narb","Old_North_Arabian"],["Nbat","Nabataean"],["Newa","Newa"],["Nkoo","Nko"],["Nshu","Nushu"],["Ogam","Ogham"],["Olck","Ol_Chiki"],["Orkh","Old_Turkic"],["Orya","Oriya"],["Osge","Osage"],["Osma","Osmanya"],["Palm","Palmyrene"],["Pauc","Pau_Cin_Hau"],["Perm","Old_Permic"],["Phag","Phags_Pa"],["Phli","Inscriptional_Pahlavi"],["Phlp","Psalter_Pahlavi"],["Phnx","Phoenician"],["Plrd","Miao"],["Prti","Inscriptional_Parthian"],["Rjng","Rejang"],["Rohg","Hanifi_Rohingya"],["Runr","Runic"],["Samr","Samaritan"],["Sarb","Old_South_Arabian"],["Saur","Saurashtra"],["Sgnw","SignWriting"],["Shaw","Shavian"],["Shrd","Sharada"],["Sidd","Siddham"],["Sind","Khudawadi"],["Sinh","Sinhala"],["Sogd","Sogdian"],["Sogo","Old_Sogdian"],["Sora","Sora_Sompeng"],["Soyo","Soyombo"],["Sund","Sundanese"],["Sylo","Syloti_Nagri"],["Syrc","Syriac"],["Tagb","Tagbanwa"],["Takr","Takri"],["Tale","Tai_Le"],["Talu","New_Tai_Lue"],["Taml","Tamil"],["Tang","Tangut"],["Tavt","Tai_Viet"],["Telu","Telugu"],["Tfng","Tifinagh"],["Tglg","Tagalog"],["Thaa","Thaana"],["Thai","Thai"],["Tibt","Tibetan"],["Tirh","Tirhuta"],["Ugar","Ugaritic"],["Vaii","Vai"],["Wara","Warang_Citi"],["Xpeo","Old_Persian"],["Xsux","Cuneiform"],["Yiii","Yi"],["Zanb","Zanabazar_Square"],["Zinh","Inherited"],["Qaai","Inherited"],["Zyyy","Common"],["Zzzz","Unknown"],["Adlam","Adlam"],["Caucasian_Albanian","Caucasian_Albanian"],["Arabic","Arabic"],["Imperial_Aramaic","Imperial_Aramaic"],["Armenian","Armenian"],["Avestan","Avestan"],["Balinese","Balinese"],["Bamum","Bamum"],["Bassa_Vah","Bassa_Vah"],["Batak","Batak"],["Bengali","Bengali"],["Bhaiksuki","Bhaiksuki"],["Bopomofo","Bopomofo"],["Brahmi","Brahmi"],["Braille","Braille"],["Buginese","Buginese"],["Buhid","Buhid"],["Chakma","Chakma"],["Canadian_Aboriginal","Canadian_Aboriginal"],["Carian","Carian"],["Cherokee","Cherokee"],["Coptic","Coptic"],["Cypriot","Cypriot"],["Cyrillic","Cyrillic"],["Devanagari","Devanagari"],["Dogra","Dogra"],["Deseret","Deseret"],["Duployan","Duployan"],["Egyptian_Hieroglyphs","Egyptian_Hieroglyphs"],["Elbasan","Elbasan"],["Ethiopic","Ethiopic"],["Georgian","Georgian"],["Glagolitic","Glagolitic"],["Gunjala_Gondi","Gunjala_Gondi"],["Masaram_Gondi","Masaram_Gondi"],["Gothic","Gothic"],["Grantha","Grantha"],["Greek","Greek"],["Gujarati","Gujarati"],["Gurmukhi","Gurmukhi"],["Hangul","Hangul"],["Han","Han"],["Hanunoo","Hanunoo"],["Hatran","Hatran"],["Hebrew","Hebrew"],["Hiragana","Hiragana"],["Anatolian_Hieroglyphs","Anatolian_Hieroglyphs"],["Pahawh_Hmong","Pahawh_Hmong"],["Katakana_Or_Hiragana","Katakana_Or_Hiragana"],["Old_Hungarian","Old_Hungarian"],["Old_Italic","Old_Italic"],["Javanese","Javanese"],["Kayah_Li","Kayah_Li"],["Katakana","Katakana"],["Kharoshthi","Kharoshthi"],["Khmer","Khmer"],["Khojki","Khojki"],["Kannada","Kannada"],["Kaithi","Kaithi"],["Tai_Tham","Tai_Tham"],["Lao","Lao"],["Latin","Latin"],["Lepcha","Lepcha"],["Limbu","Limbu"],["Linear_A","Linear_A"],["Linear_B","Linear_B"],["Lycian","Lycian"],["Lydian","Lydian"],["Mahajani","Mahajani"],["Makasar","Makasar"],["Mandaic","Mandaic"],["Manichaean","Manichaean"],["Marchen","Marchen"],["Medefaidrin","Medefaidrin"],["Mende_Kikakui","Mende_Kikakui"],["Meroitic_Cursive","Meroitic_Cursive"],["Meroitic_Hieroglyphs","Meroitic_Hieroglyphs"],["Malayalam","Malayalam"],["Mongolian","Mongolian"],["Mro","Mro"],["Meetei_Mayek","Meetei_Mayek"],["Multani","Multani"],["Myanmar","Myanmar"],["Old_North_Arabian","Old_North_Arabian"],["Nabataean","Nabataean"],["Nko","Nko"],["Nushu","Nushu"],["Ogham","Ogham"],["Ol_Chiki","Ol_Chiki"],["Old_Turkic","Old_Turkic"],["Oriya","Oriya"],["Osage","Osage"],["Osmanya","Osmanya"],["Palmyrene","Palmyrene"],["Pau_Cin_Hau","Pau_Cin_Hau"],["Old_Permic","Old_Permic"],["Phags_Pa","Phags_Pa"],["Inscriptional_Pahlavi","Inscriptional_Pahlavi"],["Psalter_Pahlavi","Psalter_Pahlavi"],["Phoenician","Phoenician"],["Miao","Miao"],["Inscriptional_Parthian","Inscriptional_Parthian"],["Rejang","Rejang"],["Hanifi_Rohingya","Hanifi_Rohingya"],["Runic","Runic"],["Samaritan","Samaritan"],["Old_South_Arabian","Old_South_Arabian"],["Saurashtra","Saurashtra"],["SignWriting","SignWriting"],["Shavian","Shavian"],["Sharada","Sharada"],["Siddham","Siddham"],["Khudawadi","Khudawadi"],["Sinhala","Sinhala"],["Sogdian","Sogdian"],["Old_Sogdian","Old_Sogdian"],["Sora_Sompeng","Sora_Sompeng"],["Soyombo","Soyombo"],["Sundanese","Sundanese"],["Syloti_Nagri","Syloti_Nagri"],["Syriac","Syriac"],["Tagbanwa","Tagbanwa"],["Takri","Takri"],["Tai_Le","Tai_Le"],["New_Tai_Lue","New_Tai_Lue"],["Tamil","Tamil"],["Tangut","Tangut"],["Tai_Viet","Tai_Viet"],["Telugu","Telugu"],["Tifinagh","Tifinagh"],["Tagalog","Tagalog"],["Thaana","Thaana"],["Tibetan","Tibetan"],["Tirhuta","Tirhuta"],["Ugaritic","Ugaritic"],["Vai","Vai"],["Warang_Citi","Warang_Citi"],["Old_Persian","Old_Persian"],["Cuneiform","Cuneiform"],["Yi","Yi"],["Zanabazar_Square","Zanabazar_Square"],["Inherited","Inherited"],["Common","Common"],["Unknown","Unknown"]])]]);const T=_;var F=function(e,t){const r=T.get(e);if(!r)throw new Error(`Unknown property \`${e}\`.`);const n=r.get(t);if(n)return n;throw new Error(`Unknown value \`${t}\` for property \`${e}\`.`)},k=new Set(["General_Category","Script","Script_Extensions","Alphabetic","Any","ASCII","ASCII_Hex_Digit","Assigned","Bidi_Control","Bidi_Mirrored","Case_Ignorable","Cased","Changes_When_Casefolded","Changes_When_Casemapped","Changes_When_Lowercased","Changes_When_NFKC_Casefolded","Changes_When_Titlecased","Changes_When_Uppercased","Dash","Default_Ignorable_Code_Point","Deprecated","Diacritic","Emoji","Emoji_Component","Emoji_Modifier","Emoji_Modifier_Base","Emoji_Presentation","Extended_Pictographic","Extender","Grapheme_Base","Grapheme_Extend","Hex_Digit","ID_Continue","ID_Start","Ideographic","IDS_Binary_Operator","IDS_Trinary_Operator","Join_Control","Logical_Order_Exception","Lowercase","Math","Noncharacter_Code_Point","Pattern_Syntax","Pattern_White_Space","Quotation_Mark","Radical","Regional_Indicator","Sentence_Terminal","Soft_Dotted","Terminal_Punctuation","Unified_Ideograph","Uppercase","Variation_Selector","White_Space","XID_Continue","XID_Start"]),B=new Map([["scx","Script_Extensions"],["sc","Script"],["gc","General_Category"],["AHex","ASCII_Hex_Digit"],["Alpha","Alphabetic"],["Bidi_C","Bidi_Control"],["Bidi_M","Bidi_Mirrored"],["Cased","Cased"],["CI","Case_Ignorable"],["CWCF","Changes_When_Casefolded"],["CWCM","Changes_When_Casemapped"],["CWKCF","Changes_When_NFKC_Casefolded"],["CWL","Changes_When_Lowercased"],["CWT","Changes_When_Titlecased"],["CWU","Changes_When_Uppercased"],["Dash","Dash"],["Dep","Deprecated"],["DI","Default_Ignorable_Code_Point"],["Dia","Diacritic"],["Ext","Extender"],["Gr_Base","Grapheme_Base"],["Gr_Ext","Grapheme_Extend"],["Hex","Hex_Digit"],["IDC","ID_Continue"],["Ideo","Ideographic"],["IDS","ID_Start"],["IDSB","IDS_Binary_Operator"],["IDST","IDS_Trinary_Operator"],["Join_C","Join_Control"],["LOE","Logical_Order_Exception"],["Lower","Lowercase"],["Math","Math"],["NChar","Noncharacter_Code_Point"],["Pat_Syn","Pattern_Syntax"],["Pat_WS","Pattern_White_Space"],["QMark","Quotation_Mark"],["Radical","Radical"],["RI","Regional_Indicator"],["SD","Soft_Dotted"],["STerm","Sentence_Terminal"],["Term","Terminal_Punctuation"],["UIdeo","Unified_Ideograph"],["Upper","Uppercase"],["VS","Variation_Selector"],["WSpace","White_Space"],["space","White_Space"],["XIDC","XID_Continue"],["XIDS","XID_Start"]]);const w=k,N=B;var I=function(e){if(w.has(e))return e;if(N.has(e))return N.get(e);throw new Error(`Unknown property: ${e}`)},O={};Object.defineProperty(O,"__esModule",{value:!0}),O.whitespaceArray=[5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279],O.whitespaceBool=[!1,!1,!1,!1,!1,!1,!1,!1,!1,!0,!1,!0,!0,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!0,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1],O.idStartLargeRegex=/^[\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\u0561-\u0587\u05D0-\u05EA\u05F0-\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\u08A0-\u08B4\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\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\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\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-\u1877\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\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\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-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\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-\uAB65\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]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDEC0-\uDEF8]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]$/,O.idStartBool=[!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!0,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!1,!1,!1,!1,!0,!1,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!1,!1,!1,!1,!1],O.idContinueLargeRegex=/^[\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\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\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFC-\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\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\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-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C4\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDEC0-\uDEF8]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]$/,O.idContinueBool=[!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!0,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!1,!1,!1,!1,!1,!1,!1,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!1,!1,!1,!1,!0,!1,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!1,!1,!1,!1,!1],Object.defineProperty(S,"__esModule",{value:!0});var L=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),P=W(F),M=W(_),R=W(I),j=W(B),G=O;function W(e){return e&&e.__esModule?e:{default:e}}function U(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);t<e.length;t++)r[t]=e[t];return r}return Array.from(e)}var V=function(e){try{return!!e()}catch(e){return!1}},H="^$\\.*+?()[]{}|".split(""),K="^$\\.*+?()[|".split(""),Y="fnrtv".split(""),q={f:"\f".charCodeAt(0),n:"\n".charCodeAt(0),r:"\r".charCodeAt(0),t:"\t".charCodeAt(0),v:"\v".charCodeAt(0)},X="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ".split(""),z="0123456789abcdefABCDEF".split(""),$="0123456789".split(""),J="01234567".split(""),Z={};var Q=function(){function e(t,r){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.pattern=t,this.unicode=r,this.index=0,this.largestBackreference=0,this.backreferenceNames=[],this.groupingNames=[],this.capturingGroups=0}return L(e,[{key:"empty",value:function(){return this.index>=this.pattern.length}},{key:"backreference",value:function(e){e>this.largestBackreference&&(this.largestBackreference=e)}},{key:"nextCodePoint",value:function(){return this.empty()?null:this.unicode?String.fromCodePoint(this.pattern.codePointAt(this.index)):this.pattern.charAt(this.index)}},{key:"skipCodePoint",value:function(){this.index+=this.nextCodePoint().length}},{key:"eat",value:function(e){return!(this.index+e.length>this.pattern.length||this.pattern.slice(this.index,this.index+e.length)!==e)&&(this.index+=e.length,!0)}},{key:"eatIdentifierCodePoint",value:function(){var e=void 0,t=this.index,r=void 0;if(this.match("\\u")){if(this.skipCodePoint(),!(e=te(this)).matched)return this.index=t,null;e=e.value,r=String.fromCodePoint(e)}else{if(null==(r=this.nextCodePoint()))return this.index=t,null;this.index+=r.length,e=r.codePointAt(0)}return{character:r,characterValue:e}}},{key:"eatIdentifierStart",value:function(){var e,t=this.index,r=this.eatIdentifierCodePoint();return null===r?(this.index=t,null):"_"===r.character||"$"===r.character||((e=r.characterValue)<128?G.idStartBool[e]:G.idStartLargeRegex.test(String.fromCodePoint(e)))?r.character:(this.index=t,null)}},{key:"eatIdentifierPart",value:function(){var e,t=this.index,r=this.eatIdentifierCodePoint();return null===r?(this.index=t,null):"‌"===r.character||"‍"===r.character||"$"===r.character||((e=r.characterValue)<128?G.idContinueBool[e]:G.idContinueLargeRegex.test(String.fromCodePoint(e)))?r.character:(this.index=t,null)}},{key:"eatAny",value:function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];var n=!0,i=!1,a=void 0;try{for(var u,s=t[Symbol.iterator]();!(n=(u=s.next()).done);n=!0){var o=u.value;if(this.eat(o))return o}}catch(e){i=!0,a=e}finally{try{!n&&s.return&&s.return()}finally{if(i)throw a}}return null}},{key:"match",value:function(e){return this.index+e.length<=this.pattern.length&&this.pattern.slice(this.index,this.index+e.length)===e}},{key:"matchAny",value:function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];var n=!0,i=!1,a=void 0;try{for(var u,s=t[Symbol.iterator]();!(n=(u=s.next()).done);n=!0){var o=u.value;if(this.match(o))return!0}}catch(e){i=!0,a=e}finally{try{!n&&s.return&&s.return()}finally{if(i)throw a}}return!1}},{key:"eatNaturalNumber",value:function(){for(var e=this,t=[],r=function(){var r=!0,n=!1,i=void 0;try{for(var a,u=$[Symbol.iterator]();!(r=(a=u.next()).done);r=!0){var s=a.value;if(e.eat(s))return t.push(s),!0}}catch(e){n=!0,i=e}finally{try{!r&&u.return&&u.return()}finally{if(n)throw i}}return!1};r(););return 0===t.length?null:t.join("")}}]),e}();S.default=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.unicode,n=void 0!==r&&r,i=new Q(e,n),a=re(i);if(a.matched){if(i.unicode&&i.largestBackreference>i.capturingGroups)return!1;if(i.groupingNames.length>0||i.unicode){var u=!0,s=!1,o=void 0;try{for(var c,p=i.backreferenceNames[Symbol.iterator]();!(u=(c=p.next()).done);u=!0){var l=c.value;if(-1===i.groupingNames.indexOf(l))return!1}}catch(e){s=!0,o=e}finally{try{!u&&p.return&&p.return()}finally{if(s)throw o}}}}return a.matched};var ee=function(e){return function(t){var r=t.index,n=t.largestBackreference,i=t.capturingGroups,a=e(t);return a.matched||(t.index=r,t.largestBackreference=n,t.capturingGroups=i),a}},te=ee((function(e){if(!e.eat("u"))return{matched:!1};if(e.unicode&&e.eat("{")){for(var t=[];!e.eat("}");){var r=e.eatAny.apply(e,U(z));if(null===r)return{matched:!1};t.push(r)}var n=parseInt(t.join(""),16);return n>1114111?{matched:!1}:{matched:!0,value:n}}var i=[0,0,0,0].map((function(){return e.eatAny.apply(e,U(z))}));if(i.some((function(e){return null===e})))return{matched:!1};var a=parseInt(i.join(""),16);if(e.unicode&&a>=55296&&a<=56319){var u=ee((function(e){if(!e.eat("\\u"))return{matched:!1};var t=[0,0,0,0].map((function(){return e.eatAny.apply(e,U(z))}));if(t.some((function(e){return null===e})))return{matched:!1};var r=parseInt(t.join(""),16);return r<56320||r>=57344?{matched:!1}:{matched:!0,value:65536+((1023&a)<<10)+(1023&r)}}))(e);if(u.matched)return u}return{matched:!0,value:a}})),re=function(e,t){do{if(void 0!==t&&e.eat(t))return{matched:!0};if(!e.match("|")&&!ne(e,t).matched)return{matched:!1}}while(e.eat("|"));return{matched:void 0===t||!!e.eat(t)}},ne=function(e,t){for(;!(e.match("|")||e.empty()||void 0!==t&&e.match(t));)if(!ae(e).matched)return{matched:!1};return{matched:!0}},ie=function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return function(e){var r=!0,n=!1,i=void 0;try{for(var a,u=t[Symbol.iterator]();!(r=(a=u.next()).done);r=!0){var s=(0,a.value)(e);if(s.matched)return s}}catch(e){n=!0,i=e}finally{try{!r&&u.return&&u.return()}finally{if(n)throw i}}return{matched:!1}}},ae=function(e){return e.unicode?ie(oe,pe(fe))(e):ie(pe(se),oe,pe(fe))(e)},ue=function(e){return ee((function(t){return t.eat("(")&&e(t)?re(t,")"):{matched:!1}}))},se=ue((function(e){return!!e.eatAny("?=","?!")})),oe=function(e){return e.eatAny("^","$","\\b","\\B")?{matched:!0}:ue((function(e){return e.unicode?!!e.eatAny("?=","?!","?<=","?<!"):!!e.eatAny("?<=","?<!")}))(e)},ce=function(e){return{matched:null!==e.eatNaturalNumber()}},pe=function(e){return ee((function(t){if(!e(t).matched)return{matched:!1};if(t.match("{")){var r=ee((function(e){e.eat("{");var t=e.eatNaturalNumber();if(null===t)return{matched:!1};if(e.eat(",")&&e.matchAny.apply(e,U($))){var r=e.eatNaturalNumber();if(null===r||parseInt(t)>parseInt(r))return{matched:!1}}return e.eat("}")?(e.eat("?"),{matched:!0}):{matched:!1}}))(t);return r.matched?r:{matched:!t.unicode}}return t.eatAny("*","+","?")&&t.eat("?"),{matched:!0}}))},le=function(e){return function(t){var r=t.nextCodePoint();return null===r||-1!==e.indexOf(r)?{matched:!1}:(t.skipCodePoint(),{matched:!0})}},de=le(H),he=le(K),fe=function(e){if(e.unicode)return ie(de,(function(e){return{matched:!!e.eat(".")}}),ee((function(e){return e.eat("\\")?_e(e):{matched:!1}})),Te,ue((function(e){return e.eat("?:")})),me)(e);var t=ie((function(e){return{matched:!!e.eat(".")}}),ee((function(e){return e.eat("\\")?_e(e):{matched:!1}})),ee((function(e){return{matched:e.eat("\\")&&e.match("c")}})),Te,ue((function(e){return e.eat("?:")})),me)(e);return!t.matched&&function(e){return ee((function(e){return{matched:!(!e.eat("{")||!ce(e).matched||e.eat(",")&&!e.match("}")&&!ce(e).matched||!e.eat("}"))}}))(e)}(e).matched?{matched:!1}:t.matched?t:he(e)},me=ee((function(e){if(!e.eat("("))return{matched:!1};var t=ee((function(t){return e.eat("?")?Se(t):{matched:!1}}))(e);if(!re(e,")").matched)return{matched:!1};if(t.matched){if(-1!==e.groupingNames.indexOf(t.data))return{matched:!1};e.groupingNames.push(t.data)}return e.capturingGroups++,{matched:!0}})),ye=ee((function(e){var t=e.eatAny.apply(e,U($));return null===t?{matched:!1}:("0"===t||e.backreference(parseInt(t+(e.eatNaturalNumber()||""))),{matched:!0})})),Ee=function(e){return e.eatAny("d","D","s","S","w","W")?{matched:!0}:e.unicode?ee((function(e){return(e.eat("p{")||e.eat("P{"))&&xe(e).matched?{matched:!!e.eat("}")}:{matched:!1}}))(e):{matched:!1}},De=function(e){for(var t=[],r=void 0;r=e.eatAny.apply(e,U(X).concat(U($),["_"]));)t.push(r);return{matched:t.length>0,data:t.join("")}},ge=["General_Category","Script","Script_Extensions","scx","sc","gc"],ve=M.default.get("General_Category"),Ae=function(e){var t=De(e);return!t.matched||ge.includes(t.data)?{matched:!1}:{matched:V((function(){return(0,R.default)(t.data)}))||null!=ve.get(t.data)}},xe=function(e){return ie(ee((function(e){var t=function(e){for(var t=[],r=void 0;r=e.eatAny.apply(e,U(X).concat(["_"]));)t.push(r);return{matched:t.length>0,data:t.join("")}}(e);if(!t.matched||!e.eat("="))return{matched:!1};var r=De(e);return r.matched?{matched:V((function(){return(0,P.default)(j.default.get(t.data)||t.data,r.data)}))}:{matched:!1}})),ee(Ae))(e)},Ce=ie((function(e){var t=e.eatAny.apply(e,U(Y));return null===t?{matched:!1}:{matched:!0,value:q[t]}}),ee((function(e){if(!e.eat("c"))return{matched:!1};var t=e.eatAny.apply(e,U(X));return null===t?{matched:!1}:{matched:!0,value:t.charCodeAt(0)%32}})),ee((function(e){return!e.eat("0")||e.eatAny.apply(e,U($))?{matched:!1}:{matched:!0,value:0}})),ee((function(e){if(!e.eat("x"))return{matched:!1};var t=[0,0].map((function(){return e.eatAny.apply(e,U(z))}));return t.some((function(e){return null===e}))?{matched:!1}:{matched:!0,value:parseInt(t.join(""),16)}})),te,ee((function(e){if(e.unicode)return{matched:!1};var t=e.eatAny.apply(e,U(J));if(null===t)return{matched:!1};var r=parseInt(t,8);if(-1===J.indexOf(e.nextCodePoint()))return{matched:!0,value:r};var n=e.eatAny.apply(e,U(J)),i=parseInt(n,8);if(r<4){if(-1===J.indexOf(e.nextCodePoint()))return{matched:!0,value:r<<3|i};var a=e.eatAny.apply(e,U(J));return{matched:!0,value:r<<6|i<<3|parseInt(a,8)}}return{matched:!0,value:r<<3|i}})),ee((function(e){if(!e.unicode)return{matched:!1};var t=e.eatAny.apply(e,U(H));return null===t?{matched:!1}:{matched:!0,value:t.charCodeAt(0)}})),(function(e){return e.unicode&&e.eat("/")?{matched:!0,value:"/".charCodeAt(0)}:{matched:!1}}),ee((function(e){if(e.unicode)return{matched:!1};var t=e.nextCodePoint();return null!==t&&"c"!==t&&"k"!==t?(e.skipCodePoint(),{matched:!0,value:t.codePointAt(0)}):{matched:!1}}))),be=ee((function(e){if(!e.eat("k"))return{matched:!1};var t=Se(e);return t.matched?(e.backreferenceNames.push(t.data),{matched:!0}):(e.backreferenceNames.push(Z),{matched:!0})})),Se=ee((function(e){if(!e.eat("<"))return{matched:!1};var t=[],r=e.eatIdentifierStart();if(!r)return{matched:!1};t.push(r);for(var n=void 0;n=e.eatIdentifierPart();)t.push(n);return e.eat(">")?{matched:t.length>0,data:t.join("")}:{matched:!1}})),_e=ie(ye,Ee,Ce,be),Te=ee((function(e){if(!e.eat("["))return{matched:!1};e.eat("^");var t=ie((function(e){return{matched:!!e.eat("b"),value:8}}),(function(e){return{matched:e.unicode&&!!e.eat("-"),value:"-".charCodeAt(0)}}),ee((function(e){if(e.unicode||!e.eat("c"))return{matched:!1};var t=e.eatAny.apply(e,U($).concat(["_"]));return null===t?{matched:!1}:{matched:!0,value:t.charCodeAt(0)%32}})),Ee,Ce,(function(e){return{matched:!e.unicode&&!!e.eat("k"),value:107}})),r=function(e){var r=e.nextCodePoint();if("]"===r||"-"===r||null===r)return{matched:!1};if("\\"!==r)return e.skipCodePoint(),{matched:!0,value:r.codePointAt(0)};e.eat("\\");var n=t(e);return n.matched||"c"!==e.nextCodePoint()||e.unicode?n:{matched:!0,value:"\\".charCodeAt(0)}},n=function(e){return e.eat("-")?{matched:!0,value:"-".charCodeAt(0)}:r(e)},i=function(e,t){var r=function(e){return void 0===e.value&&e.matched};if(e.eat("-")){if(e.match("]"))return{matched:!0};var i=n(e);return i.matched?e.unicode&&(r(t)||r(i))||(e.unicode||!r(t)&&!r(i))&&t.value>i.value?{matched:!1}:e.match("]")?{matched:!0}:a(e):{matched:!1}}return e.match("]")?{matched:!0}:u(e)},a=function(e){var t=n(e);return t.matched?i(e,t):{matched:!1}},u=function(e){var t=r(e);return t.matched?i(e,t):{matched:!1}};if(e.eat("]"))return{matched:!0};var s=a(e);return s.matched&&e.eat("]"),s})),Fe={};function ke(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(Fe,"__esModule",{value:!0}),Fe.ArrayAssignmentTarget=function e(t){var r=t.elements,n=t.rest;ke(this,e),this.type="ArrayAssignmentTarget",this.elements=r,this.rest=n},Fe.ArrayBinding=function e(t){var r=t.elements,n=t.rest;ke(this,e),this.type="ArrayBinding",this.elements=r,this.rest=n},Fe.ArrayExpression=function e(t){var r=t.elements;ke(this,e),this.type="ArrayExpression",this.elements=r},Fe.ArrowExpression=function e(t){var r=t.isAsync,n=t.params,i=t.body;ke(this,e),this.type="ArrowExpression",this.isAsync=r,this.params=n,this.body=i},Fe.AssignmentExpression=function e(t){var r=t.binding,n=t.expression;ke(this,e),this.type="AssignmentExpression",this.binding=r,this.expression=n},Fe.AssignmentTargetIdentifier=function e(t){var r=t.name;ke(this,e),this.type="AssignmentTargetIdentifier",this.name=r},Fe.AssignmentTargetPropertyIdentifier=function e(t){var r=t.binding,n=t.init;ke(this,e),this.type="AssignmentTargetPropertyIdentifier",this.binding=r,this.init=n},Fe.AssignmentTargetPropertyProperty=function e(t){var r=t.name,n=t.binding;ke(this,e),this.type="AssignmentTargetPropertyProperty",this.name=r,this.binding=n},Fe.AssignmentTargetWithDefault=function e(t){var r=t.binding,n=t.init;ke(this,e),this.type="AssignmentTargetWithDefault",this.binding=r,this.init=n},Fe.AwaitExpression=function e(t){var r=t.expression;ke(this,e),this.type="AwaitExpression",this.expression=r},Fe.BinaryExpression=function e(t){var r=t.left,n=t.operator,i=t.right;ke(this,e),this.type="BinaryExpression",this.left=r,this.operator=n,this.right=i},Fe.BindingIdentifier=function e(t){var r=t.name;ke(this,e),this.type="BindingIdentifier",this.name=r},Fe.BindingPropertyIdentifier=function e(t){var r=t.binding,n=t.init;ke(this,e),this.type="BindingPropertyIdentifier",this.binding=r,this.init=n},Fe.BindingPropertyProperty=function e(t){var r=t.name,n=t.binding;ke(this,e),this.type="BindingPropertyProperty",this.name=r,this.binding=n},Fe.BindingWithDefault=function e(t){var r=t.binding,n=t.init;ke(this,e),this.type="BindingWithDefault",this.binding=r,this.init=n},Fe.Block=function e(t){var r=t.statements;ke(this,e),this.type="Block",this.statements=r},Fe.BlockStatement=function e(t){var r=t.block;ke(this,e),this.type="BlockStatement",this.block=r},Fe.BreakStatement=function e(t){var r=t.label;ke(this,e),this.type="BreakStatement",this.label=r},Fe.CallExpression=function e(t){var r=t.callee,n=t.arguments;ke(this,e),this.type="CallExpression",this.callee=r,this.arguments=n},Fe.CatchClause=function e(t){var r=t.binding,n=t.body;ke(this,e),this.type="CatchClause",this.binding=r,this.body=n},Fe.ClassDeclaration=function e(t){var r=t.name,n=t.super,i=t.elements;ke(this,e),this.type="ClassDeclaration",this.name=r,this.super=n,this.elements=i},Fe.ClassElement=function e(t){var r=t.isStatic,n=t.method;ke(this,e),this.type="ClassElement",this.isStatic=r,this.method=n},Fe.ClassExpression=function e(t){var r=t.name,n=t.super,i=t.elements;ke(this,e),this.type="ClassExpression",this.name=r,this.super=n,this.elements=i},Fe.CompoundAssignmentExpression=function e(t){var r=t.binding,n=t.operator,i=t.expression;ke(this,e),this.type="CompoundAssignmentExpression",this.binding=r,this.operator=n,this.expression=i},Fe.ComputedMemberAssignmentTarget=function e(t){var r=t.object,n=t.expression;ke(this,e),this.type="ComputedMemberAssignmentTarget",this.object=r,this.expression=n},Fe.ComputedMemberExpression=function e(t){var r=t.object,n=t.expression;ke(this,e),this.type="ComputedMemberExpression",this.object=r,this.expression=n},Fe.ComputedPropertyName=function e(t){var r=t.expression;ke(this,e),this.type="ComputedPropertyName",this.expression=r},Fe.ConditionalExpression=function e(t){var r=t.test,n=t.consequent,i=t.alternate;ke(this,e),this.type="ConditionalExpression",this.test=r,this.consequent=n,this.alternate=i},Fe.ContinueStatement=function e(t){var r=t.label;ke(this,e),this.type="ContinueStatement",this.label=r},Fe.DataProperty=function e(t){var r=t.name,n=t.expression;ke(this,e),this.type="DataProperty",this.name=r,this.expression=n},Fe.DebuggerStatement=function e(){ke(this,e),this.type="DebuggerStatement"},Fe.Directive=function e(t){var r=t.rawValue;ke(this,e),this.type="Directive",this.rawValue=r},Fe.DoWhileStatement=function e(t){var r=t.body,n=t.test;ke(this,e),this.type="DoWhileStatement",this.body=r,this.test=n},Fe.EmptyStatement=function e(){ke(this,e),this.type="EmptyStatement"},Fe.Export=function e(t){var r=t.declaration;ke(this,e),this.type="Export",this.declaration=r},Fe.ExportAllFrom=function e(t){var r=t.moduleSpecifier;ke(this,e),this.type="ExportAllFrom",this.moduleSpecifier=r},Fe.ExportDefault=function e(t){var r=t.body;ke(this,e),this.type="ExportDefault",this.body=r},Fe.ExportFrom=function e(t){var r=t.namedExports,n=t.moduleSpecifier;ke(this,e),this.type="ExportFrom",this.namedExports=r,this.moduleSpecifier=n},Fe.ExportFromSpecifier=function e(t){var r=t.name,n=t.exportedName;ke(this,e),this.type="ExportFromSpecifier",this.name=r,this.exportedName=n},Fe.ExportLocalSpecifier=function e(t){var r=t.name,n=t.exportedName;ke(this,e),this.type="ExportLocalSpecifier",this.name=r,this.exportedName=n},Fe.ExportLocals=function e(t){var r=t.namedExports;ke(this,e),this.type="ExportLocals",this.namedExports=r},Fe.ExpressionStatement=function e(t){var r=t.expression;ke(this,e),this.type="ExpressionStatement",this.expression=r},Fe.ForAwaitStatement=function e(t){var r=t.left,n=t.right,i=t.body;ke(this,e),this.type="ForAwaitStatement",this.left=r,this.right=n,this.body=i},Fe.ForInStatement=function e(t){var r=t.left,n=t.right,i=t.body;ke(this,e),this.type="ForInStatement",this.left=r,this.right=n,this.body=i},Fe.ForOfStatement=function e(t){var r=t.left,n=t.right,i=t.body;ke(this,e),this.type="ForOfStatement",this.left=r,this.right=n,this.body=i},Fe.ForStatement=function e(t){var r=t.init,n=t.test,i=t.update,a=t.body;ke(this,e),this.type="ForStatement",this.init=r,this.test=n,this.update=i,this.body=a},Fe.FormalParameters=function e(t){var r=t.items,n=t.rest;ke(this,e),this.type="FormalParameters",this.items=r,this.rest=n},Fe.FunctionBody=function e(t){var r=t.directives,n=t.statements;ke(this,e),this.type="FunctionBody",this.directives=r,this.statements=n},Fe.FunctionDeclaration=function e(t){var r=t.isAsync,n=t.isGenerator,i=t.name,a=t.params,u=t.body;ke(this,e),this.type="FunctionDeclaration",this.isAsync=r,this.isGenerator=n,this.name=i,this.params=a,this.body=u},Fe.FunctionExpression=function e(t){var r=t.isAsync,n=t.isGenerator,i=t.name,a=t.params,u=t.body;ke(this,e),this.type="FunctionExpression",this.isAsync=r,this.isGenerator=n,this.name=i,this.params=a,this.body=u},Fe.Getter=function e(t){var r=t.name,n=t.body;ke(this,e),this.type="Getter",this.name=r,this.body=n},Fe.IdentifierExpression=function e(t){var r=t.name;ke(this,e),this.type="IdentifierExpression",this.name=r},Fe.IfStatement=function e(t){var r=t.test,n=t.consequent,i=t.alternate;ke(this,e),this.type="IfStatement",this.test=r,this.consequent=n,this.alternate=i},Fe.Import=function e(t){var r=t.defaultBinding,n=t.namedImports,i=t.moduleSpecifier;ke(this,e),this.type="Import",this.defaultBinding=r,this.namedImports=n,this.moduleSpecifier=i},Fe.ImportNamespace=function e(t){var r=t.defaultBinding,n=t.namespaceBinding,i=t.moduleSpecifier;ke(this,e),this.type="ImportNamespace",this.defaultBinding=r,this.namespaceBinding=n,this.moduleSpecifier=i},Fe.ImportSpecifier=function e(t){var r=t.name,n=t.binding;ke(this,e),this.type="ImportSpecifier",this.name=r,this.binding=n},Fe.LabeledStatement=function e(t){var r=t.label,n=t.body;ke(this,e),this.type="LabeledStatement",this.label=r,this.body=n},Fe.LiteralBooleanExpression=function e(t){var r=t.value;ke(this,e),this.type="LiteralBooleanExpression",this.value=r},Fe.LiteralInfinityExpression=function e(){ke(this,e),this.type="LiteralInfinityExpression"},Fe.LiteralNullExpression=function e(){ke(this,e),this.type="LiteralNullExpression"},Fe.LiteralNumericExpression=function e(t){var r=t.value;ke(this,e),this.type="LiteralNumericExpression",this.value=r},Fe.LiteralRegExpExpression=function e(t){var r=t.pattern,n=t.global,i=t.ignoreCase,a=t.multiLine,u=t.dotAll,s=t.unicode,o=t.sticky;ke(this,e),this.type="LiteralRegExpExpression",this.pattern=r,this.global=n,this.ignoreCase=i,this.multiLine=a,this.dotAll=u,this.unicode=s,this.sticky=o},Fe.LiteralStringExpression=function e(t){var r=t.value;ke(this,e),this.type="LiteralStringExpression",this.value=r},Fe.Method=function e(t){var r=t.isAsync,n=t.isGenerator,i=t.name,a=t.params,u=t.body;ke(this,e),this.type="Method",this.isAsync=r,this.isGenerator=n,this.name=i,this.params=a,this.body=u},Fe.Module=function e(t){var r=t.directives,n=t.items;ke(this,e),this.type="Module",this.directives=r,this.items=n},Fe.NewExpression=function e(t){var r=t.callee,n=t.arguments;ke(this,e),this.type="NewExpression",this.callee=r,this.arguments=n},Fe.NewTargetExpression=function e(){ke(this,e),this.type="NewTargetExpression"},Fe.ObjectAssignmentTarget=function e(t){var r=t.properties,n=t.rest;ke(this,e),this.type="ObjectAssignmentTarget",this.properties=r,this.rest=n},Fe.ObjectBinding=function e(t){var r=t.properties,n=t.rest;ke(this,e),this.type="ObjectBinding",this.properties=r,this.rest=n},Fe.ObjectExpression=function e(t){var r=t.properties;ke(this,e),this.type="ObjectExpression",this.properties=r},Fe.ReturnStatement=function e(t){var r=t.expression;ke(this,e),this.type="ReturnStatement",this.expression=r},Fe.Script=function e(t){var r=t.directives,n=t.statements;ke(this,e),this.type="Script",this.directives=r,this.statements=n},Fe.Setter=function e(t){var r=t.name,n=t.param,i=t.body;ke(this,e),this.type="Setter",this.name=r,this.param=n,this.body=i},Fe.ShorthandProperty=function e(t){var r=t.name;ke(this,e),this.type="ShorthandProperty",this.name=r},Fe.SpreadElement=function e(t){var r=t.expression;ke(this,e),this.type="SpreadElement",this.expression=r},Fe.SpreadProperty=function e(t){var r=t.expression;ke(this,e),this.type="SpreadProperty",this.expression=r},Fe.StaticMemberAssignmentTarget=function e(t){var r=t.object,n=t.property;ke(this,e),this.type="StaticMemberAssignmentTarget",this.object=r,this.property=n},Fe.StaticMemberExpression=function e(t){var r=t.object,n=t.property;ke(this,e),this.type="StaticMemberExpression",this.object=r,this.property=n},Fe.StaticPropertyName=function e(t){var r=t.value;ke(this,e),this.type="StaticPropertyName",this.value=r},Fe.Super=function e(){ke(this,e),this.type="Super"},Fe.SwitchCase=function e(t){var r=t.test,n=t.consequent;ke(this,e),this.type="SwitchCase",this.test=r,this.consequent=n},Fe.SwitchDefault=function e(t){var r=t.consequent;ke(this,e),this.type="SwitchDefault",this.consequent=r},Fe.SwitchStatement=function e(t){var r=t.discriminant,n=t.cases;ke(this,e),this.type="SwitchStatement",this.discriminant=r,this.cases=n},Fe.SwitchStatementWithDefault=function e(t){var r=t.discriminant,n=t.preDefaultCases,i=t.defaultCase,a=t.postDefaultCases;ke(this,e),this.type="SwitchStatementWithDefault",this.discriminant=r,this.preDefaultCases=n,this.defaultCase=i,this.postDefaultCases=a},Fe.TemplateElement=function e(t){var r=t.rawValue;ke(this,e),this.type="TemplateElement",this.rawValue=r},Fe.TemplateExpression=function e(t){var r=t.tag,n=t.elements;ke(this,e),this.type="TemplateExpression",this.tag=r,this.elements=n},Fe.ThisExpression=function e(){ke(this,e),this.type="ThisExpression"},Fe.ThrowStatement=function e(t){var r=t.expression;ke(this,e),this.type="ThrowStatement",this.expression=r},Fe.TryCatchStatement=function e(t){var r=t.body,n=t.catchClause;ke(this,e),this.type="TryCatchStatement",this.body=r,this.catchClause=n},Fe.TryFinallyStatement=function e(t){var r=t.body,n=t.catchClause,i=t.finalizer;ke(this,e),this.type="TryFinallyStatement",this.body=r,this.catchClause=n,this.finalizer=i},Fe.UnaryExpression=function e(t){var r=t.operator,n=t.operand;ke(this,e),this.type="UnaryExpression",this.operator=r,this.operand=n},Fe.UpdateExpression=function e(t){var r=t.isPrefix,n=t.operator,i=t.operand;ke(this,e),this.type="UpdateExpression",this.isPrefix=r,this.operator=n,this.operand=i},Fe.VariableDeclaration=function e(t){var r=t.kind,n=t.declarators;ke(this,e),this.type="VariableDeclaration",this.kind=r,this.declarators=n},Fe.VariableDeclarationStatement=function e(t){var r=t.declaration;ke(this,e),this.type="VariableDeclarationStatement",this.declaration=r},Fe.VariableDeclarator=function e(t){var r=t.binding,n=t.init;ke(this,e),this.type="VariableDeclarator",this.binding=r,this.init=n},Fe.WhileStatement=function e(t){var r=t.test,n=t.body;ke(this,e),this.type="WhileStatement",this.test=r,this.body=n},Fe.WithStatement=function e(t){var r=t.object,n=t.body;ke(this,e),this.type="WithStatement",this.object=r,this.body=n},Fe.YieldExpression=function e(t){var r=t.expression;ke(this,e),this.type="YieldExpression",this.expression=r},Fe.YieldGeneratorExpression=function e(t){var r=t.expression;ke(this,e),this.type="YieldGeneratorExpression",this.expression=r},Object.defineProperty(b,"__esModule",{value:!0}),b.GenericParser=void 0;var Be=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),we=o,Ne=Pe(S),Ie=n,Oe=Pe(Ie),Le=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(Fe);function Pe(e){return e&&e.__esModule?e:{default:e}}var Me="CoverParenthesizedExpressionAndArrowParameterList",Re=8,je=9,Ge=10,We=11,Ue=12,Ve={"||":3,"&&":4,"|":5,"^":6,"&":7,"==":Re,"!=":Re,"===":Re,"!==":Re,"<":je,">":je,"<=":je,">=":je,in:je,instanceof:je,"<<":Ge,">>":Ge,">>>":Ge,"+":We,"-":We,"*":Ue,"%":Ue,"/":Ue};function He(e){if(null==e)return!1;switch(e.type){case"IdentifierExpression":case"ComputedMemberExpression":case"StaticMemberExpression":return!0}return!1}function Ke(e){return e.type===Ie.TokenType.INC||e.type===Ie.TokenType.DEC}b.GenericParser=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var r=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return r.allowIn=!0,r.inFunctionBody=!1,r.inParameter=!1,r.allowYieldExpression=!1,r.allowAwaitExpression=!1,r.firstAwaitLocation=null,r.module=!1,r.moduleIsTheGoalSymbol=!1,r.strict=!1,r.isBindingElement=!0,r.isAssignmentTarget=!0,r.firstExprError=null,r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),Be(t,[{key:"match",value:function(e){return this.lookahead.type===e}},{key:"matchIdentifier",value:function(){switch(this.lookahead.type){case Ie.TokenType.IDENTIFIER:case Ie.TokenType.LET:case Ie.TokenType.YIELD:case Ie.TokenType.ASYNC:return!0;case Ie.TokenType.AWAIT:return!this.moduleIsTheGoalSymbol&&(null===this.firstAwaitLocation&&(this.firstAwaitLocation=this.getLocation()),!0);case Ie.TokenType.ESCAPED_KEYWORD:return"await"!==this.lookahead.value||this.moduleIsTheGoalSymbol?"let"===this.lookahead.value||"yield"===this.lookahead.value||"async"===this.lookahead.value:(null===this.firstAwaitLocation&&(this.firstAwaitLocation=this.getLocation()),!0)}return!1}},{key:"eat",value:function(e){return this.lookahead.type===e?this.lex():null}},{key:"expect",value:function(e){if(this.lookahead.type===e)return this.lex();throw this.createUnexpected(this.lookahead)}},{key:"matchContextualKeyword",value:function(e){return this.lookahead.type===Ie.TokenType.IDENTIFIER&&!this.lookahead.escaped&&this.lookahead.value===e}},{key:"expectContextualKeyword",value:function(e){if(this.lookahead.type===Ie.TokenType.IDENTIFIER&&!this.lookahead.escaped&&this.lookahead.value===e)return this.lex();throw this.createUnexpected(this.lookahead)}},{key:"eatContextualKeyword",value:function(e){return this.lookahead.type!==Ie.TokenType.IDENTIFIER||this.lookahead.escaped||this.lookahead.value!==e?null:this.lex()}},{key:"consumeSemicolon",value:function(){if(!(this.eat(Ie.TokenType.SEMICOLON)||this.hasLineTerminatorBeforeNext||this.eof()||this.match(Ie.TokenType.RBRACE)))throw this.createUnexpected(this.lookahead)}},{key:"startNode",value:function(e){return e}},{key:"copyNode",value:function(e,t){return t}},{key:"finishNode",value:function(e){return e}},{key:"parseModule",value:function(){this.moduleIsTheGoalSymbol=this.module=this.strict=!0,this.lookahead=this.advance();var e=this.startNode(),t=this.parseBody(),r=t.directives,n=t.statements;if(!this.match(Ie.TokenType.EOS))throw this.createUnexpected(this.lookahead);return this.finishNode(new Le.Module({directives:r,items:n}),e)}},{key:"parseScript",value:function(){this.lookahead=this.advance();var e=this.startNode(),t=this.parseBody(),r=t.directives,n=t.statements;if(!this.match(Ie.TokenType.EOS))throw this.createUnexpected(this.lookahead);return this.finishNode(new Le.Script({directives:r,statements:n}),e)}},{key:"parseFunctionBody",value:function(){var e=this.inFunctionBody,t=this.module,r=this.strict;this.inFunctionBody=!0,this.module=!1;var n=this.startNode();this.expect(Ie.TokenType.LBRACE);var i=new Le.FunctionBody(this.parseBody());return this.expect(Ie.TokenType.RBRACE),i=this.finishNode(i,n),this.inFunctionBody=e,this.module=t,this.strict=r,i}},{key:"parseBody",value:function(){for(var e=[],t=[],r=!0,n=null;!this.eof()&&!this.match(Ie.TokenType.RBRACE);){var i=this.lookahead,a=i.slice.text,u=i.type===Ie.TokenType.STRING,s=this.module,o=this.getLocation(),c=this.startNode(),p=s?this.parseModuleItem():this.parseStatementListItem();if(r)if(u&&"ExpressionStatement"===p.type&&"LiteralStringExpression"===p.expression.type){!n&&i.octal&&(n=this.createErrorWithLocation(o,"Unexpected legacy octal escape sequence: \\"+i.octal));var l=a.slice(1,-1);"use strict"===l&&(this.strict=!0),e.push(this.finishNode(new Le.Directive({rawValue:l}),c))}else{if(r=!1,n&&this.strict)throw n;t.push(p)}else t.push(p)}if(n&&this.strict)throw n;return{directives:e,statements:t}}},{key:"parseImportSpecifier",value:function(){var e=this.startNode(),t=void 0;if(this.matchIdentifier()){if(t=this.parseIdentifier(),!this.eatContextualKeyword("as"))return this.finishNode(new Le.ImportSpecifier({name:null,binding:this.finishNode(new Le.BindingIdentifier({name:t}),e)}),e)}else this.lookahead.type.klass.isIdentifierName&&(t=this.parseIdentifierName(),this.expectContextualKeyword("as"));return this.finishNode(new Le.ImportSpecifier({name:t,binding:this.parseBindingIdentifier()}),e)}},{key:"parseNameSpaceBinding",value:function(){return this.expect(Ie.TokenType.MUL),this.expectContextualKeyword("as"),this.parseBindingIdentifier()}},{key:"parseNamedImports",value:function(){var e=[];for(this.expect(Ie.TokenType.LBRACE);!this.eat(Ie.TokenType.RBRACE);)if(e.push(this.parseImportSpecifier()),!this.eat(Ie.TokenType.COMMA)){this.expect(Ie.TokenType.RBRACE);break}return e}},{key:"parseFromClause",value:function(){return this.expectContextualKeyword("from"),this.expect(Ie.TokenType.STRING).str}},{key:"parseImportDeclaration",value:function(){var e=this.startNode(),t=null,r=void 0;if(this.expect(Ie.TokenType.IMPORT),this.match(Ie.TokenType.STRING))return r=this.lex().str,this.consumeSemicolon(),this.finishNode(new Le.Import({defaultBinding:null,namedImports:[],moduleSpecifier:r}),e);if(this.matchIdentifier()&&(t=this.parseBindingIdentifier(),!this.eat(Ie.TokenType.COMMA))){var n=new Le.Import({defaultBinding:t,namedImports:[],moduleSpecifier:this.parseFromClause()});return this.consumeSemicolon(),this.finishNode(n,e)}if(this.match(Ie.TokenType.MUL)){var i=new Le.ImportNamespace({defaultBinding:t,namespaceBinding:this.parseNameSpaceBinding(),moduleSpecifier:this.parseFromClause()});return this.consumeSemicolon(),this.finishNode(i,e)}if(this.match(Ie.TokenType.LBRACE)){var a=new Le.Import({defaultBinding:t,namedImports:this.parseNamedImports(),moduleSpecifier:this.parseFromClause()});return this.consumeSemicolon(),this.finishNode(a,e)}throw this.createUnexpected(this.lookahead)}},{key:"parseExportSpecifier",value:function(){var e=this.startNode(),t=this.finishNode({type:"ExportNameOfUnknownType",isIdentifier:this.matchIdentifier(),value:this.parseIdentifierName()},e);if(this.eatContextualKeyword("as")){var r=this.parseIdentifierName();return this.finishNode({name:t,exportedName:r},e)}return this.finishNode({name:t,exportedName:null},e)}},{key:"parseExportClause",value:function(){this.expect(Ie.TokenType.LBRACE);for(var e=[];!this.eat(Ie.TokenType.RBRACE);)if(e.push(this.parseExportSpecifier()),!this.eat(Ie.TokenType.COMMA)){this.expect(Ie.TokenType.RBRACE);break}return e}},{key:"parseExportDeclaration",value:function(){var e=this,t=this.startNode(),r=void 0;switch(this.expect(Ie.TokenType.EXPORT),this.lookahead.type){case Ie.TokenType.MUL:this.lex(),r=new Le.ExportAllFrom({moduleSpecifier:this.parseFromClause()}),this.consumeSemicolon();break;case Ie.TokenType.LBRACE:var n=this.parseExportClause(),i=null;this.matchContextualKeyword("from")?(i=this.parseFromClause(),r=new Le.ExportFrom({namedExports:n.map((function(t){return e.copyNode(t,new Le.ExportFromSpecifier({name:t.name.value,exportedName:t.exportedName}))})),moduleSpecifier:i})):(n.forEach((function(t){if(!t.name.isIdentifier)throw e.createError(we.ErrorMessages.ILLEGAL_EXPORTED_NAME)})),r=new Le.ExportLocals({namedExports:n.map((function(t){return e.copyNode(t,new Le.ExportLocalSpecifier({name:e.copyNode(t.name,new Le.IdentifierExpression({name:t.name.value})),exportedName:t.exportedName}))}))})),this.consumeSemicolon();break;case Ie.TokenType.CLASS:r=new Le.Export({declaration:this.parseClass({isExpr:!1,inDefault:!1})});break;case Ie.TokenType.FUNCTION:r=new Le.Export({declaration:this.parseFunction({isExpr:!1,inDefault:!1,allowGenerator:!0,isAsync:!1})});break;case Ie.TokenType.ASYNC:var a=this.startNode();this.lex(),r=new Le.Export({declaration:this.parseFunction({isExpr:!1,inDefault:!1,allowGenerator:!0,isAsync:!0,startState:a})});break;case Ie.TokenType.DEFAULT:switch(this.lex(),this.lookahead.type){case Ie.TokenType.FUNCTION:r=new Le.ExportDefault({body:this.parseFunction({isExpr:!1,inDefault:!0,allowGenerator:!0,isAsync:!1})});break;case Ie.TokenType.CLASS:r=new Le.ExportDefault({body:this.parseClass({isExpr:!1,inDefault:!0})});break;case Ie.TokenType.ASYNC:var u=this.startNode(),s=this.saveLexerState();if(this.lex(),!this.hasLineTerminatorBeforeNext&&this.match(Ie.TokenType.FUNCTION)){r=new Le.ExportDefault({body:this.parseFunction({isExpr:!1,inDefault:!0,allowGenerator:!1,isAsync:!0,startState:u})});break}this.restoreLexerState(s);default:r=new Le.ExportDefault({body:this.parseAssignmentExpression()}),this.consumeSemicolon()}break;case Ie.TokenType.VAR:case Ie.TokenType.LET:case Ie.TokenType.CONST:r=new Le.Export({declaration:this.parseVariableDeclaration(!0)}),this.consumeSemicolon();break;default:throw this.createUnexpected(this.lookahead)}return this.finishNode(r,t)}},{key:"parseModuleItem",value:function(){switch(this.lookahead.type){case Ie.TokenType.IMPORT:return this.parseImportDeclaration();case Ie.TokenType.EXPORT:return this.parseExportDeclaration();default:return this.parseStatementListItem()}}},{key:"lookaheadLexicalDeclaration",value:function(){if(this.match(Ie.TokenType.LET)||this.match(Ie.TokenType.CONST)){var e=this.saveLexerState();if(this.lex(),this.matchIdentifier()||this.match(Ie.TokenType.LBRACE)||this.match(Ie.TokenType.LBRACK))return this.restoreLexerState(e),!0;this.restoreLexerState(e)}return!1}},{key:"parseStatementListItem",value:function(){if(this.eof())throw this.createUnexpected(this.lookahead);switch(this.lookahead.type){case Ie.TokenType.FUNCTION:return this.parseFunction({isExpr:!1,inDefault:!1,allowGenerator:!0,isAsync:!1});case Ie.TokenType.CLASS:return this.parseClass({isExpr:!1,inDefault:!1});case Ie.TokenType.ASYNC:var e=this.getLocation(),t=this.saveLexerState();return this.lex(),!this.hasLineTerminatorBeforeNext&&this.match(Ie.TokenType.FUNCTION)?this.parseFunction({isExpr:!1,inDefault:!1,allowGenerator:!0,isAsync:!0,startState:e}):(this.restoreLexerState(t),this.parseStatement());default:if(this.lookaheadLexicalDeclaration()){var r=this.startNode();return this.finishNode(this.parseVariableDeclarationStatement(),r)}return this.parseStatement()}}},{key:"parseStatement",value:function(){var e=this.startNode(),t=this.isolateCoverGrammar(this.parseStatementHelper);return this.finishNode(t,e)}},{key:"parseStatementHelper",value:function(){if(this.eof())throw this.createUnexpected(this.lookahead);switch(this.lookahead.type){case Ie.TokenType.SEMICOLON:return this.parseEmptyStatement();case Ie.TokenType.LBRACE:return this.parseBlockStatement();case Ie.TokenType.LPAREN:return this.parseExpressionStatement();case Ie.TokenType.BREAK:return this.parseBreakStatement();case Ie.TokenType.CONTINUE:return this.parseContinueStatement();case Ie.TokenType.DEBUGGER:return this.parseDebuggerStatement();case Ie.TokenType.DO:return this.parseDoWhileStatement();case Ie.TokenType.FOR:return this.parseForStatement();case Ie.TokenType.IF:return this.parseIfStatement();case Ie.TokenType.RETURN:return this.parseReturnStatement();case Ie.TokenType.SWITCH:return this.parseSwitchStatement();case Ie.TokenType.THROW:return this.parseThrowStatement();case Ie.TokenType.TRY:return this.parseTryStatement();case Ie.TokenType.VAR:return this.parseVariableDeclarationStatement();case Ie.TokenType.WHILE:return this.parseWhileStatement();case Ie.TokenType.WITH:return this.parseWithStatement();case Ie.TokenType.FUNCTION:case Ie.TokenType.CLASS:throw this.createUnexpected(this.lookahead);default:var e=this.saveLexerState();if(this.eat(Ie.TokenType.LET)){if(this.match(Ie.TokenType.LBRACK))throw this.restoreLexerState(e),this.createUnexpected(this.lookahead);this.restoreLexerState(e)}else if(this.eat(Ie.TokenType.ASYNC)){if(!this.hasLineTerminatorBeforeNext&&this.match(Ie.TokenType.FUNCTION))throw this.createUnexpected(this.lookahead);this.restoreLexerState(e)}var t=this.parseExpression();if("IdentifierExpression"===t.type&&this.eat(Ie.TokenType.COLON)){var r=this.match(Ie.TokenType.FUNCTION)?this.parseFunction({isExpr:!1,inDefault:!1,allowGenerator:!1,isAsync:!1}):this.parseStatement();return new Le.LabeledStatement({label:t.name,body:r})}return this.consumeSemicolon(),new Le.ExpressionStatement({expression:t})}}},{key:"parseEmptyStatement",value:function(){return this.lex(),new Le.EmptyStatement}},{key:"parseBlockStatement",value:function(){return new Le.BlockStatement({block:this.parseBlock()})}},{key:"parseExpressionStatement",value:function(){var e=this.parseExpression();return this.consumeSemicolon(),new Le.ExpressionStatement({expression:e})}},{key:"parseBreakStatement",value:function(){if(this.lex(),this.eat(Ie.TokenType.SEMICOLON)||this.hasLineTerminatorBeforeNext)return new Le.BreakStatement({label:null});var e=null;return this.matchIdentifier()&&(e=this.parseIdentifier()),this.consumeSemicolon(),new Le.BreakStatement({label:e})}},{key:"parseContinueStatement",value:function(){if(this.lex(),this.eat(Ie.TokenType.SEMICOLON)||this.hasLineTerminatorBeforeNext)return new Le.ContinueStatement({label:null});var e=null;return this.matchIdentifier()&&(e=this.parseIdentifier()),this.consumeSemicolon(),new Le.ContinueStatement({label:e})}},{key:"parseDebuggerStatement",value:function(){return this.lex(),this.consumeSemicolon(),new Le.DebuggerStatement}},{key:"parseDoWhileStatement",value:function(){this.lex();var e=this.parseStatement();this.expect(Ie.TokenType.WHILE),this.expect(Ie.TokenType.LPAREN);var t=this.parseExpression();return this.expect(Ie.TokenType.RPAREN),this.eat(Ie.TokenType.SEMICOLON),new Le.DoWhileStatement({body:e,test:t})}},{key:"parseForStatement",value:function(){this.lex();var e=this.allowAwaitExpression&&this.eat(Ie.TokenType.AWAIT);this.expect(Ie.TokenType.LPAREN);var t=null,r=null;if(e&&this.match(Ie.TokenType.SEMICOLON))throw this.createUnexpected(this.lookahead);if(this.eat(Ie.TokenType.SEMICOLON))return this.match(Ie.TokenType.SEMICOLON)||(t=this.parseExpression()),this.expect(Ie.TokenType.SEMICOLON),this.match(Ie.TokenType.RPAREN)||(r=this.parseExpression()),new Le.ForStatement({init:null,test:t,update:r,body:this.getIteratorStatementEpilogue()});var n=this.match(Ie.TokenType.LET),i=this.lookaheadLexicalDeclaration(),a=this.startNode();if(this.match(Ie.TokenType.VAR)||i){var u=this.allowIn;this.allowIn=!1;var s=this.parseVariableDeclaration(!1);if(this.allowIn=u,1===s.declarators.length&&(this.match(Ie.TokenType.IN)||this.matchContextualKeyword("of"))){var o=void 0,c=s.declarators[0];if(this.match(Ie.TokenType.IN)){if(e)throw this.createUnexpected(this.lookahead);if(null!==c.init&&(this.strict||"var"!==s.kind||"BindingIdentifier"!==c.binding.type))throw this.createError(we.ErrorMessages.INVALID_VAR_INIT_FOR_IN);o=Le.ForInStatement,this.lex(),r=this.parseExpression()}else{if(null!==c.init)throw this.createError(e?we.ErrorMessages.INVALID_VAR_INIT_FOR_AWAIT:we.ErrorMessages.INVALID_VAR_INIT_FOR_OF);o=e?Le.ForAwaitStatement:Le.ForOfStatement,this.lex(),r=this.parseAssignmentExpression()}return new o({left:s,right:r,body:this.getIteratorStatementEpilogue()})}if(e)throw this.createUnexpected(this.lookahead);if(this.expect(Ie.TokenType.SEMICOLON),s.declarators.some((function(e){return"BindingIdentifier"!==e.binding.type&&null===e.init})))throw this.createError(we.ErrorMessages.UNINITIALIZED_BINDINGPATTERN_IN_FOR_INIT);return this.match(Ie.TokenType.SEMICOLON)||(t=this.parseExpression()),this.expect(Ie.TokenType.SEMICOLON),this.match(Ie.TokenType.RPAREN)||(r=this.parseExpression()),new Le.ForStatement({init:s,test:t,update:r,body:this.getIteratorStatementEpilogue()})}var p=this.allowIn;this.allowIn=!1;var l=this.inheritCoverGrammar(this.parseAssignmentExpressionOrTarget);if(this.allowIn=p,this.isAssignmentTarget&&"AssignmentExpression"!==l.type&&(this.match(Ie.TokenType.IN)||this.matchContextualKeyword("of"))){if("ObjectAssignmentTarget"!==l.type&&"ArrayAssignmentTarget"!==l.type||(this.firstExprError=null),n&&this.matchContextualKeyword("of"))throw this.createError(e?we.ErrorMessages.INVALID_LHS_IN_FOR_AWAIT:we.ErrorMessages.INVALID_LHS_IN_FOR_OF);var d=void 0;if(this.match(Ie.TokenType.IN)){if(e)throw this.createUnexpected(this.lookahead);d=Le.ForInStatement,this.lex(),r=this.parseExpression()}else d=e?Le.ForAwaitStatement:Le.ForOfStatement,this.lex(),r=this.parseAssignmentExpression();return new d({left:this.transformDestructuring(l),right:r,body:this.getIteratorStatementEpilogue()})}if(e)throw this.createError(we.ErrorMessages.INVALID_LHS_IN_FOR_AWAIT);if(this.firstExprError)throw this.firstExprError;for(;this.eat(Ie.TokenType.COMMA);){var h=this.parseAssignmentExpression();l=this.finishNode(new Le.BinaryExpression({left:l,operator:",",right:h}),a)}if(this.match(Ie.TokenType.IN))throw this.createError(we.ErrorMessages.INVALID_LHS_IN_FOR_IN);if(this.matchContextualKeyword("of"))throw this.createError(we.ErrorMessages.INVALID_LHS_IN_FOR_OF);return this.expect(Ie.TokenType.SEMICOLON),this.match(Ie.TokenType.SEMICOLON)||(t=this.parseExpression()),this.expect(Ie.TokenType.SEMICOLON),this.match(Ie.TokenType.RPAREN)||(r=this.parseExpression()),new Le.ForStatement({init:l,test:t,update:r,body:this.getIteratorStatementEpilogue()})}},{key:"getIteratorStatementEpilogue",value:function(){return this.expect(Ie.TokenType.RPAREN),this.parseStatement()}},{key:"parseIfStatementChild",value:function(){return this.match(Ie.TokenType.FUNCTION)?this.parseFunction({isExpr:!1,inDefault:!1,allowGenerator:!1,isAsync:!1}):this.parseStatement()}},{key:"parseIfStatement",value:function(){this.lex(),this.expect(Ie.TokenType.LPAREN);var e=this.parseExpression();this.expect(Ie.TokenType.RPAREN);var t=this.parseIfStatementChild(),r=null;return this.eat(Ie.TokenType.ELSE)&&(r=this.parseIfStatementChild()),new Le.IfStatement({test:e,consequent:t,alternate:r})}},{key:"parseReturnStatement",value:function(){if(!this.inFunctionBody)throw this.createError(we.ErrorMessages.ILLEGAL_RETURN);if(this.lex(),this.eat(Ie.TokenType.SEMICOLON)||this.hasLineTerminatorBeforeNext)return new Le.ReturnStatement({expression:null});var e=null;return this.match(Ie.TokenType.RBRACE)||this.eof()||(e=this.parseExpression()),this.consumeSemicolon(),new Le.ReturnStatement({expression:e})}},{key:"parseSwitchStatement",value:function(){this.lex(),this.expect(Ie.TokenType.LPAREN);var e=this.parseExpression();if(this.expect(Ie.TokenType.RPAREN),this.expect(Ie.TokenType.LBRACE),this.eat(Ie.TokenType.RBRACE))return new Le.SwitchStatement({discriminant:e,cases:[]});var t=this.parseSwitchCases();if(this.match(Ie.TokenType.DEFAULT)){var r=this.parseSwitchDefault(),n=this.parseSwitchCases();if(this.match(Ie.TokenType.DEFAULT))throw this.createError(we.ErrorMessages.MULTIPLE_DEFAULTS_IN_SWITCH);return this.expect(Ie.TokenType.RBRACE),new Le.SwitchStatementWithDefault({discriminant:e,preDefaultCases:t,defaultCase:r,postDefaultCases:n})}return this.expect(Ie.TokenType.RBRACE),new Le.SwitchStatement({discriminant:e,cases:t})}},{key:"parseSwitchCases",value:function(){for(var e=[];!(this.eof()||this.match(Ie.TokenType.RBRACE)||this.match(Ie.TokenType.DEFAULT));)e.push(this.parseSwitchCase());return e}},{key:"parseSwitchCase",value:function(){var e=this.startNode();return this.expect(Ie.TokenType.CASE),this.finishNode(new Le.SwitchCase({test:this.parseExpression(),consequent:this.parseSwitchCaseBody()}),e)}},{key:"parseSwitchDefault",value:function(){var e=this.startNode();return this.expect(Ie.TokenType.DEFAULT),this.finishNode(new Le.SwitchDefault({consequent:this.parseSwitchCaseBody()}),e)}},{key:"parseSwitchCaseBody",value:function(){return this.expect(Ie.TokenType.COLON),this.parseStatementListInSwitchCaseBody()}},{key:"parseStatementListInSwitchCaseBody",value:function(){for(var e=[];!(this.eof()||this.match(Ie.TokenType.RBRACE)||this.match(Ie.TokenType.DEFAULT)||this.match(Ie.TokenType.CASE));)e.push(this.parseStatementListItem());return e}},{key:"parseThrowStatement",value:function(){var e=this.lex();if(this.hasLineTerminatorBeforeNext)throw this.createErrorWithLocation(e,we.ErrorMessages.NEWLINE_AFTER_THROW);var t=this.parseExpression();return this.consumeSemicolon(),new Le.ThrowStatement({expression:t})}},{key:"parseTryStatement",value:function(){this.lex();var e=this.parseBlock();if(this.match(Ie.TokenType.CATCH)){var t=this.parseCatchClause();if(this.eat(Ie.TokenType.FINALLY)){var r=this.parseBlock();return new Le.TryFinallyStatement({body:e,catchClause:t,finalizer:r})}return new Le.TryCatchStatement({body:e,catchClause:t})}if(this.eat(Ie.TokenType.FINALLY)){var n=this.parseBlock();return new Le.TryFinallyStatement({body:e,catchClause:null,finalizer:n})}throw this.createError(we.ErrorMessages.NO_CATCH_OR_FINALLY)}},{key:"parseVariableDeclarationStatement",value:function(){var e=this.parseVariableDeclaration(!0);return this.consumeSemicolon(),new Le.VariableDeclarationStatement({declaration:e})}},{key:"parseWhileStatement",value:function(){this.lex(),this.expect(Ie.TokenType.LPAREN);var e=this.parseExpression(),t=this.getIteratorStatementEpilogue();return new Le.WhileStatement({test:e,body:t})}},{key:"parseWithStatement",value:function(){this.lex(),this.expect(Ie.TokenType.LPAREN);var e=this.parseExpression();this.expect(Ie.TokenType.RPAREN);var t=this.parseStatement();return new Le.WithStatement({object:e,body:t})}},{key:"parseCatchClause",value:function(){var e=this.startNode();if(this.lex(),this.expect(Ie.TokenType.LPAREN),this.match(Ie.TokenType.RPAREN)||this.match(Ie.TokenType.LPAREN))throw this.createUnexpected(this.lookahead);var t=this.parseBindingTarget();this.expect(Ie.TokenType.RPAREN);var r=this.parseBlock();return this.finishNode(new Le.CatchClause({binding:t,body:r}),e)}},{key:"parseBlock",value:function(){var e=this.startNode();this.expect(Ie.TokenType.LBRACE);for(var t=[];!this.match(Ie.TokenType.RBRACE);)t.push(this.parseStatementListItem());return this.expect(Ie.TokenType.RBRACE),this.finishNode(new Le.Block({statements:t}),e)}},{key:"parseVariableDeclaration",value:function(e){var t=this.startNode(),r=this.lex(),n=r.type===Ie.TokenType.VAR?"var":r.type===Ie.TokenType.CONST?"const":"let",i=this.parseVariableDeclaratorList(e);return this.finishNode(new Le.VariableDeclaration({kind:n,declarators:i}),t)}},{key:"parseVariableDeclaratorList",value:function(e){var t=[];do{t.push(this.parseVariableDeclarator(e))}while(this.eat(Ie.TokenType.COMMA));return t}},{key:"parseVariableDeclarator",value:function(e){var t=this.startNode();if(this.match(Ie.TokenType.LPAREN))throw this.createUnexpected(this.lookahead);var r=this.allowIn;this.allowIn=!0;var n=this.parseBindingTarget();this.allowIn=r,e&&"BindingIdentifier"!==n.type&&!this.match(Ie.TokenType.ASSIGN)&&this.expect(Ie.TokenType.ASSIGN);var i=null;return this.eat(Ie.TokenType.ASSIGN)&&(i=this.parseAssignmentExpression()),this.finishNode(new Le.VariableDeclarator({binding:n,init:i}),t)}},{key:"isolateCoverGrammar",value:function(e){var t,r=this.isBindingElement,n=this.isAssignmentTarget,i=this.firstExprError;if(this.isBindingElement=this.isAssignmentTarget=!0,this.firstExprError=null,t=e.call(this),null!==this.firstExprError)throw this.firstExprError;return this.isBindingElement=r,this.isAssignmentTarget=n,this.firstExprError=i,t}},{key:"inheritCoverGrammar",value:function(e){var t,r=this.isBindingElement,n=this.isAssignmentTarget,i=this.firstExprError;return this.isBindingElement=this.isAssignmentTarget=!0,this.firstExprError=null,t=e.call(this),this.isBindingElement=this.isBindingElement&&r,this.isAssignmentTarget=this.isAssignmentTarget&&n,this.firstExprError=i||this.firstExprError,t}},{key:"parseExpression",value:function(){var e=this.startNode(),t=this.parseAssignmentExpression();if(this.match(Ie.TokenType.COMMA))for(;!this.eof()&&this.match(Ie.TokenType.COMMA);){this.lex();var r=this.parseAssignmentExpression();t=this.finishNode(new Le.BinaryExpression({left:t,operator:",",right:r}),e)}return t}},{key:"finishArrowParams",value:function(e){var t=e.params,r=void 0===t?null:t,n=e.rest,i=void 0===n?null:n;if(e.type!==Me){if("IdentifierExpression"!==e.type)throw this.createUnexpected(this.lookahead);r=[this.targetToBinding(this.transformDestructuring(e))]}return this.copyNode(e,new Le.FormalParameters({items:r,rest:i}))}},{key:"parseArrowExpressionTail",value:function(e,t,r){this.expect(Ie.TokenType.ARROW);var n=this.allowYieldExpression,i=this.allowAwaitExpression,a=this.firstAwaitLocation;this.allowYieldExpression=!1,this.allowAwaitExpression=t,this.firstAwaitLocation=null;var u=void 0;if(this.match(Ie.TokenType.LBRACE)){var s=this.allowIn;this.allowIn=!0,u=this.parseFunctionBody(),this.allowIn=s}else u=this.parseAssignmentExpression();return this.allowYieldExpression=n,this.allowAwaitExpression=i,this.firstAwaitLocation=a,this.finishNode(new Le.ArrowExpression({isAsync:t,params:e,body:u}),r)}},{key:"parseAssignmentExpression",value:function(){return this.isolateCoverGrammar(this.parseAssignmentExpressionOrTarget)}},{key:"parseAssignmentExpressionOrTarget",value:function(){var e=this.startNode();if(this.allowYieldExpression&&this.match(Ie.TokenType.YIELD))return this.isBindingElement=this.isAssignmentTarget=!1,this.parseYieldExpression();var t=this.parseConditionalExpression();if(!this.hasLineTerminatorBeforeNext&&this.match(Ie.TokenType.ARROW)){this.isBindingElement=this.isAssignmentTarget=!1,this.firstExprError=null;var r=t.type===Me&&t.isAsync;return this.parseArrowExpressionTail(this.finishArrowParams(t),r,e)}var n=!1,i=this.lookahead;switch(i.type){case Ie.TokenType.ASSIGN_BIT_OR:case Ie.TokenType.ASSIGN_BIT_XOR:case Ie.TokenType.ASSIGN_BIT_AND:case Ie.TokenType.ASSIGN_SHL:case Ie.TokenType.ASSIGN_SHR:case Ie.TokenType.ASSIGN_SHR_UNSIGNED:case Ie.TokenType.ASSIGN_ADD:case Ie.TokenType.ASSIGN_SUB:case Ie.TokenType.ASSIGN_MUL:case Ie.TokenType.ASSIGN_DIV:case Ie.TokenType.ASSIGN_MOD:case Ie.TokenType.ASSIGN_EXP:n=!0}if(n){if(!this.isAssignmentTarget||!He(t))throw this.createError(we.ErrorMessages.INVALID_LHS_IN_ASSIGNMENT);t=this.transformDestructuring(t)}else{if(i.type!==Ie.TokenType.ASSIGN)return t;if(!this.isAssignmentTarget)throw this.createError(we.ErrorMessages.INVALID_LHS_IN_ASSIGNMENT);t=this.transformDestructuring(t)}this.lex();var a=this.parseAssignmentExpression();this.firstExprError=null;var u=void 0;return i.type===Ie.TokenType.ASSIGN?u=new Le.AssignmentExpression({binding:t,expression:a}):(u=new Le.CompoundAssignmentExpression({binding:t,operator:i.type.name,expression:a}),this.isBindingElement=this.isAssignmentTarget=!1),this.finishNode(u,e)}},{key:"targetToBinding",value:function(e){var t=this;if(null===e)return null;switch(e.type){case"AssignmentTargetIdentifier":return this.copyNode(e,new Le.BindingIdentifier({name:e.name}));case"ArrayAssignmentTarget":return this.copyNode(e,new Le.ArrayBinding({elements:e.elements.map((function(e){return t.targetToBinding(e)})),rest:this.targetToBinding(e.rest)}));case"ObjectAssignmentTarget":return this.copyNode(e,new Le.ObjectBinding({properties:e.properties.map((function(e){return t.targetToBinding(e)})),rest:this.targetToBinding(e.rest)}));case"AssignmentTargetPropertyIdentifier":return this.copyNode(e,new Le.BindingPropertyIdentifier({binding:this.targetToBinding(e.binding),init:e.init}));case"AssignmentTargetPropertyProperty":return this.copyNode(e,new Le.BindingPropertyProperty({name:e.name,binding:this.targetToBinding(e.binding)}));case"AssignmentTargetWithDefault":return this.copyNode(e,new Le.BindingWithDefault({binding:this.targetToBinding(e.binding),init:e.init}))}throw new Error("Not reached")}},{key:"transformDestructuring",value:function(e){var t=this;switch(e.type){case"DataProperty":return this.copyNode(e,new Le.AssignmentTargetPropertyProperty({name:e.name,binding:this.transformDestructuringWithDefault(e.expression)}));case"ShorthandProperty":return this.copyNode(e,new Le.AssignmentTargetPropertyIdentifier({binding:this.copyNode(e,new Le.AssignmentTargetIdentifier({name:e.name.name})),init:null}));case"ObjectExpression":var r=e.properties.length>0?e.properties[e.properties.length-1]:void 0;return null!=r&&"SpreadProperty"===r.type?this.copyNode(e,new Le.ObjectAssignmentTarget({properties:e.properties.slice(0,-1).map((function(e){return e&&t.transformDestructuringWithDefault(e)})),rest:this.transformDestructuring(r.expression)})):this.copyNode(e,new Le.ObjectAssignmentTarget({properties:e.properties.map((function(e){return e&&t.transformDestructuringWithDefault(e)})),rest:null}));case"ArrayExpression":var n=e.elements[e.elements.length-1];return null!=n&&"SpreadElement"===n.type?this.copyNode(e,new Le.ArrayAssignmentTarget({elements:e.elements.slice(0,-1).map((function(e){return e&&t.transformDestructuringWithDefault(e)})),rest:this.copyNode(n.expression,this.transformDestructuring(n.expression))})):this.copyNode(e,new Le.ArrayAssignmentTarget({elements:e.elements.map((function(e){return e&&t.transformDestructuringWithDefault(e)})),rest:null}));case"IdentifierExpression":return this.copyNode(e,new Le.AssignmentTargetIdentifier({name:e.name}));case"StaticPropertyName":return this.copyNode(e,new Le.AssignmentTargetIdentifier({name:e.value}));case"ComputedMemberExpression":return this.copyNode(e,new Le.ComputedMemberAssignmentTarget({object:e.object,expression:e.expression}));case"StaticMemberExpression":return this.copyNode(e,new Le.StaticMemberAssignmentTarget({object:e.object,property:e.property}));case"ArrayAssignmentTarget":case"ObjectAssignmentTarget":case"ComputedMemberAssignmentTarget":case"StaticMemberAssignmentTarget":case"AssignmentTargetIdentifier":case"AssignmentTargetPropertyIdentifier":case"AssignmentTargetPropertyProperty":case"AssignmentTargetWithDefault":return e}throw new Error("Not reached")}},{key:"transformDestructuringWithDefault",value:function(e){return"AssignmentExpression"===e.type?this.copyNode(e,new Le.AssignmentTargetWithDefault({binding:this.transformDestructuring(e.binding),init:e.expression})):this.transformDestructuring(e)}},{key:"lookaheadAssignmentExpression",value:function(){if(this.matchIdentifier())return!0;switch(this.lookahead.type){case Ie.TokenType.ADD:case Ie.TokenType.ASSIGN_DIV:case Ie.TokenType.BIT_NOT:case Ie.TokenType.CLASS:case Ie.TokenType.DEC:case Ie.TokenType.DELETE:case Ie.TokenType.DIV:case Ie.TokenType.FALSE:case Ie.TokenType.FUNCTION:case Ie.TokenType.INC:case Ie.TokenType.LBRACE:case Ie.TokenType.LBRACK:case Ie.TokenType.LPAREN:case Ie.TokenType.NEW:case Ie.TokenType.NOT:case Ie.TokenType.NULL:case Ie.TokenType.NUMBER:case Ie.TokenType.STRING:case Ie.TokenType.SUB:case Ie.TokenType.SUPER:case Ie.TokenType.THIS:case Ie.TokenType.TRUE:case Ie.TokenType.TYPEOF:case Ie.TokenType.VOID:case Ie.TokenType.TEMPLATE:return!0}return!1}},{key:"parseYieldExpression",value:function(){var e=this.startNode();if(this.lex(),this.hasLineTerminatorBeforeNext)return this.finishNode(new Le.YieldExpression({expression:null}),e);var t=!!this.eat(Ie.TokenType.MUL),r=null;(t||this.lookaheadAssignmentExpression())&&(r=this.parseAssignmentExpression());var n=t?Le.YieldGeneratorExpression:Le.YieldExpression;return this.finishNode(new n({expression:r}),e)}},{key:"parseConditionalExpression",value:function(){var e=this.startNode(),t=this.parseBinaryExpression();if(this.firstExprError)return t;if(this.eat(Ie.TokenType.CONDITIONAL)){this.isBindingElement=this.isAssignmentTarget=!1;var r=this.allowIn;this.allowIn=!0;var n=this.isolateCoverGrammar(this.parseAssignmentExpression);this.allowIn=r,this.expect(Ie.TokenType.COLON);var i=this.isolateCoverGrammar(this.parseAssignmentExpression);return this.finishNode(new Le.ConditionalExpression({test:t,consequent:n,alternate:i}),e)}return t}},{key:"isBinaryOperator",value:function(e){switch(e){case Ie.TokenType.OR:case Ie.TokenType.AND:case Ie.TokenType.BIT_OR:case Ie.TokenType.BIT_XOR:case Ie.TokenType.BIT_AND:case Ie.TokenType.EQ:case Ie.TokenType.NE:case Ie.TokenType.EQ_STRICT:case Ie.TokenType.NE_STRICT:case Ie.TokenType.LT:case Ie.TokenType.GT:case Ie.TokenType.LTE:case Ie.TokenType.GTE:case Ie.TokenType.INSTANCEOF:case Ie.TokenType.SHL:case Ie.TokenType.SHR:case Ie.TokenType.SHR_UNSIGNED:case Ie.TokenType.ADD:case Ie.TokenType.SUB:case Ie.TokenType.MUL:case Ie.TokenType.DIV:case Ie.TokenType.MOD:return!0;case Ie.TokenType.IN:return this.allowIn;default:return!1}}},{key:"parseBinaryExpression",value:function(){var e=this,t=this.startNode(),r=this.parseExponentiationExpression();if(this.firstExprError)return r;var n=this.lookahead.type;if(!this.isBinaryOperator(n))return r;this.isBindingElement=this.isAssignmentTarget=!1,this.lex();var i=[];i.push({startState:t,left:r,operator:n,precedence:Ve[n.name]}),t=this.startNode();var a=this.isolateCoverGrammar(this.parseExponentiationExpression);for(n=this.lookahead.type;this.isBinaryOperator(n);){for(var u=Ve[n.name];i.length&&u<=i[i.length-1].precedence;){var s=i[i.length-1],o=s.operator;r=s.left,i.pop(),t=s.startState,a=this.finishNode(new Le.BinaryExpression({left:r,operator:o.name,right:a}),t)}this.lex(),i.push({startState:t,left:a,operator:n,precedence:u}),t=this.startNode(),a=this.isolateCoverGrammar(this.parseExponentiationExpression),n=this.lookahead.type}return i.reduceRight((function(t,r){return e.finishNode(new Le.BinaryExpression({left:r.left,operator:r.operator.name,right:t}),r.startState)}),a)}},{key:"parseExponentiationExpression",value:function(){var e=this.startNode(),t=this.lookahead.type===Ie.TokenType.LPAREN,r=this.parseUnaryExpression();if(this.lookahead.type!==Ie.TokenType.EXP)return r;if("UnaryExpression"===r.type&&!t)throw this.createError(we.ErrorMessages.INVALID_EXPONENTIATION_LHS);this.lex(),this.isBindingElement=this.isAssignmentTarget=!1;var n=this.isolateCoverGrammar(this.parseExponentiationExpression);return this.finishNode(new Le.BinaryExpression({left:r,operator:"**",right:n}),e)}},{key:"parseUnaryExpression",value:function(){if(this.lookahead.type.klass!==Ie.TokenClass.Punctuator&&this.lookahead.type.klass!==Ie.TokenClass.Keyword)return this.parseUpdateExpression();var e=this.startNode();if(this.allowAwaitExpression&&this.eat(Ie.TokenType.AWAIT)){this.isBindingElement=this.isAssignmentTarget=!1;var t=this.isolateCoverGrammar(this.parseUnaryExpression);return this.finishNode(new Le.AwaitExpression({expression:t}),e)}var r=this.lookahead;if(!function(e){switch(e.type){case Ie.TokenType.INC:case Ie.TokenType.DEC:case Ie.TokenType.ADD:case Ie.TokenType.SUB:case Ie.TokenType.BIT_NOT:case Ie.TokenType.NOT:case Ie.TokenType.DELETE:case Ie.TokenType.VOID:case Ie.TokenType.TYPEOF:return!0}return!1}(r))return this.parseUpdateExpression();this.lex(),this.isBindingElement=this.isAssignmentTarget=!1;var n=void 0;if(Ke(r)){var i=this.getLocation(),a=this.isolateCoverGrammar(this.parseUnaryExpression);if(!He(a))throw this.createErrorWithLocation(i,we.ErrorMessages.INVALID_UPDATE_OPERAND);a=this.transformDestructuring(a),n=new Le.UpdateExpression({isPrefix:!0,operator:r.value,operand:a})}else{var u=this.isolateCoverGrammar(this.parseUnaryExpression);n=new Le.UnaryExpression({operator:r.value,operand:u})}return this.finishNode(n,e)}},{key:"parseUpdateExpression",value:function(){var e=this.getLocation(),t=this.startNode(),r=this.parseLeftHandSideExpression({allowCall:!0});if(this.firstExprError||this.hasLineTerminatorBeforeNext)return r;var n=this.lookahead;if(!Ke(n))return r;if(this.lex(),this.isBindingElement=this.isAssignmentTarget=!1,!He(r))throw this.createErrorWithLocation(e,we.ErrorMessages.INVALID_UPDATE_OPERAND);return r=this.transformDestructuring(r),this.finishNode(new Le.UpdateExpression({isPrefix:!1,operator:n.value,operand:r}),t)}},{key:"parseLeftHandSideExpression",value:function(e){var t=this,r=e.allowCall,n=this.startNode(),i=this.allowIn;this.allowIn=!0;var a=void 0,u=this.lookahead;if(this.eat(Ie.TokenType.SUPER))if(this.isBindingElement=!1,this.isAssignmentTarget=!1,a=this.finishNode(new Le.Super,n),this.match(Ie.TokenType.LPAREN)){if(!r)throw this.createUnexpected(u);a=this.finishNode(new Le.CallExpression({callee:a,arguments:this.parseArgumentList().args}),n)}else if(this.match(Ie.TokenType.LBRACK))a=this.finishNode(new Le.ComputedMemberExpression({object:a,expression:this.parseComputedMember()}),n),this.isAssignmentTarget=!0;else{if(!this.match(Ie.TokenType.PERIOD))throw this.createUnexpected(u);a=this.finishNode(new Le.StaticMemberExpression({object:a,property:this.parseStaticMember()}),n),this.isAssignmentTarget=!0}else if(this.match(Ie.TokenType.NEW))this.isBindingElement=this.isAssignmentTarget=!1,a=this.parseNewExpression();else if(this.match(Ie.TokenType.ASYNC)){if("IdentifierExpression"===(a=this.parsePrimaryExpression()).type&&r&&!this.hasLineTerminatorBeforeNext){if(this.matchIdentifier()){var s=this.startNode(),o=this.allowAwaitExpression;this.allowAwaitExpression=!0;var c=this.parseBindingIdentifier();return this.allowAwaitExpression=o,this.ensureArrow(),this.finishNode({type:Me,params:[c],rest:null,isAsync:!0},s)}if(this.match(Ie.TokenType.LPAREN)){var p=this.startNode(),l=this.firstAwaitLocation;this.firstAwaitLocation=null;var d=this.parseArgumentList(),h=d.args,f=d.locationFollowingFirstSpread;if(this.isBindingElement&&!this.hasLineTerminatorBeforeNext&&this.match(Ie.TokenType.ARROW)){if(null!==f)throw this.createErrorWithLocation(f,we.ErrorMessages.UNEXPECTED_TOKEN(","));if(null!==this.firstAwaitLocation)throw this.createErrorWithLocation(this.firstAwaitLocation,we.ErrorMessages.NO_AWAIT_IN_ASYNC_PARAMS);var m=null;if(h.length>0&&"SpreadElement"===h[h.length-1].type){if(null!=(m=this.targetToBinding(this.transformDestructuringWithDefault(h[h.length-1].expression))).init)throw this.createError(we.ErrorMessages.UNEXPECTED_REST_PARAMETERS_INITIALIZATION);h=h.slice(0,-1)}var y=h.map((function(e){return t.targetToBinding(t.transformDestructuringWithDefault(e))}));return this.finishNode({type:Me,params:y,rest:m,isAsync:!0},p)}this.firstAwaitLocation=l||this.firstAwaitLocation,this.isBindingElement=this.isAssignmentTarget=!1,a=this.finishNode(new Le.CallExpression({callee:a,arguments:h}),n)}}}else if(a=this.parsePrimaryExpression(),this.firstExprError)return a;for(;;)if(r&&this.match(Ie.TokenType.LPAREN))this.isBindingElement=this.isAssignmentTarget=!1,a=this.finishNode(new Le.CallExpression({callee:a,arguments:this.parseArgumentList().args}),n);else if(this.match(Ie.TokenType.LBRACK))this.isBindingElement=!1,this.isAssignmentTarget=!0,a=this.finishNode(new Le.ComputedMemberExpression({object:a,expression:this.parseComputedMember()}),n);else if(this.match(Ie.TokenType.PERIOD))this.isBindingElement=!1,this.isAssignmentTarget=!0,a=this.finishNode(new Le.StaticMemberExpression({object:a,property:this.parseStaticMember()}),n);else{if(!this.match(Ie.TokenType.TEMPLATE))break;this.isBindingElement=this.isAssignmentTarget=!1,a=this.finishNode(new Le.TemplateExpression({tag:a,elements:this.parseTemplateElements()}),n)}return this.allowIn=i,a}},{key:"parseTemplateElements",value:function(){var e=this.startNode(),t=this.lookahead;if(t.tail)return this.lex(),[this.finishNode(new Le.TemplateElement({rawValue:t.slice.text.slice(1,-1)}),e)];for(var r=[this.finishNode(new Le.TemplateElement({rawValue:this.lex().slice.text.slice(1,-2)}),e)];;){if(r.push(this.parseExpression()),!this.match(Ie.TokenType.RBRACE))throw this.createILLEGAL();if(this.index=this.startIndex,this.line=this.startLine,this.lineStart=this.startLineStart,this.lookahead=this.scanTemplateElement(),e=this.startNode(),(t=this.lex()).tail)return r.push(this.finishNode(new Le.TemplateElement({rawValue:t.slice.text.slice(1,-1)}),e)),r;r.push(this.finishNode(new Le.TemplateElement({rawValue:t.slice.text.slice(1,-2)}),e))}}},{key:"parseStaticMember",value:function(){if(this.lex(),this.lookahead.type.klass.isIdentifierName)return this.lex().value;throw this.createUnexpected(this.lookahead)}},{key:"parseComputedMember",value:function(){this.lex();var e=this.parseExpression();return this.expect(Ie.TokenType.RBRACK),e}},{key:"parseNewExpression",value:function(){var e=this,t=this.startNode();if(this.lex(),this.eat(Ie.TokenType.PERIOD))return this.expectContextualKeyword("target"),this.finishNode(new Le.NewTargetExpression,t);var r=this.isolateCoverGrammar((function(){return e.parseLeftHandSideExpression({allowCall:!1})}));return this.finishNode(new Le.NewExpression({callee:r,arguments:this.match(Ie.TokenType.LPAREN)?this.parseArgumentList().args:[]}),t)}},{key:"parseRegexFlags",value:function(e){for(var t=!1,r=!1,n=!1,i=!1,a=!1,u=!1,s=0;s<e.length;++s){var o=e[s];switch(o){case"g":if(t)throw this.createError("Duplicate regular expression flag 'g'");t=!0;break;case"i":if(r)throw this.createError("Duplicate regular expression flag 'i'");r=!0;break;case"m":if(n)throw this.createError("Duplicate regular expression flag 'm'");n=!0;break;case"u":if(i)throw this.createError("Duplicate regular expression flag 'u'");i=!0;break;case"y":if(a)throw this.createError("Duplicate regular expression flag 'y'");a=!0;break;case"s":if(u)throw this.createError("Duplicate regular expression flag 's'");u=!0;break;default:throw this.createError("Invalid regular expression flag '"+o+"'")}}return{global:t,ignoreCase:r,multiLine:n,unicode:i,sticky:a,dotAll:u}}},{key:"parsePrimaryExpression",value:function(){if(this.match(Ie.TokenType.LPAREN))return this.parseGroupExpression();var e=this.startNode();if(this.eat(Ie.TokenType.ASYNC))return!this.hasLineTerminatorBeforeNext&&this.match(Ie.TokenType.FUNCTION)?(this.isBindingElement=this.isAssignmentTarget=!1,this.finishNode(this.parseFunction({isExpr:!0,inDefault:!1,allowGenerator:!0,isAsync:!0}),e)):this.finishNode(new Le.IdentifierExpression({name:"async"}),e);if(this.matchIdentifier())return this.finishNode(new Le.IdentifierExpression({name:this.parseIdentifier()}),e);switch(this.lookahead.type){case Ie.TokenType.STRING:return this.isBindingElement=this.isAssignmentTarget=!1,this.parseStringLiteral();case Ie.TokenType.NUMBER:return this.isBindingElement=this.isAssignmentTarget=!1,this.parseNumericLiteral();case Ie.TokenType.THIS:return this.lex(),this.isBindingElement=this.isAssignmentTarget=!1,this.finishNode(new Le.ThisExpression,e);case Ie.TokenType.FUNCTION:return this.isBindingElement=this.isAssignmentTarget=!1,this.finishNode(this.parseFunction({isExpr:!0,inDefault:!1,allowGenerator:!0,isAsync:!1}),e);case Ie.TokenType.TRUE:return this.lex(),this.isBindingElement=this.isAssignmentTarget=!1,this.finishNode(new Le.LiteralBooleanExpression({value:!0}),e);case Ie.TokenType.FALSE:return this.lex(),this.isBindingElement=this.isAssignmentTarget=!1,this.finishNode(new Le.LiteralBooleanExpression({value:!1}),e);case Ie.TokenType.NULL:return this.lex(),this.isBindingElement=this.isAssignmentTarget=!1,this.finishNode(new Le.LiteralNullExpression,e);case Ie.TokenType.LBRACK:return this.parseArrayExpression();case Ie.TokenType.LBRACE:return this.parseObjectExpression();case Ie.TokenType.TEMPLATE:return this.isBindingElement=this.isAssignmentTarget=!1,this.finishNode(new Le.TemplateExpression({tag:null,elements:this.parseTemplateElements()}),e);case Ie.TokenType.DIV:case Ie.TokenType.ASSIGN_DIV:this.isBindingElement=this.isAssignmentTarget=!1,this.lookahead=this.scanRegExp(this.match(Ie.TokenType.DIV)?"/":"/=");var t=this.lex(),r=t.value.lastIndexOf("/"),n=t.value.slice(1,r),i=t.value.slice(r+1),a=this.parseRegexFlags(i);if(!(0,Ne.default)(n,a))throw this.createError(we.ErrorMessages.INVALID_REGEX);return a.pattern=n,this.finishNode(new Le.LiteralRegExpExpression(a),e);case Ie.TokenType.CLASS:return this.isBindingElement=this.isAssignmentTarget=!1,this.parseClass({isExpr:!0,inDefault:!1});default:throw this.createUnexpected(this.lookahead)}}},{key:"parseNumericLiteral",value:function(){var e=this.getLocation(),t=this.startNode(),r=this.lex();if(r.octal&&this.strict)throw r.noctal?this.createErrorWithLocation(e,"Unexpected noctal integer literal"):this.createErrorWithLocation(e,"Unexpected legacy octal integer literal");var n=r.value===1/0?new Le.LiteralInfinityExpression:new Le.LiteralNumericExpression({value:r.value});return this.finishNode(n,t)}},{key:"parseStringLiteral",value:function(){var e=this.getLocation(),t=this.startNode(),r=this.lex();if(null!=r.octal&&this.strict)throw this.createErrorWithLocation(e,"Unexpected legacy octal escape sequence: \\"+r.octal);return this.finishNode(new Le.LiteralStringExpression({value:r.str}),t)}},{key:"parseIdentifierName",value:function(){if(this.lookahead.type.klass.isIdentifierName)return this.lex().value;throw this.createUnexpected(this.lookahead)}},{key:"parseBindingIdentifier",value:function(){var e=this.startNode();return this.finishNode(new Le.BindingIdentifier({name:this.parseIdentifier()}),e)}},{key:"parseIdentifier",value:function(){if("yield"===this.lookahead.value&&this.allowYieldExpression)throw this.createError(we.ErrorMessages.ILLEGAL_YIELD_IDENTIFIER);if("await"===this.lookahead.value&&this.allowAwaitExpression)throw this.createError(we.ErrorMessages.ILLEGAL_AWAIT_IDENTIFIER);if(this.matchIdentifier())return this.lex().value;throw this.createUnexpected(this.lookahead)}},{key:"parseArgumentList",value:function(){this.lex();var e=this.parseArguments();return this.expect(Ie.TokenType.RPAREN),e}},{key:"parseArguments",value:function(){for(var e=[],t=null;!this.match(Ie.TokenType.RPAREN);){var r=void 0,n=this.startNode();if(this.eat(Ie.TokenType.ELLIPSIS)){if(r=this.finishNode(new Le.SpreadElement({expression:this.inheritCoverGrammar(this.parseAssignmentExpressionOrTarget)}),n),null===t){if(e.push(r),this.match(Ie.TokenType.RPAREN))break;t=this.getLocation(),this.expect(Ie.TokenType.COMMA);continue}}else r=this.inheritCoverGrammar(this.parseAssignmentExpressionOrTarget);if(e.push(r),this.match(Ie.TokenType.RPAREN))break;this.expect(Ie.TokenType.COMMA)}return{args:e,locationFollowingFirstSpread:t}}},{key:"ensureArrow",value:function(){if(this.hasLineTerminatorBeforeNext)throw this.createError(we.ErrorMessages.UNEXPECTED_LINE_TERMINATOR);this.match(Ie.TokenType.ARROW)||this.expect(Ie.TokenType.ARROW)}},{key:"parseGroupExpression",value:function(){var e=null,t=this.startNode(),r=this.expect(Ie.TokenType.LPAREN),n=this.startNode();if(this.match(Ie.TokenType.RPAREN)){this.lex();var i=this.finishNode({type:Me,params:[],rest:null,isAsync:!1},t);return this.ensureArrow(),this.isBindingElement=this.isAssignmentTarget=!1,i}if(this.eat(Ie.TokenType.ELLIPSIS)){if(e=this.parseBindingTarget(),this.match(Ie.TokenType.ASSIGN))throw this.createError(we.ErrorMessages.INVALID_REST_PARAMETERS_INITIALIZATION);if(this.match(Ie.TokenType.COMMA))throw this.createError(we.ErrorMessages.INVALID_LAST_REST_PARAMETER);this.expect(Ie.TokenType.RPAREN);var a=this.finishNode({type:Me,params:[],rest:e,isAsync:!1},t);return this.ensureArrow(),this.isBindingElement=this.isAssignmentTarget=!1,a}for(var u=this.inheritCoverGrammar(this.parseAssignmentExpressionOrTarget),s=this.isBindingElement?[this.targetToBinding(this.transformDestructuringWithDefault(u))]:null;this.eat(Ie.TokenType.COMMA);){if(this.match(Ie.TokenType.RPAREN)){if(!this.isBindingElement)throw this.createUnexpected(this.lookahead);this.firstExprError=this.firstExprError||this.createUnexpected(this.lookahead),u=null;break}if(this.isAssignmentTarget=!1,this.match(Ie.TokenType.ELLIPSIS)){if(!this.isBindingElement)throw this.createUnexpected(this.lookahead);if(this.lex(),e=this.parseBindingTarget(),this.match(Ie.TokenType.ASSIGN))throw this.createError(we.ErrorMessages.INVALID_REST_PARAMETERS_INITIALIZATION);if(this.match(Ie.TokenType.COMMA))throw this.createError(we.ErrorMessages.INVALID_LAST_REST_PARAMETER);break}if(u){var o=this.inheritCoverGrammar(this.parseAssignmentExpressionOrTarget);this.isBindingElement?s.push(this.targetToBinding(this.transformDestructuringWithDefault(o))):s=null,u=this.firstExprError?null:this.finishNode(new Le.BinaryExpression({left:u,operator:",",right:o}),n)}else{var c=this.parseBindingElement();s.push(c)}}if(this.expect(Ie.TokenType.RPAREN),!this.hasLineTerminatorBeforeNext&&this.match(Ie.TokenType.ARROW)){if(!this.isBindingElement)throw this.createErrorWithLocation(r,we.ErrorMessages.ILLEGAL_ARROW_FUNCTION_PARAMS);return this.isBindingElement=!1,this.finishNode({type:Me,params:s,rest:e,isAsync:!1},t)}return e&&this.ensureArrow(),this.isBindingElement=!1,He(u)||(this.isAssignmentTarget=!1),u}},{key:"parseArrayExpression",value:function(){var e=this,t=this.getLocation(),r=this.startNode();this.lex();for(var n=[],i=null;!this.match(Ie.TokenType.RBRACK);)if(this.eat(Ie.TokenType.COMMA))n.push(null);else{var a=this.startNode(),u=void 0;if(this.eat(Ie.TokenType.ELLIPSIS)){if(u=this.inheritCoverGrammar(this.parseAssignmentExpressionOrTarget),!this.isAssignmentTarget&&this.firstExprError)throw this.firstExprError;if("ArrayAssignmentTarget"===u.type||"ObjectAssignmentTarget"===u.type){i=u;break}"ArrayExpression"===u.type||"ObjectExpression"===u.type||He(u)||(this.isBindingElement=this.isAssignmentTarget=!1),u=this.finishNode(new Le.SpreadElement({expression:u}),a),this.match(Ie.TokenType.RBRACK)||(this.isBindingElement=this.isAssignmentTarget=!1)}else if(u=this.inheritCoverGrammar(this.parseAssignmentExpressionOrTarget),!this.isAssignmentTarget&&this.firstExprError)throw this.firstExprError;n.push(u),this.match(Ie.TokenType.RBRACK)||this.expect(Ie.TokenType.COMMA)}if(i&&this.match(Ie.TokenType.COMMA))throw this.createErrorWithLocation(t,we.ErrorMessages.UNEXPECTED_COMMA_AFTER_REST);if(this.expect(Ie.TokenType.RBRACK),i)return this.finishNode(new Le.ArrayAssignmentTarget({elements:n.map((function(t){return t&&e.transformDestructuringWithDefault(t)})),rest:i}),r);if(this.firstExprError){var s=n[n.length-1];return null!=s&&"SpreadElement"===s.type?this.finishNode(new Le.ArrayAssignmentTarget({elements:n.slice(0,-1).map((function(t){return t&&e.transformDestructuringWithDefault(t)})),rest:this.transformDestructuring(s.expression)}),r):this.finishNode(new Le.ArrayAssignmentTarget({elements:n.map((function(t){return t&&e.transformDestructuringWithDefault(t)})),rest:null}),r)}return this.finishNode(new Le.ArrayExpression({elements:n}),r)}},{key:"parseObjectExpression",value:function(){var e=this,t=this.startNode();this.lex();for(var r=[];!this.match(Ie.TokenType.RBRACE);){var n=!1;if(this.match(Ie.TokenType.ELLIPSIS)){n=!0;var i=this.parseSpreadPropertyDefinition();r.push(i)}else{var a=this.inheritCoverGrammar(this.parsePropertyDefinition);r.push(a)}this.match(Ie.TokenType.RBRACE)||(this.expect(Ie.TokenType.COMMA),n&&(this.isBindingElement=this.isAssignmentTarget=!1))}if(this.expect(Ie.TokenType.RBRACE),this.firstExprError){if(!this.isAssignmentTarget)throw this.createError(we.ErrorMessages.INVALID_LHS_IN_BINDING);var u=r[r.length-1];return null!=u&&"SpreadProperty"===u.type?this.finishNode(new Le.ObjectAssignmentTarget({properties:r.slice(0,-1).map((function(t){return e.transformDestructuringWithDefault(t)})),rest:this.transformDestructuring(u.expression)}),t):this.finishNode(new Le.ObjectAssignmentTarget({properties:r.map((function(t){return e.transformDestructuringWithDefault(t)})),rest:null}),t)}return this.finishNode(new Le.ObjectExpression({properties:r}),t)}},{key:"parseSpreadPropertyDefinition",value:function(){var e=this.startNode();this.expect(Ie.TokenType.ELLIPSIS);var t=this.parseAssignmentExpression();return He(t)?"IdentifierExpression"!==t.type&&(this.isBindingElement=!1):this.isBindingElement=this.isAssignmentTarget=!1,this.finishNode(new Le.SpreadProperty({expression:t}),e)}},{key:"parsePropertyDefinition",value:function(){var e=this.getLocation(),t=this.startNode(),r=this.lookahead,n=this.parseMethodDefinition(),i=n.methodOrKey;switch(n.kind){case"method":return this.isBindingElement=this.isAssignmentTarget=!1,i;case"identifier":if("await"===r.value&&null==this.firstAwaitLocation&&(this.firstAwaitLocation=this.getLocation()),this.eat(Ie.TokenType.ASSIGN)){if(this.allowYieldExpression&&"yield"===r.value)throw this.createError(we.ErrorMessages.ILLEGAL_YIELD_IDENTIFIER);if(this.allowAwaitExpression&&"await"===r.value)throw this.createError(we.ErrorMessages.ILLEGAL_AWAIT_IDENTIFIER);var a=this.isolateCoverGrammar(this.parseAssignmentExpression);return this.firstExprError=this.createErrorWithLocation(e,we.ErrorMessages.ILLEGAL_PROPERTY),this.finishNode(new Le.AssignmentTargetPropertyIdentifier({binding:this.transformDestructuring(i),init:a}),t)}if(!this.match(Ie.TokenType.COLON)){if(this.allowYieldExpression&&"yield"===r.value)throw this.createError(we.ErrorMessages.ILLEGAL_YIELD_IDENTIFIER);if(this.allowAwaitExpression&&"await"===r.value)throw this.createError(we.ErrorMessages.ILLEGAL_AWAIT_IDENTIFIER);if(r.type===Ie.TokenType.IDENTIFIER||"let"===r.value||"yield"===r.value||"async"===r.value||"await"===r.value)return this.finishNode(new Le.ShorthandProperty({name:this.finishNode(new Le.IdentifierExpression({name:i.value}),t)}),t);throw this.createUnexpected(r)}}this.expect(Ie.TokenType.COLON);var u=this.inheritCoverGrammar(this.parseAssignmentExpressionOrTarget);return this.firstExprError?this.finishNode(new Le.AssignmentTargetPropertyProperty({name:i,binding:u}),t):this.finishNode(new Le.DataProperty({name:i,expression:u}),t)}},{key:"parsePropertyName",value:function(){var e=this.lookahead,t=this.startNode();if(this.eof())throw this.createUnexpected(e);switch(e.type){case Ie.TokenType.STRING:return{name:this.finishNode(new Le.StaticPropertyName({value:this.parseStringLiteral().value}),t),binding:null};case Ie.TokenType.NUMBER:var r=this.parseNumericLiteral();return{name:this.finishNode(new Le.StaticPropertyName({value:""+("LiteralInfinityExpression"===r.type?1/0:r.value)}),t),binding:null};case Ie.TokenType.LBRACK:this.lex();var n=this.parseAssignmentExpression();return this.expect(Ie.TokenType.RBRACK),{name:this.finishNode(new Le.ComputedPropertyName({expression:n}),t),binding:null}}var i=this.parseIdentifierName();return{name:this.finishNode(new Le.StaticPropertyName({value:i}),t),binding:this.finishNode(new Le.BindingIdentifier({name:i}),t)}}},{key:"lookaheadPropertyName",value:function(){switch(this.lookahead.type){case Ie.TokenType.NUMBER:case Ie.TokenType.STRING:case Ie.TokenType.LBRACK:return!0;default:return this.lookahead.type.klass.isIdentifierName}}},{key:"parseMethodDefinition",value:function(){var e=this.lookahead,t=this.startNode(),r=this.saveLexerState(),n=!!this.eat(Ie.TokenType.ASYNC);n&&this.hasLineTerminatorBeforeNext&&(n=!1,this.restoreLexerState(r));var i=!!this.eat(Ie.TokenType.MUL);n&&!this.lookaheadPropertyName()&&(n=!1,i=!1,this.restoreLexerState(r));var a=this.parsePropertyName().name;if(!i&&!n&&e.type===Ie.TokenType.IDENTIFIER&&3===e.value.length){if("get"===e.value&&this.lookaheadPropertyName()&&!e.escaped){a=this.parsePropertyName().name,this.expect(Ie.TokenType.LPAREN),this.expect(Ie.TokenType.RPAREN);var u=this.allowYieldExpression,s=this.allowAwaitExpression,o=this.firstAwaitLocation;this.allowYieldExpression=!1,this.allowAwaitExpression=!1,this.firstAwaitLocation=null;var c=this.parseFunctionBody();return this.allowYieldExpression=u,this.allowAwaitExpression=s,this.firstAwaitLocation=o,{methodOrKey:this.finishNode(new Le.Getter({name:a,body:c}),t),kind:"method"}}if("set"===e.value&&this.lookaheadPropertyName()&&!e.escaped){a=this.parsePropertyName().name,this.expect(Ie.TokenType.LPAREN);var p=this.allowYieldExpression,l=this.allowAwaitExpression,d=this.firstAwaitLocation;this.allowYieldExpression=!1,this.allowAwaitExpression=!1,this.firstAwaitLocation=null;var h=this.parseBindingElement();this.expect(Ie.TokenType.RPAREN);var f=this.parseFunctionBody();return this.allowYieldExpression=p,this.allowAwaitExpression=l,this.firstAwaitLocation=d,{methodOrKey:this.finishNode(new Le.Setter({name:a,param:h,body:f}),t),kind:"method"}}}if(n){var m=this.allowYieldExpression,y=this.allowAwaitExpression;this.allowYieldExpression=i,this.allowAwaitExpression=!0;var E=this.parseParams();this.allowYieldExpression=i,this.allowAwaitExpression=!0;var D=this.parseFunctionBody();return this.allowYieldExpression=m,this.allowAwaitExpression=y,{methodOrKey:this.finishNode(new Le.Method({isAsync:n,isGenerator:i,name:a,params:E,body:D}),t),kind:"method"}}if(this.match(Ie.TokenType.LPAREN)){var g=this.allowYieldExpression,v=this.allowAwaitExpression,A=this.firstAwaitLocation;this.allowYieldExpression=i,this.allowAwaitExpression=!1,this.firstAwaitLocation=null;var x=this.parseParams(),C=this.parseFunctionBody();return this.allowYieldExpression=g,this.allowAwaitExpression=v,this.firstAwaitLocation=A,{methodOrKey:this.finishNode(new Le.Method({isAsync:n,isGenerator:i,name:a,params:x,body:C}),t),kind:"method"}}if(i&&this.match(Ie.TokenType.COLON))throw this.createUnexpected(this.lookahead);return{methodOrKey:a,kind:e.type.klass.isIdentifierName?"identifier":"property",escaped:e.escaped}}},{key:"parseClass",value:function(e){var t=this,r=e.isExpr,n=e.inDefault,i=this.startNode();this.lex();var a=null,u=null;if(this.matchIdentifier())a=this.parseBindingIdentifier();else if(!r){if(!n)throw this.createUnexpected(this.lookahead);a=new Le.BindingIdentifier({name:"*default*"})}this.eat(Ie.TokenType.EXTENDS)&&(u=this.isolateCoverGrammar((function(){return t.parseLeftHandSideExpression({allowCall:!0})}))),this.expect(Ie.TokenType.LBRACE);for(var s=[];!this.eat(Ie.TokenType.RBRACE);)if(!this.eat(Ie.TokenType.SEMICOLON)){var o=!1,c=this.startNode(),p=this.parseMethodDefinition(),l=p.methodOrKey,d=p.kind,h=p.escaped;if("identifier"===d&&"static"===l.value&&!h){o=!0;var f=this.parseMethodDefinition();l=f.methodOrKey,d=f.kind}if("method"!==d)throw this.createError("Only methods are allowed in classes");s.push(this.finishNode(new Le.ClassElement({isStatic:o,method:l}),c))}return this.finishNode(new(r?Le.ClassExpression:Le.ClassDeclaration)({name:a,super:u,elements:s}),i)}},{key:"parseFunction",value:function(e){var t=e.isExpr,r=e.inDefault,n=e.allowGenerator,i=e.isAsync,a=e.startState,u=void 0===a?this.startNode():a;this.lex();var s=null,o=n&&!!this.eat(Ie.TokenType.MUL),c=this.allowYieldExpression,p=this.allowAwaitExpression,l=this.firstAwaitLocation;if(t&&(this.allowYieldExpression=o,this.allowAwaitExpression=i),this.match(Ie.TokenType.LPAREN)){if(!t){if(!r)throw this.createUnexpected(this.lookahead);s=new Le.BindingIdentifier({name:"*default*"})}}else s=this.parseBindingIdentifier();this.allowYieldExpression=o,this.allowAwaitExpression=i,this.firstAwaitLocation=null;var d=this.parseParams(),h=this.parseFunctionBody();return this.allowYieldExpression=c,this.allowAwaitExpression=p,this.firstAwaitLocation=l,this.finishNode(new(t?Le.FunctionExpression:Le.FunctionDeclaration)({isAsync:i,isGenerator:o,name:s,params:d,body:h}),u)}},{key:"parseArrayBinding",value:function(){var e=this.startNode();this.expect(Ie.TokenType.LBRACK);for(var t=[],r=null;!this.match(Ie.TokenType.RBRACK);){var n=void 0;if(this.eat(Ie.TokenType.COMMA))n=null;else{if(this.eat(Ie.TokenType.ELLIPSIS)){r=this.parseBindingTarget();break}n=this.parseBindingElement(),this.match(Ie.TokenType.RBRACK)||this.expect(Ie.TokenType.COMMA)}t.push(n)}return this.expect(Ie.TokenType.RBRACK),this.finishNode(new Le.ArrayBinding({elements:t,rest:r}),e)}},{key:"parseBindingProperty",value:function(){var e=this.startNode(),t=this.matchIdentifier(),r=this.lookahead,n=this.parsePropertyName(),i=n.name,a=n.binding;if(t&&"StaticPropertyName"===i.type&&!this.match(Ie.TokenType.COLON)){if(this.allowYieldExpression&&"yield"===r.value)throw this.createError(we.ErrorMessages.ILLEGAL_YIELD_IDENTIFIER);if(this.allowAwaitExpression&&"await"===r.value)throw this.createError(we.ErrorMessages.ILLEGAL_AWAIT_IDENTIFIER);var u=null;return this.eat(Ie.TokenType.ASSIGN)&&(u=this.parseAssignmentExpression()),this.finishNode(new Le.BindingPropertyIdentifier({binding:a,init:u}),e)}return this.expect(Ie.TokenType.COLON),a=this.parseBindingElement(),this.finishNode(new Le.BindingPropertyProperty({name:i,binding:a}),e)}},{key:"parseObjectBinding",value:function(){var e=this.startNode();this.expect(Ie.TokenType.LBRACE);for(var t=[],r=null;!this.match(Ie.TokenType.RBRACE);){if(this.eat(Ie.TokenType.ELLIPSIS)){r=this.parseBindingIdentifier();break}t.push(this.parseBindingProperty()),this.match(Ie.TokenType.RBRACE)||this.expect(Ie.TokenType.COMMA)}return this.expect(Ie.TokenType.RBRACE),this.finishNode(new Le.ObjectBinding({properties:t,rest:r}),e)}},{key:"parseBindingTarget",value:function(){if(this.matchIdentifier())return this.parseBindingIdentifier();switch(this.lookahead.type){case Ie.TokenType.LBRACK:return this.parseArrayBinding();case Ie.TokenType.LBRACE:return this.parseObjectBinding()}throw this.createUnexpected(this.lookahead)}},{key:"parseBindingElement",value:function(){var e=this.startNode(),t=this.parseBindingTarget();if(this.eat(Ie.TokenType.ASSIGN)){var r=this.parseAssignmentExpression();t=this.finishNode(new Le.BindingWithDefault({binding:t,init:r}),e)}return t}},{key:"parseParam",value:function(){var e=this.inParameter;this.inParameter=!0;var t=this.parseBindingElement();return this.inParameter=e,t}},{key:"parseParams",value:function(){var e=this.startNode();this.expect(Ie.TokenType.LPAREN);for(var t=[],r=null;!this.match(Ie.TokenType.RPAREN);){if(this.eat(Ie.TokenType.ELLIPSIS)){if(r=this.parseBindingTarget(),this.lookahead.type===Ie.TokenType.ASSIGN)throw this.createError(we.ErrorMessages.UNEXPECTED_REST_PARAMETERS_INITIALIZATION);if(this.match(Ie.TokenType.COMMA))throw this.createError(we.ErrorMessages.UNEXPECTED_COMMA_AFTER_REST);break}if(t.push(this.parseParam()),this.match(Ie.TokenType.RPAREN))break;this.expect(Ie.TokenType.COMMA)}return this.expect(Ie.TokenType.RPAREN),this.finishNode(new Le.FormalParameters({items:t,rest:r}),e)}}]),t}(Oe.default);var Ye={},qe={},Xe={};Object.defineProperty(Xe,"__esModule",{value:!0}),Xe.reduce=function(e,t){return ze[t.type](e,t)};var ze={ArrayAssignmentTarget:function(e,t){var r=this;return e.reduceArrayAssignmentTarget(t,{elements:t.elements.map((function(t){return t&&r[t.type](e,t)})),rest:t.rest&&this[t.rest.type](e,t.rest)})},ArrayBinding:function(e,t){var r=this;return e.reduceArrayBinding(t,{elements:t.elements.map((function(t){return t&&r[t.type](e,t)})),rest:t.rest&&this[t.rest.type](e,t.rest)})},ArrayExpression:function(e,t){var r=this;return e.reduceArrayExpression(t,{elements:t.elements.map((function(t){return t&&r[t.type](e,t)}))})},ArrowExpression:function(e,t){return e.reduceArrowExpression(t,{params:this.FormalParameters(e,t.params),body:this[t.body.type](e,t.body)})},AssignmentExpression:function(e,t){return e.reduceAssignmentExpression(t,{binding:this[t.binding.type](e,t.binding),expression:this[t.expression.type](e,t.expression)})},AssignmentTargetIdentifier:function(e,t){return e.reduceAssignmentTargetIdentifier(t)},AssignmentTargetPropertyIdentifier:function(e,t){return e.reduceAssignmentTargetPropertyIdentifier(t,{binding:this.AssignmentTargetIdentifier(e,t.binding),init:t.init&&this[t.init.type](e,t.init)})},AssignmentTargetPropertyProperty:function(e,t){return e.reduceAssignmentTargetPropertyProperty(t,{name:this[t.name.type](e,t.name),binding:this[t.binding.type](e,t.binding)})},AssignmentTargetWithDefault:function(e,t){return e.reduceAssignmentTargetWithDefault(t,{binding:this[t.binding.type](e,t.binding),init:this[t.init.type](e,t.init)})},AwaitExpression:function(e,t){return e.reduceAwaitExpression(t,{expression:this[t.expression.type](e,t.expression)})},BinaryExpression:function(e,t){return e.reduceBinaryExpression(t,{left:this[t.left.type](e,t.left),right:this[t.right.type](e,t.right)})},BindingIdentifier:function(e,t){return e.reduceBindingIdentifier(t)},BindingPropertyIdentifier:function(e,t){return e.reduceBindingPropertyIdentifier(t,{binding:this.BindingIdentifier(e,t.binding),init:t.init&&this[t.init.type](e,t.init)})},BindingPropertyProperty:function(e,t){return e.reduceBindingPropertyProperty(t,{name:this[t.name.type](e,t.name),binding:this[t.binding.type](e,t.binding)})},BindingWithDefault:function(e,t){return e.reduceBindingWithDefault(t,{binding:this[t.binding.type](e,t.binding),init:this[t.init.type](e,t.init)})},Block:function(e,t){var r=this;return e.reduceBlock(t,{statements:t.statements.map((function(t){return r[t.type](e,t)}))})},BlockStatement:function(e,t){return e.reduceBlockStatement(t,{block:this.Block(e,t.block)})},BreakStatement:function(e,t){return e.reduceBreakStatement(t)},CallExpression:function(e,t){var r=this;return e.reduceCallExpression(t,{callee:this[t.callee.type](e,t.callee),arguments:t.arguments.map((function(t){return r[t.type](e,t)}))})},CatchClause:function(e,t){return e.reduceCatchClause(t,{binding:this[t.binding.type](e,t.binding),body:this.Block(e,t.body)})},ClassDeclaration:function(e,t){var r=this;return e.reduceClassDeclaration(t,{name:this.BindingIdentifier(e,t.name),super:t.super&&this[t.super.type](e,t.super),elements:t.elements.map((function(t){return r.ClassElement(e,t)}))})},ClassElement:function(e,t){return e.reduceClassElement(t,{method:this[t.method.type](e,t.method)})},ClassExpression:function(e,t){var r=this;return e.reduceClassExpression(t,{name:t.name&&this.BindingIdentifier(e,t.name),super:t.super&&this[t.super.type](e,t.super),elements:t.elements.map((function(t){return r.ClassElement(e,t)}))})},CompoundAssignmentExpression:function(e,t){return e.reduceCompoundAssignmentExpression(t,{binding:this[t.binding.type](e,t.binding),expression:this[t.expression.type](e,t.expression)})},ComputedMemberAssignmentTarget:function(e,t){return e.reduceComputedMemberAssignmentTarget(t,{object:this[t.object.type](e,t.object),expression:this[t.expression.type](e,t.expression)})},ComputedMemberExpression:function(e,t){return e.reduceComputedMemberExpression(t,{object:this[t.object.type](e,t.object),expression:this[t.expression.type](e,t.expression)})},ComputedPropertyName:function(e,t){return e.reduceComputedPropertyName(t,{expression:this[t.expression.type](e,t.expression)})},ConditionalExpression:function(e,t){return e.reduceConditionalExpression(t,{test:this[t.test.type](e,t.test),consequent:this[t.consequent.type](e,t.consequent),alternate:this[t.alternate.type](e,t.alternate)})},ContinueStatement:function(e,t){return e.reduceContinueStatement(t)},DataProperty:function(e,t){return e.reduceDataProperty(t,{name:this[t.name.type](e,t.name),expression:this[t.expression.type](e,t.expression)})},DebuggerStatement:function(e,t){return e.reduceDebuggerStatement(t)},Directive:function(e,t){return e.reduceDirective(t)},DoWhileStatement:function(e,t){return e.reduceDoWhileStatement(t,{body:this[t.body.type](e,t.body),test:this[t.test.type](e,t.test)})},EmptyStatement:function(e,t){return e.reduceEmptyStatement(t)},Export:function(e,t){return e.reduceExport(t,{declaration:this[t.declaration.type](e,t.declaration)})},ExportAllFrom:function(e,t){return e.reduceExportAllFrom(t)},ExportDefault:function(e,t){return e.reduceExportDefault(t,{body:this[t.body.type](e,t.body)})},ExportFrom:function(e,t){var r=this;return e.reduceExportFrom(t,{namedExports:t.namedExports.map((function(t){return r.ExportFromSpecifier(e,t)}))})},ExportFromSpecifier:function(e,t){return e.reduceExportFromSpecifier(t)},ExportLocalSpecifier:function(e,t){return e.reduceExportLocalSpecifier(t,{name:this.IdentifierExpression(e,t.name)})},ExportLocals:function(e,t){var r=this;return e.reduceExportLocals(t,{namedExports:t.namedExports.map((function(t){return r.ExportLocalSpecifier(e,t)}))})},ExpressionStatement:function(e,t){return e.reduceExpressionStatement(t,{expression:this[t.expression.type](e,t.expression)})},ForAwaitStatement:function(e,t){return e.reduceForAwaitStatement(t,{left:this[t.left.type](e,t.left),right:this[t.right.type](e,t.right),body:this[t.body.type](e,t.body)})},ForInStatement:function(e,t){return e.reduceForInStatement(t,{left:this[t.left.type](e,t.left),right:this[t.right.type](e,t.right),body:this[t.body.type](e,t.body)})},ForOfStatement:function(e,t){return e.reduceForOfStatement(t,{left:this[t.left.type](e,t.left),right:this[t.right.type](e,t.right),body:this[t.body.type](e,t.body)})},ForStatement:function(e,t){return e.reduceForStatement(t,{init:t.init&&this[t.init.type](e,t.init),test:t.test&&this[t.test.type](e,t.test),update:t.update&&this[t.update.type](e,t.update),body:this[t.body.type](e,t.body)})},FormalParameters:function(e,t){var r=this;return e.reduceFormalParameters(t,{items:t.items.map((function(t){return r[t.type](e,t)})),rest:t.rest&&this[t.rest.type](e,t.rest)})},FunctionBody:function(e,t){var r=this;return e.reduceFunctionBody(t,{directives:t.directives.map((function(t){return r.Directive(e,t)})),statements:t.statements.map((function(t){return r[t.type](e,t)}))})},FunctionDeclaration:function(e,t){return e.reduceFunctionDeclaration(t,{name:this.BindingIdentifier(e,t.name),params:this.FormalParameters(e,t.params),body:this.FunctionBody(e,t.body)})},FunctionExpression:function(e,t){return e.reduceFunctionExpression(t,{name:t.name&&this.BindingIdentifier(e,t.name),params:this.FormalParameters(e,t.params),body:this.FunctionBody(e,t.body)})},Getter:function(e,t){return e.reduceGetter(t,{name:this[t.name.type](e,t.name),body:this.FunctionBody(e,t.body)})},IdentifierExpression:function(e,t){return e.reduceIdentifierExpression(t)},IfStatement:function(e,t){return e.reduceIfStatement(t,{test:this[t.test.type](e,t.test),consequent:this[t.consequent.type](e,t.consequent),alternate:t.alternate&&this[t.alternate.type](e,t.alternate)})},Import:function(e,t){var r=this;return e.reduceImport(t,{defaultBinding:t.defaultBinding&&this.BindingIdentifier(e,t.defaultBinding),namedImports:t.namedImports.map((function(t){return r.ImportSpecifier(e,t)}))})},ImportNamespace:function(e,t){return e.reduceImportNamespace(t,{defaultBinding:t.defaultBinding&&this.BindingIdentifier(e,t.defaultBinding),namespaceBinding:this.BindingIdentifier(e,t.namespaceBinding)})},ImportSpecifier:function(e,t){return e.reduceImportSpecifier(t,{binding:this.BindingIdentifier(e,t.binding)})},LabeledStatement:function(e,t){return e.reduceLabeledStatement(t,{body:this[t.body.type](e,t.body)})},LiteralBooleanExpression:function(e,t){return e.reduceLiteralBooleanExpression(t)},LiteralInfinityExpression:function(e,t){return e.reduceLiteralInfinityExpression(t)},LiteralNullExpression:function(e,t){return e.reduceLiteralNullExpression(t)},LiteralNumericExpression:function(e,t){return e.reduceLiteralNumericExpression(t)},LiteralRegExpExpression:function(e,t){return e.reduceLiteralRegExpExpression(t)},LiteralStringExpression:function(e,t){return e.reduceLiteralStringExpression(t)},Method:function(e,t){return e.reduceMethod(t,{name:this[t.name.type](e,t.name),params:this.FormalParameters(e,t.params),body:this.FunctionBody(e,t.body)})},Module:function(e,t){var r=this;return e.reduceModule(t,{directives:t.directives.map((function(t){return r.Directive(e,t)})),items:t.items.map((function(t){return r[t.type](e,t)}))})},NewExpression:function(e,t){var r=this;return e.reduceNewExpression(t,{callee:this[t.callee.type](e,t.callee),arguments:t.arguments.map((function(t){return r[t.type](e,t)}))})},NewTargetExpression:function(e,t){return e.reduceNewTargetExpression(t)},ObjectAssignmentTarget:function(e,t){var r=this;return e.reduceObjectAssignmentTarget(t,{properties:t.properties.map((function(t){return r[t.type](e,t)})),rest:t.rest&&this[t.rest.type](e,t.rest)})},ObjectBinding:function(e,t){var r=this;return e.reduceObjectBinding(t,{properties:t.properties.map((function(t){return r[t.type](e,t)})),rest:t.rest&&this[t.rest.type](e,t.rest)})},ObjectExpression:function(e,t){var r=this;return e.reduceObjectExpression(t,{properties:t.properties.map((function(t){return r[t.type](e,t)}))})},ReturnStatement:function(e,t){return e.reduceReturnStatement(t,{expression:t.expression&&this[t.expression.type](e,t.expression)})},Script:function(e,t){var r=this;return e.reduceScript(t,{directives:t.directives.map((function(t){return r.Directive(e,t)})),statements:t.statements.map((function(t){return r[t.type](e,t)}))})},Setter:function(e,t){return e.reduceSetter(t,{name:this[t.name.type](e,t.name),param:this[t.param.type](e,t.param),body:this.FunctionBody(e,t.body)})},ShorthandProperty:function(e,t){return e.reduceShorthandProperty(t,{name:this.IdentifierExpression(e,t.name)})},SpreadElement:function(e,t){return e.reduceSpreadElement(t,{expression:this[t.expression.type](e,t.expression)})},SpreadProperty:function(e,t){return e.reduceSpreadProperty(t,{expression:this[t.expression.type](e,t.expression)})},StaticMemberAssignmentTarget:function(e,t){return e.reduceStaticMemberAssignmentTarget(t,{object:this[t.object.type](e,t.object)})},StaticMemberExpression:function(e,t){return e.reduceStaticMemberExpression(t,{object:this[t.object.type](e,t.object)})},StaticPropertyName:function(e,t){return e.reduceStaticPropertyName(t)},Super:function(e,t){return e.reduceSuper(t)},SwitchCase:function(e,t){var r=this;return e.reduceSwitchCase(t,{test:this[t.test.type](e,t.test),consequent:t.consequent.map((function(t){return r[t.type](e,t)}))})},SwitchDefault:function(e,t){var r=this;return e.reduceSwitchDefault(t,{consequent:t.consequent.map((function(t){return r[t.type](e,t)}))})},SwitchStatement:function(e,t){var r=this;return e.reduceSwitchStatement(t,{discriminant:this[t.discriminant.type](e,t.discriminant),cases:t.cases.map((function(t){return r.SwitchCase(e,t)}))})},SwitchStatementWithDefault:function(e,t){var r=this;return e.reduceSwitchStatementWithDefault(t,{discriminant:this[t.discriminant.type](e,t.discriminant),preDefaultCases:t.preDefaultCases.map((function(t){return r.SwitchCase(e,t)})),defaultCase:this.SwitchDefault(e,t.defaultCase),postDefaultCases:t.postDefaultCases.map((function(t){return r.SwitchCase(e,t)}))})},TemplateElement:function(e,t){return e.reduceTemplateElement(t)},TemplateExpression:function(e,t){var r=this;return e.reduceTemplateExpression(t,{tag:t.tag&&this[t.tag.type](e,t.tag),elements:t.elements.map((function(t){return r[t.type](e,t)}))})},ThisExpression:function(e,t){return e.reduceThisExpression(t)},ThrowStatement:function(e,t){return e.reduceThrowStatement(t,{expression:this[t.expression.type](e,t.expression)})},TryCatchStatement:function(e,t){return e.reduceTryCatchStatement(t,{body:this.Block(e,t.body),catchClause:this.CatchClause(e,t.catchClause)})},TryFinallyStatement:function(e,t){return e.reduceTryFinallyStatement(t,{body:this.Block(e,t.body),catchClause:t.catchClause&&this.CatchClause(e,t.catchClause),finalizer:this.Block(e,t.finalizer)})},UnaryExpression:function(e,t){return e.reduceUnaryExpression(t,{operand:this[t.operand.type](e,t.operand)})},UpdateExpression:function(e,t){return e.reduceUpdateExpression(t,{operand:this[t.operand.type](e,t.operand)})},VariableDeclaration:function(e,t){var r=this;return e.reduceVariableDeclaration(t,{declarators:t.declarators.map((function(t){return r.VariableDeclarator(e,t)}))})},VariableDeclarationStatement:function(e,t){return e.reduceVariableDeclarationStatement(t,{declaration:this.VariableDeclaration(e,t.declaration)})},VariableDeclarator:function(e,t){return e.reduceVariableDeclarator(t,{binding:this[t.binding.type](e,t.binding),init:t.init&&this[t.init.type](e,t.init)})},WhileStatement:function(e,t){return e.reduceWhileStatement(t,{test:this[t.test.type](e,t.test),body:this[t.body.type](e,t.body)})},WithStatement:function(e,t){return e.reduceWithStatement(t,{object:this[t.object.type](e,t.object),body:this[t.body.type](e,t.body)})},YieldExpression:function(e,t){return e.reduceYieldExpression(t,{expression:t.expression&&this[t.expression.type](e,t.expression)})},YieldGeneratorExpression:function(e,t){return e.reduceYieldGeneratorExpression(t,{expression:this[t.expression.type](e,t.expression)})}};var $e={};Object.defineProperty($e,"__esModule",{value:!0}),$e.thunkedReduce=function(e,t){return Je[t.type](e,t)};var Je={ArrayAssignmentTarget:function(e,t){var r=this;return e.reduceArrayAssignmentTarget(t,{elements:t.elements.map((function(t){return t&&function(){return r[t.type](e,t)}})),rest:t.rest&&function(){return r[t.rest.type](e,t.rest)}})},ArrayBinding:function(e,t){var r=this;return e.reduceArrayBinding(t,{elements:t.elements.map((function(t){return t&&function(){return r[t.type](e,t)}})),rest:t.rest&&function(){return r[t.rest.type](e,t.rest)}})},ArrayExpression:function(e,t){var r=this;return e.reduceArrayExpression(t,{elements:t.elements.map((function(t){return t&&function(){return r[t.type](e,t)}}))})},ArrowExpression:function(e,t){var r=this;return e.reduceArrowExpression(t,{params:function(){return r.FormalParameters(e,t.params)},body:function(){return r[t.body.type](e,t.body)}})},AssignmentExpression:function(e,t){var r=this;return e.reduceAssignmentExpression(t,{binding:function(){return r[t.binding.type](e,t.binding)},expression:function(){return r[t.expression.type](e,t.expression)}})},AssignmentTargetIdentifier:function(e,t){return e.reduceAssignmentTargetIdentifier(t)},AssignmentTargetPropertyIdentifier:function(e,t){var r=this;return e.reduceAssignmentTargetPropertyIdentifier(t,{binding:function(){return r.AssignmentTargetIdentifier(e,t.binding)},init:t.init&&function(){return r[t.init.type](e,t.init)}})},AssignmentTargetPropertyProperty:function(e,t){var r=this;return e.reduceAssignmentTargetPropertyProperty(t,{name:function(){return r[t.name.type](e,t.name)},binding:function(){return r[t.binding.type](e,t.binding)}})},AssignmentTargetWithDefault:function(e,t){var r=this;return e.reduceAssignmentTargetWithDefault(t,{binding:function(){return r[t.binding.type](e,t.binding)},init:function(){return r[t.init.type](e,t.init)}})},AwaitExpression:function(e,t){var r=this;return e.reduceAwaitExpression(t,{expression:function(){return r[t.expression.type](e,t.expression)}})},BinaryExpression:function(e,t){var r=this;return e.reduceBinaryExpression(t,{left:function(){return r[t.left.type](e,t.left)},right:function(){return r[t.right.type](e,t.right)}})},BindingIdentifier:function(e,t){return e.reduceBindingIdentifier(t)},BindingPropertyIdentifier:function(e,t){var r=this;return e.reduceBindingPropertyIdentifier(t,{binding:function(){return r.BindingIdentifier(e,t.binding)},init:t.init&&function(){return r[t.init.type](e,t.init)}})},BindingPropertyProperty:function(e,t){var r=this;return e.reduceBindingPropertyProperty(t,{name:function(){return r[t.name.type](e,t.name)},binding:function(){return r[t.binding.type](e,t.binding)}})},BindingWithDefault:function(e,t){var r=this;return e.reduceBindingWithDefault(t,{binding:function(){return r[t.binding.type](e,t.binding)},init:function(){return r[t.init.type](e,t.init)}})},Block:function(e,t){var r=this;return e.reduceBlock(t,{statements:t.statements.map((function(t){return function(){return r[t.type](e,t)}}))})},BlockStatement:function(e,t){var r=this;return e.reduceBlockStatement(t,{block:function(){return r.Block(e,t.block)}})},BreakStatement:function(e,t){return e.reduceBreakStatement(t)},CallExpression:function(e,t){var r=this;return e.reduceCallExpression(t,{callee:function(){return r[t.callee.type](e,t.callee)},arguments:t.arguments.map((function(t){return function(){return r[t.type](e,t)}}))})},CatchClause:function(e,t){var r=this;return e.reduceCatchClause(t,{binding:function(){return r[t.binding.type](e,t.binding)},body:function(){return r.Block(e,t.body)}})},ClassDeclaration:function(e,t){var r=this;return e.reduceClassDeclaration(t,{name:function(){return r.BindingIdentifier(e,t.name)},super:t.super&&function(){return r[t.super.type](e,t.super)},elements:t.elements.map((function(t){return function(){return r.ClassElement(e,t)}}))})},ClassElement:function(e,t){var r=this;return e.reduceClassElement(t,{method:function(){return r[t.method.type](e,t.method)}})},ClassExpression:function(e,t){var r=this;return e.reduceClassExpression(t,{name:t.name&&function(){return r.BindingIdentifier(e,t.name)},super:t.super&&function(){return r[t.super.type](e,t.super)},elements:t.elements.map((function(t){return function(){return r.ClassElement(e,t)}}))})},CompoundAssignmentExpression:function(e,t){var r=this;return e.reduceCompoundAssignmentExpression(t,{binding:function(){return r[t.binding.type](e,t.binding)},expression:function(){return r[t.expression.type](e,t.expression)}})},ComputedMemberAssignmentTarget:function(e,t){var r=this;return e.reduceComputedMemberAssignmentTarget(t,{object:function(){return r[t.object.type](e,t.object)},expression:function(){return r[t.expression.type](e,t.expression)}})},ComputedMemberExpression:function(e,t){var r=this;return e.reduceComputedMemberExpression(t,{object:function(){return r[t.object.type](e,t.object)},expression:function(){return r[t.expression.type](e,t.expression)}})},ComputedPropertyName:function(e,t){var r=this;return e.reduceComputedPropertyName(t,{expression:function(){return r[t.expression.type](e,t.expression)}})},ConditionalExpression:function(e,t){var r=this;return e.reduceConditionalExpression(t,{test:function(){return r[t.test.type](e,t.test)},consequent:function(){return r[t.consequent.type](e,t.consequent)},alternate:function(){return r[t.alternate.type](e,t.alternate)}})},ContinueStatement:function(e,t){return e.reduceContinueStatement(t)},DataProperty:function(e,t){var r=this;return e.reduceDataProperty(t,{name:function(){return r[t.name.type](e,t.name)},expression:function(){return r[t.expression.type](e,t.expression)}})},DebuggerStatement:function(e,t){return e.reduceDebuggerStatement(t)},Directive:function(e,t){return e.reduceDirective(t)},DoWhileStatement:function(e,t){var r=this;return e.reduceDoWhileStatement(t,{body:function(){return r[t.body.type](e,t.body)},test:function(){return r[t.test.type](e,t.test)}})},EmptyStatement:function(e,t){return e.reduceEmptyStatement(t)},Export:function(e,t){var r=this;return e.reduceExport(t,{declaration:function(){return r[t.declaration.type](e,t.declaration)}})},ExportAllFrom:function(e,t){return e.reduceExportAllFrom(t)},ExportDefault:function(e,t){var r=this;return e.reduceExportDefault(t,{body:function(){return r[t.body.type](e,t.body)}})},ExportFrom:function(e,t){var r=this;return e.reduceExportFrom(t,{namedExports:t.namedExports.map((function(t){return function(){return r.ExportFromSpecifier(e,t)}}))})},ExportFromSpecifier:function(e,t){return e.reduceExportFromSpecifier(t)},ExportLocalSpecifier:function(e,t){var r=this;return e.reduceExportLocalSpecifier(t,{name:function(){return r.IdentifierExpression(e,t.name)}})},ExportLocals:function(e,t){var r=this;return e.reduceExportLocals(t,{namedExports:t.namedExports.map((function(t){return function(){return r.ExportLocalSpecifier(e,t)}}))})},ExpressionStatement:function(e,t){var r=this;return e.reduceExpressionStatement(t,{expression:function(){return r[t.expression.type](e,t.expression)}})},ForAwaitStatement:function(e,t){var r=this;return e.reduceForAwaitStatement(t,{left:function(){return r[t.left.type](e,t.left)},right:function(){return r[t.right.type](e,t.right)},body:function(){return r[t.body.type](e,t.body)}})},ForInStatement:function(e,t){var r=this;return e.reduceForInStatement(t,{left:function(){return r[t.left.type](e,t.left)},right:function(){return r[t.right.type](e,t.right)},body:function(){return r[t.body.type](e,t.body)}})},ForOfStatement:function(e,t){var r=this;return e.reduceForOfStatement(t,{left:function(){return r[t.left.type](e,t.left)},right:function(){return r[t.right.type](e,t.right)},body:function(){return r[t.body.type](e,t.body)}})},ForStatement:function(e,t){var r=this;return e.reduceForStatement(t,{init:t.init&&function(){return r[t.init.type](e,t.init)},test:t.test&&function(){return r[t.test.type](e,t.test)},update:t.update&&function(){return r[t.update.type](e,t.update)},body:function(){return r[t.body.type](e,t.body)}})},FormalParameters:function(e,t){var r=this;return e.reduceFormalParameters(t,{items:t.items.map((function(t){return function(){return r[t.type](e,t)}})),rest:t.rest&&function(){return r[t.rest.type](e,t.rest)}})},FunctionBody:function(e,t){var r=this;return e.reduceFunctionBody(t,{directives:t.directives.map((function(t){return function(){return r.Directive(e,t)}})),statements:t.statements.map((function(t){return function(){return r[t.type](e,t)}}))})},FunctionDeclaration:function(e,t){var r=this;return e.reduceFunctionDeclaration(t,{name:function(){return r.BindingIdentifier(e,t.name)},params:function(){return r.FormalParameters(e,t.params)},body:function(){return r.FunctionBody(e,t.body)}})},FunctionExpression:function(e,t){var r=this;return e.reduceFunctionExpression(t,{name:t.name&&function(){return r.BindingIdentifier(e,t.name)},params:function(){return r.FormalParameters(e,t.params)},body:function(){return r.FunctionBody(e,t.body)}})},Getter:function(e,t){var r=this;return e.reduceGetter(t,{name:function(){return r[t.name.type](e,t.name)},body:function(){return r.FunctionBody(e,t.body)}})},IdentifierExpression:function(e,t){return e.reduceIdentifierExpression(t)},IfStatement:function(e,t){var r=this;return e.reduceIfStatement(t,{test:function(){return r[t.test.type](e,t.test)},consequent:function(){return r[t.consequent.type](e,t.consequent)},alternate:t.alternate&&function(){return r[t.alternate.type](e,t.alternate)}})},Import:function(e,t){var r=this;return e.reduceImport(t,{defaultBinding:t.defaultBinding&&function(){return r.BindingIdentifier(e,t.defaultBinding)},namedImports:t.namedImports.map((function(t){return function(){return r.ImportSpecifier(e,t)}}))})},ImportNamespace:function(e,t){var r=this;return e.reduceImportNamespace(t,{defaultBinding:t.defaultBinding&&function(){return r.BindingIdentifier(e,t.defaultBinding)},namespaceBinding:function(){return r.BindingIdentifier(e,t.namespaceBinding)}})},ImportSpecifier:function(e,t){var r=this;return e.reduceImportSpecifier(t,{binding:function(){return r.BindingIdentifier(e,t.binding)}})},LabeledStatement:function(e,t){var r=this;return e.reduceLabeledStatement(t,{body:function(){return r[t.body.type](e,t.body)}})},LiteralBooleanExpression:function(e,t){return e.reduceLiteralBooleanExpression(t)},LiteralInfinityExpression:function(e,t){return e.reduceLiteralInfinityExpression(t)},LiteralNullExpression:function(e,t){return e.reduceLiteralNullExpression(t)},LiteralNumericExpression:function(e,t){return e.reduceLiteralNumericExpression(t)},LiteralRegExpExpression:function(e,t){return e.reduceLiteralRegExpExpression(t)},LiteralStringExpression:function(e,t){return e.reduceLiteralStringExpression(t)},Method:function(e,t){var r=this;return e.reduceMethod(t,{name:function(){return r[t.name.type](e,t.name)},params:function(){return r.FormalParameters(e,t.params)},body:function(){return r.FunctionBody(e,t.body)}})},Module:function(e,t){var r=this;return e.reduceModule(t,{directives:t.directives.map((function(t){return function(){return r.Directive(e,t)}})),items:t.items.map((function(t){return function(){return r[t.type](e,t)}}))})},NewExpression:function(e,t){var r=this;return e.reduceNewExpression(t,{callee:function(){return r[t.callee.type](e,t.callee)},arguments:t.arguments.map((function(t){return function(){return r[t.type](e,t)}}))})},NewTargetExpression:function(e,t){return e.reduceNewTargetExpression(t)},ObjectAssignmentTarget:function(e,t){var r=this;return e.reduceObjectAssignmentTarget(t,{properties:t.properties.map((function(t){return function(){return r[t.type](e,t)}})),rest:t.rest&&function(){return r[t.rest.type](e,t.rest)}})},ObjectBinding:function(e,t){var r=this;return e.reduceObjectBinding(t,{properties:t.properties.map((function(t){return function(){return r[t.type](e,t)}})),rest:t.rest&&function(){return r[t.rest.type](e,t.rest)}})},ObjectExpression:function(e,t){var r=this;return e.reduceObjectExpression(t,{properties:t.properties.map((function(t){return function(){return r[t.type](e,t)}}))})},ReturnStatement:function(e,t){var r=this;return e.reduceReturnStatement(t,{expression:t.expression&&function(){return r[t.expression.type](e,t.expression)}})},Script:function(e,t){var r=this;return e.reduceScript(t,{directives:t.directives.map((function(t){return function(){return r.Directive(e,t)}})),statements:t.statements.map((function(t){return function(){return r[t.type](e,t)}}))})},Setter:function(e,t){var r=this;return e.reduceSetter(t,{name:function(){return r[t.name.type](e,t.name)},param:function(){return r[t.param.type](e,t.param)},body:function(){return r.FunctionBody(e,t.body)}})},ShorthandProperty:function(e,t){var r=this;return e.reduceShorthandProperty(t,{name:function(){return r.IdentifierExpression(e,t.name)}})},SpreadElement:function(e,t){var r=this;return e.reduceSpreadElement(t,{expression:function(){return r[t.expression.type](e,t.expression)}})},SpreadProperty:function(e,t){var r=this;return e.reduceSpreadProperty(t,{expression:function(){return r[t.expression.type](e,t.expression)}})},StaticMemberAssignmentTarget:function(e,t){var r=this;return e.reduceStaticMemberAssignmentTarget(t,{object:function(){return r[t.object.type](e,t.object)}})},StaticMemberExpression:function(e,t){var r=this;return e.reduceStaticMemberExpression(t,{object:function(){return r[t.object.type](e,t.object)}})},StaticPropertyName:function(e,t){return e.reduceStaticPropertyName(t)},Super:function(e,t){return e.reduceSuper(t)},SwitchCase:function(e,t){var r=this;return e.reduceSwitchCase(t,{test:function(){return r[t.test.type](e,t.test)},consequent:t.consequent.map((function(t){return function(){return r[t.type](e,t)}}))})},SwitchDefault:function(e,t){var r=this;return e.reduceSwitchDefault(t,{consequent:t.consequent.map((function(t){return function(){return r[t.type](e,t)}}))})},SwitchStatement:function(e,t){var r=this;return e.reduceSwitchStatement(t,{discriminant:function(){return r[t.discriminant.type](e,t.discriminant)},cases:t.cases.map((function(t){return function(){return r.SwitchCase(e,t)}}))})},SwitchStatementWithDefault:function(e,t){var r=this;return e.reduceSwitchStatementWithDefault(t,{discriminant:function(){return r[t.discriminant.type](e,t.discriminant)},preDefaultCases:t.preDefaultCases.map((function(t){return function(){return r.SwitchCase(e,t)}})),defaultCase:function(){return r.SwitchDefault(e,t.defaultCase)},postDefaultCases:t.postDefaultCases.map((function(t){return function(){return r.SwitchCase(e,t)}}))})},TemplateElement:function(e,t){return e.reduceTemplateElement(t)},TemplateExpression:function(e,t){var r=this;return e.reduceTemplateExpression(t,{tag:t.tag&&function(){return r[t.tag.type](e,t.tag)},elements:t.elements.map((function(t){return function(){return r[t.type](e,t)}}))})},ThisExpression:function(e,t){return e.reduceThisExpression(t)},ThrowStatement:function(e,t){var r=this;return e.reduceThrowStatement(t,{expression:function(){return r[t.expression.type](e,t.expression)}})},TryCatchStatement:function(e,t){var r=this;return e.reduceTryCatchStatement(t,{body:function(){return r.Block(e,t.body)},catchClause:function(){return r.CatchClause(e,t.catchClause)}})},TryFinallyStatement:function(e,t){var r=this;return e.reduceTryFinallyStatement(t,{body:function(){return r.Block(e,t.body)},catchClause:t.catchClause&&function(){return r.CatchClause(e,t.catchClause)},finalizer:function(){return r.Block(e,t.finalizer)}})},UnaryExpression:function(e,t){var r=this;return e.reduceUnaryExpression(t,{operand:function(){return r[t.operand.type](e,t.operand)}})},UpdateExpression:function(e,t){var r=this;return e.reduceUpdateExpression(t,{operand:function(){return r[t.operand.type](e,t.operand)}})},VariableDeclaration:function(e,t){var r=this;return e.reduceVariableDeclaration(t,{declarators:t.declarators.map((function(t){return function(){return r.VariableDeclarator(e,t)}}))})},VariableDeclarationStatement:function(e,t){var r=this;return e.reduceVariableDeclarationStatement(t,{declaration:function(){return r.VariableDeclaration(e,t.declaration)}})},VariableDeclarator:function(e,t){var r=this;return e.reduceVariableDeclarator(t,{binding:function(){return r[t.binding.type](e,t.binding)},init:t.init&&function(){return r[t.init.type](e,t.init)}})},WhileStatement:function(e,t){var r=this;return e.reduceWhileStatement(t,{test:function(){return r[t.test.type](e,t.test)},body:function(){return r[t.body.type](e,t.body)}})},WithStatement:function(e,t){var r=this;return e.reduceWithStatement(t,{object:function(){return r[t.object.type](e,t.object)},body:function(){return r[t.body.type](e,t.body)}})},YieldExpression:function(e,t){var r=this;return e.reduceYieldExpression(t,{expression:t.expression&&function(){return r[t.expression.type](e,t.expression)}})},YieldGeneratorExpression:function(e,t){var r=this;return e.reduceYieldGeneratorExpression(t,{expression:function(){return r[t.expression.type](e,t.expression)}})}};var Ze={};Object.defineProperty(Ze,"__esModule",{value:!0}),Ze.default=function(e){return{reduceArrayAssignmentTarget:function(t,r){var n=r.elements,i=r.rest;return e.reduceArrayAssignmentTarget(t,{elements:n.map((function(e){return null==e?null:e()})),rest:null==i?null:i()})},reduceArrayBinding:function(t,r){var n=r.elements,i=r.rest;return e.reduceArrayBinding(t,{elements:n.map((function(e){return null==e?null:e()})),rest:null==i?null:i()})},reduceArrayExpression:function(t,r){var n=r.elements;return e.reduceArrayExpression(t,{elements:n.map((function(e){return null==e?null:e()}))})},reduceArrowExpression:function(t,r){var n=r.params,i=r.body;return e.reduceArrowExpression(t,{params:n(),body:i()})},reduceAssignmentExpression:function(t,r){var n=r.binding,i=r.expression;return e.reduceAssignmentExpression(t,{binding:n(),expression:i()})},reduceAssignmentTargetIdentifier:function(t){return e.reduceAssignmentTargetIdentifier(t)},reduceAssignmentTargetPropertyIdentifier:function(t,r){var n=r.binding,i=r.init;return e.reduceAssignmentTargetPropertyIdentifier(t,{binding:n(),init:null==i?null:i()})},reduceAssignmentTargetPropertyProperty:function(t,r){var n=r.name,i=r.binding;return e.reduceAssignmentTargetPropertyProperty(t,{name:n(),binding:i()})},reduceAssignmentTargetWithDefault:function(t,r){var n=r.binding,i=r.init;return e.reduceAssignmentTargetWithDefault(t,{binding:n(),init:i()})},reduceAwaitExpression:function(t,r){var n=r.expression;return e.reduceAwaitExpression(t,{expression:n()})},reduceBinaryExpression:function(t,r){var n=r.left,i=r.right;return e.reduceBinaryExpression(t,{left:n(),right:i()})},reduceBindingIdentifier:function(t){return e.reduceBindingIdentifier(t)},reduceBindingPropertyIdentifier:function(t,r){var n=r.binding,i=r.init;return e.reduceBindingPropertyIdentifier(t,{binding:n(),init:null==i?null:i()})},reduceBindingPropertyProperty:function(t,r){var n=r.name,i=r.binding;return e.reduceBindingPropertyProperty(t,{name:n(),binding:i()})},reduceBindingWithDefault:function(t,r){var n=r.binding,i=r.init;return e.reduceBindingWithDefault(t,{binding:n(),init:i()})},reduceBlock:function(t,r){var n=r.statements;return e.reduceBlock(t,{statements:n.map((function(e){return e()}))})},reduceBlockStatement:function(t,r){var n=r.block;return e.reduceBlockStatement(t,{block:n()})},reduceBreakStatement:function(t){return e.reduceBreakStatement(t)},reduceCallExpression:function(t,r){var n=r.callee,i=r.arguments;return e.reduceCallExpression(t,{callee:n(),arguments:i.map((function(e){return e()}))})},reduceCatchClause:function(t,r){var n=r.binding,i=r.body;return e.reduceCatchClause(t,{binding:n(),body:i()})},reduceClassDeclaration:function(t,r){var n=r.name,i=r.super,a=r.elements;return e.reduceClassDeclaration(t,{name:n(),super:null==i?null:i(),elements:a.map((function(e){return e()}))})},reduceClassElement:function(t,r){var n=r.method;return e.reduceClassElement(t,{method:n()})},reduceClassExpression:function(t,r){var n=r.name,i=r.super,a=r.elements;return e.reduceClassExpression(t,{name:null==n?null:n(),super:null==i?null:i(),elements:a.map((function(e){return e()}))})},reduceCompoundAssignmentExpression:function(t,r){var n=r.binding,i=r.expression;return e.reduceCompoundAssignmentExpression(t,{binding:n(),expression:i()})},reduceComputedMemberAssignmentTarget:function(t,r){var n=r.object,i=r.expression;return e.reduceComputedMemberAssignmentTarget(t,{object:n(),expression:i()})},reduceComputedMemberExpression:function(t,r){var n=r.object,i=r.expression;return e.reduceComputedMemberExpression(t,{object:n(),expression:i()})},reduceComputedPropertyName:function(t,r){var n=r.expression;return e.reduceComputedPropertyName(t,{expression:n()})},reduceConditionalExpression:function(t,r){var n=r.test,i=r.consequent,a=r.alternate;return e.reduceConditionalExpression(t,{test:n(),consequent:i(),alternate:a()})},reduceContinueStatement:function(t){return e.reduceContinueStatement(t)},reduceDataProperty:function(t,r){var n=r.name,i=r.expression;return e.reduceDataProperty(t,{name:n(),expression:i()})},reduceDebuggerStatement:function(t){return e.reduceDebuggerStatement(t)},reduceDirective:function(t){return e.reduceDirective(t)},reduceDoWhileStatement:function(t,r){var n=r.body,i=r.test;return e.reduceDoWhileStatement(t,{body:n(),test:i()})},reduceEmptyStatement:function(t){return e.reduceEmptyStatement(t)},reduceExport:function(t,r){var n=r.declaration;return e.reduceExport(t,{declaration:n()})},reduceExportAllFrom:function(t){return e.reduceExportAllFrom(t)},reduceExportDefault:function(t,r){var n=r.body;return e.reduceExportDefault(t,{body:n()})},reduceExportFrom:function(t,r){var n=r.namedExports;return e.reduceExportFrom(t,{namedExports:n.map((function(e){return e()}))})},reduceExportFromSpecifier:function(t){return e.reduceExportFromSpecifier(t)},reduceExportLocalSpecifier:function(t,r){var n=r.name;return e.reduceExportLocalSpecifier(t,{name:n()})},reduceExportLocals:function(t,r){var n=r.namedExports;return e.reduceExportLocals(t,{namedExports:n.map((function(e){return e()}))})},reduceExpressionStatement:function(t,r){var n=r.expression;return e.reduceExpressionStatement(t,{expression:n()})},reduceForAwaitStatement:function(t,r){var n=r.left,i=r.right,a=r.body;return e.reduceForAwaitStatement(t,{left:n(),right:i(),body:a()})},reduceForInStatement:function(t,r){var n=r.left,i=r.right,a=r.body;return e.reduceForInStatement(t,{left:n(),right:i(),body:a()})},reduceForOfStatement:function(t,r){var n=r.left,i=r.right,a=r.body;return e.reduceForOfStatement(t,{left:n(),right:i(),body:a()})},reduceForStatement:function(t,r){var n=r.init,i=r.test,a=r.update,u=r.body;return e.reduceForStatement(t,{init:null==n?null:n(),test:null==i?null:i(),update:null==a?null:a(),body:u()})},reduceFormalParameters:function(t,r){var n=r.items,i=r.rest;return e.reduceFormalParameters(t,{items:n.map((function(e){return e()})),rest:null==i?null:i()})},reduceFunctionBody:function(t,r){var n=r.directives,i=r.statements;return e.reduceFunctionBody(t,{directives:n.map((function(e){return e()})),statements:i.map((function(e){return e()}))})},reduceFunctionDeclaration:function(t,r){var n=r.name,i=r.params,a=r.body;return e.reduceFunctionDeclaration(t,{name:n(),params:i(),body:a()})},reduceFunctionExpression:function(t,r){var n=r.name,i=r.params,a=r.body;return e.reduceFunctionExpression(t,{name:null==n?null:n(),params:i(),body:a()})},reduceGetter:function(t,r){var n=r.name,i=r.body;return e.reduceGetter(t,{name:n(),body:i()})},reduceIdentifierExpression:function(t){return e.reduceIdentifierExpression(t)},reduceIfStatement:function(t,r){var n=r.test,i=r.consequent,a=r.alternate;return e.reduceIfStatement(t,{test:n(),consequent:i(),alternate:null==a?null:a()})},reduceImport:function(t,r){var n=r.defaultBinding,i=r.namedImports;return e.reduceImport(t,{defaultBinding:null==n?null:n(),namedImports:i.map((function(e){return e()}))})},reduceImportNamespace:function(t,r){var n=r.defaultBinding,i=r.namespaceBinding;return e.reduceImportNamespace(t,{defaultBinding:null==n?null:n(),namespaceBinding:i()})},reduceImportSpecifier:function(t,r){var n=r.binding;return e.reduceImportSpecifier(t,{binding:n()})},reduceLabeledStatement:function(t,r){var n=r.body;return e.reduceLabeledStatement(t,{body:n()})},reduceLiteralBooleanExpression:function(t){return e.reduceLiteralBooleanExpression(t)},reduceLiteralInfinityExpression:function(t){return e.reduceLiteralInfinityExpression(t)},reduceLiteralNullExpression:function(t){return e.reduceLiteralNullExpression(t)},reduceLiteralNumericExpression:function(t){return e.reduceLiteralNumericExpression(t)},reduceLiteralRegExpExpression:function(t){return e.reduceLiteralRegExpExpression(t)},reduceLiteralStringExpression:function(t){return e.reduceLiteralStringExpression(t)},reduceMethod:function(t,r){var n=r.name,i=r.params,a=r.body;return e.reduceMethod(t,{name:n(),params:i(),body:a()})},reduceModule:function(t,r){var n=r.directives,i=r.items;return e.reduceModule(t,{directives:n.map((function(e){return e()})),items:i.map((function(e){return e()}))})},reduceNewExpression:function(t,r){var n=r.callee,i=r.arguments;return e.reduceNewExpression(t,{callee:n(),arguments:i.map((function(e){return e()}))})},reduceNewTargetExpression:function(t){return e.reduceNewTargetExpression(t)},reduceObjectAssignmentTarget:function(t,r){var n=r.properties,i=r.rest;return e.reduceObjectAssignmentTarget(t,{properties:n.map((function(e){return e()})),rest:null==i?null:i()})},reduceObjectBinding:function(t,r){var n=r.properties,i=r.rest;return e.reduceObjectBinding(t,{properties:n.map((function(e){return e()})),rest:null==i?null:i()})},reduceObjectExpression:function(t,r){var n=r.properties;return e.reduceObjectExpression(t,{properties:n.map((function(e){return e()}))})},reduceReturnStatement:function(t,r){var n=r.expression;return e.reduceReturnStatement(t,{expression:null==n?null:n()})},reduceScript:function(t,r){var n=r.directives,i=r.statements;return e.reduceScript(t,{directives:n.map((function(e){return e()})),statements:i.map((function(e){return e()}))})},reduceSetter:function(t,r){var n=r.name,i=r.param,a=r.body;return e.reduceSetter(t,{name:n(),param:i(),body:a()})},reduceShorthandProperty:function(t,r){var n=r.name;return e.reduceShorthandProperty(t,{name:n()})},reduceSpreadElement:function(t,r){var n=r.expression;return e.reduceSpreadElement(t,{expression:n()})},reduceSpreadProperty:function(t,r){var n=r.expression;return e.reduceSpreadProperty(t,{expression:n()})},reduceStaticMemberAssignmentTarget:function(t,r){var n=r.object;return e.reduceStaticMemberAssignmentTarget(t,{object:n()})},reduceStaticMemberExpression:function(t,r){var n=r.object;return e.reduceStaticMemberExpression(t,{object:n()})},reduceStaticPropertyName:function(t){return e.reduceStaticPropertyName(t)},reduceSuper:function(t){return e.reduceSuper(t)},reduceSwitchCase:function(t,r){var n=r.test,i=r.consequent;return e.reduceSwitchCase(t,{test:n(),consequent:i.map((function(e){return e()}))})},reduceSwitchDefault:function(t,r){var n=r.consequent;return e.reduceSwitchDefault(t,{consequent:n.map((function(e){return e()}))})},reduceSwitchStatement:function(t,r){var n=r.discriminant,i=r.cases;return e.reduceSwitchStatement(t,{discriminant:n(),cases:i.map((function(e){return e()}))})},reduceSwitchStatementWithDefault:function(t,r){var n=r.discriminant,i=r.preDefaultCases,a=r.defaultCase,u=r.postDefaultCases;return e.reduceSwitchStatementWithDefault(t,{discriminant:n(),preDefaultCases:i.map((function(e){return e()})),defaultCase:a(),postDefaultCases:u.map((function(e){return e()}))})},reduceTemplateElement:function(t){return e.reduceTemplateElement(t)},reduceTemplateExpression:function(t,r){var n=r.tag,i=r.elements;return e.reduceTemplateExpression(t,{tag:null==n?null:n(),elements:i.map((function(e){return e()}))})},reduceThisExpression:function(t){return e.reduceThisExpression(t)},reduceThrowStatement:function(t,r){var n=r.expression;return e.reduceThrowStatement(t,{expression:n()})},reduceTryCatchStatement:function(t,r){var n=r.body,i=r.catchClause;return e.reduceTryCatchStatement(t,{body:n(),catchClause:i()})},reduceTryFinallyStatement:function(t,r){var n=r.body,i=r.catchClause,a=r.finalizer;return e.reduceTryFinallyStatement(t,{body:n(),catchClause:null==i?null:i(),finalizer:a()})},reduceUnaryExpression:function(t,r){var n=r.operand;return e.reduceUnaryExpression(t,{operand:n()})},reduceUpdateExpression:function(t,r){var n=r.operand;return e.reduceUpdateExpression(t,{operand:n()})},reduceVariableDeclaration:function(t,r){var n=r.declarators;return e.reduceVariableDeclaration(t,{declarators:n.map((function(e){return e()}))})},reduceVariableDeclarationStatement:function(t,r){var n=r.declaration;return e.reduceVariableDeclarationStatement(t,{declaration:n()})},reduceVariableDeclarator:function(t,r){var n=r.binding,i=r.init;return e.reduceVariableDeclarator(t,{binding:n(),init:null==i?null:i()})},reduceWhileStatement:function(t,r){var n=r.test,i=r.body;return e.reduceWhileStatement(t,{test:n(),body:i()})},reduceWithStatement:function(t,r){var n=r.object,i=r.body;return e.reduceWithStatement(t,{object:n(),body:i()})},reduceYieldExpression:function(t,r){var n=r.expression;return e.reduceYieldExpression(t,{expression:null==n?null:n()})},reduceYieldGeneratorExpression:function(t,r){var n=r.expression;return e.reduceYieldGeneratorExpression(t,{expression:n()})}}};var Qe={};Object.defineProperty(Qe,"__esModule",{value:!0});var et=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),tt=function e(t,r,n){null===t&&(t=Function.prototype);var i=Object.getOwnPropertyDescriptor(t,r);if(void 0===i){var a=Object.getPrototypeOf(t);return null===a?void 0:e(a,r,n)}if("value"in i)return i.value;var u=i.get;return void 0!==u?u.call(n):void 0};function rt(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function nt(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}Qe.default=function(e){return function(e){function t(){return rt(this,t),nt(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),et(t,[{key:"reduceArrayAssignmentTarget",value:function(e,r){var n=r.elements,i=r.rest;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceArrayAssignmentTarget",this).call(this,e,{elements:n.map((function(e){return null==e?null:e()})),rest:null==i?null:i()})}},{key:"reduceArrayBinding",value:function(e,r){var n=r.elements,i=r.rest;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceArrayBinding",this).call(this,e,{elements:n.map((function(e){return null==e?null:e()})),rest:null==i?null:i()})}},{key:"reduceArrayExpression",value:function(e,r){var n=r.elements;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceArrayExpression",this).call(this,e,{elements:n.map((function(e){return null==e?null:e()}))})}},{key:"reduceArrowExpression",value:function(e,r){var n=r.params,i=r.body;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceArrowExpression",this).call(this,e,{params:n(),body:i()})}},{key:"reduceAssignmentExpression",value:function(e,r){var n=r.binding,i=r.expression;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceAssignmentExpression",this).call(this,e,{binding:n(),expression:i()})}},{key:"reduceAssignmentTargetIdentifier",value:function(e){return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceAssignmentTargetIdentifier",this).call(this,e)}},{key:"reduceAssignmentTargetPropertyIdentifier",value:function(e,r){var n=r.binding,i=r.init;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceAssignmentTargetPropertyIdentifier",this).call(this,e,{binding:n(),init:null==i?null:i()})}},{key:"reduceAssignmentTargetPropertyProperty",value:function(e,r){var n=r.name,i=r.binding;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceAssignmentTargetPropertyProperty",this).call(this,e,{name:n(),binding:i()})}},{key:"reduceAssignmentTargetWithDefault",value:function(e,r){var n=r.binding,i=r.init;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceAssignmentTargetWithDefault",this).call(this,e,{binding:n(),init:i()})}},{key:"reduceAwaitExpression",value:function(e,r){var n=r.expression;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceAwaitExpression",this).call(this,e,{expression:n()})}},{key:"reduceBinaryExpression",value:function(e,r){var n=r.left,i=r.right;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceBinaryExpression",this).call(this,e,{left:n(),right:i()})}},{key:"reduceBindingIdentifier",value:function(e){return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceBindingIdentifier",this).call(this,e)}},{key:"reduceBindingPropertyIdentifier",value:function(e,r){var n=r.binding,i=r.init;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceBindingPropertyIdentifier",this).call(this,e,{binding:n(),init:null==i?null:i()})}},{key:"reduceBindingPropertyProperty",value:function(e,r){var n=r.name,i=r.binding;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceBindingPropertyProperty",this).call(this,e,{name:n(),binding:i()})}},{key:"reduceBindingWithDefault",value:function(e,r){var n=r.binding,i=r.init;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceBindingWithDefault",this).call(this,e,{binding:n(),init:i()})}},{key:"reduceBlock",value:function(e,r){var n=r.statements;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceBlock",this).call(this,e,{statements:n.map((function(e){return e()}))})}},{key:"reduceBlockStatement",value:function(e,r){var n=r.block;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceBlockStatement",this).call(this,e,{block:n()})}},{key:"reduceBreakStatement",value:function(e){return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceBreakStatement",this).call(this,e)}},{key:"reduceCallExpression",value:function(e,r){var n=r.callee,i=r.arguments;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceCallExpression",this).call(this,e,{callee:n(),arguments:i.map((function(e){return e()}))})}},{key:"reduceCatchClause",value:function(e,r){var n=r.binding,i=r.body;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceCatchClause",this).call(this,e,{binding:n(),body:i()})}},{key:"reduceClassDeclaration",value:function(e,r){var n=r.name,i=r.super,a=r.elements;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceClassDeclaration",this).call(this,e,{name:n(),super:null==i?null:i(),elements:a.map((function(e){return e()}))})}},{key:"reduceClassElement",value:function(e,r){var n=r.method;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceClassElement",this).call(this,e,{method:n()})}},{key:"reduceClassExpression",value:function(e,r){var n=r.name,i=r.super,a=r.elements;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceClassExpression",this).call(this,e,{name:null==n?null:n(),super:null==i?null:i(),elements:a.map((function(e){return e()}))})}},{key:"reduceCompoundAssignmentExpression",value:function(e,r){var n=r.binding,i=r.expression;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceCompoundAssignmentExpression",this).call(this,e,{binding:n(),expression:i()})}},{key:"reduceComputedMemberAssignmentTarget",value:function(e,r){var n=r.object,i=r.expression;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceComputedMemberAssignmentTarget",this).call(this,e,{object:n(),expression:i()})}},{key:"reduceComputedMemberExpression",value:function(e,r){var n=r.object,i=r.expression;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceComputedMemberExpression",this).call(this,e,{object:n(),expression:i()})}},{key:"reduceComputedPropertyName",value:function(e,r){var n=r.expression;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceComputedPropertyName",this).call(this,e,{expression:n()})}},{key:"reduceConditionalExpression",value:function(e,r){var n=r.test,i=r.consequent,a=r.alternate;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceConditionalExpression",this).call(this,e,{test:n(),consequent:i(),alternate:a()})}},{key:"reduceContinueStatement",value:function(e){return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceContinueStatement",this).call(this,e)}},{key:"reduceDataProperty",value:function(e,r){var n=r.name,i=r.expression;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceDataProperty",this).call(this,e,{name:n(),expression:i()})}},{key:"reduceDebuggerStatement",value:function(e){return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceDebuggerStatement",this).call(this,e)}},{key:"reduceDirective",value:function(e){return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceDirective",this).call(this,e)}},{key:"reduceDoWhileStatement",value:function(e,r){var n=r.body,i=r.test;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceDoWhileStatement",this).call(this,e,{body:n(),test:i()})}},{key:"reduceEmptyStatement",value:function(e){return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceEmptyStatement",this).call(this,e)}},{key:"reduceExport",value:function(e,r){var n=r.declaration;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceExport",this).call(this,e,{declaration:n()})}},{key:"reduceExportAllFrom",value:function(e){return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceExportAllFrom",this).call(this,e)}},{key:"reduceExportDefault",value:function(e,r){var n=r.body;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceExportDefault",this).call(this,e,{body:n()})}},{key:"reduceExportFrom",value:function(e,r){var n=r.namedExports;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceExportFrom",this).call(this,e,{namedExports:n.map((function(e){return e()}))})}},{key:"reduceExportFromSpecifier",value:function(e){return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceExportFromSpecifier",this).call(this,e)}},{key:"reduceExportLocalSpecifier",value:function(e,r){var n=r.name;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceExportLocalSpecifier",this).call(this,e,{name:n()})}},{key:"reduceExportLocals",value:function(e,r){var n=r.namedExports;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceExportLocals",this).call(this,e,{namedExports:n.map((function(e){return e()}))})}},{key:"reduceExpressionStatement",value:function(e,r){var n=r.expression;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceExpressionStatement",this).call(this,e,{expression:n()})}},{key:"reduceForAwaitStatement",value:function(e,r){var n=r.left,i=r.right,a=r.body;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceForAwaitStatement",this).call(this,e,{left:n(),right:i(),body:a()})}},{key:"reduceForInStatement",value:function(e,r){var n=r.left,i=r.right,a=r.body;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceForInStatement",this).call(this,e,{left:n(),right:i(),body:a()})}},{key:"reduceForOfStatement",value:function(e,r){var n=r.left,i=r.right,a=r.body;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceForOfStatement",this).call(this,e,{left:n(),right:i(),body:a()})}},{key:"reduceForStatement",value:function(e,r){var n=r.init,i=r.test,a=r.update,u=r.body;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceForStatement",this).call(this,e,{init:null==n?null:n(),test:null==i?null:i(),update:null==a?null:a(),body:u()})}},{key:"reduceFormalParameters",value:function(e,r){var n=r.items,i=r.rest;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceFormalParameters",this).call(this,e,{items:n.map((function(e){return e()})),rest:null==i?null:i()})}},{key:"reduceFunctionBody",value:function(e,r){var n=r.directives,i=r.statements;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceFunctionBody",this).call(this,e,{directives:n.map((function(e){return e()})),statements:i.map((function(e){return e()}))})}},{key:"reduceFunctionDeclaration",value:function(e,r){var n=r.name,i=r.params,a=r.body;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceFunctionDeclaration",this).call(this,e,{name:n(),params:i(),body:a()})}},{key:"reduceFunctionExpression",value:function(e,r){var n=r.name,i=r.params,a=r.body;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceFunctionExpression",this).call(this,e,{name:null==n?null:n(),params:i(),body:a()})}},{key:"reduceGetter",value:function(e,r){var n=r.name,i=r.body;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceGetter",this).call(this,e,{name:n(),body:i()})}},{key:"reduceIdentifierExpression",value:function(e){return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceIdentifierExpression",this).call(this,e)}},{key:"reduceIfStatement",value:function(e,r){var n=r.test,i=r.consequent,a=r.alternate;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceIfStatement",this).call(this,e,{test:n(),consequent:i(),alternate:null==a?null:a()})}},{key:"reduceImport",value:function(e,r){var n=r.defaultBinding,i=r.namedImports;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceImport",this).call(this,e,{defaultBinding:null==n?null:n(),namedImports:i.map((function(e){return e()}))})}},{key:"reduceImportNamespace",value:function(e,r){var n=r.defaultBinding,i=r.namespaceBinding;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceImportNamespace",this).call(this,e,{defaultBinding:null==n?null:n(),namespaceBinding:i()})}},{key:"reduceImportSpecifier",value:function(e,r){var n=r.binding;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceImportSpecifier",this).call(this,e,{binding:n()})}},{key:"reduceLabeledStatement",value:function(e,r){var n=r.body;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceLabeledStatement",this).call(this,e,{body:n()})}},{key:"reduceLiteralBooleanExpression",value:function(e){return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceLiteralBooleanExpression",this).call(this,e)}},{key:"reduceLiteralInfinityExpression",value:function(e){return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceLiteralInfinityExpression",this).call(this,e)}},{key:"reduceLiteralNullExpression",value:function(e){return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceLiteralNullExpression",this).call(this,e)}},{key:"reduceLiteralNumericExpression",value:function(e){return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceLiteralNumericExpression",this).call(this,e)}},{key:"reduceLiteralRegExpExpression",value:function(e){return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceLiteralRegExpExpression",this).call(this,e)}},{key:"reduceLiteralStringExpression",value:function(e){return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceLiteralStringExpression",this).call(this,e)}},{key:"reduceMethod",value:function(e,r){var n=r.name,i=r.params,a=r.body;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceMethod",this).call(this,e,{name:n(),params:i(),body:a()})}},{key:"reduceModule",value:function(e,r){var n=r.directives,i=r.items;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceModule",this).call(this,e,{directives:n.map((function(e){return e()})),items:i.map((function(e){return e()}))})}},{key:"reduceNewExpression",value:function(e,r){var n=r.callee,i=r.arguments;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceNewExpression",this).call(this,e,{callee:n(),arguments:i.map((function(e){return e()}))})}},{key:"reduceNewTargetExpression",value:function(e){return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceNewTargetExpression",this).call(this,e)}},{key:"reduceObjectAssignmentTarget",value:function(e,r){var n=r.properties,i=r.rest;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceObjectAssignmentTarget",this).call(this,e,{properties:n.map((function(e){return e()})),rest:null==i?null:i()})}},{key:"reduceObjectBinding",value:function(e,r){var n=r.properties,i=r.rest;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceObjectBinding",this).call(this,e,{properties:n.map((function(e){return e()})),rest:null==i?null:i()})}},{key:"reduceObjectExpression",value:function(e,r){var n=r.properties;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceObjectExpression",this).call(this,e,{properties:n.map((function(e){return e()}))})}},{key:"reduceReturnStatement",value:function(e,r){var n=r.expression;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceReturnStatement",this).call(this,e,{expression:null==n?null:n()})}},{key:"reduceScript",value:function(e,r){var n=r.directives,i=r.statements;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceScript",this).call(this,e,{directives:n.map((function(e){return e()})),statements:i.map((function(e){return e()}))})}},{key:"reduceSetter",value:function(e,r){var n=r.name,i=r.param,a=r.body;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceSetter",this).call(this,e,{name:n(),param:i(),body:a()})}},{key:"reduceShorthandProperty",value:function(e,r){var n=r.name;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceShorthandProperty",this).call(this,e,{name:n()})}},{key:"reduceSpreadElement",value:function(e,r){var n=r.expression;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceSpreadElement",this).call(this,e,{expression:n()})}},{key:"reduceSpreadProperty",value:function(e,r){var n=r.expression;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceSpreadProperty",this).call(this,e,{expression:n()})}},{key:"reduceStaticMemberAssignmentTarget",value:function(e,r){var n=r.object;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceStaticMemberAssignmentTarget",this).call(this,e,{object:n()})}},{key:"reduceStaticMemberExpression",value:function(e,r){var n=r.object;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceStaticMemberExpression",this).call(this,e,{object:n()})}},{key:"reduceStaticPropertyName",value:function(e){return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceStaticPropertyName",this).call(this,e)}},{key:"reduceSuper",value:function(e){return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceSuper",this).call(this,e)}},{key:"reduceSwitchCase",value:function(e,r){var n=r.test,i=r.consequent;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceSwitchCase",this).call(this,e,{test:n(),consequent:i.map((function(e){return e()}))})}},{key:"reduceSwitchDefault",value:function(e,r){var n=r.consequent;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceSwitchDefault",this).call(this,e,{consequent:n.map((function(e){return e()}))})}},{key:"reduceSwitchStatement",value:function(e,r){var n=r.discriminant,i=r.cases;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceSwitchStatement",this).call(this,e,{discriminant:n(),cases:i.map((function(e){return e()}))})}},{key:"reduceSwitchStatementWithDefault",value:function(e,r){var n=r.discriminant,i=r.preDefaultCases,a=r.defaultCase,u=r.postDefaultCases;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceSwitchStatementWithDefault",this).call(this,e,{discriminant:n(),preDefaultCases:i.map((function(e){return e()})),defaultCase:a(),postDefaultCases:u.map((function(e){return e()}))})}},{key:"reduceTemplateElement",value:function(e){return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceTemplateElement",this).call(this,e)}},{key:"reduceTemplateExpression",value:function(e,r){var n=r.tag,i=r.elements;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceTemplateExpression",this).call(this,e,{tag:null==n?null:n(),elements:i.map((function(e){return e()}))})}},{key:"reduceThisExpression",value:function(e){return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceThisExpression",this).call(this,e)}},{key:"reduceThrowStatement",value:function(e,r){var n=r.expression;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceThrowStatement",this).call(this,e,{expression:n()})}},{key:"reduceTryCatchStatement",value:function(e,r){var n=r.body,i=r.catchClause;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceTryCatchStatement",this).call(this,e,{body:n(),catchClause:i()})}},{key:"reduceTryFinallyStatement",value:function(e,r){var n=r.body,i=r.catchClause,a=r.finalizer;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceTryFinallyStatement",this).call(this,e,{body:n(),catchClause:null==i?null:i(),finalizer:a()})}},{key:"reduceUnaryExpression",value:function(e,r){var n=r.operand;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceUnaryExpression",this).call(this,e,{operand:n()})}},{key:"reduceUpdateExpression",value:function(e,r){var n=r.operand;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceUpdateExpression",this).call(this,e,{operand:n()})}},{key:"reduceVariableDeclaration",value:function(e,r){var n=r.declarators;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceVariableDeclaration",this).call(this,e,{declarators:n.map((function(e){return e()}))})}},{key:"reduceVariableDeclarationStatement",value:function(e,r){var n=r.declaration;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceVariableDeclarationStatement",this).call(this,e,{declaration:n()})}},{key:"reduceVariableDeclarator",value:function(e,r){var n=r.binding,i=r.init;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceVariableDeclarator",this).call(this,e,{binding:n(),init:null==i?null:i()})}},{key:"reduceWhileStatement",value:function(e,r){var n=r.test,i=r.body;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceWhileStatement",this).call(this,e,{test:n(),body:i()})}},{key:"reduceWithStatement",value:function(e,r){var n=r.object,i=r.body;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceWithStatement",this).call(this,e,{object:n(),body:i()})}},{key:"reduceYieldExpression",value:function(e,r){var n=r.expression;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceYieldExpression",this).call(this,e,{expression:null==n?null:n()})}},{key:"reduceYieldGeneratorExpression",value:function(e,r){var n=r.expression;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceYieldGeneratorExpression",this).call(this,e,{expression:n()})}}]),t}(e)};var it={},at={};function ut(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(at,"__esModule",{value:!0}),at.ArrayAssignmentTarget=function e(t){var r=t.elements,n=t.rest;ut(this,e),this.type="ArrayAssignmentTarget",this.elements=r,this.rest=n},at.ArrayBinding=function e(t){var r=t.elements,n=t.rest;ut(this,e),this.type="ArrayBinding",this.elements=r,this.rest=n},at.ArrayExpression=function e(t){var r=t.elements;ut(this,e),this.type="ArrayExpression",this.elements=r},at.ArrowExpression=function e(t){var r=t.isAsync,n=t.params,i=t.body;ut(this,e),this.type="ArrowExpression",this.isAsync=r,this.params=n,this.body=i},at.AssignmentExpression=function e(t){var r=t.binding,n=t.expression;ut(this,e),this.type="AssignmentExpression",this.binding=r,this.expression=n},at.AssignmentTargetIdentifier=function e(t){var r=t.name;ut(this,e),this.type="AssignmentTargetIdentifier",this.name=r},at.AssignmentTargetPropertyIdentifier=function e(t){var r=t.binding,n=t.init;ut(this,e),this.type="AssignmentTargetPropertyIdentifier",this.binding=r,this.init=n},at.AssignmentTargetPropertyProperty=function e(t){var r=t.name,n=t.binding;ut(this,e),this.type="AssignmentTargetPropertyProperty",this.name=r,this.binding=n},at.AssignmentTargetWithDefault=function e(t){var r=t.binding,n=t.init;ut(this,e),this.type="AssignmentTargetWithDefault",this.binding=r,this.init=n},at.AwaitExpression=function e(t){var r=t.expression;ut(this,e),this.type="AwaitExpression",this.expression=r},at.BinaryExpression=function e(t){var r=t.left,n=t.operator,i=t.right;ut(this,e),this.type="BinaryExpression",this.left=r,this.operator=n,this.right=i},at.BindingIdentifier=function e(t){var r=t.name;ut(this,e),this.type="BindingIdentifier",this.name=r},at.BindingPropertyIdentifier=function e(t){var r=t.binding,n=t.init;ut(this,e),this.type="BindingPropertyIdentifier",this.binding=r,this.init=n},at.BindingPropertyProperty=function e(t){var r=t.name,n=t.binding;ut(this,e),this.type="BindingPropertyProperty",this.name=r,this.binding=n},at.BindingWithDefault=function e(t){var r=t.binding,n=t.init;ut(this,e),this.type="BindingWithDefault",this.binding=r,this.init=n},at.Block=function e(t){var r=t.statements;ut(this,e),this.type="Block",this.statements=r},at.BlockStatement=function e(t){var r=t.block;ut(this,e),this.type="BlockStatement",this.block=r},at.BreakStatement=function e(t){var r=t.label;ut(this,e),this.type="BreakStatement",this.label=r},at.CallExpression=function e(t){var r=t.callee,n=t.arguments;ut(this,e),this.type="CallExpression",this.callee=r,this.arguments=n},at.CatchClause=function e(t){var r=t.binding,n=t.body;ut(this,e),this.type="CatchClause",this.binding=r,this.body=n},at.ClassDeclaration=function e(t){var r=t.name,n=t.super,i=t.elements;ut(this,e),this.type="ClassDeclaration",this.name=r,this.super=n,this.elements=i},at.ClassElement=function e(t){var r=t.isStatic,n=t.method;ut(this,e),this.type="ClassElement",this.isStatic=r,this.method=n},at.ClassExpression=function e(t){var r=t.name,n=t.super,i=t.elements;ut(this,e),this.type="ClassExpression",this.name=r,this.super=n,this.elements=i},at.CompoundAssignmentExpression=function e(t){var r=t.binding,n=t.operator,i=t.expression;ut(this,e),this.type="CompoundAssignmentExpression",this.binding=r,this.operator=n,this.expression=i},at.ComputedMemberAssignmentTarget=function e(t){var r=t.object,n=t.expression;ut(this,e),this.type="ComputedMemberAssignmentTarget",this.object=r,this.expression=n},at.ComputedMemberExpression=function e(t){var r=t.object,n=t.expression;ut(this,e),this.type="ComputedMemberExpression",this.object=r,this.expression=n},at.ComputedPropertyName=function e(t){var r=t.expression;ut(this,e),this.type="ComputedPropertyName",this.expression=r},at.ConditionalExpression=function e(t){var r=t.test,n=t.consequent,i=t.alternate;ut(this,e),this.type="ConditionalExpression",this.test=r,this.consequent=n,this.alternate=i},at.ContinueStatement=function e(t){var r=t.label;ut(this,e),this.type="ContinueStatement",this.label=r},at.DataProperty=function e(t){var r=t.name,n=t.expression;ut(this,e),this.type="DataProperty",this.name=r,this.expression=n},at.DebuggerStatement=function e(){ut(this,e),this.type="DebuggerStatement"},at.Directive=function e(t){var r=t.rawValue;ut(this,e),this.type="Directive",this.rawValue=r},at.DoWhileStatement=function e(t){var r=t.body,n=t.test;ut(this,e),this.type="DoWhileStatement",this.body=r,this.test=n},at.EmptyStatement=function e(){ut(this,e),this.type="EmptyStatement"},at.Export=function e(t){var r=t.declaration;ut(this,e),this.type="Export",this.declaration=r},at.ExportAllFrom=function e(t){var r=t.moduleSpecifier;ut(this,e),this.type="ExportAllFrom",this.moduleSpecifier=r},at.ExportDefault=function e(t){var r=t.body;ut(this,e),this.type="ExportDefault",this.body=r},at.ExportFrom=function e(t){var r=t.namedExports,n=t.moduleSpecifier;ut(this,e),this.type="ExportFrom",this.namedExports=r,this.moduleSpecifier=n},at.ExportFromSpecifier=function e(t){var r=t.name,n=t.exportedName;ut(this,e),this.type="ExportFromSpecifier",this.name=r,this.exportedName=n},at.ExportLocalSpecifier=function e(t){var r=t.name,n=t.exportedName;ut(this,e),this.type="ExportLocalSpecifier",this.name=r,this.exportedName=n},at.ExportLocals=function e(t){var r=t.namedExports;ut(this,e),this.type="ExportLocals",this.namedExports=r},at.ExpressionStatement=function e(t){var r=t.expression;ut(this,e),this.type="ExpressionStatement",this.expression=r},at.ForAwaitStatement=function e(t){var r=t.left,n=t.right,i=t.body;ut(this,e),this.type="ForAwaitStatement",this.left=r,this.right=n,this.body=i},at.ForInStatement=function e(t){var r=t.left,n=t.right,i=t.body;ut(this,e),this.type="ForInStatement",this.left=r,this.right=n,this.body=i},at.ForOfStatement=function e(t){var r=t.left,n=t.right,i=t.body;ut(this,e),this.type="ForOfStatement",this.left=r,this.right=n,this.body=i},at.ForStatement=function e(t){var r=t.init,n=t.test,i=t.update,a=t.body;ut(this,e),this.type="ForStatement",this.init=r,this.test=n,this.update=i,this.body=a},at.FormalParameters=function e(t){var r=t.items,n=t.rest;ut(this,e),this.type="FormalParameters",this.items=r,this.rest=n},at.FunctionBody=function e(t){var r=t.directives,n=t.statements;ut(this,e),this.type="FunctionBody",this.directives=r,this.statements=n},at.FunctionDeclaration=function e(t){var r=t.isAsync,n=t.isGenerator,i=t.name,a=t.params,u=t.body;ut(this,e),this.type="FunctionDeclaration",this.isAsync=r,this.isGenerator=n,this.name=i,this.params=a,this.body=u},at.FunctionExpression=function e(t){var r=t.isAsync,n=t.isGenerator,i=t.name,a=t.params,u=t.body;ut(this,e),this.type="FunctionExpression",this.isAsync=r,this.isGenerator=n,this.name=i,this.params=a,this.body=u},at.Getter=function e(t){var r=t.name,n=t.body;ut(this,e),this.type="Getter",this.name=r,this.body=n},at.IdentifierExpression=function e(t){var r=t.name;ut(this,e),this.type="IdentifierExpression",this.name=r},at.IfStatement=function e(t){var r=t.test,n=t.consequent,i=t.alternate;ut(this,e),this.type="IfStatement",this.test=r,this.consequent=n,this.alternate=i},at.Import=function e(t){var r=t.defaultBinding,n=t.namedImports,i=t.moduleSpecifier;ut(this,e),this.type="Import",this.defaultBinding=r,this.namedImports=n,this.moduleSpecifier=i},at.ImportNamespace=function e(t){var r=t.defaultBinding,n=t.namespaceBinding,i=t.moduleSpecifier;ut(this,e),this.type="ImportNamespace",this.defaultBinding=r,this.namespaceBinding=n,this.moduleSpecifier=i},at.ImportSpecifier=function e(t){var r=t.name,n=t.binding;ut(this,e),this.type="ImportSpecifier",this.name=r,this.binding=n},at.LabeledStatement=function e(t){var r=t.label,n=t.body;ut(this,e),this.type="LabeledStatement",this.label=r,this.body=n},at.LiteralBooleanExpression=function e(t){var r=t.value;ut(this,e),this.type="LiteralBooleanExpression",this.value=r},at.LiteralInfinityExpression=function e(){ut(this,e),this.type="LiteralInfinityExpression"},at.LiteralNullExpression=function e(){ut(this,e),this.type="LiteralNullExpression"},at.LiteralNumericExpression=function e(t){var r=t.value;ut(this,e),this.type="LiteralNumericExpression",this.value=r},at.LiteralRegExpExpression=function e(t){var r=t.pattern,n=t.global,i=t.ignoreCase,a=t.multiLine,u=t.dotAll,s=t.unicode,o=t.sticky;ut(this,e),this.type="LiteralRegExpExpression",this.pattern=r,this.global=n,this.ignoreCase=i,this.multiLine=a,this.dotAll=u,this.unicode=s,this.sticky=o},at.LiteralStringExpression=function e(t){var r=t.value;ut(this,e),this.type="LiteralStringExpression",this.value=r},at.Method=function e(t){var r=t.isAsync,n=t.isGenerator,i=t.name,a=t.params,u=t.body;ut(this,e),this.type="Method",this.isAsync=r,this.isGenerator=n,this.name=i,this.params=a,this.body=u},at.Module=function e(t){var r=t.directives,n=t.items;ut(this,e),this.type="Module",this.directives=r,this.items=n},at.NewExpression=function e(t){var r=t.callee,n=t.arguments;ut(this,e),this.type="NewExpression",this.callee=r,this.arguments=n},at.NewTargetExpression=function e(){ut(this,e),this.type="NewTargetExpression"},at.ObjectAssignmentTarget=function e(t){var r=t.properties,n=t.rest;ut(this,e),this.type="ObjectAssignmentTarget",this.properties=r,this.rest=n},at.ObjectBinding=function e(t){var r=t.properties,n=t.rest;ut(this,e),this.type="ObjectBinding",this.properties=r,this.rest=n},at.ObjectExpression=function e(t){var r=t.properties;ut(this,e),this.type="ObjectExpression",this.properties=r},at.ReturnStatement=function e(t){var r=t.expression;ut(this,e),this.type="ReturnStatement",this.expression=r},at.Script=function e(t){var r=t.directives,n=t.statements;ut(this,e),this.type="Script",this.directives=r,this.statements=n},at.Setter=function e(t){var r=t.name,n=t.param,i=t.body;ut(this,e),this.type="Setter",this.name=r,this.param=n,this.body=i},at.ShorthandProperty=function e(t){var r=t.name;ut(this,e),this.type="ShorthandProperty",this.name=r},at.SpreadElement=function e(t){var r=t.expression;ut(this,e),this.type="SpreadElement",this.expression=r},at.SpreadProperty=function e(t){var r=t.expression;ut(this,e),this.type="SpreadProperty",this.expression=r},at.StaticMemberAssignmentTarget=function e(t){var r=t.object,n=t.property;ut(this,e),this.type="StaticMemberAssignmentTarget",this.object=r,this.property=n},at.StaticMemberExpression=function e(t){var r=t.object,n=t.property;ut(this,e),this.type="StaticMemberExpression",this.object=r,this.property=n},at.StaticPropertyName=function e(t){var r=t.value;ut(this,e),this.type="StaticPropertyName",this.value=r},at.Super=function e(){ut(this,e),this.type="Super"},at.SwitchCase=function e(t){var r=t.test,n=t.consequent;ut(this,e),this.type="SwitchCase",this.test=r,this.consequent=n},at.SwitchDefault=function e(t){var r=t.consequent;ut(this,e),this.type="SwitchDefault",this.consequent=r},at.SwitchStatement=function e(t){var r=t.discriminant,n=t.cases;ut(this,e),this.type="SwitchStatement",this.discriminant=r,this.cases=n},at.SwitchStatementWithDefault=function e(t){var r=t.discriminant,n=t.preDefaultCases,i=t.defaultCase,a=t.postDefaultCases;ut(this,e),this.type="SwitchStatementWithDefault",this.discriminant=r,this.preDefaultCases=n,this.defaultCase=i,this.postDefaultCases=a},at.TemplateElement=function e(t){var r=t.rawValue;ut(this,e),this.type="TemplateElement",this.rawValue=r},at.TemplateExpression=function e(t){var r=t.tag,n=t.elements;ut(this,e),this.type="TemplateExpression",this.tag=r,this.elements=n},at.ThisExpression=function e(){ut(this,e),this.type="ThisExpression"},at.ThrowStatement=function e(t){var r=t.expression;ut(this,e),this.type="ThrowStatement",this.expression=r},at.TryCatchStatement=function e(t){var r=t.body,n=t.catchClause;ut(this,e),this.type="TryCatchStatement",this.body=r,this.catchClause=n},at.TryFinallyStatement=function e(t){var r=t.body,n=t.catchClause,i=t.finalizer;ut(this,e),this.type="TryFinallyStatement",this.body=r,this.catchClause=n,this.finalizer=i},at.UnaryExpression=function e(t){var r=t.operator,n=t.operand;ut(this,e),this.type="UnaryExpression",this.operator=r,this.operand=n},at.UpdateExpression=function e(t){var r=t.isPrefix,n=t.operator,i=t.operand;ut(this,e),this.type="UpdateExpression",this.isPrefix=r,this.operator=n,this.operand=i},at.VariableDeclaration=function e(t){var r=t.kind,n=t.declarators;ut(this,e),this.type="VariableDeclaration",this.kind=r,this.declarators=n},at.VariableDeclarationStatement=function e(t){var r=t.declaration;ut(this,e),this.type="VariableDeclarationStatement",this.declaration=r},at.VariableDeclarator=function e(t){var r=t.binding,n=t.init;ut(this,e),this.type="VariableDeclarator",this.binding=r,this.init=n},at.WhileStatement=function e(t){var r=t.test,n=t.body;ut(this,e),this.type="WhileStatement",this.test=r,this.body=n},at.WithStatement=function e(t){var r=t.object,n=t.body;ut(this,e),this.type="WithStatement",this.object=r,this.body=n},at.YieldExpression=function e(t){var r=t.expression;ut(this,e),this.type="YieldExpression",this.expression=r},at.YieldGeneratorExpression=function e(t){var r=t.expression;ut(this,e),this.type="YieldGeneratorExpression",this.expression=r},Object.defineProperty(it,"__esModule",{value:!0}),it.default=function(e){var t=new WeakMap;return{reduceArrayAssignmentTarget:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceArrayAssignmentTarget(r,n);return t.set(r,i),i},reduceArrayBinding:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceArrayBinding(r,n);return t.set(r,i),i},reduceArrayExpression:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceArrayExpression(r,n);return t.set(r,i),i},reduceArrowExpression:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceArrowExpression(r,n);return t.set(r,i),i},reduceAssignmentExpression:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceAssignmentExpression(r,n);return t.set(r,i),i},reduceAssignmentTargetIdentifier:function(r){if(t.has(r))return t.get(r);var n=e.reduceAssignmentTargetIdentifier(r);return t.set(r,n),n},reduceAssignmentTargetPropertyIdentifier:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceAssignmentTargetPropertyIdentifier(r,n);return t.set(r,i),i},reduceAssignmentTargetPropertyProperty:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceAssignmentTargetPropertyProperty(r,n);return t.set(r,i),i},reduceAssignmentTargetWithDefault:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceAssignmentTargetWithDefault(r,n);return t.set(r,i),i},reduceAwaitExpression:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceAwaitExpression(r,n);return t.set(r,i),i},reduceBinaryExpression:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceBinaryExpression(r,n);return t.set(r,i),i},reduceBindingIdentifier:function(r){if(t.has(r))return t.get(r);var n=e.reduceBindingIdentifier(r);return t.set(r,n),n},reduceBindingPropertyIdentifier:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceBindingPropertyIdentifier(r,n);return t.set(r,i),i},reduceBindingPropertyProperty:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceBindingPropertyProperty(r,n);return t.set(r,i),i},reduceBindingWithDefault:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceBindingWithDefault(r,n);return t.set(r,i),i},reduceBlock:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceBlock(r,n);return t.set(r,i),i},reduceBlockStatement:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceBlockStatement(r,n);return t.set(r,i),i},reduceBreakStatement:function(r){if(t.has(r))return t.get(r);var n=e.reduceBreakStatement(r);return t.set(r,n),n},reduceCallExpression:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceCallExpression(r,n);return t.set(r,i),i},reduceCatchClause:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceCatchClause(r,n);return t.set(r,i),i},reduceClassDeclaration:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceClassDeclaration(r,n);return t.set(r,i),i},reduceClassElement:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceClassElement(r,n);return t.set(r,i),i},reduceClassExpression:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceClassExpression(r,n);return t.set(r,i),i},reduceCompoundAssignmentExpression:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceCompoundAssignmentExpression(r,n);return t.set(r,i),i},reduceComputedMemberAssignmentTarget:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceComputedMemberAssignmentTarget(r,n);return t.set(r,i),i},reduceComputedMemberExpression:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceComputedMemberExpression(r,n);return t.set(r,i),i},reduceComputedPropertyName:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceComputedPropertyName(r,n);return t.set(r,i),i},reduceConditionalExpression:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceConditionalExpression(r,n);return t.set(r,i),i},reduceContinueStatement:function(r){if(t.has(r))return t.get(r);var n=e.reduceContinueStatement(r);return t.set(r,n),n},reduceDataProperty:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceDataProperty(r,n);return t.set(r,i),i},reduceDebuggerStatement:function(r){if(t.has(r))return t.get(r);var n=e.reduceDebuggerStatement(r);return t.set(r,n),n},reduceDirective:function(r){if(t.has(r))return t.get(r);var n=e.reduceDirective(r);return t.set(r,n),n},reduceDoWhileStatement:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceDoWhileStatement(r,n);return t.set(r,i),i},reduceEmptyStatement:function(r){if(t.has(r))return t.get(r);var n=e.reduceEmptyStatement(r);return t.set(r,n),n},reduceExport:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceExport(r,n);return t.set(r,i),i},reduceExportAllFrom:function(r){if(t.has(r))return t.get(r);var n=e.reduceExportAllFrom(r);return t.set(r,n),n},reduceExportDefault:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceExportDefault(r,n);return t.set(r,i),i},reduceExportFrom:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceExportFrom(r,n);return t.set(r,i),i},reduceExportFromSpecifier:function(r){if(t.has(r))return t.get(r);var n=e.reduceExportFromSpecifier(r);return t.set(r,n),n},reduceExportLocalSpecifier:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceExportLocalSpecifier(r,n);return t.set(r,i),i},reduceExportLocals:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceExportLocals(r,n);return t.set(r,i),i},reduceExpressionStatement:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceExpressionStatement(r,n);return t.set(r,i),i},reduceForAwaitStatement:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceForAwaitStatement(r,n);return t.set(r,i),i},reduceForInStatement:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceForInStatement(r,n);return t.set(r,i),i},reduceForOfStatement:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceForOfStatement(r,n);return t.set(r,i),i},reduceForStatement:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceForStatement(r,n);return t.set(r,i),i},reduceFormalParameters:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceFormalParameters(r,n);return t.set(r,i),i},reduceFunctionBody:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceFunctionBody(r,n);return t.set(r,i),i},reduceFunctionDeclaration:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceFunctionDeclaration(r,n);return t.set(r,i),i},reduceFunctionExpression:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceFunctionExpression(r,n);return t.set(r,i),i},reduceGetter:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceGetter(r,n);return t.set(r,i),i},reduceIdentifierExpression:function(r){if(t.has(r))return t.get(r);var n=e.reduceIdentifierExpression(r);return t.set(r,n),n},reduceIfStatement:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceIfStatement(r,n);return t.set(r,i),i},reduceImport:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceImport(r,n);return t.set(r,i),i},reduceImportNamespace:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceImportNamespace(r,n);return t.set(r,i),i},reduceImportSpecifier:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceImportSpecifier(r,n);return t.set(r,i),i},reduceLabeledStatement:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceLabeledStatement(r,n);return t.set(r,i),i},reduceLiteralBooleanExpression:function(r){if(t.has(r))return t.get(r);var n=e.reduceLiteralBooleanExpression(r);return t.set(r,n),n},reduceLiteralInfinityExpression:function(r){if(t.has(r))return t.get(r);var n=e.reduceLiteralInfinityExpression(r);return t.set(r,n),n},reduceLiteralNullExpression:function(r){if(t.has(r))return t.get(r);var n=e.reduceLiteralNullExpression(r);return t.set(r,n),n},reduceLiteralNumericExpression:function(r){if(t.has(r))return t.get(r);var n=e.reduceLiteralNumericExpression(r);return t.set(r,n),n},reduceLiteralRegExpExpression:function(r){if(t.has(r))return t.get(r);var n=e.reduceLiteralRegExpExpression(r);return t.set(r,n),n},reduceLiteralStringExpression:function(r){if(t.has(r))return t.get(r);var n=e.reduceLiteralStringExpression(r);return t.set(r,n),n},reduceMethod:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceMethod(r,n);return t.set(r,i),i},reduceModule:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceModule(r,n);return t.set(r,i),i},reduceNewExpression:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceNewExpression(r,n);return t.set(r,i),i},reduceNewTargetExpression:function(r){if(t.has(r))return t.get(r);var n=e.reduceNewTargetExpression(r);return t.set(r,n),n},reduceObjectAssignmentTarget:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceObjectAssignmentTarget(r,n);return t.set(r,i),i},reduceObjectBinding:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceObjectBinding(r,n);return t.set(r,i),i},reduceObjectExpression:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceObjectExpression(r,n);return t.set(r,i),i},reduceReturnStatement:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceReturnStatement(r,n);return t.set(r,i),i},reduceScript:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceScript(r,n);return t.set(r,i),i},reduceSetter:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceSetter(r,n);return t.set(r,i),i},reduceShorthandProperty:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceShorthandProperty(r,n);return t.set(r,i),i},reduceSpreadElement:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceSpreadElement(r,n);return t.set(r,i),i},reduceSpreadProperty:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceSpreadProperty(r,n);return t.set(r,i),i},reduceStaticMemberAssignmentTarget:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceStaticMemberAssignmentTarget(r,n);return t.set(r,i),i},reduceStaticMemberExpression:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceStaticMemberExpression(r,n);return t.set(r,i),i},reduceStaticPropertyName:function(r){if(t.has(r))return t.get(r);var n=e.reduceStaticPropertyName(r);return t.set(r,n),n},reduceSuper:function(r){if(t.has(r))return t.get(r);var n=e.reduceSuper(r);return t.set(r,n),n},reduceSwitchCase:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceSwitchCase(r,n);return t.set(r,i),i},reduceSwitchDefault:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceSwitchDefault(r,n);return t.set(r,i),i},reduceSwitchStatement:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceSwitchStatement(r,n);return t.set(r,i),i},reduceSwitchStatementWithDefault:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceSwitchStatementWithDefault(r,n);return t.set(r,i),i},reduceTemplateElement:function(r){if(t.has(r))return t.get(r);var n=e.reduceTemplateElement(r);return t.set(r,n),n},reduceTemplateExpression:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceTemplateExpression(r,n);return t.set(r,i),i},reduceThisExpression:function(r){if(t.has(r))return t.get(r);var n=e.reduceThisExpression(r);return t.set(r,n),n},reduceThrowStatement:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceThrowStatement(r,n);return t.set(r,i),i},reduceTryCatchStatement:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceTryCatchStatement(r,n);return t.set(r,i),i},reduceTryFinallyStatement:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceTryFinallyStatement(r,n);return t.set(r,i),i},reduceUnaryExpression:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceUnaryExpression(r,n);return t.set(r,i),i},reduceUpdateExpression:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceUpdateExpression(r,n);return t.set(r,i),i},reduceVariableDeclaration:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceVariableDeclaration(r,n);return t.set(r,i),i},reduceVariableDeclarationStatement:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceVariableDeclarationStatement(r,n);return t.set(r,i),i},reduceVariableDeclarator:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceVariableDeclarator(r,n);return t.set(r,i),i},reduceWhileStatement:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceWhileStatement(r,n);return t.set(r,i),i},reduceWithStatement:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceWithStatement(r,n);return t.set(r,i),i},reduceYieldExpression:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceYieldExpression(r,n);return t.set(r,i),i},reduceYieldGeneratorExpression:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceYieldGeneratorExpression(r,n);return t.set(r,i),i}}},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);t.default=e}(at);var st={};Object.defineProperty(st,"__esModule",{value:!0});var ot=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),ct=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(at);var pt=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}return ot(e,[{key:"reduceArrayAssignmentTarget",value:function(e,t){var r=t.elements,n=t.rest;return new ct.ArrayAssignmentTarget({elements:r,rest:n})}},{key:"reduceArrayBinding",value:function(e,t){var r=t.elements,n=t.rest;return new ct.ArrayBinding({elements:r,rest:n})}},{key:"reduceArrayExpression",value:function(e,t){var r=t.elements;return new ct.ArrayExpression({elements:r})}},{key:"reduceArrowExpression",value:function(e,t){var r=t.params,n=t.body;return new ct.ArrowExpression({isAsync:e.isAsync,params:r,body:n})}},{key:"reduceAssignmentExpression",value:function(e,t){var r=t.binding,n=t.expression;return new ct.AssignmentExpression({binding:r,expression:n})}},{key:"reduceAssignmentTargetIdentifier",value:function(e){return new ct.AssignmentTargetIdentifier({name:e.name})}},{key:"reduceAssignmentTargetPropertyIdentifier",value:function(e,t){var r=t.binding,n=t.init;return new ct.AssignmentTargetPropertyIdentifier({binding:r,init:n})}},{key:"reduceAssignmentTargetPropertyProperty",value:function(e,t){var r=t.name,n=t.binding;return new ct.AssignmentTargetPropertyProperty({name:r,binding:n})}},{key:"reduceAssignmentTargetWithDefault",value:function(e,t){var r=t.binding,n=t.init;return new ct.AssignmentTargetWithDefault({binding:r,init:n})}},{key:"reduceAwaitExpression",value:function(e,t){var r=t.expression;return new ct.AwaitExpression({expression:r})}},{key:"reduceBinaryExpression",value:function(e,t){var r=t.left,n=t.right;return new ct.BinaryExpression({left:r,operator:e.operator,right:n})}},{key:"reduceBindingIdentifier",value:function(e){return new ct.BindingIdentifier({name:e.name})}},{key:"reduceBindingPropertyIdentifier",value:function(e,t){var r=t.binding,n=t.init;return new ct.BindingPropertyIdentifier({binding:r,init:n})}},{key:"reduceBindingPropertyProperty",value:function(e,t){var r=t.name,n=t.binding;return new ct.BindingPropertyProperty({name:r,binding:n})}},{key:"reduceBindingWithDefault",value:function(e,t){var r=t.binding,n=t.init;return new ct.BindingWithDefault({binding:r,init:n})}},{key:"reduceBlock",value:function(e,t){var r=t.statements;return new ct.Block({statements:r})}},{key:"reduceBlockStatement",value:function(e,t){var r=t.block;return new ct.BlockStatement({block:r})}},{key:"reduceBreakStatement",value:function(e){return new ct.BreakStatement({label:e.label})}},{key:"reduceCallExpression",value:function(e,t){var r=t.callee,n=t.arguments;return new ct.CallExpression({callee:r,arguments:n})}},{key:"reduceCatchClause",value:function(e,t){var r=t.binding,n=t.body;return new ct.CatchClause({binding:r,body:n})}},{key:"reduceClassDeclaration",value:function(e,t){var r=t.name,n=t.super,i=t.elements;return new ct.ClassDeclaration({name:r,super:n,elements:i})}},{key:"reduceClassElement",value:function(e,t){var r=t.method;return new ct.ClassElement({isStatic:e.isStatic,method:r})}},{key:"reduceClassExpression",value:function(e,t){var r=t.name,n=t.super,i=t.elements;return new ct.ClassExpression({name:r,super:n,elements:i})}},{key:"reduceCompoundAssignmentExpression",value:function(e,t){var r=t.binding,n=t.expression;return new ct.CompoundAssignmentExpression({binding:r,operator:e.operator,expression:n})}},{key:"reduceComputedMemberAssignmentTarget",value:function(e,t){var r=t.object,n=t.expression;return new ct.ComputedMemberAssignmentTarget({object:r,expression:n})}},{key:"reduceComputedMemberExpression",value:function(e,t){var r=t.object,n=t.expression;return new ct.ComputedMemberExpression({object:r,expression:n})}},{key:"reduceComputedPropertyName",value:function(e,t){var r=t.expression;return new ct.ComputedPropertyName({expression:r})}},{key:"reduceConditionalExpression",value:function(e,t){var r=t.test,n=t.consequent,i=t.alternate;return new ct.ConditionalExpression({test:r,consequent:n,alternate:i})}},{key:"reduceContinueStatement",value:function(e){return new ct.ContinueStatement({label:e.label})}},{key:"reduceDataProperty",value:function(e,t){var r=t.name,n=t.expression;return new ct.DataProperty({name:r,expression:n})}},{key:"reduceDebuggerStatement",value:function(e){return new ct.DebuggerStatement}},{key:"reduceDirective",value:function(e){return new ct.Directive({rawValue:e.rawValue})}},{key:"reduceDoWhileStatement",value:function(e,t){var r=t.body,n=t.test;return new ct.DoWhileStatement({body:r,test:n})}},{key:"reduceEmptyStatement",value:function(e){return new ct.EmptyStatement}},{key:"reduceExport",value:function(e,t){var r=t.declaration;return new ct.Export({declaration:r})}},{key:"reduceExportAllFrom",value:function(e){return new ct.ExportAllFrom({moduleSpecifier:e.moduleSpecifier})}},{key:"reduceExportDefault",value:function(e,t){var r=t.body;return new ct.ExportDefault({body:r})}},{key:"reduceExportFrom",value:function(e,t){var r=t.namedExports;return new ct.ExportFrom({namedExports:r,moduleSpecifier:e.moduleSpecifier})}},{key:"reduceExportFromSpecifier",value:function(e){return new ct.ExportFromSpecifier({name:e.name,exportedName:e.exportedName})}},{key:"reduceExportLocalSpecifier",value:function(e,t){var r=t.name;return new ct.ExportLocalSpecifier({name:r,exportedName:e.exportedName})}},{key:"reduceExportLocals",value:function(e,t){var r=t.namedExports;return new ct.ExportLocals({namedExports:r})}},{key:"reduceExpressionStatement",value:function(e,t){var r=t.expression;return new ct.ExpressionStatement({expression:r})}},{key:"reduceForAwaitStatement",value:function(e,t){var r=t.left,n=t.right,i=t.body;return new ct.ForAwaitStatement({left:r,right:n,body:i})}},{key:"reduceForInStatement",value:function(e,t){var r=t.left,n=t.right,i=t.body;return new ct.ForInStatement({left:r,right:n,body:i})}},{key:"reduceForOfStatement",value:function(e,t){var r=t.left,n=t.right,i=t.body;return new ct.ForOfStatement({left:r,right:n,body:i})}},{key:"reduceForStatement",value:function(e,t){var r=t.init,n=t.test,i=t.update,a=t.body;return new ct.ForStatement({init:r,test:n,update:i,body:a})}},{key:"reduceFormalParameters",value:function(e,t){var r=t.items,n=t.rest;return new ct.FormalParameters({items:r,rest:n})}},{key:"reduceFunctionBody",value:function(e,t){var r=t.directives,n=t.statements;return new ct.FunctionBody({directives:r,statements:n})}},{key:"reduceFunctionDeclaration",value:function(e,t){var r=t.name,n=t.params,i=t.body;return new ct.FunctionDeclaration({isAsync:e.isAsync,isGenerator:e.isGenerator,name:r,params:n,body:i})}},{key:"reduceFunctionExpression",value:function(e,t){var r=t.name,n=t.params,i=t.body;return new ct.FunctionExpression({isAsync:e.isAsync,isGenerator:e.isGenerator,name:r,params:n,body:i})}},{key:"reduceGetter",value:function(e,t){var r=t.name,n=t.body;return new ct.Getter({name:r,body:n})}},{key:"reduceIdentifierExpression",value:function(e){return new ct.IdentifierExpression({name:e.name})}},{key:"reduceIfStatement",value:function(e,t){var r=t.test,n=t.consequent,i=t.alternate;return new ct.IfStatement({test:r,consequent:n,alternate:i})}},{key:"reduceImport",value:function(e,t){var r=t.defaultBinding,n=t.namedImports;return new ct.Import({defaultBinding:r,namedImports:n,moduleSpecifier:e.moduleSpecifier})}},{key:"reduceImportNamespace",value:function(e,t){var r=t.defaultBinding,n=t.namespaceBinding;return new ct.ImportNamespace({defaultBinding:r,namespaceBinding:n,moduleSpecifier:e.moduleSpecifier})}},{key:"reduceImportSpecifier",value:function(e,t){var r=t.binding;return new ct.ImportSpecifier({name:e.name,binding:r})}},{key:"reduceLabeledStatement",value:function(e,t){var r=t.body;return new ct.LabeledStatement({label:e.label,body:r})}},{key:"reduceLiteralBooleanExpression",value:function(e){return new ct.LiteralBooleanExpression({value:e.value})}},{key:"reduceLiteralInfinityExpression",value:function(e){return new ct.LiteralInfinityExpression}},{key:"reduceLiteralNullExpression",value:function(e){return new ct.LiteralNullExpression}},{key:"reduceLiteralNumericExpression",value:function(e){return new ct.LiteralNumericExpression({value:e.value})}},{key:"reduceLiteralRegExpExpression",value:function(e){return new ct.LiteralRegExpExpression({pattern:e.pattern,global:e.global,ignoreCase:e.ignoreCase,multiLine:e.multiLine,dotAll:e.dotAll,unicode:e.unicode,sticky:e.sticky})}},{key:"reduceLiteralStringExpression",value:function(e){return new ct.LiteralStringExpression({value:e.value})}},{key:"reduceMethod",value:function(e,t){var r=t.name,n=t.params,i=t.body;return new ct.Method({isAsync:e.isAsync,isGenerator:e.isGenerator,name:r,params:n,body:i})}},{key:"reduceModule",value:function(e,t){var r=t.directives,n=t.items;return new ct.Module({directives:r,items:n})}},{key:"reduceNewExpression",value:function(e,t){var r=t.callee,n=t.arguments;return new ct.NewExpression({callee:r,arguments:n})}},{key:"reduceNewTargetExpression",value:function(e){return new ct.NewTargetExpression}},{key:"reduceObjectAssignmentTarget",value:function(e,t){var r=t.properties,n=t.rest;return new ct.ObjectAssignmentTarget({properties:r,rest:n})}},{key:"reduceObjectBinding",value:function(e,t){var r=t.properties,n=t.rest;return new ct.ObjectBinding({properties:r,rest:n})}},{key:"reduceObjectExpression",value:function(e,t){var r=t.properties;return new ct.ObjectExpression({properties:r})}},{key:"reduceReturnStatement",value:function(e,t){var r=t.expression;return new ct.ReturnStatement({expression:r})}},{key:"reduceScript",value:function(e,t){var r=t.directives,n=t.statements;return new ct.Script({directives:r,statements:n})}},{key:"reduceSetter",value:function(e,t){var r=t.name,n=t.param,i=t.body;return new ct.Setter({name:r,param:n,body:i})}},{key:"reduceShorthandProperty",value:function(e,t){var r=t.name;return new ct.ShorthandProperty({name:r})}},{key:"reduceSpreadElement",value:function(e,t){var r=t.expression;return new ct.SpreadElement({expression:r})}},{key:"reduceSpreadProperty",value:function(e,t){var r=t.expression;return new ct.SpreadProperty({expression:r})}},{key:"reduceStaticMemberAssignmentTarget",value:function(e,t){var r=t.object;return new ct.StaticMemberAssignmentTarget({object:r,property:e.property})}},{key:"reduceStaticMemberExpression",value:function(e,t){var r=t.object;return new ct.StaticMemberExpression({object:r,property:e.property})}},{key:"reduceStaticPropertyName",value:function(e){return new ct.StaticPropertyName({value:e.value})}},{key:"reduceSuper",value:function(e){return new ct.Super}},{key:"reduceSwitchCase",value:function(e,t){var r=t.test,n=t.consequent;return new ct.SwitchCase({test:r,consequent:n})}},{key:"reduceSwitchDefault",value:function(e,t){var r=t.consequent;return new ct.SwitchDefault({consequent:r})}},{key:"reduceSwitchStatement",value:function(e,t){var r=t.discriminant,n=t.cases;return new ct.SwitchStatement({discriminant:r,cases:n})}},{key:"reduceSwitchStatementWithDefault",value:function(e,t){var r=t.discriminant,n=t.preDefaultCases,i=t.defaultCase,a=t.postDefaultCases;return new ct.SwitchStatementWithDefault({discriminant:r,preDefaultCases:n,defaultCase:i,postDefaultCases:a})}},{key:"reduceTemplateElement",value:function(e){return new ct.TemplateElement({rawValue:e.rawValue})}},{key:"reduceTemplateExpression",value:function(e,t){var r=t.tag,n=t.elements;return new ct.TemplateExpression({tag:r,elements:n})}},{key:"reduceThisExpression",value:function(e){return new ct.ThisExpression}},{key:"reduceThrowStatement",value:function(e,t){var r=t.expression;return new ct.ThrowStatement({expression:r})}},{key:"reduceTryCatchStatement",value:function(e,t){var r=t.body,n=t.catchClause;return new ct.TryCatchStatement({body:r,catchClause:n})}},{key:"reduceTryFinallyStatement",value:function(e,t){var r=t.body,n=t.catchClause,i=t.finalizer;return new ct.TryFinallyStatement({body:r,catchClause:n,finalizer:i})}},{key:"reduceUnaryExpression",value:function(e,t){var r=t.operand;return new ct.UnaryExpression({operator:e.operator,operand:r})}},{key:"reduceUpdateExpression",value:function(e,t){var r=t.operand;return new ct.UpdateExpression({isPrefix:e.isPrefix,operator:e.operator,operand:r})}},{key:"reduceVariableDeclaration",value:function(e,t){var r=t.declarators;return new ct.VariableDeclaration({kind:e.kind,declarators:r})}},{key:"reduceVariableDeclarationStatement",value:function(e,t){var r=t.declaration;return new ct.VariableDeclarationStatement({declaration:r})}},{key:"reduceVariableDeclarator",value:function(e,t){var r=t.binding,n=t.init;return new ct.VariableDeclarator({binding:r,init:n})}},{key:"reduceWhileStatement",value:function(e,t){var r=t.test,n=t.body;return new ct.WhileStatement({test:r,body:n})}},{key:"reduceWithStatement",value:function(e,t){var r=t.object,n=t.body;return new ct.WithStatement({object:r,body:n})}},{key:"reduceYieldExpression",value:function(e,t){var r=t.expression;return new ct.YieldExpression({expression:r})}},{key:"reduceYieldGeneratorExpression",value:function(e,t){var r=t.expression;return new ct.YieldGeneratorExpression({expression:r})}}]),e}();st.default=pt;var lt={};Object.defineProperty(lt,"__esModule",{value:!0});var dt=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),ht=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(at);var ft=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}return dt(e,[{key:"reduceArrayAssignmentTarget",value:function(e,t){var r=t.elements,n=t.rest;return e.elements.length===r.length&&e.elements.every((function(e,t){return e===r[t]}))&&e.rest===n?e:new ht.ArrayAssignmentTarget({elements:r,rest:n})}},{key:"reduceArrayBinding",value:function(e,t){var r=t.elements,n=t.rest;return e.elements.length===r.length&&e.elements.every((function(e,t){return e===r[t]}))&&e.rest===n?e:new ht.ArrayBinding({elements:r,rest:n})}},{key:"reduceArrayExpression",value:function(e,t){var r=t.elements;return e.elements.length===r.length&&e.elements.every((function(e,t){return e===r[t]}))?e:new ht.ArrayExpression({elements:r})}},{key:"reduceArrowExpression",value:function(e,t){var r=t.params,n=t.body;return e.params===r&&e.body===n?e:new ht.ArrowExpression({isAsync:e.isAsync,params:r,body:n})}},{key:"reduceAssignmentExpression",value:function(e,t){var r=t.binding,n=t.expression;return e.binding===r&&e.expression===n?e:new ht.AssignmentExpression({binding:r,expression:n})}},{key:"reduceAssignmentTargetIdentifier",value:function(e){return e}},{key:"reduceAssignmentTargetPropertyIdentifier",value:function(e,t){var r=t.binding,n=t.init;return e.binding===r&&e.init===n?e:new ht.AssignmentTargetPropertyIdentifier({binding:r,init:n})}},{key:"reduceAssignmentTargetPropertyProperty",value:function(e,t){var r=t.name,n=t.binding;return e.name===r&&e.binding===n?e:new ht.AssignmentTargetPropertyProperty({name:r,binding:n})}},{key:"reduceAssignmentTargetWithDefault",value:function(e,t){var r=t.binding,n=t.init;return e.binding===r&&e.init===n?e:new ht.AssignmentTargetWithDefault({binding:r,init:n})}},{key:"reduceAwaitExpression",value:function(e,t){var r=t.expression;return e.expression===r?e:new ht.AwaitExpression({expression:r})}},{key:"reduceBinaryExpression",value:function(e,t){var r=t.left,n=t.right;return e.left===r&&e.right===n?e:new ht.BinaryExpression({left:r,operator:e.operator,right:n})}},{key:"reduceBindingIdentifier",value:function(e){return e}},{key:"reduceBindingPropertyIdentifier",value:function(e,t){var r=t.binding,n=t.init;return e.binding===r&&e.init===n?e:new ht.BindingPropertyIdentifier({binding:r,init:n})}},{key:"reduceBindingPropertyProperty",value:function(e,t){var r=t.name,n=t.binding;return e.name===r&&e.binding===n?e:new ht.BindingPropertyProperty({name:r,binding:n})}},{key:"reduceBindingWithDefault",value:function(e,t){var r=t.binding,n=t.init;return e.binding===r&&e.init===n?e:new ht.BindingWithDefault({binding:r,init:n})}},{key:"reduceBlock",value:function(e,t){var r=t.statements;return e.statements.length===r.length&&e.statements.every((function(e,t){return e===r[t]}))?e:new ht.Block({statements:r})}},{key:"reduceBlockStatement",value:function(e,t){var r=t.block;return e.block===r?e:new ht.BlockStatement({block:r})}},{key:"reduceBreakStatement",value:function(e){return e}},{key:"reduceCallExpression",value:function(e,t){var r=t.callee,n=t.arguments;return e.callee===r&&e.arguments.length===n.length&&e.arguments.every((function(e,t){return e===n[t]}))?e:new ht.CallExpression({callee:r,arguments:n})}},{key:"reduceCatchClause",value:function(e,t){var r=t.binding,n=t.body;return e.binding===r&&e.body===n?e:new ht.CatchClause({binding:r,body:n})}},{key:"reduceClassDeclaration",value:function(e,t){var r=t.name,n=t.super,i=t.elements;return e.name===r&&e.super===n&&e.elements.length===i.length&&e.elements.every((function(e,t){return e===i[t]}))?e:new ht.ClassDeclaration({name:r,super:n,elements:i})}},{key:"reduceClassElement",value:function(e,t){var r=t.method;return e.method===r?e:new ht.ClassElement({isStatic:e.isStatic,method:r})}},{key:"reduceClassExpression",value:function(e,t){var r=t.name,n=t.super,i=t.elements;return e.name===r&&e.super===n&&e.elements.length===i.length&&e.elements.every((function(e,t){return e===i[t]}))?e:new ht.ClassExpression({name:r,super:n,elements:i})}},{key:"reduceCompoundAssignmentExpression",value:function(e,t){var r=t.binding,n=t.expression;return e.binding===r&&e.expression===n?e:new ht.CompoundAssignmentExpression({binding:r,operator:e.operator,expression:n})}},{key:"reduceComputedMemberAssignmentTarget",value:function(e,t){var r=t.object,n=t.expression;return e.object===r&&e.expression===n?e:new ht.ComputedMemberAssignmentTarget({object:r,expression:n})}},{key:"reduceComputedMemberExpression",value:function(e,t){var r=t.object,n=t.expression;return e.object===r&&e.expression===n?e:new ht.ComputedMemberExpression({object:r,expression:n})}},{key:"reduceComputedPropertyName",value:function(e,t){var r=t.expression;return e.expression===r?e:new ht.ComputedPropertyName({expression:r})}},{key:"reduceConditionalExpression",value:function(e,t){var r=t.test,n=t.consequent,i=t.alternate;return e.test===r&&e.consequent===n&&e.alternate===i?e:new ht.ConditionalExpression({test:r,consequent:n,alternate:i})}},{key:"reduceContinueStatement",value:function(e){return e}},{key:"reduceDataProperty",value:function(e,t){var r=t.name,n=t.expression;return e.name===r&&e.expression===n?e:new ht.DataProperty({name:r,expression:n})}},{key:"reduceDebuggerStatement",value:function(e){return e}},{key:"reduceDirective",value:function(e){return e}},{key:"reduceDoWhileStatement",value:function(e,t){var r=t.body,n=t.test;return e.body===r&&e.test===n?e:new ht.DoWhileStatement({body:r,test:n})}},{key:"reduceEmptyStatement",value:function(e){return e}},{key:"reduceExport",value:function(e,t){var r=t.declaration;return e.declaration===r?e:new ht.Export({declaration:r})}},{key:"reduceExportAllFrom",value:function(e){return e}},{key:"reduceExportDefault",value:function(e,t){var r=t.body;return e.body===r?e:new ht.ExportDefault({body:r})}},{key:"reduceExportFrom",value:function(e,t){var r=t.namedExports;return e.namedExports.length===r.length&&e.namedExports.every((function(e,t){return e===r[t]}))?e:new ht.ExportFrom({namedExports:r,moduleSpecifier:e.moduleSpecifier})}},{key:"reduceExportFromSpecifier",value:function(e){return e}},{key:"reduceExportLocalSpecifier",value:function(e,t){var r=t.name;return e.name===r?e:new ht.ExportLocalSpecifier({name:r,exportedName:e.exportedName})}},{key:"reduceExportLocals",value:function(e,t){var r=t.namedExports;return e.namedExports.length===r.length&&e.namedExports.every((function(e,t){return e===r[t]}))?e:new ht.ExportLocals({namedExports:r})}},{key:"reduceExpressionStatement",value:function(e,t){var r=t.expression;return e.expression===r?e:new ht.ExpressionStatement({expression:r})}},{key:"reduceForAwaitStatement",value:function(e,t){var r=t.left,n=t.right,i=t.body;return e.left===r&&e.right===n&&e.body===i?e:new ht.ForAwaitStatement({left:r,right:n,body:i})}},{key:"reduceForInStatement",value:function(e,t){var r=t.left,n=t.right,i=t.body;return e.left===r&&e.right===n&&e.body===i?e:new ht.ForInStatement({left:r,right:n,body:i})}},{key:"reduceForOfStatement",value:function(e,t){var r=t.left,n=t.right,i=t.body;return e.left===r&&e.right===n&&e.body===i?e:new ht.ForOfStatement({left:r,right:n,body:i})}},{key:"reduceForStatement",value:function(e,t){var r=t.init,n=t.test,i=t.update,a=t.body;return e.init===r&&e.test===n&&e.update===i&&e.body===a?e:new ht.ForStatement({init:r,test:n,update:i,body:a})}},{key:"reduceFormalParameters",value:function(e,t){var r=t.items,n=t.rest;return e.items.length===r.length&&e.items.every((function(e,t){return e===r[t]}))&&e.rest===n?e:new ht.FormalParameters({items:r,rest:n})}},{key:"reduceFunctionBody",value:function(e,t){var r=t.directives,n=t.statements;return e.directives.length===r.length&&e.directives.every((function(e,t){return e===r[t]}))&&e.statements.length===n.length&&e.statements.every((function(e,t){return e===n[t]}))?e:new ht.FunctionBody({directives:r,statements:n})}},{key:"reduceFunctionDeclaration",value:function(e,t){var r=t.name,n=t.params,i=t.body;return e.name===r&&e.params===n&&e.body===i?e:new ht.FunctionDeclaration({isAsync:e.isAsync,isGenerator:e.isGenerator,name:r,params:n,body:i})}},{key:"reduceFunctionExpression",value:function(e,t){var r=t.name,n=t.params,i=t.body;return e.name===r&&e.params===n&&e.body===i?e:new ht.FunctionExpression({isAsync:e.isAsync,isGenerator:e.isGenerator,name:r,params:n,body:i})}},{key:"reduceGetter",value:function(e,t){var r=t.name,n=t.body;return e.name===r&&e.body===n?e:new ht.Getter({name:r,body:n})}},{key:"reduceIdentifierExpression",value:function(e){return e}},{key:"reduceIfStatement",value:function(e,t){var r=t.test,n=t.consequent,i=t.alternate;return e.test===r&&e.consequent===n&&e.alternate===i?e:new ht.IfStatement({test:r,consequent:n,alternate:i})}},{key:"reduceImport",value:function(e,t){var r=t.defaultBinding,n=t.namedImports;return e.defaultBinding===r&&e.namedImports.length===n.length&&e.namedImports.every((function(e,t){return e===n[t]}))?e:new ht.Import({defaultBinding:r,namedImports:n,moduleSpecifier:e.moduleSpecifier})}},{key:"reduceImportNamespace",value:function(e,t){var r=t.defaultBinding,n=t.namespaceBinding;return e.defaultBinding===r&&e.namespaceBinding===n?e:new ht.ImportNamespace({defaultBinding:r,namespaceBinding:n,moduleSpecifier:e.moduleSpecifier})}},{key:"reduceImportSpecifier",value:function(e,t){var r=t.binding;return e.binding===r?e:new ht.ImportSpecifier({name:e.name,binding:r})}},{key:"reduceLabeledStatement",value:function(e,t){var r=t.body;return e.body===r?e:new ht.LabeledStatement({label:e.label,body:r})}},{key:"reduceLiteralBooleanExpression",value:function(e){return e}},{key:"reduceLiteralInfinityExpression",value:function(e){return e}},{key:"reduceLiteralNullExpression",value:function(e){return e}},{key:"reduceLiteralNumericExpression",value:function(e){return e}},{key:"reduceLiteralRegExpExpression",value:function(e){return e}},{key:"reduceLiteralStringExpression",value:function(e){return e}},{key:"reduceMethod",value:function(e,t){var r=t.name,n=t.params,i=t.body;return e.name===r&&e.params===n&&e.body===i?e:new ht.Method({isAsync:e.isAsync,isGenerator:e.isGenerator,name:r,params:n,body:i})}},{key:"reduceModule",value:function(e,t){var r=t.directives,n=t.items;return e.directives.length===r.length&&e.directives.every((function(e,t){return e===r[t]}))&&e.items.length===n.length&&e.items.every((function(e,t){return e===n[t]}))?e:new ht.Module({directives:r,items:n})}},{key:"reduceNewExpression",value:function(e,t){var r=t.callee,n=t.arguments;return e.callee===r&&e.arguments.length===n.length&&e.arguments.every((function(e,t){return e===n[t]}))?e:new ht.NewExpression({callee:r,arguments:n})}},{key:"reduceNewTargetExpression",value:function(e){return e}},{key:"reduceObjectAssignmentTarget",value:function(e,t){var r=t.properties,n=t.rest;return e.properties.length===r.length&&e.properties.every((function(e,t){return e===r[t]}))&&e.rest===n?e:new ht.ObjectAssignmentTarget({properties:r,rest:n})}},{key:"reduceObjectBinding",value:function(e,t){var r=t.properties,n=t.rest;return e.properties.length===r.length&&e.properties.every((function(e,t){return e===r[t]}))&&e.rest===n?e:new ht.ObjectBinding({properties:r,rest:n})}},{key:"reduceObjectExpression",value:function(e,t){var r=t.properties;return e.properties.length===r.length&&e.properties.every((function(e,t){return e===r[t]}))?e:new ht.ObjectExpression({properties:r})}},{key:"reduceReturnStatement",value:function(e,t){var r=t.expression;return e.expression===r?e:new ht.ReturnStatement({expression:r})}},{key:"reduceScript",value:function(e,t){var r=t.directives,n=t.statements;return e.directives.length===r.length&&e.directives.every((function(e,t){return e===r[t]}))&&e.statements.length===n.length&&e.statements.every((function(e,t){return e===n[t]}))?e:new ht.Script({directives:r,statements:n})}},{key:"reduceSetter",value:function(e,t){var r=t.name,n=t.param,i=t.body;return e.name===r&&e.param===n&&e.body===i?e:new ht.Setter({name:r,param:n,body:i})}},{key:"reduceShorthandProperty",value:function(e,t){var r=t.name;return e.name===r?e:new ht.ShorthandProperty({name:r})}},{key:"reduceSpreadElement",value:function(e,t){var r=t.expression;return e.expression===r?e:new ht.SpreadElement({expression:r})}},{key:"reduceSpreadProperty",value:function(e,t){var r=t.expression;return e.expression===r?e:new ht.SpreadProperty({expression:r})}},{key:"reduceStaticMemberAssignmentTarget",value:function(e,t){var r=t.object;return e.object===r?e:new ht.StaticMemberAssignmentTarget({object:r,property:e.property})}},{key:"reduceStaticMemberExpression",value:function(e,t){var r=t.object;return e.object===r?e:new ht.StaticMemberExpression({object:r,property:e.property})}},{key:"reduceStaticPropertyName",value:function(e){return e}},{key:"reduceSuper",value:function(e){return e}},{key:"reduceSwitchCase",value:function(e,t){var r=t.test,n=t.consequent;return e.test===r&&e.consequent.length===n.length&&e.consequent.every((function(e,t){return e===n[t]}))?e:new ht.SwitchCase({test:r,consequent:n})}},{key:"reduceSwitchDefault",value:function(e,t){var r=t.consequent;return e.consequent.length===r.length&&e.consequent.every((function(e,t){return e===r[t]}))?e:new ht.SwitchDefault({consequent:r})}},{key:"reduceSwitchStatement",value:function(e,t){var r=t.discriminant,n=t.cases;return e.discriminant===r&&e.cases.length===n.length&&e.cases.every((function(e,t){return e===n[t]}))?e:new ht.SwitchStatement({discriminant:r,cases:n})}},{key:"reduceSwitchStatementWithDefault",value:function(e,t){var r=t.discriminant,n=t.preDefaultCases,i=t.defaultCase,a=t.postDefaultCases;return e.discriminant===r&&e.preDefaultCases.length===n.length&&e.preDefaultCases.every((function(e,t){return e===n[t]}))&&e.defaultCase===i&&e.postDefaultCases.length===a.length&&e.postDefaultCases.every((function(e,t){return e===a[t]}))?e:new ht.SwitchStatementWithDefault({discriminant:r,preDefaultCases:n,defaultCase:i,postDefaultCases:a})}},{key:"reduceTemplateElement",value:function(e){return e}},{key:"reduceTemplateExpression",value:function(e,t){var r=t.tag,n=t.elements;return e.tag===r&&e.elements.length===n.length&&e.elements.every((function(e,t){return e===n[t]}))?e:new ht.TemplateExpression({tag:r,elements:n})}},{key:"reduceThisExpression",value:function(e){return e}},{key:"reduceThrowStatement",value:function(e,t){var r=t.expression;return e.expression===r?e:new ht.ThrowStatement({expression:r})}},{key:"reduceTryCatchStatement",value:function(e,t){var r=t.body,n=t.catchClause;return e.body===r&&e.catchClause===n?e:new ht.TryCatchStatement({body:r,catchClause:n})}},{key:"reduceTryFinallyStatement",value:function(e,t){var r=t.body,n=t.catchClause,i=t.finalizer;return e.body===r&&e.catchClause===n&&e.finalizer===i?e:new ht.TryFinallyStatement({body:r,catchClause:n,finalizer:i})}},{key:"reduceUnaryExpression",value:function(e,t){var r=t.operand;return e.operand===r?e:new ht.UnaryExpression({operator:e.operator,operand:r})}},{key:"reduceUpdateExpression",value:function(e,t){var r=t.operand;return e.operand===r?e:new ht.UpdateExpression({isPrefix:e.isPrefix,operator:e.operator,operand:r})}},{key:"reduceVariableDeclaration",value:function(e,t){var r=t.declarators;return e.declarators.length===r.length&&e.declarators.every((function(e,t){return e===r[t]}))?e:new ht.VariableDeclaration({kind:e.kind,declarators:r})}},{key:"reduceVariableDeclarationStatement",value:function(e,t){var r=t.declaration;return e.declaration===r?e:new ht.VariableDeclarationStatement({declaration:r})}},{key:"reduceVariableDeclarator",value:function(e,t){var r=t.binding,n=t.init;return e.binding===r&&e.init===n?e:new ht.VariableDeclarator({binding:r,init:n})}},{key:"reduceWhileStatement",value:function(e,t){var r=t.test,n=t.body;return e.test===r&&e.body===n?e:new ht.WhileStatement({test:r,body:n})}},{key:"reduceWithStatement",value:function(e,t){var r=t.object,n=t.body;return e.object===r&&e.body===n?e:new ht.WithStatement({object:r,body:n})}},{key:"reduceYieldExpression",value:function(e,t){var r=t.expression;return e.expression===r?e:new ht.YieldExpression({expression:r})}},{key:"reduceYieldGeneratorExpression",value:function(e,t){var r=t.expression;return e.expression===r?e:new ht.YieldGeneratorExpression({expression:r})}}]),e}();lt.default=ft;var mt={};Object.defineProperty(mt,"__esModule",{value:!0});var yt,Et=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}();function Dt(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);t<e.length;t++)r[t]=e[t];return r}return Array.from(e)}!(yt=at)||yt.__esModule;var gt=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e);var r=t.empty();this.identity=r;var n=void 0;if(t.prototype&&"function"==typeof t.prototype.concat)n=Function.prototype.call.bind(t.prototype.concat);else{if("function"!=typeof t.concat)throw new TypeError("Monoid must provide a `concat` method");n=t.concat}this.append=function(){for(var e=arguments.length,t=Array(e),i=0;i<e;i++)t[i]=arguments[i];return t.reduce(n,r)}}return Et(e,[{key:"reduceArrayAssignmentTarget",value:function(e,t){var r=t.elements,n=t.rest;return this.append.apply(this,Dt(r.filter((function(e){return null!=e}))).concat([null==n?this.identity:n]))}},{key:"reduceArrayBinding",value:function(e,t){var r=t.elements,n=t.rest;return this.append.apply(this,Dt(r.filter((function(e){return null!=e}))).concat([null==n?this.identity:n]))}},{key:"reduceArrayExpression",value:function(e,t){var r=t.elements;return this.append.apply(this,Dt(r.filter((function(e){return null!=e}))))}},{key:"reduceArrowExpression",value:function(e,t){var r=t.params,n=t.body;return this.append(r,n)}},{key:"reduceAssignmentExpression",value:function(e,t){var r=t.binding,n=t.expression;return this.append(r,n)}},{key:"reduceAssignmentTargetIdentifier",value:function(e){return this.identity}},{key:"reduceAssignmentTargetPropertyIdentifier",value:function(e,t){var r=t.binding,n=t.init;return this.append(r,null==n?this.identity:n)}},{key:"reduceAssignmentTargetPropertyProperty",value:function(e,t){var r=t.name,n=t.binding;return this.append(r,n)}},{key:"reduceAssignmentTargetWithDefault",value:function(e,t){var r=t.binding,n=t.init;return this.append(r,n)}},{key:"reduceAwaitExpression",value:function(e,t){return t.expression}},{key:"reduceBinaryExpression",value:function(e,t){var r=t.left,n=t.right;return this.append(r,n)}},{key:"reduceBindingIdentifier",value:function(e){return this.identity}},{key:"reduceBindingPropertyIdentifier",value:function(e,t){var r=t.binding,n=t.init;return this.append(r,null==n?this.identity:n)}},{key:"reduceBindingPropertyProperty",value:function(e,t){var r=t.name,n=t.binding;return this.append(r,n)}},{key:"reduceBindingWithDefault",value:function(e,t){var r=t.binding,n=t.init;return this.append(r,n)}},{key:"reduceBlock",value:function(e,t){var r=t.statements;return this.append.apply(this,Dt(r))}},{key:"reduceBlockStatement",value:function(e,t){return t.block}},{key:"reduceBreakStatement",value:function(e){return this.identity}},{key:"reduceCallExpression",value:function(e,t){var r=t.callee,n=t.arguments;return this.append.apply(this,[r].concat(Dt(n)))}},{key:"reduceCatchClause",value:function(e,t){var r=t.binding,n=t.body;return this.append(r,n)}},{key:"reduceClassDeclaration",value:function(e,t){var r=t.name,n=t.super,i=t.elements;return this.append.apply(this,[r,null==n?this.identity:n].concat(Dt(i)))}},{key:"reduceClassElement",value:function(e,t){return t.method}},{key:"reduceClassExpression",value:function(e,t){var r=t.name,n=t.super,i=t.elements;return this.append.apply(this,[null==r?this.identity:r,null==n?this.identity:n].concat(Dt(i)))}},{key:"reduceCompoundAssignmentExpression",value:function(e,t){var r=t.binding,n=t.expression;return this.append(r,n)}},{key:"reduceComputedMemberAssignmentTarget",value:function(e,t){var r=t.object,n=t.expression;return this.append(r,n)}},{key:"reduceComputedMemberExpression",value:function(e,t){var r=t.object,n=t.expression;return this.append(r,n)}},{key:"reduceComputedPropertyName",value:function(e,t){return t.expression}},{key:"reduceConditionalExpression",value:function(e,t){var r=t.test,n=t.consequent,i=t.alternate;return this.append(r,n,i)}},{key:"reduceContinueStatement",value:function(e){return this.identity}},{key:"reduceDataProperty",value:function(e,t){var r=t.name,n=t.expression;return this.append(r,n)}},{key:"reduceDebuggerStatement",value:function(e){return this.identity}},{key:"reduceDirective",value:function(e){return this.identity}},{key:"reduceDoWhileStatement",value:function(e,t){var r=t.body,n=t.test;return this.append(r,n)}},{key:"reduceEmptyStatement",value:function(e){return this.identity}},{key:"reduceExport",value:function(e,t){return t.declaration}},{key:"reduceExportAllFrom",value:function(e){return this.identity}},{key:"reduceExportDefault",value:function(e,t){return t.body}},{key:"reduceExportFrom",value:function(e,t){var r=t.namedExports;return this.append.apply(this,Dt(r))}},{key:"reduceExportFromSpecifier",value:function(e){return this.identity}},{key:"reduceExportLocalSpecifier",value:function(e,t){return t.name}},{key:"reduceExportLocals",value:function(e,t){var r=t.namedExports;return this.append.apply(this,Dt(r))}},{key:"reduceExpressionStatement",value:function(e,t){return t.expression}},{key:"reduceForAwaitStatement",value:function(e,t){var r=t.left,n=t.right,i=t.body;return this.append(r,n,i)}},{key:"reduceForInStatement",value:function(e,t){var r=t.left,n=t.right,i=t.body;return this.append(r,n,i)}},{key:"reduceForOfStatement",value:function(e,t){var r=t.left,n=t.right,i=t.body;return this.append(r,n,i)}},{key:"reduceForStatement",value:function(e,t){var r=t.init,n=t.test,i=t.update,a=t.body;return this.append(null==r?this.identity:r,null==n?this.identity:n,null==i?this.identity:i,a)}},{key:"reduceFormalParameters",value:function(e,t){var r=t.items,n=t.rest;return this.append.apply(this,Dt(r).concat([null==n?this.identity:n]))}},{key:"reduceFunctionBody",value:function(e,t){var r=t.directives,n=t.statements;return this.append.apply(this,Dt(r).concat(Dt(n)))}},{key:"reduceFunctionDeclaration",value:function(e,t){var r=t.name,n=t.params,i=t.body;return this.append(r,n,i)}},{key:"reduceFunctionExpression",value:function(e,t){var r=t.name,n=t.params,i=t.body;return this.append(null==r?this.identity:r,n,i)}},{key:"reduceGetter",value:function(e,t){var r=t.name,n=t.body;return this.append(r,n)}},{key:"reduceIdentifierExpression",value:function(e){return this.identity}},{key:"reduceIfStatement",value:function(e,t){var r=t.test,n=t.consequent,i=t.alternate;return this.append(r,n,null==i?this.identity:i)}},{key:"reduceImport",value:function(e,t){var r=t.defaultBinding,n=t.namedImports;return this.append.apply(this,[null==r?this.identity:r].concat(Dt(n)))}},{key:"reduceImportNamespace",value:function(e,t){var r=t.defaultBinding,n=t.namespaceBinding;return this.append(null==r?this.identity:r,n)}},{key:"reduceImportSpecifier",value:function(e,t){return t.binding}},{key:"reduceLabeledStatement",value:function(e,t){return t.body}},{key:"reduceLiteralBooleanExpression",value:function(e){return this.identity}},{key:"reduceLiteralInfinityExpression",value:function(e){return this.identity}},{key:"reduceLiteralNullExpression",value:function(e){return this.identity}},{key:"reduceLiteralNumericExpression",value:function(e){return this.identity}},{key:"reduceLiteralRegExpExpression",value:function(e){return this.identity}},{key:"reduceLiteralStringExpression",value:function(e){return this.identity}},{key:"reduceMethod",value:function(e,t){var r=t.name,n=t.params,i=t.body;return this.append(r,n,i)}},{key:"reduceModule",value:function(e,t){var r=t.directives,n=t.items;return this.append.apply(this,Dt(r).concat(Dt(n)))}},{key:"reduceNewExpression",value:function(e,t){var r=t.callee,n=t.arguments;return this.append.apply(this,[r].concat(Dt(n)))}},{key:"reduceNewTargetExpression",value:function(e){return this.identity}},{key:"reduceObjectAssignmentTarget",value:function(e,t){var r=t.properties,n=t.rest;return this.append.apply(this,Dt(r).concat([null==n?this.identity:n]))}},{key:"reduceObjectBinding",value:function(e,t){var r=t.properties,n=t.rest;return this.append.apply(this,Dt(r).concat([null==n?this.identity:n]))}},{key:"reduceObjectExpression",value:function(e,t){var r=t.properties;return this.append.apply(this,Dt(r))}},{key:"reduceReturnStatement",value:function(e,t){var r=t.expression;return null==r?this.identity:r}},{key:"reduceScript",value:function(e,t){var r=t.directives,n=t.statements;return this.append.apply(this,Dt(r).concat(Dt(n)))}},{key:"reduceSetter",value:function(e,t){var r=t.name,n=t.param,i=t.body;return this.append(r,n,i)}},{key:"reduceShorthandProperty",value:function(e,t){return t.name}},{key:"reduceSpreadElement",value:function(e,t){return t.expression}},{key:"reduceSpreadProperty",value:function(e,t){return t.expression}},{key:"reduceStaticMemberAssignmentTarget",value:function(e,t){return t.object}},{key:"reduceStaticMemberExpression",value:function(e,t){return t.object}},{key:"reduceStaticPropertyName",value:function(e){return this.identity}},{key:"reduceSuper",value:function(e){return this.identity}},{key:"reduceSwitchCase",value:function(e,t){var r=t.test,n=t.consequent;return this.append.apply(this,[r].concat(Dt(n)))}},{key:"reduceSwitchDefault",value:function(e,t){var r=t.consequent;return this.append.apply(this,Dt(r))}},{key:"reduceSwitchStatement",value:function(e,t){var r=t.discriminant,n=t.cases;return this.append.apply(this,[r].concat(Dt(n)))}},{key:"reduceSwitchStatementWithDefault",value:function(e,t){var r=t.discriminant,n=t.preDefaultCases,i=t.defaultCase,a=t.postDefaultCases;return this.append.apply(this,[r].concat(Dt(n),[i],Dt(a)))}},{key:"reduceTemplateElement",value:function(e){return this.identity}},{key:"reduceTemplateExpression",value:function(e,t){var r=t.tag,n=t.elements;return this.append.apply(this,[null==r?this.identity:r].concat(Dt(n)))}},{key:"reduceThisExpression",value:function(e){return this.identity}},{key:"reduceThrowStatement",value:function(e,t){return t.expression}},{key:"reduceTryCatchStatement",value:function(e,t){var r=t.body,n=t.catchClause;return this.append(r,n)}},{key:"reduceTryFinallyStatement",value:function(e,t){var r=t.body,n=t.catchClause,i=t.finalizer;return this.append(r,null==n?this.identity:n,i)}},{key:"reduceUnaryExpression",value:function(e,t){return t.operand}},{key:"reduceUpdateExpression",value:function(e,t){return t.operand}},{key:"reduceVariableDeclaration",value:function(e,t){var r=t.declarators;return this.append.apply(this,Dt(r))}},{key:"reduceVariableDeclarationStatement",value:function(e,t){return t.declaration}},{key:"reduceVariableDeclarator",value:function(e,t){var r=t.binding,n=t.init;return this.append(r,null==n?this.identity:n)}},{key:"reduceWhileStatement",value:function(e,t){var r=t.test,n=t.body;return this.append(r,n)}},{key:"reduceWithStatement",value:function(e,t){var r=t.object,n=t.body;return this.append(r,n)}},{key:"reduceYieldExpression",value:function(e,t){var r=t.expression;return null==r?this.identity:r}},{key:"reduceYieldGeneratorExpression",value:function(e,t){return t.expression}}]),e}();mt.default=gt;var vt={};Object.defineProperty(vt,"__esModule",{value:!0});var At=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}();function xt(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);t<e.length;t++)r[t]=e[t];return r}return Array.from(e)}!function(e){e&&e.__esModule}(at);var Ct=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e);var r=t.empty();this.identity=r;var n=void 0;if(t.prototype&&"function"==typeof t.prototype.concatThunk)n=Function.prototype.call.bind(t.prototype.concatThunk);else if("function"==typeof t.concatThunk)n=t.concatThunk;else{var i=void 0;if(t.prototype&&"function"==typeof t.prototype.concat)i=Function.prototype.call.bind(t.prototype.concat);else{if("function"!=typeof t.concat)throw new TypeError("Monoid must provide a `concatThunk` or `concat` method");i=t.concat}if("function"==typeof t.isAbsorbing){var a=t.isAbsorbing;n=function(e,t){return a(e)?e:i(e,t())}}else n=function(e,t){return i(e,t())}}this.append=function(){for(var e=arguments.length,t=Array(e),i=0;i<e;i++)t[i]=arguments[i];return t.reduce(n,r)}}return At(e,[{key:"reduceArrayAssignmentTarget",value:function(e,t){var r=this,n=t.elements,i=t.rest;return this.append.apply(this,xt(n.filter((function(e){return null!=e}))).concat([null==i?function(){return r.identity}:i]))}},{key:"reduceArrayBinding",value:function(e,t){var r=this,n=t.elements,i=t.rest;return this.append.apply(this,xt(n.filter((function(e){return null!=e}))).concat([null==i?function(){return r.identity}:i]))}},{key:"reduceArrayExpression",value:function(e,t){var r=t.elements;return this.append.apply(this,xt(r.filter((function(e){return null!=e}))))}},{key:"reduceArrowExpression",value:function(e,t){var r=t.params,n=t.body;return this.append(r,n)}},{key:"reduceAssignmentExpression",value:function(e,t){var r=t.binding,n=t.expression;return this.append(r,n)}},{key:"reduceAssignmentTargetIdentifier",value:function(e){return this.identity}},{key:"reduceAssignmentTargetPropertyIdentifier",value:function(e,t){var r=this,n=t.binding,i=t.init;return this.append(n,null==i?function(){return r.identity}:i)}},{key:"reduceAssignmentTargetPropertyProperty",value:function(e,t){var r=t.name,n=t.binding;return this.append(r,n)}},{key:"reduceAssignmentTargetWithDefault",value:function(e,t){var r=t.binding,n=t.init;return this.append(r,n)}},{key:"reduceAwaitExpression",value:function(e,t){return(0,t.expression)()}},{key:"reduceBinaryExpression",value:function(e,t){var r=t.left,n=t.right;return this.append(r,n)}},{key:"reduceBindingIdentifier",value:function(e){return this.identity}},{key:"reduceBindingPropertyIdentifier",value:function(e,t){var r=this,n=t.binding,i=t.init;return this.append(n,null==i?function(){return r.identity}:i)}},{key:"reduceBindingPropertyProperty",value:function(e,t){var r=t.name,n=t.binding;return this.append(r,n)}},{key:"reduceBindingWithDefault",value:function(e,t){var r=t.binding,n=t.init;return this.append(r,n)}},{key:"reduceBlock",value:function(e,t){var r=t.statements;return this.append.apply(this,xt(r))}},{key:"reduceBlockStatement",value:function(e,t){return(0,t.block)()}},{key:"reduceBreakStatement",value:function(e){return this.identity}},{key:"reduceCallExpression",value:function(e,t){var r=t.callee,n=t.arguments;return this.append.apply(this,[r].concat(xt(n)))}},{key:"reduceCatchClause",value:function(e,t){var r=t.binding,n=t.body;return this.append(r,n)}},{key:"reduceClassDeclaration",value:function(e,t){var r=this,n=t.name,i=t.super,a=t.elements;return this.append.apply(this,[n,null==i?function(){return r.identity}:i].concat(xt(a)))}},{key:"reduceClassElement",value:function(e,t){return(0,t.method)()}},{key:"reduceClassExpression",value:function(e,t){var r=this,n=t.name,i=t.super,a=t.elements;return this.append.apply(this,[null==n?function(){return r.identity}:n,null==i?function(){return r.identity}:i].concat(xt(a)))}},{key:"reduceCompoundAssignmentExpression",value:function(e,t){var r=t.binding,n=t.expression;return this.append(r,n)}},{key:"reduceComputedMemberAssignmentTarget",value:function(e,t){var r=t.object,n=t.expression;return this.append(r,n)}},{key:"reduceComputedMemberExpression",value:function(e,t){var r=t.object,n=t.expression;return this.append(r,n)}},{key:"reduceComputedPropertyName",value:function(e,t){return(0,t.expression)()}},{key:"reduceConditionalExpression",value:function(e,t){var r=t.test,n=t.consequent,i=t.alternate;return this.append(r,n,i)}},{key:"reduceContinueStatement",value:function(e){return this.identity}},{key:"reduceDataProperty",value:function(e,t){var r=t.name,n=t.expression;return this.append(r,n)}},{key:"reduceDebuggerStatement",value:function(e){return this.identity}},{key:"reduceDirective",value:function(e){return this.identity}},{key:"reduceDoWhileStatement",value:function(e,t){var r=t.body,n=t.test;return this.append(r,n)}},{key:"reduceEmptyStatement",value:function(e){return this.identity}},{key:"reduceExport",value:function(e,t){return(0,t.declaration)()}},{key:"reduceExportAllFrom",value:function(e){return this.identity}},{key:"reduceExportDefault",value:function(e,t){return(0,t.body)()}},{key:"reduceExportFrom",value:function(e,t){var r=t.namedExports;return this.append.apply(this,xt(r))}},{key:"reduceExportFromSpecifier",value:function(e){return this.identity}},{key:"reduceExportLocalSpecifier",value:function(e,t){return(0,t.name)()}},{key:"reduceExportLocals",value:function(e,t){var r=t.namedExports;return this.append.apply(this,xt(r))}},{key:"reduceExpressionStatement",value:function(e,t){return(0,t.expression)()}},{key:"reduceForAwaitStatement",value:function(e,t){var r=t.left,n=t.right,i=t.body;return this.append(r,n,i)}},{key:"reduceForInStatement",value:function(e,t){var r=t.left,n=t.right,i=t.body;return this.append(r,n,i)}},{key:"reduceForOfStatement",value:function(e,t){var r=t.left,n=t.right,i=t.body;return this.append(r,n,i)}},{key:"reduceForStatement",value:function(e,t){var r=this,n=t.init,i=t.test,a=t.update,u=t.body;return this.append(null==n?function(){return r.identity}:n,null==i?function(){return r.identity}:i,null==a?function(){return r.identity}:a,u)}},{key:"reduceFormalParameters",value:function(e,t){var r=this,n=t.items,i=t.rest;return this.append.apply(this,xt(n).concat([null==i?function(){return r.identity}:i]))}},{key:"reduceFunctionBody",value:function(e,t){var r=t.directives,n=t.statements;return this.append.apply(this,xt(r).concat(xt(n)))}},{key:"reduceFunctionDeclaration",value:function(e,t){var r=t.name,n=t.params,i=t.body;return this.append(r,n,i)}},{key:"reduceFunctionExpression",value:function(e,t){var r=this,n=t.name,i=t.params,a=t.body;return this.append(null==n?function(){return r.identity}:n,i,a)}},{key:"reduceGetter",value:function(e,t){var r=t.name,n=t.body;return this.append(r,n)}},{key:"reduceIdentifierExpression",value:function(e){return this.identity}},{key:"reduceIfStatement",value:function(e,t){var r=this,n=t.test,i=t.consequent,a=t.alternate;return this.append(n,i,null==a?function(){return r.identity}:a)}},{key:"reduceImport",value:function(e,t){var r=this,n=t.defaultBinding,i=t.namedImports;return this.append.apply(this,[null==n?function(){return r.identity}:n].concat(xt(i)))}},{key:"reduceImportNamespace",value:function(e,t){var r=this,n=t.defaultBinding,i=t.namespaceBinding;return this.append(null==n?function(){return r.identity}:n,i)}},{key:"reduceImportSpecifier",value:function(e,t){return(0,t.binding)()}},{key:"reduceLabeledStatement",value:function(e,t){return(0,t.body)()}},{key:"reduceLiteralBooleanExpression",value:function(e){return this.identity}},{key:"reduceLiteralInfinityExpression",value:function(e){return this.identity}},{key:"reduceLiteralNullExpression",value:function(e){return this.identity}},{key:"reduceLiteralNumericExpression",value:function(e){return this.identity}},{key:"reduceLiteralRegExpExpression",value:function(e){return this.identity}},{key:"reduceLiteralStringExpression",value:function(e){return this.identity}},{key:"reduceMethod",value:function(e,t){var r=t.name,n=t.params,i=t.body;return this.append(r,n,i)}},{key:"reduceModule",value:function(e,t){var r=t.directives,n=t.items;return this.append.apply(this,xt(r).concat(xt(n)))}},{key:"reduceNewExpression",value:function(e,t){var r=t.callee,n=t.arguments;return this.append.apply(this,[r].concat(xt(n)))}},{key:"reduceNewTargetExpression",value:function(e){return this.identity}},{key:"reduceObjectAssignmentTarget",value:function(e,t){var r=this,n=t.properties,i=t.rest;return this.append.apply(this,xt(n).concat([null==i?function(){return r.identity}:i]))}},{key:"reduceObjectBinding",value:function(e,t){var r=this,n=t.properties,i=t.rest;return this.append.apply(this,xt(n).concat([null==i?function(){return r.identity}:i]))}},{key:"reduceObjectExpression",value:function(e,t){var r=t.properties;return this.append.apply(this,xt(r))}},{key:"reduceReturnStatement",value:function(e,t){var r=t.expression;return null==r?this.identity:r()}},{key:"reduceScript",value:function(e,t){var r=t.directives,n=t.statements;return this.append.apply(this,xt(r).concat(xt(n)))}},{key:"reduceSetter",value:function(e,t){var r=t.name,n=t.param,i=t.body;return this.append(r,n,i)}},{key:"reduceShorthandProperty",value:function(e,t){return(0,t.name)()}},{key:"reduceSpreadElement",value:function(e,t){return(0,t.expression)()}},{key:"reduceSpreadProperty",value:function(e,t){return(0,t.expression)()}},{key:"reduceStaticMemberAssignmentTarget",value:function(e,t){return(0,t.object)()}},{key:"reduceStaticMemberExpression",value:function(e,t){return(0,t.object)()}},{key:"reduceStaticPropertyName",value:function(e){return this.identity}},{key:"reduceSuper",value:function(e){return this.identity}},{key:"reduceSwitchCase",value:function(e,t){var r=t.test,n=t.consequent;return this.append.apply(this,[r].concat(xt(n)))}},{key:"reduceSwitchDefault",value:function(e,t){var r=t.consequent;return this.append.apply(this,xt(r))}},{key:"reduceSwitchStatement",value:function(e,t){var r=t.discriminant,n=t.cases;return this.append.apply(this,[r].concat(xt(n)))}},{key:"reduceSwitchStatementWithDefault",value:function(e,t){var r=t.discriminant,n=t.preDefaultCases,i=t.defaultCase,a=t.postDefaultCases;return this.append.apply(this,[r].concat(xt(n),[i],xt(a)))}},{key:"reduceTemplateElement",value:function(e){return this.identity}},{key:"reduceTemplateExpression",value:function(e,t){var r=this,n=t.tag,i=t.elements;return this.append.apply(this,[null==n?function(){return r.identity}:n].concat(xt(i)))}},{key:"reduceThisExpression",value:function(e){return this.identity}},{key:"reduceThrowStatement",value:function(e,t){return(0,t.expression)()}},{key:"reduceTryCatchStatement",value:function(e,t){var r=t.body,n=t.catchClause;return this.append(r,n)}},{key:"reduceTryFinallyStatement",value:function(e,t){var r=this,n=t.body,i=t.catchClause,a=t.finalizer;return this.append(n,null==i?function(){return r.identity}:i,a)}},{key:"reduceUnaryExpression",value:function(e,t){return(0,t.operand)()}},{key:"reduceUpdateExpression",value:function(e,t){return(0,t.operand)()}},{key:"reduceVariableDeclaration",value:function(e,t){var r=t.declarators;return this.append.apply(this,xt(r))}},{key:"reduceVariableDeclarationStatement",value:function(e,t){return(0,t.declaration)()}},{key:"reduceVariableDeclarator",value:function(e,t){var r=this,n=t.binding,i=t.init;return this.append(n,null==i?function(){return r.identity}:i)}},{key:"reduceWhileStatement",value:function(e,t){var r=t.test,n=t.body;return this.append(r,n)}},{key:"reduceWithStatement",value:function(e,t){var r=t.object,n=t.body;return this.append(r,n)}},{key:"reduceYieldExpression",value:function(e,t){var r=t.expression;return null==r?this.identity:r()}},{key:"reduceYieldGeneratorExpression",value:function(e,t){return(0,t.expression)()}}]),e}();vt.default=Ct;var bt={};Object.defineProperty(bt,"__esModule",{value:!0});var St=function e(t,r,n){null===t&&(t=Function.prototype);var i=Object.getOwnPropertyDescriptor(t,r);if(void 0===i){var a=Object.getPrototypeOf(t);return null===a?void 0:e(a,r,n)}if("value"in i)return i.value;var u=i.get;return void 0!==u?u.call(n):void 0};!function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);t.default=e}(at),bt.default=function(e,t){var r;return r={__proto__:t,reduceArrayAssignmentTarget:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceArrayAssignmentTarget",this).call(this,t,n),t)},reduceArrayBinding:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceArrayBinding",this).call(this,t,n),t)},reduceArrayExpression:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceArrayExpression",this).call(this,t,n),t)},reduceArrowExpression:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceArrowExpression",this).call(this,t,n),t)},reduceAssignmentExpression:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceAssignmentExpression",this).call(this,t,n),t)},reduceAssignmentTargetIdentifier:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceAssignmentTargetIdentifier",this).call(this,t,n),t)},reduceAssignmentTargetPropertyIdentifier:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceAssignmentTargetPropertyIdentifier",this).call(this,t,n),t)},reduceAssignmentTargetPropertyProperty:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceAssignmentTargetPropertyProperty",this).call(this,t,n),t)},reduceAssignmentTargetWithDefault:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceAssignmentTargetWithDefault",this).call(this,t,n),t)},reduceAwaitExpression:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceAwaitExpression",this).call(this,t,n),t)},reduceBinaryExpression:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceBinaryExpression",this).call(this,t,n),t)},reduceBindingIdentifier:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceBindingIdentifier",this).call(this,t,n),t)},reduceBindingPropertyIdentifier:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceBindingPropertyIdentifier",this).call(this,t,n),t)},reduceBindingPropertyProperty:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceBindingPropertyProperty",this).call(this,t,n),t)},reduceBindingWithDefault:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceBindingWithDefault",this).call(this,t,n),t)},reduceBlock:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceBlock",this).call(this,t,n),t)},reduceBlockStatement:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceBlockStatement",this).call(this,t,n),t)},reduceBreakStatement:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceBreakStatement",this).call(this,t,n),t)},reduceCallExpression:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceCallExpression",this).call(this,t,n),t)},reduceCatchClause:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceCatchClause",this).call(this,t,n),t)},reduceClassDeclaration:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceClassDeclaration",this).call(this,t,n),t)},reduceClassElement:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceClassElement",this).call(this,t,n),t)},reduceClassExpression:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceClassExpression",this).call(this,t,n),t)},reduceCompoundAssignmentExpression:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceCompoundAssignmentExpression",this).call(this,t,n),t)},reduceComputedMemberAssignmentTarget:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceComputedMemberAssignmentTarget",this).call(this,t,n),t)},reduceComputedMemberExpression:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceComputedMemberExpression",this).call(this,t,n),t)},reduceComputedPropertyName:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceComputedPropertyName",this).call(this,t,n),t)},reduceConditionalExpression:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceConditionalExpression",this).call(this,t,n),t)},reduceContinueStatement:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceContinueStatement",this).call(this,t,n),t)},reduceDataProperty:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceDataProperty",this).call(this,t,n),t)},reduceDebuggerStatement:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceDebuggerStatement",this).call(this,t,n),t)},reduceDirective:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceDirective",this).call(this,t,n),t)},reduceDoWhileStatement:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceDoWhileStatement",this).call(this,t,n),t)},reduceEmptyStatement:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceEmptyStatement",this).call(this,t,n),t)},reduceExport:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceExport",this).call(this,t,n),t)},reduceExportAllFrom:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceExportAllFrom",this).call(this,t,n),t)},reduceExportDefault:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceExportDefault",this).call(this,t,n),t)},reduceExportFrom:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceExportFrom",this).call(this,t,n),t)},reduceExportFromSpecifier:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceExportFromSpecifier",this).call(this,t,n),t)},reduceExportLocalSpecifier:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceExportLocalSpecifier",this).call(this,t,n),t)},reduceExportLocals:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceExportLocals",this).call(this,t,n),t)},reduceExpressionStatement:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceExpressionStatement",this).call(this,t,n),t)},reduceForAwaitStatement:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceForAwaitStatement",this).call(this,t,n),t)},reduceForInStatement:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceForInStatement",this).call(this,t,n),t)},reduceForOfStatement:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceForOfStatement",this).call(this,t,n),t)},reduceForStatement:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceForStatement",this).call(this,t,n),t)},reduceFormalParameters:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceFormalParameters",this).call(this,t,n),t)},reduceFunctionBody:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceFunctionBody",this).call(this,t,n),t)},reduceFunctionDeclaration:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceFunctionDeclaration",this).call(this,t,n),t)},reduceFunctionExpression:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceFunctionExpression",this).call(this,t,n),t)},reduceGetter:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceGetter",this).call(this,t,n),t)},reduceIdentifierExpression:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceIdentifierExpression",this).call(this,t,n),t)},reduceIfStatement:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceIfStatement",this).call(this,t,n),t)},reduceImport:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceImport",this).call(this,t,n),t)},reduceImportNamespace:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceImportNamespace",this).call(this,t,n),t)},reduceImportSpecifier:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceImportSpecifier",this).call(this,t,n),t)},reduceLabeledStatement:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceLabeledStatement",this).call(this,t,n),t)},reduceLiteralBooleanExpression:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceLiteralBooleanExpression",this).call(this,t,n),t)},reduceLiteralInfinityExpression:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceLiteralInfinityExpression",this).call(this,t,n),t)},reduceLiteralNullExpression:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceLiteralNullExpression",this).call(this,t,n),t)},reduceLiteralNumericExpression:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceLiteralNumericExpression",this).call(this,t,n),t)},reduceLiteralRegExpExpression:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceLiteralRegExpExpression",this).call(this,t,n),t)},reduceLiteralStringExpression:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceLiteralStringExpression",this).call(this,t,n),t)},reduceMethod:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceMethod",this).call(this,t,n),t)},reduceModule:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceModule",this).call(this,t,n),t)},reduceNewExpression:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceNewExpression",this).call(this,t,n),t)},reduceNewTargetExpression:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceNewTargetExpression",this).call(this,t,n),t)},reduceObjectAssignmentTarget:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceObjectAssignmentTarget",this).call(this,t,n),t)},reduceObjectBinding:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceObjectBinding",this).call(this,t,n),t)},reduceObjectExpression:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceObjectExpression",this).call(this,t,n),t)},reduceReturnStatement:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceReturnStatement",this).call(this,t,n),t)},reduceScript:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceScript",this).call(this,t,n),t)},reduceSetter:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceSetter",this).call(this,t,n),t)},reduceShorthandProperty:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceShorthandProperty",this).call(this,t,n),t)},reduceSpreadElement:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceSpreadElement",this).call(this,t,n),t)},reduceSpreadProperty:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceSpreadProperty",this).call(this,t,n),t)},reduceStaticMemberAssignmentTarget:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceStaticMemberAssignmentTarget",this).call(this,t,n),t)},reduceStaticMemberExpression:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceStaticMemberExpression",this).call(this,t,n),t)},reduceStaticPropertyName:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceStaticPropertyName",this).call(this,t,n),t)},reduceSuper:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceSuper",this).call(this,t,n),t)},reduceSwitchCase:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceSwitchCase",this).call(this,t,n),t)},reduceSwitchDefault:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceSwitchDefault",this).call(this,t,n),t)},reduceSwitchStatement:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceSwitchStatement",this).call(this,t,n),t)},reduceSwitchStatementWithDefault:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceSwitchStatementWithDefault",this).call(this,t,n),t)},reduceTemplateElement:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceTemplateElement",this).call(this,t,n),t)},reduceTemplateExpression:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceTemplateExpression",this).call(this,t,n),t)},reduceThisExpression:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceThisExpression",this).call(this,t,n),t)},reduceThrowStatement:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceThrowStatement",this).call(this,t,n),t)},reduceTryCatchStatement:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceTryCatchStatement",this).call(this,t,n),t)},reduceTryFinallyStatement:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceTryFinallyStatement",this).call(this,t,n),t)},reduceUnaryExpression:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceUnaryExpression",this).call(this,t,n),t)},reduceUpdateExpression:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceUpdateExpression",this).call(this,t,n),t)},reduceVariableDeclaration:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceVariableDeclaration",this).call(this,t,n),t)},reduceVariableDeclarationStatement:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceVariableDeclarationStatement",this).call(this,t,n),t)},reduceVariableDeclarator:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceVariableDeclarator",this).call(this,t,n),t)},reduceWhileStatement:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceWhileStatement",this).call(this,t,n),t)},reduceWithStatement:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceWithStatement",this).call(this,t,n),t)},reduceYieldExpression:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceYieldExpression",this).call(this,t,n),t)},reduceYieldGeneratorExpression:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceYieldGeneratorExpression",this).call(this,t,n),t)}}};var _t={};Object.defineProperty(_t,"__esModule",{value:!0}),_t.ThunkedOrReducer=_t.OrReducer=_t.ThunkedAndReducer=_t.AndReducer=_t.ThunkedConcatReducer=_t.ConcatReducer=_t.ThunkedPlusReducer=_t.PlusReducer=void 0;var Tt=kt(mt),Ft=kt(vt);function kt(e){return e&&e.__esModule?e:{default:e}}function Bt(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function wt(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function Nt(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var It={empty:function(){return 0},concat:function(e,t){return e+t}},Ot={empty:function(){return[]},concat:function(e,t){return e.concat(t)}},Lt={empty:function(){return!0},concat:function(e,t){return e&&t},concatThunk:function(e,t){return e&&t()}},Pt={empty:function(){return!1},concat:function(e,t){return e||t},concatThunk:function(e,t){return e||t()}};_t.PlusReducer=function(e){function t(){return Bt(this,t),wt(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,It))}return Nt(t,e),t}(Tt.default),_t.ThunkedPlusReducer=function(e){function t(){return Bt(this,t),wt(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,It))}return Nt(t,e),t}(Ft.default),_t.ConcatReducer=function(e){function t(){return Bt(this,t),wt(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,Ot))}return Nt(t,e),t}(Tt.default),_t.ThunkedConcatReducer=function(e){function t(){return Bt(this,t),wt(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,Ot))}return Nt(t,e),t}(Ft.default),_t.AndReducer=function(e){function t(){return Bt(this,t),wt(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,Lt))}return Nt(t,e),t}(Tt.default),_t.ThunkedAndReducer=function(e){function t(){return Bt(this,t),wt(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,Lt))}return Nt(t,e),t}(Ft.default),_t.OrReducer=function(e){function t(){return Bt(this,t),wt(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,Pt))}return Nt(t,e),t}(Tt.default),_t.ThunkedOrReducer=function(e){function t(){return Bt(this,t),wt(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,Pt))}return Nt(t,e),t}(Ft.default),function(e){Object.defineProperty(e,"__esModule",{value:!0});var t=Xe;Object.defineProperty(e,"reduce",{enumerable:!0,get:function(){return t.reduce}}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.reduce}});var r=$e;Object.defineProperty(e,"thunkedReduce",{enumerable:!0,get:function(){return r.thunkedReduce}});var n=Ze;Object.defineProperty(e,"thunkify",{enumerable:!0,get:function(){return d(n).default}});var i=Qe;Object.defineProperty(e,"thunkifyClass",{enumerable:!0,get:function(){return d(i).default}});var a=it;Object.defineProperty(e,"memoize",{enumerable:!0,get:function(){return d(a).default}});var u=st;Object.defineProperty(e,"CloneReducer",{enumerable:!0,get:function(){return d(u).default}});var s=lt;Object.defineProperty(e,"LazyCloneReducer",{enumerable:!0,get:function(){return d(s).default}});var o=mt;Object.defineProperty(e,"MonoidalReducer",{enumerable:!0,get:function(){return d(o).default}});var c=vt;Object.defineProperty(e,"ThunkedMonoidalReducer",{enumerable:!0,get:function(){return d(c).default}});var p=bt;Object.defineProperty(e,"adapt",{enumerable:!0,get:function(){return d(p).default}});var l=_t;function d(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(e,"PlusReducer",{enumerable:!0,get:function(){return l.PlusReducer}}),Object.defineProperty(e,"ThunkedPlusReducer",{enumerable:!0,get:function(){return l.ThunkedPlusReducer}}),Object.defineProperty(e,"ConcatReducer",{enumerable:!0,get:function(){return l.ConcatReducer}}),Object.defineProperty(e,"ThunkedConcatReducer",{enumerable:!0,get:function(){return l.ThunkedConcatReducer}}),Object.defineProperty(e,"AndReducer",{enumerable:!0,get:function(){return l.AndReducer}}),Object.defineProperty(e,"ThunkedAndReducer",{enumerable:!0,get:function(){return l.ThunkedAndReducer}}),Object.defineProperty(e,"OrReducer",{enumerable:!0,get:function(){return l.OrReducer}}),Object.defineProperty(e,"ThunkedOrReducer",{enumerable:!0,get:function(){return l.ThunkedOrReducer}})}(qe);var Mt={},Rt={exports:{}};!function(e,t){function r(e,t){for(var r,n=e.keys();!(r=n.next()).done;)t(e.get(r.value),r.value,e)}var n=function(){var e,t;function n(t){var r=this;r._map=e,n.Map&&(r._map=n.Map),r._=r._map?new r._map:{},t&&t.forEach((function(e){r.set(e[0],e[1])}))}"undefined"!=typeof Map&&(e=Map,Map.prototype.keys||(Map.prototype.keys=function(){var e=[];return this.forEach((function(t,r){e.push(r)})),e})),n.prototype.get=function(e){return this._map?this._.get(e):this._[e]},n.prototype.set=function(e,t){var r=Array.prototype.slice.call(arguments);e=r.shift();var n=this.get(e);return n||(n=[],this._map?this._.set(e,n):this._[e]=n),Array.prototype.push.apply(n,r),this},n.prototype.delete=function(e,t){if(!this.has(e))return!1;if(1==arguments.length)return this._map?this._.delete(e):delete this._[e],!0;var r=this.get(e),n=r.indexOf(t);return-1!=n&&(r.splice(n,1),!0)},n.prototype.has=function(e,t){var r=this._map?this._.has(e):this._.hasOwnProperty(e);if(1==arguments.length||!r)return r;var n=this.get(e)||[];return-1!=n.indexOf(t)},n.prototype.keys=function(){return this._map?i(this._.keys()):i(Object.keys(this._))},n.prototype.values=function(){var e=[];return this.forEachEntry((function(t){Array.prototype.push.apply(e,t)})),i(e)},n.prototype.forEachEntry=function(e){r(this,e)},n.prototype.forEach=function(e){var t=this;t.forEachEntry((function(r,n){r.forEach((function(r){e(r,n,t)}))}))},n.prototype.clear=function(){this._map?this._.clear():this._={}},Object.defineProperty(n.prototype,"size",{configurable:!1,enumerable:!0,get:function(){var e=0;return r(this,(function(t){e+=t.length})),e}}),Object.defineProperty(n.prototype,"count",{configurable:!1,enumerable:!0,get:function(){return this._.size}});try{t=new Function("iterator","makeIterator","var keysArray = []; for(var key of iterator){keysArray.push(key);} return makeIterator(keysArray).next;")}catch(e){}function i(e){if(Array.isArray(e)){var r=0;return{next:function(){return r<e.length?{value:e[r++],done:!1}:{done:!0}}}}return!e.next&&t&&(e.next=t(e,i)),e}return n}();e&&e.exports&&(e.exports=n)}(Rt),Object.defineProperty(Mt,"__esModule",{value:!0}),Mt.EarlyError=Mt.EarlyErrorState=void 0;var jt=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),Gt=function(e){return e&&e.__esModule?e:{default:e}}(Rt.exports);function Wt(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Ut(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];return r.forEach((function(t){t.forEachEntry((function(t,r){e.set.apply(e,[r].concat(t))}))})),e}var Vt=void 0,Ht=Mt.EarlyErrorState=function(){function e(){Wt(this,e),this.errors=[],this.strictErrors=[],this.usedLabelNames=[],this.freeBreakStatements=[],this.freeContinueStatements=[],this.freeLabeledBreakStatements=[],this.freeLabeledContinueStatements=[],this.newTargetExpressions=[],this.boundNames=new Gt.default,this.lexicallyDeclaredNames=new Gt.default,this.functionDeclarationNames=new Gt.default,this.varDeclaredNames=new Gt.default,this.forOfVarDeclaredNames=[],this.exportedNames=new Gt.default,this.exportedBindings=new Gt.default,this.superCallExpressions=[],this.superCallExpressionsInConstructorMethod=[],this.superPropertyExpressions=[],this.yieldExpressions=[],this.awaitExpressions=[]}return jt(e,[{key:"addFreeBreakStatement",value:function(e){return this.freeBreakStatements.push(e),this}},{key:"addFreeLabeledBreakStatement",value:function(e){return this.freeLabeledBreakStatements.push(e),this}},{key:"clearFreeBreakStatements",value:function(){return this.freeBreakStatements=[],this}},{key:"addFreeContinueStatement",value:function(e){return this.freeContinueStatements.push(e),this}},{key:"addFreeLabeledContinueStatement",value:function(e){return this.freeLabeledContinueStatements.push(e),this}},{key:"clearFreeContinueStatements",value:function(){return this.freeContinueStatements=[],this}},{key:"enforceFreeBreakStatementErrors",value:function(e){return[].push.apply(this.errors,this.freeBreakStatements.map(e)),this.freeBreakStatements=[],this}},{key:"enforceFreeLabeledBreakStatementErrors",value:function(e){return[].push.apply(this.errors,this.freeLabeledBreakStatements.map(e)),this.freeLabeledBreakStatements=[],this}},{key:"enforceFreeContinueStatementErrors",value:function(e){return[].push.apply(this.errors,this.freeContinueStatements.map(e)),this.freeContinueStatements=[],this}},{key:"enforceFreeLabeledContinueStatementErrors",value:function(e){return[].push.apply(this.errors,this.freeLabeledContinueStatements.map(e)),this.freeLabeledContinueStatements=[],this}},{key:"observeIterationLabel",value:function(e){return this.usedLabelNames.push(e),this.freeLabeledBreakStatements=this.freeLabeledBreakStatements.filter((function(t){return t.label!==e})),this.freeLabeledContinueStatements=this.freeLabeledContinueStatements.filter((function(t){return t.label!==e})),this}},{key:"observeNonIterationLabel",value:function(e){return this.usedLabelNames.push(e),this.freeLabeledBreakStatements=this.freeLabeledBreakStatements.filter((function(t){return t.label!==e})),this}},{key:"clearUsedLabelNames",value:function(){return this.usedLabelNames=[],this}},{key:"observeSuperCallExpression",value:function(e){return this.superCallExpressions.push(e),this}},{key:"observeConstructorMethod",value:function(){return this.superCallExpressionsInConstructorMethod=this.superCallExpressions,this.superCallExpressions=[],this}},{key:"clearSuperCallExpressionsInConstructorMethod",value:function(){return this.superCallExpressionsInConstructorMethod=[],this}},{key:"enforceSuperCallExpressions",value:function(e){return[].push.apply(this.errors,this.superCallExpressions.map(e)),[].push.apply(this.errors,this.superCallExpressionsInConstructorMethod.map(e)),this.superCallExpressions=[],this.superCallExpressionsInConstructorMethod=[],this}},{key:"enforceSuperCallExpressionsInConstructorMethod",value:function(e){return[].push.apply(this.errors,this.superCallExpressionsInConstructorMethod.map(e)),this.superCallExpressionsInConstructorMethod=[],this}},{key:"observeSuperPropertyExpression",value:function(e){return this.superPropertyExpressions.push(e),this}},{key:"clearSuperPropertyExpressions",value:function(){return this.superPropertyExpressions=[],this}},{key:"enforceSuperPropertyExpressions",value:function(e){return[].push.apply(this.errors,this.superPropertyExpressions.map(e)),this.superPropertyExpressions=[],this}},{key:"observeNewTargetExpression",value:function(e){return this.newTargetExpressions.push(e),this}},{key:"clearNewTargetExpressions",value:function(){return this.newTargetExpressions=[],this}},{key:"bindName",value:function(e,t){return this.boundNames.set(e,t),this}},{key:"clearBoundNames",value:function(){return this.boundNames=new Gt.default,this}},{key:"observeLexicalDeclaration",value:function(){return Ut(this.lexicallyDeclaredNames,this.boundNames),this.boundNames=new Gt.default,this}},{key:"observeLexicalBoundary",value:function(){return this.previousLexicallyDeclaredNames=this.lexicallyDeclaredNames,this.lexicallyDeclaredNames=new Gt.default,this.functionDeclarationNames=new Gt.default,this}},{key:"enforceDuplicateLexicallyDeclaredNames",value:function(e){var t=this;return this.lexicallyDeclaredNames.forEachEntry((function(r){r.length>1&&r.slice(1).forEach((function(r){t.addError(e(r))}))})),this}},{key:"enforceConflictingLexicallyDeclaredNames",value:function(e,t){var r=this;return this.lexicallyDeclaredNames.forEachEntry((function(n,i){e.has(i)&&n.forEach((function(e){r.addError(t(e))}))})),this}},{key:"observeFunctionDeclaration",value:function(){return this.observeVarBoundary(),Ut(this.functionDeclarationNames,this.boundNames),this.boundNames=new Gt.default,this}},{key:"functionDeclarationNamesAreLexical",value:function(){return Ut(this.lexicallyDeclaredNames,this.functionDeclarationNames),this.functionDeclarationNames=new Gt.default,this}},{key:"observeVarDeclaration",value:function(){return Ut(this.varDeclaredNames,this.boundNames),this.boundNames=new Gt.default,this}},{key:"recordForOfVars",value:function(){var e=this;return this.varDeclaredNames.forEach((function(t){e.forOfVarDeclaredNames.push(t)})),this}},{key:"observeVarBoundary",value:function(){return this.lexicallyDeclaredNames=new Gt.default,this.functionDeclarationNames=new Gt.default,this.varDeclaredNames=new Gt.default,this.forOfVarDeclaredNames=[],this}},{key:"exportName",value:function(e,t){return this.exportedNames.set(e,t),this}},{key:"exportDeclaredNames",value:function(){return Ut(this.exportedNames,this.lexicallyDeclaredNames,this.varDeclaredNames),Ut(this.exportedBindings,this.lexicallyDeclaredNames,this.varDeclaredNames),this}},{key:"exportBinding",value:function(e,t){return this.exportedBindings.set(e,t),this}},{key:"clearExportedBindings",value:function(){return this.exportedBindings=new Gt.default,this}},{key:"observeYieldExpression",value:function(e){return this.yieldExpressions.push(e),this}},{key:"clearYieldExpressions",value:function(){return this.yieldExpressions=[],this}},{key:"observeAwaitExpression",value:function(e){return this.awaitExpressions.push(e),this}},{key:"clearAwaitExpressions",value:function(){return this.awaitExpressions=[],this}},{key:"addError",value:function(e){return this.errors.push(e),this}},{key:"addStrictError",value:function(e){return this.strictErrors.push(e),this}},{key:"enforceStrictErrors",value:function(){return[].push.apply(this.errors,this.strictErrors),this.strictErrors=[],this}},{key:"concat",value:function(e){return this===Vt?e:(e===Vt||([].push.apply(this.errors,e.errors),[].push.apply(this.strictErrors,e.strictErrors),[].push.apply(this.usedLabelNames,e.usedLabelNames),[].push.apply(this.freeBreakStatements,e.freeBreakStatements),[].push.apply(this.freeContinueStatements,e.freeContinueStatements),[].push.apply(this.freeLabeledBreakStatements,e.freeLabeledBreakStatements),[].push.apply(this.freeLabeledContinueStatements,e.freeLabeledContinueStatements),[].push.apply(this.newTargetExpressions,e.newTargetExpressions),Ut(this.boundNames,e.boundNames),Ut(this.lexicallyDeclaredNames,e.lexicallyDeclaredNames),Ut(this.functionDeclarationNames,e.functionDeclarationNames),Ut(this.varDeclaredNames,e.varDeclaredNames),[].push.apply(this.forOfVarDeclaredNames,e.forOfVarDeclaredNames),Ut(this.exportedNames,e.exportedNames),Ut(this.exportedBindings,e.exportedBindings),[].push.apply(this.superCallExpressions,e.superCallExpressions),[].push.apply(this.superCallExpressionsInConstructorMethod,e.superCallExpressionsInConstructorMethod),[].push.apply(this.superPropertyExpressions,e.superPropertyExpressions),[].push.apply(this.yieldExpressions,e.yieldExpressions),[].push.apply(this.awaitExpressions,e.awaitExpressions)),this)}}],[{key:"empty",value:function(){return Vt}}]),e}();Vt=new Ht,Object.getOwnPropertyNames(Ht.prototype).forEach((function(e){"constructor"!==e&&Object.defineProperty(Vt,e,{value:function(){return Ht.prototype[e].apply(new Ht,arguments)},enumerable:!1,writable:!0,configurable:!0})})),Mt.EarlyError=function(e){function t(e,r){Wt(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,r));return n.node=e,n.message=r,n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,Error),t}(),Object.defineProperty(Ye,"__esModule",{value:!0}),Ye.EarlyErrorChecker=void 0;var Kt=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),Yt=function e(t,r,n){null===t&&(t=Function.prototype);var i=Object.getOwnPropertyDescriptor(t,r);if(void 0===i){var a=Object.getPrototypeOf(t);return null===a?void 0:e(a,r,n)}if("value"in i)return i.value;var u=i.get;return void 0!==u?u.call(n):void 0},qt=qe,Xt=function(e){return e&&e.__esModule?e:{default:e}}(qt),zt=i,$t=o,Jt=Mt;function Zt(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);t<e.length;t++)r[t]=e[t];return r}return Array.from(e)}function Qt(e){return e.directives.some((function(e){return"use strict"===e.rawValue}))}function er(e){return"LabeledStatement"===e.type&&("FunctionDeclaration"===e.body.type||er(e.body))}function tr(e){switch(e.type){case"LabeledStatement":return tr(e.body);case"DoWhileStatement":case"ForInStatement":case"ForOfStatement":case"ForStatement":case"WhileStatement":return!0}return!1}function rr(e){if("StaticPropertyName"!==e.name.type||"constructor"!==e.name.value)return!1;switch(e.type){case"Getter":case"Setter":return!0;case"Method":return e.isGenerator||e.isAsync}throw new Error("not reached")}function nr(e,t){var r=e.elements.filter((function(e){return!e.isStatic&&"Method"===e.method.type&&!e.method.isGenerator&&"StaticPropertyName"===e.method.name.type&&"constructor"===e.method.name.value}));return r.length>1&&r.slice(1).forEach((function(e){t=t.addError(new Jt.EarlyError(e,"Duplicate constructor method in class"))})),t}var ir=function(e){return new Jt.EarlyError(e,$t.ErrorMessages.ILLEGAL_SUPER_CALL)},ar=function(e){return new Jt.EarlyError(e,"Member access on super must be in a method")},ur=function(e){return new Jt.EarlyError(e,"Duplicate binding "+JSON.stringify(e.name))},sr=function(e){return new Jt.EarlyError(e,"Continue statement must be nested within an iteration statement")},or=function(e){return new Jt.EarlyError(e,"Continue statement must be nested within an iteration statement with label "+JSON.stringify(e.label))},cr=function(e){return new Jt.EarlyError(e,"Break statement must be nested within an iteration statement or a switch statement")},pr=function(e){return new Jt.EarlyError(e,"Break statement must be nested within a statement with label "+JSON.stringify(e.label))};Ye.EarlyErrorChecker=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,Jt.EarlyErrorState))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),Kt(t,[{key:"reduceAssignmentExpression",value:function(){return Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceAssignmentExpression",this).apply(this,arguments).clearBoundNames()}},{key:"reduceAssignmentTargetIdentifier",value:function(e){var t=this.identity;return("eval"===e.name||"arguments"===e.name||(0,zt.isStrictModeReservedWord)(e.name))&&(t=t.addStrictError(new Jt.EarlyError(e,"The identifier "+JSON.stringify(e.name)+" must not be in binding position in strict mode"))),t}},{key:"reduceArrowExpression",value:function(e,r){var n=r.params,i=r.body,a=null==e.params.rest&&e.params.items.every((function(e){return"BindingIdentifier"===e.type}));n=n.enforceDuplicateLexicallyDeclaredNames(ur),"FunctionBody"===e.body.type&&(i=i.enforceConflictingLexicallyDeclaredNames(n.lexicallyDeclaredNames,ur),Qt(e.body)&&(n=n.enforceStrictErrors(),i=i.enforceStrictErrors())),n.yieldExpressions.forEach((function(e){n=n.addError(new Jt.EarlyError(e,"Arrow parameters must not contain yield expressions"))})),n.awaitExpressions.forEach((function(e){n=n.addError(new Jt.EarlyError(e,"Arrow parameters must not contain await expressions"))}));var u=Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceArrowExpression",this).call(this,e,{params:n,body:i});return!a&&"FunctionBody"===e.body.type&&Qt(e.body)&&(u=u.addError(new Jt.EarlyError(e,'Functions with non-simple parameter lists may not contain a "use strict" directive'))),u=(u=(u=u.clearYieldExpressions()).clearAwaitExpressions()).observeVarBoundary()}},{key:"reduceAwaitExpression",value:function(e,t){return t.expression.observeAwaitExpression(e)}},{key:"reduceBindingIdentifier",value:function(e){var t=this.identity;return("eval"===e.name||"arguments"===e.name||(0,zt.isStrictModeReservedWord)(e.name))&&(t=t.addStrictError(new Jt.EarlyError(e,"The identifier "+JSON.stringify(e.name)+" must not be in binding position in strict mode"))),t=t.bindName(e.name,e)}},{key:"reduceBlock",value:function(){var e=Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceBlock",this).apply(this,arguments);return e=(e=(e=(e=e.functionDeclarationNamesAreLexical()).enforceDuplicateLexicallyDeclaredNames(ur)).enforceConflictingLexicallyDeclaredNames(e.varDeclaredNames,ur)).observeLexicalBoundary()}},{key:"reduceBreakStatement",value:function(e){var r=Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceBreakStatement",this).apply(this,arguments);return r=null==e.label?r.addFreeBreakStatement(e):r.addFreeLabeledBreakStatement(e)}},{key:"reduceCallExpression",value:function(e){var r=Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceCallExpression",this).apply(this,arguments);return"Super"===e.callee.type&&(r=r.observeSuperCallExpression(e)),r}},{key:"reduceCatchClause",value:function(e,r){var n=r.binding,i=r.body;(n=(n=(n=n.observeLexicalDeclaration()).enforceDuplicateLexicallyDeclaredNames(ur)).enforceConflictingLexicallyDeclaredNames(i.previousLexicallyDeclaredNames,ur)).lexicallyDeclaredNames.forEachEntry((function(e,t){i.varDeclaredNames.has(t)&&i.varDeclaredNames.get(t).forEach((function(e){i.forOfVarDeclaredNames.indexOf(e)>=0&&(n=n.addError(ur(e)))}))}));var a=Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceCatchClause",this).call(this,e,{binding:n,body:i});return a=a.observeLexicalBoundary()}},{key:"reduceClassDeclaration",value:function(e,t){var r=t.name,n=t.super,i=t.elements,a=r.enforceStrictErrors(),u=this.append.apply(this,Zt(i));return u=u.enforceStrictErrors(),null!=e.super&&(n=n.enforceStrictErrors(),a=this.append(a,n),u=u.clearSuperCallExpressionsInConstructorMethod()),a=(a=nr(e,a=this.append(a,u))).observeLexicalDeclaration()}},{key:"reduceClassElement",value:function(e){var r=Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceClassElement",this).apply(this,arguments);return!e.isStatic&&rr(e.method)&&(r=r.addError(new Jt.EarlyError(e,$t.ErrorMessages.ILLEGAL_CONSTRUCTORS))),e.isStatic&&"StaticPropertyName"===e.method.name.type&&"prototype"===e.method.name.value&&(r=r.addError(new Jt.EarlyError(e,'Static class methods cannot be named "prototype"'))),r}},{key:"reduceClassExpression",value:function(e,t){var r=t.name,n=t.super,i=t.elements,a=null==e.name?this.identity:r.enforceStrictErrors(),u=this.append.apply(this,Zt(i));return u=u.enforceStrictErrors(),null!=e.super&&(n=n.enforceStrictErrors(),a=this.append(a,n),u=u.clearSuperCallExpressionsInConstructorMethod()),a=(a=nr(e,a=this.append(a,u))).clearBoundNames()}},{key:"reduceCompoundAssignmentExpression",value:function(){return Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceCompoundAssignmentExpression",this).apply(this,arguments).clearBoundNames()}},{key:"reduceComputedMemberExpression",value:function(e){var r=Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceComputedMemberExpression",this).apply(this,arguments);return"Super"===e.object.type&&(r=r.observeSuperPropertyExpression(e)),r}},{key:"reduceContinueStatement",value:function(e){var r=Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceContinueStatement",this).apply(this,arguments);return r=null==e.label?r.addFreeContinueStatement(e):r.addFreeLabeledContinueStatement(e)}},{key:"reduceDoWhileStatement",value:function(e){var r=Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceDoWhileStatement",this).apply(this,arguments);return er(e.body)&&(r=r.addError(new Jt.EarlyError(e.body,"The body of a do-while statement must not be a labeled function declaration"))),r=(r=r.clearFreeContinueStatements()).clearFreeBreakStatements()}},{key:"reduceExport",value:function(){var e=Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceExport",this).apply(this,arguments);return e=(e=e.functionDeclarationNamesAreLexical()).exportDeclaredNames()}},{key:"reduceExportFrom",value:function(){var e=Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceExportFrom",this).apply(this,arguments);return e=e.clearExportedBindings()}},{key:"reduceExportFromSpecifier",value:function(e){var r=Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceExportFromSpecifier",this).apply(this,arguments);return r=(r=r.exportName(e.exportedName||e.name,e)).exportBinding(e.name,e)}},{key:"reduceExportLocalSpecifier",value:function(e){var r=Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceExportLocalSpecifier",this).apply(this,arguments);return r=(r=r.exportName(e.exportedName||e.name.name,e)).exportBinding(e.name.name,e)}},{key:"reduceExportDefault",value:function(e){var r=Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceExportDefault",this).apply(this,arguments);return r=(r=r.functionDeclarationNamesAreLexical()).exportName("default",e)}},{key:"reduceFormalParameters",value:function(){var e=Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceFormalParameters",this).apply(this,arguments);return e=e.observeLexicalDeclaration()}},{key:"reduceForStatement",value:function(e,r){var n=r.init,i=r.test,a=r.update,u=r.body;null!=n&&(n=(n=n.enforceDuplicateLexicallyDeclaredNames(ur)).enforceConflictingLexicallyDeclaredNames(u.varDeclaredNames,ur));var s=Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceForStatement",this).call(this,e,{init:n,test:i,update:a,body:u});return null!=e.init&&"VariableDeclaration"===e.init.type&&"const"===e.init.kind&&e.init.declarators.forEach((function(e){null==e.init&&(s=s.addError(new Jt.EarlyError(e,"Constant lexical declarations must have an initialiser")))})),er(e.body)&&(s=s.addError(new Jt.EarlyError(e.body,"The body of a for statement must not be a labeled function declaration"))),s=(s=(s=s.clearFreeContinueStatements()).clearFreeBreakStatements()).observeLexicalBoundary()}},{key:"reduceForInStatement",value:function(e,r){var n=r.left,i=r.right,a=r.body;n=(n=n.enforceDuplicateLexicallyDeclaredNames(ur)).enforceConflictingLexicallyDeclaredNames(a.varDeclaredNames,ur);var u=Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceForInStatement",this).call(this,e,{left:n,right:i,body:a});return er(e.body)&&(u=u.addError(new Jt.EarlyError(e.body,"The body of a for-in statement must not be a labeled function declaration"))),u=(u=(u=u.clearFreeContinueStatements()).clearFreeBreakStatements()).observeLexicalBoundary()}},{key:"reduceForOfStatement",value:function(e,r){var n=r.left,i=r.right,a=r.body;n=(n=(n=n.recordForOfVars()).enforceDuplicateLexicallyDeclaredNames(ur)).enforceConflictingLexicallyDeclaredNames(a.varDeclaredNames,ur);var u=Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceForOfStatement",this).call(this,e,{left:n,right:i,body:a});return er(e.body)&&(u=u.addError(new Jt.EarlyError(e.body,"The body of a for-of statement must not be a labeled function declaration"))),u=(u=(u=u.clearFreeContinueStatements()).clearFreeBreakStatements()).observeLexicalBoundary()}},{key:"reduceForAwaitStatement",value:function(e,r){var n=r.left,i=r.right,a=r.body;n=(n=(n=n.recordForOfVars()).enforceDuplicateLexicallyDeclaredNames(ur)).enforceConflictingLexicallyDeclaredNames(a.varDeclaredNames,ur);var u=Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceForOfStatement",this).call(this,e,{left:n,right:i,body:a});return er(e.body)&&(u=u.addError(new Jt.EarlyError(e.body,"The body of a for-await statement must not be a labeled function declaration"))),u=(u=(u=u.clearFreeContinueStatements()).clearFreeBreakStatements()).observeLexicalBoundary()}},{key:"reduceFunctionBody",value:function(e){var r=Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceFunctionBody",this).apply(this,arguments);return r=(r=(r=(r=(r=(r=(r=(r=(r=r.enforceDuplicateLexicallyDeclaredNames(ur)).enforceConflictingLexicallyDeclaredNames(r.varDeclaredNames,ur)).enforceFreeContinueStatementErrors(sr)).enforceFreeLabeledContinueStatementErrors(or)).enforceFreeBreakStatementErrors(cr)).enforceFreeLabeledBreakStatementErrors(pr)).clearUsedLabelNames()).clearYieldExpressions()).clearAwaitExpressions(),Qt(e)&&(r=r.enforceStrictErrors()),r}},{key:"reduceFunctionDeclaration",value:function(e,r){var n=r.name,i=r.params,a=r.body,u=null==e.params.rest&&e.params.items.every((function(e){return"BindingIdentifier"===e.type})),s=!u||e.isGenerator?"addError":"addStrictError";i.lexicallyDeclaredNames.forEachEntry((function(e){e.length>1&&e.slice(1).forEach((function(e){i=i[s](ur(e))}))})),a=(a=(a=a.enforceConflictingLexicallyDeclaredNames(i.lexicallyDeclaredNames,ur)).enforceSuperCallExpressions(ir)).enforceSuperPropertyExpressions(ar),i=(i=i.enforceSuperCallExpressions(ir)).enforceSuperPropertyExpressions(ar),e.isGenerator&&i.yieldExpressions.forEach((function(e){i=i.addError(new Jt.EarlyError(e,"Generator parameters must not contain yield expressions"))})),e.isAsync&&i.awaitExpressions.forEach((function(e){i=i.addError(new Jt.EarlyError(e,"Async function parameters must not contain await expressions"))})),i=i.clearNewTargetExpressions(),a=a.clearNewTargetExpressions(),Qt(e.body)&&(i=i.enforceStrictErrors(),a=a.enforceStrictErrors());var o=Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceFunctionDeclaration",this).call(this,e,{name:n,params:i,body:a});return!u&&Qt(e.body)&&(o=o.addError(new Jt.EarlyError(e,'Functions with non-simple parameter lists may not contain a "use strict" directive'))),o=(o=(o=o.clearYieldExpressions()).clearAwaitExpressions()).observeFunctionDeclaration()}},{key:"reduceFunctionExpression",value:function(e,r){var n=r.name,i=r.params,a=r.body,u=null==e.params.rest&&e.params.items.every((function(e){return"BindingIdentifier"===e.type})),s=!u||e.isGenerator?"addError":"addStrictError";i.lexicallyDeclaredNames.forEachEntry((function(e,t){e.length>1&&e.slice(1).forEach((function(e){i=i[s](new Jt.EarlyError(e,"Duplicate binding "+JSON.stringify(t)))}))})),a=(a=(a=a.enforceConflictingLexicallyDeclaredNames(i.lexicallyDeclaredNames,ur)).enforceSuperCallExpressions(ir)).enforceSuperPropertyExpressions(ar),i=(i=i.enforceSuperCallExpressions(ir)).enforceSuperPropertyExpressions(ar),e.isGenerator&&i.yieldExpressions.forEach((function(e){i=i.addError(new Jt.EarlyError(e,"Generator parameters must not contain yield expressions"))})),e.isAsync&&i.awaitExpressions.forEach((function(e){i=i.addError(new Jt.EarlyError(e,"Async function parameters must not contain await expressions"))})),i=i.clearNewTargetExpressions(),a=a.clearNewTargetExpressions(),Qt(e.body)&&(i=i.enforceStrictErrors(),a=a.enforceStrictErrors());var o=Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceFunctionExpression",this).call(this,e,{name:n,params:i,body:a});return!u&&Qt(e.body)&&(o=o.addError(new Jt.EarlyError(e,'Functions with non-simple parameter lists may not contain a "use strict" directive'))),o=(o=(o=(o=o.clearBoundNames()).clearYieldExpressions()).clearAwaitExpressions()).observeVarBoundary()}},{key:"reduceGetter",value:function(e,r){var n=r.name,i=r.body;i=(i=(i=i.enforceSuperCallExpressions(ir)).clearSuperPropertyExpressions()).clearNewTargetExpressions(),Qt(e.body)&&(i=i.enforceStrictErrors());var a=Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceGetter",this).call(this,e,{name:n,body:i});return a=a.observeVarBoundary()}},{key:"reduceIdentifierExpression",value:function(e){var t=this.identity;return(0,zt.isStrictModeReservedWord)(e.name)&&(t=t.addStrictError(new Jt.EarlyError(e,"The identifier "+JSON.stringify(e.name)+" must not be in expression position in strict mode"))),t}},{key:"reduceIfStatement",value:function(e,r){var n=r.test,i=r.consequent,a=r.alternate;return er(e.consequent)&&(i=i.addError(new Jt.EarlyError(e.consequent,"The consequent of an if statement must not be a labeled function declaration"))),null!=e.alternate&&er(e.alternate)&&(a=a.addError(new Jt.EarlyError(e.alternate,"The alternate of an if statement must not be a labeled function declaration"))),"FunctionDeclaration"===e.consequent.type&&(i=(i=i.addStrictError(new Jt.EarlyError(e.consequent,"FunctionDeclarations in IfStatements are disallowed in strict mode"))).observeLexicalBoundary()),null!=e.alternate&&"FunctionDeclaration"===e.alternate.type&&(a=(a=a.addStrictError(new Jt.EarlyError(e.alternate,"FunctionDeclarations in IfStatements are disallowed in strict mode"))).observeLexicalBoundary()),Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceIfStatement",this).call(this,e,{test:n,consequent:i,alternate:a})}},{key:"reduceImport",value:function(){var e=Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceImport",this).apply(this,arguments);return e=e.observeLexicalDeclaration()}},{key:"reduceImportNamespace",value:function(){var e=Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceImportNamespace",this).apply(this,arguments);return e=e.observeLexicalDeclaration()}},{key:"reduceLabeledStatement",value:function(e){var r=Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceLabeledStatement",this).apply(this,arguments);return("yield"===e.label||(0,zt.isStrictModeReservedWord)(e.label))&&(r=r.addStrictError(new Jt.EarlyError(e,"The identifier "+JSON.stringify(e.label)+" must not be in label position in strict mode"))),r.usedLabelNames.indexOf(e.label)>=0&&(r=r.addError(new Jt.EarlyError(e,"Label "+JSON.stringify(e.label)+" has already been declared"))),"FunctionDeclaration"===e.body.type&&(r=r.addStrictError(new Jt.EarlyError(e,"Labeled FunctionDeclarations are disallowed in strict mode"))),r=tr(e.body)?r.observeIterationLabel(e.label):r.observeNonIterationLabel(e.label)}},{key:"reduceLiteralRegExpExpression",value:function(){return this.identity}},{key:"reduceMethod",value:function(e,r){var n=r.name,i=r.params,a=r.body,u=null==e.params.rest&&e.params.items.every((function(e){return"BindingIdentifier"===e.type}));i=i.enforceDuplicateLexicallyDeclaredNames(ur),a=a.enforceConflictingLexicallyDeclaredNames(i.lexicallyDeclaredNames,ur),"StaticPropertyName"===e.name.type&&"constructor"===e.name.value?(a=a.observeConstructorMethod(),i=i.observeConstructorMethod()):(a=a.enforceSuperCallExpressions(ir),i=i.enforceSuperCallExpressions(ir)),e.isGenerator&&i.yieldExpressions.forEach((function(e){i=i.addError(new Jt.EarlyError(e,"Generator parameters must not contain yield expressions"))})),e.isAsync&&i.awaitExpressions.forEach((function(e){i=i.addError(new Jt.EarlyError(e,"Async function parameters must not contain await expressions"))})),a=a.clearSuperPropertyExpressions(),i=(i=i.clearSuperPropertyExpressions()).clearNewTargetExpressions(),a=a.clearNewTargetExpressions(),Qt(e.body)&&(i=i.enforceStrictErrors(),a=a.enforceStrictErrors());var s=Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceMethod",this).call(this,e,{name:n,params:i,body:a});return!u&&Qt(e.body)&&(s=s.addError(new Jt.EarlyError(e,'Functions with non-simple parameter lists may not contain a "use strict" directive'))),s=(s=(s=s.clearYieldExpressions()).clearAwaitExpressions()).observeVarBoundary()}},{key:"reduceModule",value:function(){var e=Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceModule",this).apply(this,arguments);return(e=(e=(e=e.functionDeclarationNamesAreLexical()).enforceDuplicateLexicallyDeclaredNames(ur)).enforceConflictingLexicallyDeclaredNames(e.varDeclaredNames,ur)).exportedNames.forEachEntry((function(t,r){t.length>1&&t.slice(1).forEach((function(t){e=e.addError(new Jt.EarlyError(t,"Duplicate export "+JSON.stringify(r)))}))})),e.exportedBindings.forEachEntry((function(t,r){e.lexicallyDeclaredNames.has(r)||e.varDeclaredNames.has(r)||t.forEach((function(t){e=e.addError(new Jt.EarlyError(t,"Exported binding "+JSON.stringify(r)+" is not declared"))}))})),e.newTargetExpressions.forEach((function(t){e=e.addError(new Jt.EarlyError(t,"new.target must be within function (but not arrow expression) code"))})),e=(e=(e=(e=(e=(e=(e=e.enforceFreeContinueStatementErrors(sr)).enforceFreeLabeledContinueStatementErrors(or)).enforceFreeBreakStatementErrors(cr)).enforceFreeLabeledBreakStatementErrors(pr)).enforceSuperCallExpressions(ir)).enforceSuperPropertyExpressions(ar)).enforceStrictErrors()}},{key:"reduceNewTargetExpression",value:function(e){return this.identity.observeNewTargetExpression(e)}},{key:"reduceObjectExpression",value:function(e){var r=Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceObjectExpression",this).apply(this,arguments);r=r.enforceSuperCallExpressionsInConstructorMethod(ir);var n=e.properties.filter((function(e){return"DataProperty"===e.type&&"StaticPropertyName"===e.name.type&&"__proto__"===e.name.value}));return n.slice(1).forEach((function(e){r=r.addError(new Jt.EarlyError(e,"Duplicate __proto__ property in object literal not allowed"))})),r}},{key:"reduceUpdateExpression",value:function(){var e=Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceUpdateExpression",this).apply(this,arguments);return e=e.clearBoundNames()}},{key:"reduceUnaryExpression",value:function(e){var r=Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceUnaryExpression",this).apply(this,arguments);return"delete"===e.operator&&"IdentifierExpression"===e.operand.type&&(r=r.addStrictError(new Jt.EarlyError(e,"Identifier expressions must not be deleted in strict mode"))),r}},{key:"reduceScript",value:function(e){var r=Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceScript",this).apply(this,arguments);return(r=(r=r.enforceDuplicateLexicallyDeclaredNames(ur)).enforceConflictingLexicallyDeclaredNames(r.varDeclaredNames,ur)).newTargetExpressions.forEach((function(e){r=r.addError(new Jt.EarlyError(e,"new.target must be within function (but not arrow expression) code"))})),r=(r=(r=(r=(r=(r=r.enforceFreeContinueStatementErrors(sr)).enforceFreeLabeledContinueStatementErrors(or)).enforceFreeBreakStatementErrors(cr)).enforceFreeLabeledBreakStatementErrors(pr)).enforceSuperCallExpressions(ir)).enforceSuperPropertyExpressions(ar),Qt(e)&&(r=r.enforceStrictErrors()),r}},{key:"reduceSetter",value:function(e,r){var n=r.name,i=r.param,a=r.body,u="BindingIdentifier"===e.param.type;i=(i=i.observeLexicalDeclaration()).enforceDuplicateLexicallyDeclaredNames(ur),a=a.enforceConflictingLexicallyDeclaredNames(i.lexicallyDeclaredNames,ur),i=i.enforceSuperCallExpressions(ir),a=a.enforceSuperCallExpressions(ir),i=i.clearSuperPropertyExpressions(),a=a.clearSuperPropertyExpressions(),i=i.clearNewTargetExpressions(),a=a.clearNewTargetExpressions(),Qt(e.body)&&(i=i.enforceStrictErrors(),a=a.enforceStrictErrors());var s=Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceSetter",this).call(this,e,{name:n,param:i,body:a});return!u&&Qt(e.body)&&(s=s.addError(new Jt.EarlyError(e,'Functions with non-simple parameter lists may not contain a "use strict" directive'))),s=s.observeVarBoundary()}},{key:"reduceStaticMemberExpression",value:function(e){var r=Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceStaticMemberExpression",this).apply(this,arguments);return"Super"===e.object.type&&(r=r.observeSuperPropertyExpression(e)),r}},{key:"reduceSwitchStatement",value:function(e,t){var r=t.discriminant,n=t.cases,i=this.append.apply(this,Zt(n));i=(i=(i=(i=i.functionDeclarationNamesAreLexical()).enforceDuplicateLexicallyDeclaredNames(ur)).enforceConflictingLexicallyDeclaredNames(i.varDeclaredNames,ur)).observeLexicalBoundary();var a=this.append(r,i);return a=a.clearFreeBreakStatements()}},{key:"reduceSwitchStatementWithDefault",value:function(e,t){var r=t.discriminant,n=t.preDefaultCases,i=t.defaultCase,a=t.postDefaultCases,u=this.append.apply(this,[i].concat(Zt(n),Zt(a)));u=(u=(u=(u=u.functionDeclarationNamesAreLexical()).enforceDuplicateLexicallyDeclaredNames(ur)).enforceConflictingLexicallyDeclaredNames(u.varDeclaredNames,ur)).observeLexicalBoundary();var s=this.append(r,u);return s=s.clearFreeBreakStatements()}},{key:"reduceVariableDeclaration",value:function(e){var r=Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceVariableDeclaration",this).apply(this,arguments);switch(e.kind){case"const":case"let":(r=r.observeLexicalDeclaration()).lexicallyDeclaredNames.has("let")&&r.lexicallyDeclaredNames.get("let").forEach((function(e){r=r.addError(new Jt.EarlyError(e,'Lexical declarations must not have a binding named "let"'))}));break;case"var":r=r.observeVarDeclaration()}return r}},{key:"reduceVariableDeclarationStatement",value:function(e){var r=Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceVariableDeclarationStatement",this).apply(this,arguments);return"const"===e.declaration.kind&&e.declaration.declarators.forEach((function(e){null==e.init&&(r=r.addError(new Jt.EarlyError(e,"Constant lexical declarations must have an initialiser")))})),r}},{key:"reduceWhileStatement",value:function(e){var r=Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceWhileStatement",this).apply(this,arguments);return er(e.body)&&(r=r.addError(new Jt.EarlyError(e.body,"The body of a while statement must not be a labeled function declaration"))),r=r.clearFreeContinueStatements().clearFreeBreakStatements()}},{key:"reduceWithStatement",value:function(e){var r=Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceWithStatement",this).apply(this,arguments);return er(e.body)&&(r=r.addError(new Jt.EarlyError(e.body,"The body of a with statement must not be a labeled function declaration"))),r=r.addStrictError(new Jt.EarlyError(e,"Strict mode code must not include a with statement"))}},{key:"reduceYieldExpression",value:function(e){var r=Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceYieldExpression",this).apply(this,arguments);return r=r.observeYieldExpression(e)}},{key:"reduceYieldGeneratorExpression",value:function(e){var r=Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceYieldGeneratorExpression",this).apply(this,arguments);return r=r.observeYieldExpression(e)}}],[{key:"check",value:function(e){return(0,Xt.default)(new t,e).errors}}]),t}(qt.MonoidalReducer),function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.TokenType=e.TokenClass=e.Tokenizer=e.ParserWithLocation=e.GenericParser=e.EarlyErrorChecker=e.parseScriptWithLocation=e.parseModuleWithLocation=e.parseScript=e.parseModule=void 0;var t=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),r=function e(t,r,n){null===t&&(t=Function.prototype);var i=Object.getOwnPropertyDescriptor(t,r);if(void 0===i){var a=Object.getPrototypeOf(t);return null===a?void 0:e(a,r,n)}if("value"in i)return i.value;var u=i.get;return void 0!==u?u.call(n):void 0},a=n;Object.defineProperty(e,"Tokenizer",{enumerable:!0,get:function(){return function(e){return e&&e.__esModule?e:{default:e}}(a).default}}),Object.defineProperty(e,"TokenClass",{enumerable:!0,get:function(){return a.TokenClass}}),Object.defineProperty(e,"TokenType",{enumerable:!0,get:function(){return a.TokenType}});var u=b,s=Ye,o=i;var c=function(e){function n(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n);var t=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,e));return t.locations=new WeakMap,t.comments=[],t}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(n,e),t(n,[{key:"startNode",value:function(){return this.getLocation()}},{key:"finishNode",value:function(e,t){if("Script"===e.type||"Module"===e.type)return this.locations.set(e,{start:{line:1,column:0,offset:0},end:this.getLocation()}),e;if("TemplateExpression"===e.type)for(var r=0;r<e.elements.length;r+=2){var n=r<e.elements.length-1?2:1,i=e.elements[r],a=this.locations.get(i);this.locations.set(i,{start:{line:a.start.line,column:a.start.column+1,offset:a.start.offset+1},end:{line:a.end.line,column:a.end.column-n,offset:a.end.offset-n}})}return this.locations.set(e,{start:t,end:this.getLastTokenEndLocation()}),e}},{key:"copyNode",value:function(e,t){return this.locations.set(t,this.locations.get(e)),t}},{key:"skipSingleLineComment",value:function(e){var t={line:this.line+1,column:this.index-this.lineStart,offset:this.index},i=this.source[this.index],a="/"===i?"SingleLine":"<"===i?"HTMLOpen":"HTMLClose";r(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"skipSingleLineComment",this).call(this,e);var u={line:this.line+1,column:this.index-this.lineStart,offset:this.index},s="\r"===this.source[this.index-2]?2:(0,o.isLineTerminator)(this.source.charCodeAt(this.index-1))?1:0,c=this.source.substring(t.offset+e,u.offset-s);this.comments.push({text:c,type:a,start:t,end:u})}},{key:"skipMultiLineComment",value:function(){var e={line:this.line+1,column:this.index-this.lineStart,offset:this.index},t=r(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"skipMultiLineComment",this).call(this),i={line:this.line+1,column:this.index-this.lineStart,offset:this.index},a=this.source.substring(e.offset+2,i.offset-2);return this.comments.push({text:a,type:"MultiLine",start:e,end:i}),t}}]),n}(u.GenericParser);function p(e){return function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=r.earlyErrors,i=void 0===n||n,o=new u.GenericParser(t),c=o[e]();if(i){var p=s.EarlyErrorChecker.check(c);if(p.length>0)throw new a.JsError(0,1,0,p[0].message)}return c}}function l(e){return function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=r.earlyErrors,i=void 0===n||n,u=new c(t),o=u[e]();if(i){var p=s.EarlyErrorChecker.check(o);if(p.length>0){var l=p[0],d=l.node,h=l.message,f=u.locations.get(d).start,m=f.offset,y=f.line,E=f.column;throw new a.JsError(m,y,E,h)}}return{tree:o,locations:u.locations,comments:u.comments}}}e.parseModule=p("parseModule");var d=e.parseScript=p("parseScript");e.parseModuleWithLocation=l("parseModule"),e.parseScriptWithLocation=l("parseScript"),e.default=d,e.EarlyErrorChecker=s.EarlyErrorChecker,e.GenericParser=u.GenericParser,e.ParserWithLocation=c}(r);var lr={},dr={},hr={exports:{}};!function(e,t){function r(e,t){for(var r,n=e.keys();!(r=n.next()).done;)t(e.get(r.value),r.value,e)}var n=function(){var e,t;function n(t){var r=this;r._map=e,n.Map&&(r._map=n.Map),r._=r._map?new r._map:{},t&&t.forEach((function(e){r.set(e[0],e[1])}))}"undefined"!=typeof Map&&(e=Map,Map.prototype.keys||(Map.prototype.keys=function(){var e=[];return this.forEach((function(t,r){e.push(r)})),e})),n.prototype.get=function(e){return this._map?this._.get(e):this._[e]},n.prototype.set=function(e,t){var r=Array.prototype.slice.call(arguments);e=r.shift();var n=this.get(e);return n||(n=[],this._map?this._.set(e,n):this._[e]=n),Array.prototype.push.apply(n,r),this},n.prototype.delete=function(e,t){if(!this.has(e))return!1;if(1==arguments.length)return this._map?this._.delete(e):delete this._[e],!0;var r=this.get(e),n=r.indexOf(t);return-1!=n&&(r.splice(n,1),!0)},n.prototype.has=function(e,t){var r=this._map?this._.has(e):this._.hasOwnProperty(e);if(1==arguments.length||!r)return r;var n=this.get(e)||[];return-1!=n.indexOf(t)},n.prototype.keys=function(){return this._map?i(this._.keys()):i(Object.keys(this._))},n.prototype.values=function(){var e=[];return this.forEachEntry((function(t){Array.prototype.push.apply(e,t)})),i(e)},n.prototype.forEachEntry=function(e){r(this,e)},n.prototype.forEach=function(e){var t=this;t.forEachEntry((function(r,n){r.forEach((function(r){e(r,n,t)}))}))},n.prototype.clear=function(){this._map?this._.clear():this._={}},Object.defineProperty(n.prototype,"size",{configurable:!1,enumerable:!0,get:function(){var e=0;return r(this,(function(t){e+=t.length})),e}});try{t=new Function("iterator","makeIterator","var keysArray = []; for(var key of iterator){keysArray.push(key);} return makeIterator(keysArray).next;")}catch(e){}function i(e){if(Array.isArray(e)){var r=0;return{next:function(){return r<e.length?{value:e[r++],done:!1}:{done:!0}}}}return!e.next&&t&&(e.next=t(e,i)),e}return n}();e&&e.exports&&(e.exports=n)}(hr);var fr={},mr={};Object.defineProperty(mr,"__esModule",{value:!0});mr.default=class{constructor(e,t,r){this.name=e,this.references=t,this.declarations=r}},Object.defineProperty(fr,"__esModule",{value:!0}),fr.GlobalScope=fr.Scope=fr.ScopeType=void 0;var yr=function(e){return e&&e.__esModule?e:{default:e}}(mr);class Er{constructor(e){this.name=e}}fr.ScopeType=Er,Er.GLOBAL=new Er("Global"),Er.MODULE=new Er("Module"),Er.SCRIPT=new Er("Script"),Er.ARROW_FUNCTION=new Er("ArrowFunction"),Er.FUNCTION=new Er("Function"),Er.FUNCTION_NAME=new Er("FunctionName"),Er.CLASS_NAME=new Er("ClassName"),Er.PARAMETERS=new Er("Parameters"),Er.PARAMETER_EXPRESSION=new Er("ParameterExpression"),Er.WITH=new Er("With"),Er.CATCH=new Er("Catch"),Er.BLOCK=new Er("Block");class Dr{constructor(e){var t=this,r=e.children,n=e.variables,i=e.through,a=e.type,u=e.isDynamic,s=e.astNode;this.children=r,this.through=i,this.type=a,this.astNode=s,this.variables=new Map,n.forEach((function(e){return t.variables.set(e.name,e)})),this.variableList=[];var o=!0,c=!1,p=void 0;try{for(var l,d=this.variables.values()[Symbol.iterator]();!(o=(l=d.next()).done);o=!0){var h=l.value;this.variableList.push(h)}}catch(e){c=!0,p=e}finally{try{!o&&d.return&&d.return()}finally{if(c)throw p}}this.dynamic=u||a===Er.WITH||a===Er.GLOBAL}isGlobal(){return this.type===Er.GLOBAL}lookupVariable(e){return this.variables.get(e)}}fr.Scope=Dr;fr.GlobalScope=class extends Dr{constructor(e){var t,r=e.children,n=e.variables,i=e.through,a=e.astNode;t=super({children:r,variables:n,through:i,type:Er.GLOBAL,isDynamic:!0,astNode:a}),i.forEachEntry((function(e,r){t.variables.set(r,new yr.default(r,e,[]))})),this.variableList=[];var u=!0,s=!1,o=void 0;try{for(var c,p=this.variables.values()[Symbol.iterator]();!(u=(c=p.next()).done);u=!0){var l=c.value;this.variableList.push(l)}}catch(e){s=!0,o=e}finally{try{!u&&p.return&&p.return()}finally{if(s)throw o}}}},Object.defineProperty(dr,"__esModule",{value:!0});var gr=function(e){return e&&e.__esModule?e:{default:e}}(hr.exports),vr=fr;dr.default=class{constructor(e){var t=this;this.scope=e,this.variableMap=new gr.default;var r=function(e){e.declarations.forEach((function(r){return t.variableMap.set(r.node,e)})),e.references.forEach((function(r){t.variableMap.has(r.node)&&-1!==t.variableMap.get(r.node).indexOf(e)||t.variableMap.set(r.node,e)}))};!function e(t){t.children.forEach(e),t.variables.forEach(r)}(e)}lookup(e){return this.variableMap.get(e)}isGlobal(e){return this.scope instanceof vr.GlobalScope&&this.variableMap.has(e)}};var Ar={};Object.defineProperty(Ar,"__esModule",{value:!0});var xr=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var r=[],n=!0,i=!1,a=void 0;try{for(var u,s=e[Symbol.iterator]();!(n=(u=s.next()).done)&&(r.push(u.value),!t||r.length!==t);n=!0);}catch(e){i=!0,a=e}finally{try{!n&&s.return&&s.return()}finally{if(i)throw a}}return r}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")};function Cr(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);t<e.length;t++)r[t]=e[t];return r}return Array.from(e)}function br(e,t,r,n){for(var i=0;i<e.length;++i)if(e[i].index>=t){if(n)for(;i<e.length&&e[i].index===t;)++i;return void e.splice(i,0,{index:t,text:r})}e.push({index:t,text:r})}Ar.default=function(e){var t=e.source,r=e.locations,n=e.globalScope,i=e.skipUnambiguous,a=void 0!==i&&i,u=e.skipScopes,s=void 0!==u&&u,o=new _r((function(){return new Sr})),c=new _r((function(){return[]}));function p(e){c.get(e.name).push(e),e.declarations.forEach((function(t){o.get(t.node).declares.push(e)})),e.references.forEach((function(t){var r=o.get(t.node);if(t.accessibility.isDelete){if(t.accessibility.isRead||t.accessibility.isWrite)throw new Error("some reference is a delete *and* something else");r.deletes.push(e)}else t.accessibility.isRead&&r.reads.push(e),t.accessibility.isWrite&&r.writes.push(e)}))}!function e(t){s||o.get(t.astNode).scopes.push(t),t.variables.forEach(p),t.children.forEach(e)}(n);var l=[],d=!0,h=!1,f=void 0;try{for(var m,y=o.entries()[Symbol.iterator]();!(d=(m=y.next()).done);d=!0){var E=m.value,D=xr(E,2),g=D[0],v=D[1],A=r.get(g);if(v.scopes.length>0){if(0!==v.declares.length||0!==v.reads.length||0!==v.writes.length||0!==v.deletes.length)throw new Error("unhandled condition: node is scope and reference");for(var x=[].concat(Cr(v.scopes)),C=0;C<x.length;C++){var b=x[C],S=[].concat(Cr(b.variables.values())),_="Scope ("+b.type.name+")";S.length>0&&(_+=" declaring "+S.map((function(e){return e.name+"#"+c.get(e.name).indexOf(e)})).join(", ")),br(l,A.start.offset,"/* "+_+" */",!0),br(l,A.end.offset,"/* end scope */",!0)}}else if(v.deletes.length>0){var T=a?v.deletes.filter((function(e){return c.get(e.name).length>1})):v.deletes;T.length>0&&br(l,A.end.offset,"/* deletes "+T.map((function(e){return e.name+"#"+c.get(e.name).indexOf(e)})).join(", ")+" */",!1)}else{var F="",k=a?v.declares.filter((function(e){return c.get(e.name).length>1})):v.declares;k.length>0&&(F+="declares "+k.map((function(e){return e.name+"#"+c.get(e.name).indexOf(e)})).join(", "));var B=a?v.reads.filter((function(e){return c.get(e.name).length>1})):v.reads;B.length>0&&(F.length>0&&(F+="; "),F+="reads "+B.map((function(e){return e.name+"#"+c.get(e.name).indexOf(e)})).join(", "));var w=a?v.writes.filter((function(e){return c.get(e.name).length>1})):v.writes;w.length>0&&(F.length>0&&(F+="; "),F+="writes "+w.map((function(e){return e.name+"#"+c.get(e.name).indexOf(e)})).join(", ")),""!==F&&br(l,A.end.offset,"/* "+F+" */",!1)}}}catch(e){h=!0,f=e}finally{try{!d&&y.return&&y.return()}finally{if(h)throw f}}var N="",I=0,O=!0,L=!1,P=void 0;try{for(var M,R=l[Symbol.iterator]();!(O=(M=R.next()).done);O=!0){var j=M.value,G=j.index,W=j.text;N+=t.substring(I,G)+W,I=G}}catch(e){L=!0,P=e}finally{try{!O&&R.return&&R.return()}finally{if(L)throw P}}return N+=t.substring(I)};class Sr{constructor(){this.declares=[],this.reads=[],this.writes=[],this.deletes=[],this.scopes=[]}}class _r extends Map{constructor(e){super(),this.thunk=e}get(e){return this.has(e)||this.set(e,this.thunk()),super.get(e)}}var Tr={};Object.defineProperty(Tr,"__esModule",{value:!0});class Fr{constructor(e,t){this.name=e,this.isBlockScoped=!!t,this.isFunctionScoped=!t}}Tr.DeclarationType=Fr;class kr extends Fr{constructor(e){super(e,!0)}}Tr.BlockScopedDeclaration=kr;class Br extends Fr{constructor(e){super(e,!1)}}Tr.FunctionScopedDeclaration=Br,Fr.VAR=new Br("Var"),Fr.CONST=new kr("Const"),Fr.LET=new kr("Let"),Fr.FUNCTION_DECLARATION=new kr("FunctionDeclaration"),Fr.FUNCTION_VAR_DECLARATION=new Br("FunctionB33"),Fr.FUNCTION_NAME=new kr("FunctionExpressionName"),Fr.CLASS_DECLARATION=new kr("ClassDeclaration"),Fr.CLASS_NAME=new kr("ClassName"),Fr.PARAMETER=new Br("Parameter"),Fr.CATCH_PARAMETER=new kr("CatchParam"),Fr.IMPORT=new kr("Import"),Fr.fromVarDeclKind=function(e){switch(e){case"var":return Fr.VAR;case"const":return Fr.CONST;case"let":return Fr.LET;default:throw new Error("Invalid VariableDeclarationKind: "+JSON.stringify(e))}};Tr.Declaration=class{constructor(e,t){this.node=e,this.type=t}};var wr={};Object.defineProperty(wr,"__esModule",{value:!0});class Nr{constructor(e,t,r){this.isRead=!!e,this.isWrite=!!t,this.isReadWrite=!(!e||!t),this.isDelete=!!r}}wr.Accessibility=Nr,Nr.READ=new Nr(!0,!1,!1),Nr.WRITE=new Nr(!1,!0,!1),Nr.READWRITE=new Nr(!0,!0,!1),Nr.DELETE=new Nr(!1,!1,!0);wr.Reference=class{constructor(e,t){this.node=e,this.accessibility=t}};var Ir={},Or={},Lr={};Object.defineProperty(Lr,"__esModule",{value:!0}),Lr.default=function(){var e={},t={typeName:"Boolean"},r={typeName:"String"};function n(e){return{typeName:"Maybe",argument:e}}function i(e){return{typeName:"List",argument:e}}function a(e){return{typeName:"Const",argument:e}}function u(){return{typeName:"Union",arguments:[].slice.call(arguments,0)}}var s={typeName:"Enum",values:["ArrayAssignmentTarget","ArrayBinding","ArrayExpression","ArrowExpression","AssignmentExpression","AssignmentTargetIdentifier","AssignmentTargetPropertyIdentifier","AssignmentTargetPropertyProperty","AssignmentTargetWithDefault","AwaitExpression","BinaryExpression","BindingIdentifier","BindingPropertyIdentifier","BindingPropertyProperty","BindingWithDefault","Block","BlockStatement","BreakStatement","CallExpression","CatchClause","ClassDeclaration","ClassElement","ClassExpression","CompoundAssignmentExpression","ComputedMemberAssignmentTarget","ComputedMemberExpression","ComputedPropertyName","ConditionalExpression","ContinueStatement","DataProperty","DebuggerStatement","Directive","DoWhileStatement","EmptyStatement","Export","ExportAllFrom","ExportDefault","ExportFrom","ExportFromSpecifier","ExportLocalSpecifier","ExportLocals","ExpressionStatement","ForAwaitStatement","ForInStatement","ForOfStatement","ForStatement","FormalParameters","FunctionBody","FunctionDeclaration","FunctionExpression","Getter","IdentifierExpression","IfStatement","Import","ImportNamespace","ImportSpecifier","LabeledStatement","LiteralBooleanExpression","LiteralInfinityExpression","LiteralNullExpression","LiteralNumericExpression","LiteralRegExpExpression","LiteralStringExpression","Method","Module","NewExpression","NewTargetExpression","ObjectAssignmentTarget","ObjectBinding","ObjectExpression","ReturnStatement","Script","Setter","ShorthandProperty","SpreadElement","SpreadProperty","StaticMemberAssignmentTarget","StaticMemberExpression","StaticPropertyName","Super","SwitchCase","SwitchDefault","SwitchStatement","SwitchStatementWithDefault","TemplateElement","TemplateExpression","ThisExpression","ThrowStatement","TryCatchStatement","TryFinallyStatement","UnaryExpression","UpdateExpression","VariableDeclaration","VariableDeclarationStatement","VariableDeclarator","WhileStatement","WithStatement","YieldExpression","YieldGeneratorExpression"]},o=e.ArrayAssignmentTarget={},c=e.ArrayBinding={},p=e.ArrayExpression={},l=e.ArrowExpression={},d=e.AssignmentExpression={},h=e.AssignmentTargetIdentifier={},f=e.AssignmentTargetPropertyIdentifier={},m=e.AssignmentTargetPropertyProperty={},y=e.AssignmentTargetWithDefault={},E=e.AwaitExpression={},D=e.BinaryExpression={},g=e.BindingIdentifier={},v=e.BindingPropertyIdentifier={},A=e.BindingPropertyProperty={},x=e.BindingWithDefault={},C=e.Block={},b=e.BlockStatement={},S=e.BreakStatement={},_=e.CallExpression={},T=e.CatchClause={},F=e.ClassDeclaration={},k=e.ClassElement={},B=e.ClassExpression={},w=e.CompoundAssignmentExpression={},N=e.ComputedMemberAssignmentTarget={},I=e.ComputedMemberExpression={},O=e.ComputedPropertyName={},L=e.ConditionalExpression={},P=e.ContinueStatement={},M=e.DataProperty={},R=e.DebuggerStatement={},j=e.Directive={},G=e.DoWhileStatement={},W=e.EmptyStatement={},U=e.Export={},V=e.ExportAllFrom={},H=e.ExportDefault={},K=e.ExportFrom={},Y=e.ExportFromSpecifier={},q=e.ExportLocalSpecifier={},X=e.ExportLocals={},z=e.ExpressionStatement={},$=e.ForAwaitStatement={},J=e.ForInStatement={},Z=e.ForOfStatement={},Q=e.ForStatement={},ee=e.FormalParameters={},te=e.FunctionBody={},re=e.FunctionDeclaration={},ne=e.FunctionExpression={},ie=e.Getter={},ae=e.IdentifierExpression={},ue=e.IfStatement={},se=e.Import={},oe=e.ImportNamespace={},ce=e.ImportSpecifier={},pe=e.LabeledStatement={},le=e.LiteralBooleanExpression={},de=e.LiteralInfinityExpression={},he=e.LiteralNullExpression={},fe=e.LiteralNumericExpression={},me=e.LiteralRegExpExpression={},ye=e.LiteralStringExpression={},Ee=e.Method={},De=e.Module={},ge=e.NewExpression={},ve=e.NewTargetExpression={},Ae=e.ObjectAssignmentTarget={},xe=e.ObjectBinding={},Ce=e.ObjectExpression={},be=e.ReturnStatement={},Se=e.Script={},_e=e.Setter={},Te=e.ShorthandProperty={},Fe=e.SpreadElement={},ke=e.SpreadProperty={},Be=e.StaticMemberAssignmentTarget={},we=e.StaticMemberExpression={},Ne=e.StaticPropertyName={},Ie=e.Super={},Oe=e.SwitchCase={},Le=e.SwitchDefault={},Pe=e.SwitchStatement={},Me=e.SwitchStatementWithDefault={},Re=e.TemplateElement={},je=e.TemplateExpression={},Ge=e.ThisExpression={},We=e.ThrowStatement={},Ue=e.TryCatchStatement={},Ve=e.TryFinallyStatement={},He=e.UnaryExpression={},Ke=e.UpdateExpression={},Ye=e.VariableDeclaration={},qe=e.VariableDeclarationStatement={},Xe=e.VariableDeclarator={},ze=e.WhileStatement={},$e=e.WithStatement={},Je=e.YieldExpression={},Ze=e.YieldGeneratorExpression={},Qe=u(I,we),et=u(f,m);u(F,B);var tt=u(U,V,H,K,X),rt=u(O,Ne);u(re,ne);var nt=u(se,oe),it=u(G,$,J,Z,Q,ze),at=u(N,Be),ut=u(v,A),st=u(ie,Ee,_e),ot=u(De,Se),ct=u(h,g,ae),pt=u(M,st),lt=u(p,l,d,E,D,_,B,w,L,ne,ae,le,de,he,fe,me,ye,Qe,ge,ve,Ce,je,Ge,He,Ke,Je,Ze),dt=u(b,S,F,P,R,W,z,re,ue,it,pe,be,Pe,Me,We,Ue,Ve,qe,$e),ht=u(pt,Te,ke);return u(o,c,et,y,ut,x,C,T,k,j,tt,Y,q,lt,ee,te,nt,ce,at,Ae,xe,ht,ot,rt,Fe,dt,Ie,Oe,Le,Re,Ye,Xe,ct),o.typeName="ArrayAssignmentTarget",o.fields=[{name:"type",type:a(s),value:"ArrayAssignmentTarget"},{name:"elements",type:i(n(u(y,u(u(o,Ae),u(h,at)))))},{name:"rest",type:n(u(u(o,Ae),u(h,at)))}],c.typeName="ArrayBinding",c.fields=[{name:"type",type:a(s),value:"ArrayBinding"},{name:"elements",type:i(n(u(x,u(g,u(c,xe)))))},{name:"rest",type:n(u(g,u(c,xe)))}],p.typeName="ArrayExpression",p.fields=[{name:"type",type:a(s),value:"ArrayExpression"},{name:"elements",type:i(n(u(lt,Fe)))}],l.typeName="ArrowExpression",l.fields=[{name:"type",type:a(s),value:"ArrowExpression"},{name:"isAsync",type:t},{name:"params",type:ee},{name:"body",type:u(lt,te)}],d.typeName="AssignmentExpression",d.fields=[{name:"type",type:a(s),value:"AssignmentExpression"},{name:"binding",type:u(u(o,Ae),u(h,at))},{name:"expression",type:lt}],h.typeName="AssignmentTargetIdentifier",h.fields=[{name:"type",type:a(s),value:"AssignmentTargetIdentifier"},{name:"name",type:r}],f.typeName="AssignmentTargetPropertyIdentifier",f.fields=[{name:"type",type:a(s),value:"AssignmentTargetPropertyIdentifier"},{name:"binding",type:h},{name:"init",type:n(lt)}],m.typeName="AssignmentTargetPropertyProperty",m.fields=[{name:"type",type:a(s),value:"AssignmentTargetPropertyProperty"},{name:"name",type:rt},{name:"binding",type:u(y,u(u(o,Ae),u(h,at)))}],y.typeName="AssignmentTargetWithDefault",y.fields=[{name:"type",type:a(s),value:"AssignmentTargetWithDefault"},{name:"binding",type:u(u(o,Ae),u(h,at))},{name:"init",type:lt}],E.typeName="AwaitExpression",E.fields=[{name:"type",type:a(s),value:"AwaitExpression"},{name:"expression",type:lt}],D.typeName="BinaryExpression",D.fields=[{name:"type",type:a(s),value:"BinaryExpression"},{name:"left",type:lt},{name:"operator",type:{typeName:"Enum",values:["==","!=","===","!==","<","<=",">",">=","in","instanceof","<<",">>",">>>","+","-","*","/","%","**",",","||","&&","|","^","&"]}},{name:"right",type:lt}],g.typeName="BindingIdentifier",g.fields=[{name:"type",type:a(s),value:"BindingIdentifier"},{name:"name",type:r}],v.typeName="BindingPropertyIdentifier",v.fields=[{name:"type",type:a(s),value:"BindingPropertyIdentifier"},{name:"binding",type:g},{name:"init",type:n(lt)}],A.typeName="BindingPropertyProperty",A.fields=[{name:"type",type:a(s),value:"BindingPropertyProperty"},{name:"name",type:rt},{name:"binding",type:u(x,u(g,u(c,xe)))}],x.typeName="BindingWithDefault",x.fields=[{name:"type",type:a(s),value:"BindingWithDefault"},{name:"binding",type:u(g,u(c,xe))},{name:"init",type:lt}],C.typeName="Block",C.fields=[{name:"type",type:a(s),value:"Block"},{name:"statements",type:i(dt)}],b.typeName="BlockStatement",b.fields=[{name:"type",type:a(s),value:"BlockStatement"},{name:"block",type:C}],S.typeName="BreakStatement",S.fields=[{name:"type",type:a(s),value:"BreakStatement"},{name:"label",type:n(r)}],_.typeName="CallExpression",_.fields=[{name:"type",type:a(s),value:"CallExpression"},{name:"callee",type:u(lt,Ie)},{name:"arguments",type:i(u(lt,Fe))}],T.typeName="CatchClause",T.fields=[{name:"type",type:a(s),value:"CatchClause"},{name:"binding",type:u(g,u(c,xe))},{name:"body",type:C}],F.typeName="ClassDeclaration",F.fields=[{name:"type",type:a(s),value:"ClassDeclaration"},{name:"name",type:g},{name:"super",type:n(lt)},{name:"elements",type:i(k)}],k.typeName="ClassElement",k.fields=[{name:"type",type:a(s),value:"ClassElement"},{name:"isStatic",type:t},{name:"method",type:st}],B.typeName="ClassExpression",B.fields=[{name:"type",type:a(s),value:"ClassExpression"},{name:"name",type:n(g)},{name:"super",type:n(lt)},{name:"elements",type:i(k)}],w.typeName="CompoundAssignmentExpression",w.fields=[{name:"type",type:a(s),value:"CompoundAssignmentExpression"},{name:"binding",type:u(h,at)},{name:"operator",type:{typeName:"Enum",values:["+=","-=","*=","/=","%=","**=","<<=",">>=",">>>=","|=","^=","&="]}},{name:"expression",type:lt}],N.typeName="ComputedMemberAssignmentTarget",N.fields=[{name:"type",type:a(s),value:"ComputedMemberAssignmentTarget"},{name:"object",type:u(lt,Ie)},{name:"expression",type:lt}],I.typeName="ComputedMemberExpression",I.fields=[{name:"type",type:a(s),value:"ComputedMemberExpression"},{name:"object",type:u(lt,Ie)},{name:"expression",type:lt}],O.typeName="ComputedPropertyName",O.fields=[{name:"type",type:a(s),value:"ComputedPropertyName"},{name:"expression",type:lt}],L.typeName="ConditionalExpression",L.fields=[{name:"type",type:a(s),value:"ConditionalExpression"},{name:"test",type:lt},{name:"consequent",type:lt},{name:"alternate",type:lt}],P.typeName="ContinueStatement",P.fields=[{name:"type",type:a(s),value:"ContinueStatement"},{name:"label",type:n(r)}],M.typeName="DataProperty",M.fields=[{name:"type",type:a(s),value:"DataProperty"},{name:"name",type:rt},{name:"expression",type:lt}],R.typeName="DebuggerStatement",R.fields=[{name:"type",type:a(s),value:"DebuggerStatement"}],j.typeName="Directive",j.fields=[{name:"type",type:a(s),value:"Directive"},{name:"rawValue",type:r}],G.typeName="DoWhileStatement",G.fields=[{name:"type",type:a(s),value:"DoWhileStatement"},{name:"body",type:dt},{name:"test",type:lt}],W.typeName="EmptyStatement",W.fields=[{name:"type",type:a(s),value:"EmptyStatement"}],U.typeName="Export",U.fields=[{name:"type",type:a(s),value:"Export"},{name:"declaration",type:u(F,re,Ye)}],V.typeName="ExportAllFrom",V.fields=[{name:"type",type:a(s),value:"ExportAllFrom"},{name:"moduleSpecifier",type:r}],H.typeName="ExportDefault",H.fields=[{name:"type",type:a(s),value:"ExportDefault"},{name:"body",type:u(F,lt,re)}],K.typeName="ExportFrom",K.fields=[{name:"type",type:a(s),value:"ExportFrom"},{name:"namedExports",type:i(Y)},{name:"moduleSpecifier",type:r}],Y.typeName="ExportFromSpecifier",Y.fields=[{name:"type",type:a(s),value:"ExportFromSpecifier"},{name:"name",type:r},{name:"exportedName",type:n(r)}],q.typeName="ExportLocalSpecifier",q.fields=[{name:"type",type:a(s),value:"ExportLocalSpecifier"},{name:"name",type:ae},{name:"exportedName",type:n(r)}],X.typeName="ExportLocals",X.fields=[{name:"type",type:a(s),value:"ExportLocals"},{name:"namedExports",type:i(q)}],z.typeName="ExpressionStatement",z.fields=[{name:"type",type:a(s),value:"ExpressionStatement"},{name:"expression",type:lt}],$.typeName="ForAwaitStatement",$.fields=[{name:"type",type:a(s),value:"ForAwaitStatement"},{name:"left",type:u(u(u(o,Ae),u(h,at)),Ye)},{name:"right",type:lt},{name:"body",type:dt}],J.typeName="ForInStatement",J.fields=[{name:"type",type:a(s),value:"ForInStatement"},{name:"left",type:u(u(u(o,Ae),u(h,at)),Ye)},{name:"right",type:lt},{name:"body",type:dt}],Z.typeName="ForOfStatement",Z.fields=[{name:"type",type:a(s),value:"ForOfStatement"},{name:"left",type:u(u(u(o,Ae),u(h,at)),Ye)},{name:"right",type:lt},{name:"body",type:dt}],Q.typeName="ForStatement",Q.fields=[{name:"type",type:a(s),value:"ForStatement"},{name:"init",type:n(u(lt,Ye))},{name:"test",type:n(lt)},{name:"update",type:n(lt)},{name:"body",type:dt}],ee.typeName="FormalParameters",ee.fields=[{name:"type",type:a(s),value:"FormalParameters"},{name:"items",type:i(u(x,u(g,u(c,xe))))},{name:"rest",type:n(u(g,u(c,xe)))}],te.typeName="FunctionBody",te.fields=[{name:"type",type:a(s),value:"FunctionBody"},{name:"directives",type:i(j)},{name:"statements",type:i(dt)}],re.typeName="FunctionDeclaration",re.fields=[{name:"type",type:a(s),value:"FunctionDeclaration"},{name:"isAsync",type:t},{name:"isGenerator",type:t},{name:"name",type:g},{name:"params",type:ee},{name:"body",type:te}],ne.typeName="FunctionExpression",ne.fields=[{name:"type",type:a(s),value:"FunctionExpression"},{name:"isAsync",type:t},{name:"isGenerator",type:t},{name:"name",type:n(g)},{name:"params",type:ee},{name:"body",type:te}],ie.typeName="Getter",ie.fields=[{name:"type",type:a(s),value:"Getter"},{name:"name",type:rt},{name:"body",type:te}],ae.typeName="IdentifierExpression",ae.fields=[{name:"type",type:a(s),value:"IdentifierExpression"},{name:"name",type:r}],ue.typeName="IfStatement",ue.fields=[{name:"type",type:a(s),value:"IfStatement"},{name:"test",type:lt},{name:"consequent",type:dt},{name:"alternate",type:n(dt)}],se.typeName="Import",se.fields=[{name:"type",type:a(s),value:"Import"},{name:"defaultBinding",type:n(g)},{name:"namedImports",type:i(ce)},{name:"moduleSpecifier",type:r}],oe.typeName="ImportNamespace",oe.fields=[{name:"type",type:a(s),value:"ImportNamespace"},{name:"defaultBinding",type:n(g)},{name:"namespaceBinding",type:g},{name:"moduleSpecifier",type:r}],ce.typeName="ImportSpecifier",ce.fields=[{name:"type",type:a(s),value:"ImportSpecifier"},{name:"name",type:n(r)},{name:"binding",type:g}],pe.typeName="LabeledStatement",pe.fields=[{name:"type",type:a(s),value:"LabeledStatement"},{name:"label",type:r},{name:"body",type:dt}],le.typeName="LiteralBooleanExpression",le.fields=[{name:"type",type:a(s),value:"LiteralBooleanExpression"},{name:"value",type:t}],de.typeName="LiteralInfinityExpression",de.fields=[{name:"type",type:a(s),value:"LiteralInfinityExpression"}],he.typeName="LiteralNullExpression",he.fields=[{name:"type",type:a(s),value:"LiteralNullExpression"}],fe.typeName="LiteralNumericExpression",fe.fields=[{name:"type",type:a(s),value:"LiteralNumericExpression"},{name:"value",type:{typeName:"Number"}}],me.typeName="LiteralRegExpExpression",me.fields=[{name:"type",type:a(s),value:"LiteralRegExpExpression"},{name:"pattern",type:r},{name:"global",type:t},{name:"ignoreCase",type:t},{name:"multiLine",type:t},{name:"dotAll",type:t},{name:"unicode",type:t},{name:"sticky",type:t}],ye.typeName="LiteralStringExpression",ye.fields=[{name:"type",type:a(s),value:"LiteralStringExpression"},{name:"value",type:r}],Ee.typeName="Method",Ee.fields=[{name:"type",type:a(s),value:"Method"},{name:"isAsync",type:t},{name:"isGenerator",type:t},{name:"name",type:rt},{name:"params",type:ee},{name:"body",type:te}],De.typeName="Module",De.fields=[{name:"type",type:a(s),value:"Module"},{name:"directives",type:i(j)},{name:"items",type:i(u(tt,nt,dt))}],ge.typeName="NewExpression",ge.fields=[{name:"type",type:a(s),value:"NewExpression"},{name:"callee",type:lt},{name:"arguments",type:i(u(lt,Fe))}],ve.typeName="NewTargetExpression",ve.fields=[{name:"type",type:a(s),value:"NewTargetExpression"}],Ae.typeName="ObjectAssignmentTarget",Ae.fields=[{name:"type",type:a(s),value:"ObjectAssignmentTarget"},{name:"properties",type:i(et)},{name:"rest",type:n(u(u(o,Ae),u(h,at)))}],xe.typeName="ObjectBinding",xe.fields=[{name:"type",type:a(s),value:"ObjectBinding"},{name:"properties",type:i(ut)},{name:"rest",type:n(u(g,u(c,xe)))}],Ce.typeName="ObjectExpression",Ce.fields=[{name:"type",type:a(s),value:"ObjectExpression"},{name:"properties",type:i(ht)}],be.typeName="ReturnStatement",be.fields=[{name:"type",type:a(s),value:"ReturnStatement"},{name:"expression",type:n(lt)}],Se.typeName="Script",Se.fields=[{name:"type",type:a(s),value:"Script"},{name:"directives",type:i(j)},{name:"statements",type:i(dt)}],_e.typeName="Setter",_e.fields=[{name:"type",type:a(s),value:"Setter"},{name:"name",type:rt},{name:"param",type:u(x,u(g,u(c,xe)))},{name:"body",type:te}],Te.typeName="ShorthandProperty",Te.fields=[{name:"type",type:a(s),value:"ShorthandProperty"},{name:"name",type:ae}],Fe.typeName="SpreadElement",Fe.fields=[{name:"type",type:a(s),value:"SpreadElement"},{name:"expression",type:lt}],ke.typeName="SpreadProperty",ke.fields=[{name:"type",type:a(s),value:"SpreadProperty"},{name:"expression",type:lt}],Be.typeName="StaticMemberAssignmentTarget",Be.fields=[{name:"type",type:a(s),value:"StaticMemberAssignmentTarget"},{name:"object",type:u(lt,Ie)},{name:"property",type:r}],we.typeName="StaticMemberExpression",we.fields=[{name:"type",type:a(s),value:"StaticMemberExpression"},{name:"object",type:u(lt,Ie)},{name:"property",type:r}],Ne.typeName="StaticPropertyName",Ne.fields=[{name:"type",type:a(s),value:"StaticPropertyName"},{name:"value",type:r}],Ie.typeName="Super",Ie.fields=[{name:"type",type:a(s),value:"Super"}],Oe.typeName="SwitchCase",Oe.fields=[{name:"type",type:a(s),value:"SwitchCase"},{name:"test",type:lt},{name:"consequent",type:i(dt)}],Le.typeName="SwitchDefault",Le.fields=[{name:"type",type:a(s),value:"SwitchDefault"},{name:"consequent",type:i(dt)}],Pe.typeName="SwitchStatement",Pe.fields=[{name:"type",type:a(s),value:"SwitchStatement"},{name:"discriminant",type:lt},{name:"cases",type:i(Oe)}],Me.typeName="SwitchStatementWithDefault",Me.fields=[{name:"type",type:a(s),value:"SwitchStatementWithDefault"},{name:"discriminant",type:lt},{name:"preDefaultCases",type:i(Oe)},{name:"defaultCase",type:Le},{name:"postDefaultCases",type:i(Oe)}],Re.typeName="TemplateElement",Re.fields=[{name:"type",type:a(s),value:"TemplateElement"},{name:"rawValue",type:r}],je.typeName="TemplateExpression",je.fields=[{name:"type",type:a(s),value:"TemplateExpression"},{name:"tag",type:n(lt)},{name:"elements",type:i(u(lt,Re))}],Ge.typeName="ThisExpression",Ge.fields=[{name:"type",type:a(s),value:"ThisExpression"}],We.typeName="ThrowStatement",We.fields=[{name:"type",type:a(s),value:"ThrowStatement"},{name:"expression",type:lt}],Ue.typeName="TryCatchStatement",Ue.fields=[{name:"type",type:a(s),value:"TryCatchStatement"},{name:"body",type:C},{name:"catchClause",type:T}],Ve.typeName="TryFinallyStatement",Ve.fields=[{name:"type",type:a(s),value:"TryFinallyStatement"},{name:"body",type:C},{name:"catchClause",type:n(T)},{name:"finalizer",type:C}],He.typeName="UnaryExpression",He.fields=[{name:"type",type:a(s),value:"UnaryExpression"},{name:"operator",type:{typeName:"Enum",values:["+","-","!","~","typeof","void","delete"]}},{name:"operand",type:lt}],Ke.typeName="UpdateExpression",Ke.fields=[{name:"type",type:a(s),value:"UpdateExpression"},{name:"isPrefix",type:t},{name:"operator",type:{typeName:"Enum",values:["++","--"]}},{name:"operand",type:u(h,at)}],Ye.typeName="VariableDeclaration",Ye.fields=[{name:"type",type:a(s),value:"VariableDeclaration"},{name:"kind",type:{typeName:"Enum",values:["var","let","const"]}},{name:"declarators",type:i(Xe)}],qe.typeName="VariableDeclarationStatement",qe.fields=[{name:"type",type:a(s),value:"VariableDeclarationStatement"},{name:"declaration",type:Ye}],Xe.typeName="VariableDeclarator",Xe.fields=[{name:"type",type:a(s),value:"VariableDeclarator"},{name:"binding",type:u(g,u(c,xe))},{name:"init",type:n(lt)}],ze.typeName="WhileStatement",ze.fields=[{name:"type",type:a(s),value:"WhileStatement"},{name:"test",type:lt},{name:"body",type:dt}],$e.typeName="WithStatement",$e.fields=[{name:"type",type:a(s),value:"WithStatement"},{name:"object",type:lt},{name:"body",type:dt}],Je.typeName="YieldExpression",Je.fields=[{name:"type",type:a(s),value:"YieldExpression"},{name:"expression",type:n(lt)}],Ze.typeName="YieldGeneratorExpression",Ze.fields=[{name:"type",type:a(s),value:"YieldGeneratorExpression"},{name:"expression",type:lt}],e}(),Object.defineProperty(Or,"__esModule",{value:!0});var Pr=qe,Mr=jr(Pr),Rr=jr(Lr);function jr(e){return e&&e.__esModule?e:{default:e}}class Gr{constructor(e){this.list=e}static empty(){return new Gr([])}concat(e){return new Gr(this.list.concat(e.list))}extract(){return this.list}}class Wr extends Pr.MonoidalReducer{constructor(){super(Gr)}static flatten(e){return(0,Mr.default)(new this,e).extract()}}Or.default=Wr;var Ur=function(e){Object.defineProperty(Wr.prototype,`reduce${e}`,{value(t,r){return new Gr([t]).concat(Pr.MonoidalReducer.prototype[`reduce${e}`].call(this,t,r))}})},Vr=!0,Hr=!1,Kr=void 0;try{for(var Yr,qr=Object.keys(Rr.default)[Symbol.iterator]();!(Vr=(Yr=qr.next()).done);Vr=!0){Ur(Yr.value)}}catch(e){Hr=!0,Kr=e}finally{try{!Vr&&qr.return&&qr.return()}finally{if(Hr)throw Kr}}Object.defineProperty(Ir,"__esModule",{value:!0}),Ir.serialize=function(e){return new $r(e).serialize()};var Xr=function(e){return e&&e.__esModule?e:{default:e}}(Or),zr=Tr;class $r{constructor(e){var t=this;this.scope=e;var r=Xr.default.flatten(e.astNode);this.ids=new Map,r.forEach((function(e){return t.ids.set(e,t.ids.size)})),this.declarationCompare=Jr.bind(this,this.ids),this.referenceCompare=Zr.bind(this,this.ids),this.variableCompare=Qr.bind(this,this.ids)}serialize(){return this.serializeScope(this.scope)}serializeScope(e){return`{"node": "${this.serializeNode(e.astNode)}", "type": "${e.type.name}", "isDynamic": ${e.dynamic}, "through": ${this.serializeReferenceList(this.collectThrough(e.through))}, "variables": ${this.serializeVariableList(e.variableList)}, "children": [${e.children.map(this.serializeScope.bind(this)).join(", ")}]}`}serializeNode(e){return"IdentifierExpression"===e.type?"IdentifierExpression("+e.name+")_"+this.ids.get(e):"AssignmentTargetIdentifier"===e.type?"AssignmentTargetIdentifier("+e.name+")_"+this.ids.get(e):"BindingIdentifier"===e.type?"BindingIdentifier("+e.name+")_"+this.ids.get(e):e.type+"_"+this.ids.get(e)}collectThrough(e){var t=[];return e.forEach((function(e){return t.push(e)})),t.sort(this.referenceCompare)}serializeReference(e){return`{"node": "${this.serializeNode(e.node)}", "accessibility": "${e.accessibility.isDelete?"Delete":""}${e.accessibility.isRead?"Read":""}${e.accessibility.isWrite?"Write":""}"}`}serializeReferenceList(e){return`[${e.map(this.serializeReference.bind(this)).join(", ")}]`}serializeDeclaration(e){return`{"node": "${this.serializeNode(e.node)}", "kind": "${e.type.name}"}`}serializeVariable(e){return`{"name": "${e.name}", "references": ${this.serializeReferenceList(e.references)}, "declarations": [${e.declarations.map(this.serializeDeclaration.bind(this)).join(", ")}]}`}serializeVariableList(e){return`[${(e=e.slice(0).sort(this.variableCompare)).map(this.serializeVariable.bind(this)).join(", ")}]`}}function Jr(e,t,r){function n(e){switch(e){case zr.DeclarationType.VAR:return 0;case zr.DeclarationType.CONST:return 1;case zr.DeclarationType.LET:return 2;case zr.DeclarationType.FUNCTION_DECLARATION:return 3;case zr.DeclarationType.FUNCTION_VAR_DECLARATION:return 4;case zr.DeclarationType.FUNCTION_NAME:return 5;case zr.DeclarationType.CLASS_NAME:return 6;case zr.DeclarationType.PARAMETER:return 7;case zr.DeclarationType.CATCH_PARAMETER:return 8;case zr.DeclarationType.IMPORT:return 9;default:throw"Unrecognized declaration type"}}var i=n(t.type)-n(r.type);return 0!==i?i:e.get(t.node)-e.get(r.node)}function Zr(e,t,r){var n=(t.accessibility.isRead?1:0)+(t.accessibility.isWrite?2:0)+(t.accessibility.isDelete?4:0)-((r.accessibility.isRead?1:0)+(r.accessibility.isWrite?2:0)+(r.accessibility.isDelete?4:0));return 0!==n?n:e.get(t.node)-e.get(r.node)}function Qr(e,t,r){if(t.name<r.name)return-1;if(t.name>r.name)return 1;var n=t.declarations.length-r.declarations.length;if(0!==n)return n;if(0!==(n=t.references.length-r.references.length))return n;for(var i=0;i<t.declarations.length;++i){if(0!==(n=Jr(e,t.declarations[i],r.declarations[i])))return n}for(var a=0;a<t.references.length;++a){if(0!==(n=Zr(e,t.references[a],r.references[a])))return n}return 0}var en={},tn={};Object.defineProperty(tn,"__esModule",{value:!0});var rn=on(hr.exports),nn=Tr,an=wr,un=fr,sn=on(mr);function on(e){return e&&e.__esModule?e:{default:e}}function cn(e,t){return t.forEachEntry((function(t,r){e.set.apply(e,[r].concat(t))})),e}function pn(e,t,r){return t.forEachEntry((function(t,n){var i=e.get(n)||[];r=r.concat(new sn.default(n,i,t)),e.delete(n)})),r}class ln{constructor(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.freeIdentifiers,r=void 0===t?new rn.default:t,n=e.functionScopedDeclarations,i=void 0===n?new rn.default:n,a=e.blockScopedDeclarations,u=void 0===a?new rn.default:a,s=e.functionDeclarations,o=void 0===s?new rn.default:s,c=e.children,p=void 0===c?[]:c,l=e.dynamic,d=void 0!==l&&l,h=e.bindingsForParent,f=void 0===h?[]:h,m=e.atsForParent,y=void 0===m?[]:m,E=e.potentiallyVarScopedFunctionDeclarations,D=void 0===E?new rn.default:E,g=e.hasParameterExpressions,v=void 0!==g&&g;this.freeIdentifiers=r,this.functionScopedDeclarations=i,this.blockScopedDeclarations=u,this.functionDeclarations=o,this.children=p,this.dynamic=d,this.bindingsForParent=f,this.atsForParent=y,this.potentiallyVarScopedFunctionDeclarations=D,this.hasParameterExpressions=v}static empty(){return new ln({})}concat(e){return this===e?this:new ln({freeIdentifiers:cn(cn(new rn.default,this.freeIdentifiers),e.freeIdentifiers),functionScopedDeclarations:cn(cn(new rn.default,this.functionScopedDeclarations),e.functionScopedDeclarations),blockScopedDeclarations:cn(cn(new rn.default,this.blockScopedDeclarations),e.blockScopedDeclarations),functionDeclarations:cn(cn(new rn.default,this.functionDeclarations),e.functionDeclarations),children:this.children.concat(e.children),dynamic:this.dynamic||e.dynamic,bindingsForParent:this.bindingsForParent.concat(e.bindingsForParent),atsForParent:this.atsForParent.concat(e.atsForParent),potentiallyVarScopedFunctionDeclarations:cn(cn(new rn.default,this.potentiallyVarScopedFunctionDeclarations),e.potentiallyVarScopedFunctionDeclarations),hasParameterExpressions:this.hasParameterExpressions||e.hasParameterExpressions})}addDeclarations(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=new rn.default;cn(r,e.isBlockScoped?this.blockScopedDeclarations:this.functionScopedDeclarations),this.bindingsForParent.forEach((function(t){return r.set(t.name,new nn.Declaration(t,e))}));var n=new ln(this);return e.isBlockScoped?n.blockScopedDeclarations=r:n.functionScopedDeclarations=r,t||(n.bindingsForParent=[],n.atsForParent=[]),n}addFunctionDeclaration(){if(0===this.bindingsForParent.length)return this;var e=this.bindingsForParent[0],t=new ln(this);return cn(t.functionDeclarations,new rn.default([[e.name,new nn.Declaration(e,nn.DeclarationType.FUNCTION_DECLARATION)]])),t.bindingsForParent=[],t}addReferences(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=new rn.default;cn(r,this.freeIdentifiers),this.bindingsForParent.forEach((function(t){return r.set(t.name,new an.Reference(t,e))})),this.atsForParent.forEach((function(t){return r.set(t.name,new an.Reference(t,e))}));var n=new ln(this);return n.freeIdentifiers=r,t||(n.bindingsForParent=[],n.atsForParent=[]),n}taint(){var e=new ln(this);return e.dynamic=!0,e}withoutBindingsForParent(){var e=new ln(this);return e.bindingsForParent=[],e}withParameterExpressions(){var e=new ln(this);return e.hasParameterExpressions=!0,e}withoutParameterExpressions(){var e=new ln(this);return e.hasParameterExpressions=!1,e}withPotentialVarFunctions(e){var t=cn(new rn.default,this.potentiallyVarScopedFunctionDeclarations);e.forEach((function(e){return t.set(e.name,new nn.Declaration(e,nn.DeclarationType.FUNCTION_VAR_DECLARATION))}));var r=new ln(this);return r.potentiallyVarScopedFunctionDeclarations=t,r}finish(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=r.shouldResolveArguments,i=void 0!==n&&n,a=r.shouldB33,u=void 0!==a&&a,s=r.paramsToBlockB33Hoisting,o=[],c=new rn.default,p=cn(new rn.default,this.freeIdentifiers),l=cn(new rn.default,this.potentiallyVarScopedFunctionDeclarations),d=this.children,h="Catch"===t.name&&"BindingIdentifier"===e.binding.type;this.blockScopedDeclarations.forEachEntry((function(t,r){h&&1===t.length&&t[0].node===e.binding||l.delete(r)})),t!==un.ScopeType.SCRIPT&&t!==un.ScopeType.FUNCTION&&t!==un.ScopeType.ARROW_FUNCTION&&this.functionDeclarations.forEachEntry((function(e,t){var r=l.get(t);if(r)if(e.length>1)l.delete(t);else{l.delete(t);var n=r.find((function(t){return t.node===e[0].node}));null!=n&&l.set(t,n)}})),this.functionScopedDeclarations.forEachEntry((function(e,t){l.get(t)&&e.some((function(e){return e.type===nn.DeclarationType.PARAMETER}))&&l.delete(t)}));var f=new rn.default;switch(t){case un.ScopeType.BLOCK:case un.ScopeType.CATCH:case un.ScopeType.WITH:case un.ScopeType.FUNCTION_NAME:case un.ScopeType.CLASS_NAME:case un.ScopeType.PARAMETER_EXPRESSION:cn(f,this.blockScopedDeclarations),cn(f,this.functionDeclarations),o=pn(p,f,o),cn(c,this.functionScopedDeclarations);break;case un.ScopeType.PARAMETERS:case un.ScopeType.ARROW_FUNCTION:case un.ScopeType.FUNCTION:case un.ScopeType.MODULE:case un.ScopeType.SCRIPT:t===un.ScopeType.SCRIPT?d=[new un.Scope({children:d,variables:pn(p,this.blockScopedDeclarations,[]),through:cn(new rn.default,p),type:un.ScopeType.SCRIPT,isDynamic:this.dynamic,astNode:e})]:cn(f,this.blockScopedDeclarations),i&&f.set("arguments"),cn(f,this.functionScopedDeclarations),cn(f,this.functionDeclarations),u&&(null!=s&&s.functionScopedDeclarations.forEachEntry((function(e,t){l.delete(t)})),cn(f,l)),l=new rn.default,o=pn(p,f,o),t===un.ScopeType.MODULE&&(d=[new un.Scope({children:d,variables:o,through:p,type:un.ScopeType.MODULE,isDynamic:this.dynamic,astNode:e})],o=[]);break;default:throw new Error("not reached")}var m=t===un.ScopeType.SCRIPT||t===un.ScopeType.MODULE?new un.GlobalScope({children:d,variables:o,through:p,astNode:e}):new un.Scope({children:d,variables:o,through:p,type:t,isDynamic:this.dynamic,astNode:e});return new ln({freeIdentifiers:p,functionScopedDeclarations:c,children:[m],bindingsForParent:this.bindingsForParent,potentiallyVarScopedFunctionDeclarations:l,hasParameterExpressions:this.hasParameterExpressions})}}tn.default=ln;var dn={};Object.defineProperty(dn,"__esModule",{value:!0});var hn=qe,fn=function(e){return e&&e.__esModule?e:{default:e}}(hn);class mn{constructor(e){this.set=e}static empty(){return new mn(new Set)}concat(e){return new mn((t=this.set,r=e.set,n=new Set,t.forEach((function(e){return n.add(e)})),r.forEach((function(e){return n.add(e)})),n));var t,r,n}extract(){return this.set}add(e){return this.set.add(e),this}}function yn(e){return e.some((function(e){return"use strict"===e.rawValue}))}dn.default=class extends hn.MonoidalReducer{constructor(){super(mn)}static analyze(e){return(0,fn.default)(new this,e).extract()}reduceArrowExpression(e,t){var r=t.params,n=t.body;return"FunctionBody"===e.body.type&&yn(e.body.directives)?mn.empty():super.reduceArrowExpression(e,{params:r,body:n}).add(e)}reduceClassDeclaration(){return mn.empty()}reduceClassExpression(){return mn.empty()}reduceFunctionDeclaration(e,t){var r=t.name,n=t.params,i=t.body;return yn(e.body.directives)?mn.empty():super.reduceFunctionDeclaration(e,{name:r,params:n,body:i}).add(e)}reduceFunctionExpression(e,t){var r=t.name,n=t.params,i=t.body;return yn(e.body.directives)?mn.empty():super.reduceFunctionExpression(e,{name:r,params:n,body:i}).add(e)}reduceGetter(e,t){var r=t.name,n=t.body;return yn(e.body.directives)?mn.empty():super.reduceGetter(e,{name:r,body:n}).add(e)}reduceMethod(e,t){var r=t.name,n=t.params,i=t.body;return yn(e.body.directives)?mn.empty():super.reduceMethod(e,{name:r,params:n,body:i}).add(e)}reduceScript(e,t){var r=t.directives,n=t.statements;return yn(e.directives)?mn.empty():super.reduceScript(e,{directives:r,statements:n}).add(e)}reduceSetter(e,t){var r=t.name,n=t.param,i=t.body;return yn(e.body.directives)?mn.empty():super.reduceSetter(e,{name:r,param:n,body:i}).add(e)}},Object.defineProperty(en,"__esModule",{value:!0});var En=Sn(hr.exports),Dn=qe,gn=Sn(Dn),vn=Sn(tn),An=wr,xn=Tr,Cn=fr,bn=Sn(dn);function Sn(e){return e&&e.__esModule?e:{default:e}}function _n(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);t<e.length;t++)r[t]=e[t];return r}return Array.from(e)}function Tn(e){return"FunctionDeclaration"!==e.type||e.isGenerator||e.isAsync?"LabeledStatement"===e.type?Tn(e.body):null:e.name}function Fn(e){var t=e.map(Tn).filter((function(e){return null!=e})),r=t.reduce((function(e,t){return t.name in e?++e[t.name]:e[t.name]=1,e}),Object.create(null));return t.filter((function(e){return 1===r[e.name]}))}en.default=class extends Dn.MonoidalReducer{constructor(e){super(vn.default),this.sloppySet="Script"===e.type?bn.default.analyze(e):new Set}fold(e,t){var r=this;return e.reduce((function(e,t){return r.append(e,t)}),null==t?this.identity:t)}static analyze(e){return(0,gn.default)(new this(e),e).children[0]}finishFunction(e,t,r){var n="ArrowExpression"===e.type,i=n?Cn.ScopeType.ARROW_FUNCTION:Cn.ScopeType.FUNCTION;return t.hasParameterExpressions?t.withoutParameterExpressions().concat(r.finish(e,i,{shouldResolveArguments:!1,paramsToBlockB33Hoisting:t,shouldB33:this.sloppySet.has(e)})).finish(e,Cn.ScopeType.PARAMETERS,{shouldResolveArguments:!n}):t.concat(r).finish(e,i,{shouldResolveArguments:!n,shouldB33:this.sloppySet.has(e)})}reduceArrowExpression(e,t){var r=t.params,n=t.body;return this.finishFunction(e,r,n)}reduceAssignmentExpression(e,t){var r=t.binding,n=t.expression;return super.reduceAssignmentExpression(e,{binding:r.addReferences(An.Accessibility.WRITE),expression:n})}reduceAssignmentTargetIdentifier(e){return new vn.default({atsForParent:[e]})}reduceBindingIdentifier(e){return"*default*"===e.name?new vn.default:new vn.default({bindingsForParent:[e]})}reduceBindingPropertyIdentifier(e,t){var r=t.binding,n=t.init,i=super.reduceBindingPropertyIdentifier(e,{binding:r,init:n});return n?i.withParameterExpressions():i}reduceBindingPropertyProperty(e,t){var r=t.name,n=t.binding,i=super.reduceBindingPropertyProperty(e,{name:r,binding:n});return"ComputedPropertyName"===e.name.type?i.withParameterExpressions():i}reduceBindingWithDefault(e,t){var r=t.binding,n=t.init;return super.reduceBindingWithDefault(e,{binding:r,init:n}).withParameterExpressions()}reduceBlock(e,t){var r=t.statements;return super.reduceBlock(e,{statements:r}).withPotentialVarFunctions(Fn(e.statements)).finish(e,Cn.ScopeType.BLOCK)}reduceCallExpression(e,t){var r=t.callee,n=t.arguments,i=super.reduceCallExpression(e,{callee:r,arguments:n});return"IdentifierExpression"===e.callee.type&&"eval"===e.callee.name?i.taint():i}reduceCatchClause(e,t){var r=t.binding,n=t.body;return super.reduceCatchClause(e,{binding:r.addDeclarations(xn.DeclarationType.CATCH_PARAMETER),body:n}).finish(e,Cn.ScopeType.CATCH)}reduceClassDeclaration(e,t){var r=t.name,n=t.super,i=t.elements;return super.reduceClassDeclaration(e,{name:r,super:n,elements:i}).addDeclarations(xn.DeclarationType.CLASS_NAME).finish(e,Cn.ScopeType.CLASS_NAME).concat(r.addDeclarations(xn.DeclarationType.CLASS_DECLARATION))}reduceClassExpression(e,t){var r=t.name,n=t.super,i=t.elements;return super.reduceClassExpression(e,{name:r,super:n,elements:i}).addDeclarations(xn.DeclarationType.CLASS_NAME).finish(e,Cn.ScopeType.CLASS_NAME)}reduceCompoundAssignmentExpression(e,t){var r=t.binding,n=t.expression;return super.reduceCompoundAssignmentExpression(e,{binding:r.addReferences(An.Accessibility.READWRITE),expression:n})}reduceComputedMemberExpression(e,t){var r=t.object,n=t.expression;return super.reduceComputedMemberExpression(e,{object:r,expression:n}).withParameterExpressions()}reduceForInStatement(e,t){var r=t.left,n=t.right,i=t.body;return super.reduceForInStatement(e,{left:r.addReferences(An.Accessibility.WRITE),right:n,body:i}).finish(e,Cn.ScopeType.BLOCK)}reduceForAwaitStatement(e,t){var r=t.left,n=t.right,i=t.body;return super.reduceForAwaitStatement(e,{left:r.addReferences(An.Accessibility.WRITE),right:n,body:i}).finish(e,Cn.ScopeType.BLOCK)}reduceForOfStatement(e,t){var r=t.left,n=t.right,i=t.body;return super.reduceForOfStatement(e,{left:r.addReferences(An.Accessibility.WRITE),right:n,body:i}).finish(e,Cn.ScopeType.BLOCK)}reduceForStatement(e,t){var r=t.init,n=t.test,i=t.update,a=t.body;return super.reduceForStatement(e,{init:r?r.withoutBindingsForParent():r,test:n,update:i,body:a}).finish(e,Cn.ScopeType.BLOCK)}reduceFormalParameters(e,t){var r=t.items,n=t.rest,i=n||new vn.default;return r.forEach((function(t,r){i=i.concat(t.hasParameterExpressions?t.finish(e.items[r],Cn.ScopeType.PARAMETER_EXPRESSION):t)})),i.addDeclarations(xn.DeclarationType.PARAMETER)}reduceFunctionDeclaration(e,t){var r=t.name,n=t.params,i=t.body;return r.concat(this.finishFunction(e,n,i)).addFunctionDeclaration()}reduceFunctionExpression(e,t){var r=t.name,n=t.params,i=t.body,a=this.finishFunction(e,n,i);return r?r.concat(a).addDeclarations(xn.DeclarationType.FUNCTION_NAME).finish(e,Cn.ScopeType.FUNCTION_NAME):a}reduceGetter(e,t){var r=t.name,n=t.body;return r.concat(n.finish(e,Cn.ScopeType.FUNCTION,{shouldResolveArguments:!0,shouldB33:this.sloppySet.has(e)}))}reduceIdentifierExpression(e){return new vn.default({freeIdentifiers:new En.default([[e.name,new An.Reference(e,An.Accessibility.READ)]])})}reduceIfStatement(e,t){var r=t.test,n=t.consequent,i=t.alternate,a=Tn(e.consequent);if(null!=a&&(n=n.withPotentialVarFunctions([a]).finish(e.consequent,Cn.ScopeType.BLOCK)),null!=e.alternate){var u=Tn(e.alternate);null!=u&&(i=i.withPotentialVarFunctions([u]).finish(e.alternate,Cn.ScopeType.BLOCK))}return super.reduceIfStatement(e,{test:r,consequent:n,alternate:i})}reduceImport(e,t){var r=t.moduleSpecifier,n=t.defaultBinding,i=t.namedImports;return super.reduceImport(e,{moduleSpecifier:r,defaultBinding:n,namedImports:i}).addDeclarations(xn.DeclarationType.IMPORT)}reduceMethod(e,t){var r=t.name,n=t.params,i=t.body;return r.concat(this.finishFunction(e,n,i))}reduceModule(e,t){var r=t.directives,n=t.items;return super.reduceModule(e,{directives:r,items:n}).finish(e,Cn.ScopeType.MODULE)}reduceScript(e,t){var r=t.directives,n=t.statements;return super.reduceScript(e,{directives:r,statements:n}).finish(e,Cn.ScopeType.SCRIPT,{shouldB33:!e.directives.some((function(e){return"use strict"===e.rawValue}))})}reduceSetter(e,t){var r=t.name,n=t.param,i=t.body;return n.hasParameterExpressions&&(n=n.finish(e,Cn.ScopeType.PARAMETER_EXPRESSION)),r.concat(this.finishFunction(e,n.addDeclarations(xn.DeclarationType.PARAMETER),i))}reduceSwitchStatement(e,t){var r,n=t.discriminant,i=t.cases;return this.fold(i).withPotentialVarFunctions(Fn((r=[]).concat.apply(r,_n(e.cases.map((function(e){return e.consequent})))))).finish(e,Cn.ScopeType.BLOCK).concat(n)}reduceSwitchStatementWithDefault(e,t){var r,n=t.discriminant,i=t.preDefaultCases,a=t.defaultCase,u=t.postDefaultCases,s=Fn((r=[]).concat.apply(r,_n(e.preDefaultCases.concat([e.defaultCase],e.postDefaultCases).map((function(e){return e.consequent}))))),o=i.concat([a],u);return this.fold(o).withPotentialVarFunctions(s).finish(e,Cn.ScopeType.BLOCK).concat(n)}reduceUnaryExpression(e,t){var r=t.operand;return"delete"===e.operator&&"IdentifierExpression"===e.operand.type?new vn.default({freeIdentifiers:new En.default([[e.operand.name,new An.Reference(e.operand,An.Accessibility.DELETE)]])}):super.reduceUnaryExpression(e,{operand:r})}reduceUpdateExpression(e,t){return t.operand.addReferences(An.Accessibility.READWRITE)}reduceVariableDeclaration(e,t){var r=t.declarators;return super.reduceVariableDeclaration(e,{declarators:r}).addDeclarations(xn.DeclarationType.fromVarDeclKind(e.kind),!0)}reduceVariableDeclarationStatement(e,t){return t.declaration.withoutBindingsForParent()}reduceVariableDeclarator(e,t){var r=t.binding,n=t.init,i=super.reduceVariableDeclarator(e,{binding:r,init:n});return n?i.addReferences(An.Accessibility.WRITE,!0):i}reduceWithStatement(e,t){var r=t.object,n=t.body;return super.reduceWithStatement(e,{object:r,body:n.finish(e,Cn.ScopeType.WITH)})}},function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.serialize=e.Accessibility=e.DeclarationType=e.ScopeType=e.annotate=e.ScopeLookup=void 0;var t=dr;Object.defineProperty(e,"ScopeLookup",{enumerable:!0,get:function(){return o(t).default}});var r=Ar;Object.defineProperty(e,"annotate",{enumerable:!0,get:function(){return o(r).default}});var n=fr;Object.defineProperty(e,"ScopeType",{enumerable:!0,get:function(){return n.ScopeType}});var i=Tr;Object.defineProperty(e,"DeclarationType",{enumerable:!0,get:function(){return i.DeclarationType}});var a=wr;Object.defineProperty(e,"Accessibility",{enumerable:!0,get:function(){return a.Accessibility}});var u=Ir;Object.defineProperty(e,"serialize",{enumerable:!0,get:function(){return u.serialize}}),e.default=function(e){return s.default.analyze(e)};var s=o(en);function o(e){return e&&e.__esModule?e:{default:e}}}(lr);var kn=t(lr);const Bn=(e,t)=>[...Array(t-e+1).keys()].map((t=>e+t)),wn=(e,t)=>(e=>e.map((e=>[e,Math.random()])).sort(((e,t)=>e[1]-t[1])).map((e=>e[0])))(e).slice(0,t),Nn=e=>Math.floor(Math.random()*e.length),In=e=>e[Nn(e)],On=(...e)=>e.filter((e=>null!==e)),Ln=(e,t,r)=>{const n=(e,i)=>{if(!1!==(!t||t(e,i))){const t=[e].concat(i);(e=>{switch(e.type){case"ArrayAssignmentTarget":case"ArrayBinding":return On(...e.elements,e.rest);case"ArrayExpression":return On(...e.elements);case"ArrowExpression":return[e.params,e.body];case"AssignmentExpression":case"CompoundAssignmentExpression":return[e.binding,e.expression];case"AssignmentTargetPropertyIdentifier":case"AssignmentTargetWithDefault":case"BindingPropertyIdentifier":case"BindingWithDefault":case"VariableDeclarator":return On(e.binding,e.init);case"AssignmentTargetPropertyProperty":case"BindingPropertyProperty":return[e.name,e.binding];case"AwaitExpression":case"ComputedPropertyName":case"ExpressionStatement":case"ReturnStatement":case"SpreadElement":case"SpreadProperty":case"ThrowStatement":case"YieldExpression":case"YieldGeneratorExpression":return On(e.expression);case"BinaryExpression":return[e.left,e.right];case"Block":return e.statements;case"BlockStatement":return[e.block];case"CallExpression":case"NewExpression":return[e.callee,...e.arguments];case"CatchClause":return[e.binding,e.body];case"ClassDeclaration":case"ClassExpression":return On(e.name,e.super,...e.elements);case"ClassElement":return[e.method];case"ComputedMemberAssignmentTarget":case"ComputedMemberExpression":return[e.object,e.expression];case"ConditionalExpression":case"IfStatement":return On(e.test,e.consequent,e.alternate);case"DataProperty":return[e.name,e.expression];case"DoWhileStatement":return[e.body,e.test];case"Export":case"VariableDeclarationStatement":return[e.declaration];case"ExportDefault":case"LabeledStatement":return[e.body];case"ExportFrom":case"ExportLocals":return e.namedExports;case"ExportLocalSpecifier":case"ShorthandProperty":return[e.name];case"ForAwaitStatement":case"ForInStatement":case"ForOfStatement":return[e.left,e.right,e.body];case"ForStatement":return On(e.init,e.test,e.update,e.body);case"FormalParameters":return On(...e.items,e.rest);case"FunctionBody":case"Script":return[...e.directives,...e.statements];case"FunctionDeclaration":case"FunctionExpression":case"Method":return On(e.name,e.params,e.body);case"Getter":return[e.name,e.body];case"Import":return On(e.defaultBinding,...e.namedImports);case"ImportNamespace":return On(e.defaultBinding,e.namespaceBinding);case"ImportSpecifier":return[e.binding];case"Module":return[...e.directives,...e.items];case"ObjectAssignmentTarget":case"ObjectBinding":return On(...e.properties,e.rest);case"ObjectExpression":return e.properties;case"Setter":return[e.name,e.param,e.body];case"StaticMemberAssignmentTarget":case"StaticMemberExpression":return[e.object];case"SwitchCase":return[e.test,...e.consequent];case"SwitchDefault":return e.consequent;case"SwitchStatement":return[e.discriminant,...e.cases];case"SwitchStatementWithDefault":return[e.discriminant,...e.preDefaultCases,e.defaultCase,...e.postDefaultCases];case"TemplateExpression":return On(e.tag,...e.elements);case"TryCatchStatement":return[e.body,e.catchClause];case"TryFinallyStatement":return On(e.body,e.catchClause,e.finalizer);case"UnaryExpression":case"UpdateExpression":return[e.operand];case"VariableDeclaration":return e.declarators;case"WhileStatement":return[e.test,e.body];case"WithStatement":return[e.object,e.body];default:return[]}})(e).forEach((e=>n(e,t)))}r&&r(e,i)};n(e,[])},Pn=e=>{const t=[];return Ln(e,(e=>{t.push(e)})),t},Mn=(e,t)=>Pn(e).filter((e=>((e,t)=>t.includes(e.type))(e,t))).map((e=>e)),Rn=e=>(e=>Mn(e,["LiteralBooleanExpression","LiteralNumericExpression","LiteralStringExpression"]))(e).map((e=>e.value)),jn=(e,t)=>{const r=[],n=(e=>{const t=new Map;return Ln(e,((e,r)=>((e=>["ArrowExpression","FunctionExpression"].includes(e.type))(e)&&"VariableDeclarator"===r[0].type&&"BindingIdentifier"===r[0].binding.type&&t.set(e,r[0].binding.name),!0))),t})(t),i=(e,t)=>{const a=e.variableList.filter((e=>e.declarations.length>0||e.references.length>0));if("ArrowFunction"===e.type.name&&"ArrowExpression"===e.astNode.type||"Function"===e.type.name&&"FunctionExpression"===e.astNode.type){const t=n.get(e.astNode);t&&(r.push({name:t,astNode:e.astNode,variables:a}),e.children.forEach((e=>i(e,a))))}else if("Function"===e.type.name&&"FunctionDeclaration"===e.astNode.type)r.push({name:e.astNode.name.name,astNode:e.astNode,variables:a}),e.children.forEach((e=>i(e,a)));else{const r=t.concat(a);e.children.forEach((e=>i(e,r)))}};return i(e,[]),r},Gn=e=>Mn(e,["BindingIdentifier"]).map((e=>e.name)),Wn=e=>"number"==typeof e?e:"string"==typeof e?`"${e}"`:`${e}`,Un=e=>(e=>!Array.isArray(e))(e)?Wn(e):`[${e.map((e=>Wn(e))).join(", ")}]`,Vn=e=>Pn(e).flatMap((e=>(e=>{switch(e.type){case"AwaitExpression":return["await"];case"BreakStatement":return["break"];case"CatchClause":return["catch"];case"ClassDeclaration":return["class"];case"ContinueStatement":return["continue"];case"DoWhileStatement":return["do","while"];case"ForAwaitStatement":return["for await","of"];case"ForInStatement":return["for","in"];case"ForOfStatement":return["for","of"];case"ForStatement":return["for"];case"FunctionDeclaration":return["function"];case"IfStatement":return["if"];case"ReturnStatement":return["return"];case"SwitchCase":return["case"];case"SwitchDefault":return["default"];case"SwitchStatement":case"SwitchStatementWithDefault":return["switch"];case"ThrowStatement":return["throw"];case"TryCatchStatement":return["try"];case"TryFinallyStatement":return["try","finally"];case"VariableDeclaration":return[e.kind];case"WhileStatement":return["while"];case"WithStatement":return["with"];case"YieldExpression":return["yield"];default:return[]}})(e))),Hn=(e,t,r)=>{const n=t.get(e);return r?n?n.end.line:0:n?n.start.line:0},Kn=(e,t,r,n)=>{return(i=e,Array.isArray(i)?i:[i]).map((e=>({type:t,answer:e,correct:n,info:r})));var i},Yn=(e,t,r,n)=>[Kn(e,t,r,n)],qn=(e,t,r,n)=>[()=>Kn(t(),r,n),e,!0],Xn=(...e)=>{return((e,...t)=>t.reduce(((t,[r,n,i])=>{if(void 0!==n&&i&&t.length>=n)return t;const a=((e,t,r)=>{const n=t.map((e=>r(e)));return e.filter((e=>!n.includes(r(e))))})([...new Set("function"==typeof r?r():r)],t,e);return void 0===n?t.concat(a):t.concat(wn(a,i?n-t.length:n))}),new Array))((e=>e.answer.toString()),...(t=e,t.filter((e=>void 0!==e)))).sort(((e,t)=>((e,t)=>"number"==typeof e&&"string"==typeof t?-1:"string"==typeof e&&"number"==typeof t?1:e<t?-1:e>t?1:0)(e.answer,t.answer)));var t},zn={en:{q_function_name:"Which is the name of the function?",q_function_name_line:(...e)=>`Which is the name of the function that is declared on line ${e[0]}?`,o_function_correct:"Correct, this is the name",o_function_function:'The keyword/command "function" is used when the program is about to declare a function',o_function_parameter:"This is a parameter name for a value passed as an argument when calling the function",o_function_variable:"This is a variable name used inside the function body",o_function_keyword:"This is a program keyword/command used inside the function body",o_function_literal:"This is a literal value that is used inside the function body",q_parameter_name:"Which are the parameter names of the function?",q_parameter_name_line:(...e)=>`Which are the parameter names of the function that is declared on line ${e[0]}?`,o_parameter_correct:(...e)=>e[0]>1?`Correct, this is one of the ${e[0]} parameter names for this function`:"Correct, this is the only parameter name for this function",o_parameter_function_name:"This is the name of the function that is used to call the function",q_parameter_value:(...e)=>`Which value does <em>${e[0]}</em> have when execution of <em>${e[1]}</em> starts?`,o_parameter_value_correct:"Correct, this is the value passed as an argument for the given parameter",o_parameter_value_other:"This value is passed as an argument BUT for another parameter than given in the question",o_parameter_value_random:"This is a random value which is not equal to the value initially passed as an argument for the given parameter",q_loop_end:(...e)=>`A program loop starts on line ${e[0]}. Which is the last line inside it?`,o_loop_end_correct:"Correct, this is the last line inside the loop (closing curly bracket may appear later)",o_loop_end_before:"The loop starts after this line",o_loop_end_after:"The loop ends before this line",o_loop_end_inside:"This line is inside the loop BUT it is not the last one",q_variable_write_declaration:(...e)=>`A value is assigned to variable <em>${e[0]}</em> on line ${e[1]}. On which line is <em>${e[0]}</em> declared?`,q_variable_read_declaration:(...e)=>`A value is accessed from variable <em>${e[0]}</em> on line ${e[1]}. On which line is <em>${e[0]}</em> declared?`,o_variable_declaration_correct:(...e)=>`Correct, this is the line where the variable is declared using the keyword ${e[0]}`,o_variable_declaration_reference:"This line references (reads or writes) the given variable BUT it is declared before",o_variable_declaration_random:"This is a random line that does not handle the given variable"}},$n=(e,...t)=>{const r=zn.en[e];return"function"==typeof r?r(...t):r},Jn=["Var","Const","Let"],Zn=[{type:"FunctionName",prepare:({functions:e,locations:t})=>(e||[]).map((({name:r,astNode:n,variables:i})=>()=>({question:e.length>1?$n("q_function_name_line",Hn(n,t)):$n("q_function_name"),options:Xn(Yn(r,"function_name",$n("o_function_correct"),!0),"FunctionDeclaration"===n.type?Yn("function","keyword",$n("o_function_function")):void 0,Yn(Gn(n.params),"parameter_name",$n("o_function_parameter")),qn(4,(()=>i.map((e=>e.name))),"variable_name",$n("o_function_variable")),qn(5,(()=>Vn(n)),"keyword",$n("o_function_keyword")))})))},{type:"ParameterName",prepare:({functions:e,locations:t})=>(e||[]).map((e=>({...e,params:Gn(e.astNode.params)}))).filter((({params:e})=>e.length>0)).map((({name:r,astNode:n,variables:i,params:a})=>()=>({question:e.length>1?$n("q_parameter_name_line",Hn(n,t)):$n("q_parameter_name"),options:Xn(Yn(a,"parameter_name",$n("o_parameter_correct",a.length),!0),Yn(r,"function_name",$n("o_parameter_function_name")),"FunctionDeclaration"===n.type?Yn("function","keyword",$n("o_function_function")):void 0,qn(4,(()=>i.map((e=>e.name))),"variable_name",$n("o_function_variable")),qn(5,(()=>Vn(n)),"keyword",$n("o_function_keyword")))})))},{type:"ParameterValue",prepare:({functions:e,inputs:t})=>(e||[]).map((e=>({...e,params:Gn(e.astNode.params),finputs:t.find((t=>t.functionName===e.name))?.parameters||[]}))).filter((({params:e,finputs:t})=>e.length>0&&t.length>0)).map((({name:e,astNode:t,params:r,finputs:n})=>()=>{const i=Nn(r)||0,a=(In(n)||[]).map(Un);return{question:$n("q_parameter_value",r[i],`${e}(${a.join(", ")})`),options:Xn(Yn(a[i],"parameter_value",$n("o_parameter_value_correct"),!0),Yn(a,"wrong_parameter_value",$n("o_parameter_value_incorrect")),Yn(r[i],"parameter_name",$n("o_function_parameter")),qn(3,(()=>Rn(t).map(Un)),"literal",$n("o_function_literal")),qn(5,(()=>n.map((e=>Un(e[i])))),$n("o_parameter_value_random")))}}))},{type:"LoopEnd",prepare:({tree:e,locations:t})=>{return(r=e,Mn(r,["ForStatement","ForInStatement","ForOfStatement","WhileStatement"])).map((e=>()=>{const r=Hn(e,t),n=Hn((e=>{if("BlockStatement"===e.type){const{statements:t}=e.block;return t[t.length-1]}return e})(e.body),t,!0);return{question:$n("q_loop_end",r),options:Xn(Yn(n,"last_line_inside_block",$n("o_loop_end_correct"),!0),Yn(r-1,"line_before_block",$n("o_loop_end_before")),Yn(n+2,"line_after_block",$n("o_loop_end_after")),qn(6,(()=>Bn(r,n-1)),"line_inside_block",$n("o_loop_end_inside")))}}));var r}},{type:"VariableDeclaration",prepare:({scope:e,locations:t})=>((e,t,r)=>e.map((e=>{const r=e.declarations.map((e=>({...e,line:t.get(e.node)?.start.line}))).filter((e=>void 0!==e.line));return{...e,declaration:r[0]}})).filter((({declaration:e})=>void 0!==e)).map((e=>{const n=((e,t,r)=>r?t.filter((({line:t})=>t!==e.line)):t)(e.declaration,e.references.map((e=>({...e,line:t.get(e.node)?.start.line}))).filter((e=>void 0!==e.line)),r);return{...e,reads:n.filter((({accessibility:e})=>e.isRead)),writes:n.filter((({accessibility:e})=>e.isWrite||e.isReadWrite))}})))(((e,t)=>{const r=[],n=e=>{void 0!==t?r.push(...e.variableList.filter((({declarations:e})=>e.length>0&&t.includes(e[0].type.name)))):r.push(...e.variableList),e.children.forEach((e=>n(e)))};return n(e),r})(e,Jn),t,!0).filter((({reads:e,writes:t})=>e.length>0||t.length>0)).map((({name:e,declaration:t,reads:r,writes:n})=>()=>{const i=n.length>0,a=In(i?n:r),u=[...new Set(r.concat(n).map((e=>e.line)))];return{question:$n(i?"q_variable_write_declaration":"q_variable_read_declaration",e,a.line),options:Xn(Yn(t.line,"declaration_line",$n("o_variable_declaration_correct",t.type.name.toLowerCase()),!0),Yn(u,"reference_line",$n("o_variable_declaration_reference")),qn(5,(()=>Bn(t.line-2,Math.max(...u)+2)),"random_line",$n("o_variable_declaration_random")))}}))}],Qn=(e,t)=>{const{tree:n,locations:i,comments:a}=r.parseScriptWithLocation(e),u=kn(n);return{tree:n,locations:i,comments:a,scope:u,functions:jn(u,n),inputs:t||[]}},ei=(e,t)=>t?e.filter((({type:e})=>t.includes(e))):e,ti=(e,t,r)=>{const n=Qn(e,r);return ei(Zn,t).flatMap((({type:e,prepare:t})=>t(n).map((t=>({type:e,generate:t}))))).map((({type:e,generate:t},r)=>({key:r,generate:t,type:e})))};e.createProgramModel=Qn,e.generate=(e,t,r)=>{const n=t||[{count:1}];let i=ti(e,(e=>{if(!e.find((e=>void 0===e.types)))return[...new Set(e.flatMap((e=>e.types||[])))]})(n),r);const a=[];return n.forEach((({count:e,fill:t,types:r,uniqueTypes:n})=>{let u=t?e-a.length:e;for(;u>0&&i.length>0;){const e=In(ei(i,r));e&&(a.push({type:e.type,...e.generate()}),i=n?i.filter((({type:t})=>t!==e.type)):i.filter((({key:t})=>t!==e.key))),u-=1}})),a},e.prepare=ti}));
+!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).qlcjs={})}(this,(function(e){"use strict";function t(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var r={},n={},i={},a={};Object.defineProperty(a,"__esModule",{value:!0}),a.whitespaceArray=[5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279],a.whitespaceBool=[!1,!1,!1,!1,!1,!1,!1,!1,!1,!0,!1,!0,!0,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!0,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1],a.idStartLargeRegex=/^[\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\u0561-\u0587\u05D0-\u05EA\u05F0-\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\u08A0-\u08B4\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\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\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\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-\u1877\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\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\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-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\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-\uAB65\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]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDEC0-\uDEF8]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]$/,a.idStartBool=[!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!0,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!1,!1,!1,!1,!0,!1,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!1,!1,!1,!1,!1],a.idContinueLargeRegex=/^[\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\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\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFC-\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\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\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-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C4\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDEC0-\uDEF8]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]$/,a.idContinueBool=[!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!0,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!1,!1,!1,!1,!1,!1,!1,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!1,!1,!1,!1,!0,!1,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!1,!1,!1,!1,!1],Object.defineProperty(i,"__esModule",{value:!0}),i.isStrictModeReservedWord=function(e){return-1!==s.indexOf(e)},i.isWhiteSpace=function(e){return e<128?u.whitespaceBool[e]:160===e||e>5759&&-1!==u.whitespaceArray.indexOf(e)},i.isLineTerminator=function(e){return 10===e||13===e||8232===e||8233===e},i.isIdentifierStart=function(e){return e<128?u.idStartBool[e]:u.idStartLargeRegex.test(String.fromCodePoint(e))},i.isIdentifierPart=function(e){return e<128?u.idContinueBool[e]:u.idContinueLargeRegex.test(String.fromCodePoint(e))},i.isDecimalDigit=function(e){return e>=48&&e<=57},i.getHexValue=function(e){if(e>="0"&&e<="9")return e.charCodeAt(0)-48;if(e>="a"&&e<="f")return e.charCodeAt(0)-87;if(e>="A"&&e<="F")return e.charCodeAt(0)-55;return-1};var u=a,s=["null","true","false","implements","interface","package","private","protected","public","static","let","if","in","do","var","for","new","try","this","else","case","void","with","enum","while","break","catch","throw","const","yield","class","super","return","typeof","delete","switch","export","import","default","finally","extends","function","continue","debugger","instanceof"];var o={};Object.defineProperty(o,"__esModule",{value:!0}),o.ErrorMessages={UNEXPECTED_TOKEN:function(e){return"Unexpected token "+JSON.stringify(e)},UNEXPECTED_ILLEGAL_TOKEN:function(e){return"Unexpected "+JSON.stringify(e)},UNEXPECTED_ESCAPED_KEYWORD:"Unexpected escaped keyword",UNEXPECTED_NUMBER:"Unexpected number",UNEXPECTED_STRING:"Unexpected string",UNEXPECTED_IDENTIFIER:"Unexpected identifier",UNEXPECTED_RESERVED_WORD:"Unexpected reserved word",UNEXPECTED_TEMPLATE:"Unexpected template",UNEXPECTED_EOS:"Unexpected end of input",UNEXPECTED_LINE_TERMINATOR:"Unexpected line terminator",UNEXPECTED_COMMA_AFTER_REST:"Unexpected comma after rest",UNEXPECTED_REST_PARAMETERS_INITIALIZATION:"Rest parameter may not have a default initializer",NEWLINE_AFTER_THROW:"Illegal newline after throw",UNTERMINATED_REGEXP:"Invalid regular expression: missing /",INVALID_LAST_REST_PARAMETER:"Rest parameter must be last formal parameter",INVALID_REST_PARAMETERS_INITIALIZATION:"Rest parameter may not have a default initializer",INVALID_REGEXP_FLAGS:"Invalid regular expression flags",INVALID_REGEX:"Invalid regular expression",INVALID_LHS_IN_ASSIGNMENT:"Invalid left-hand side in assignment",INVALID_LHS_IN_BINDING:"Invalid left-hand side in binding",INVALID_LHS_IN_FOR_IN:"Invalid left-hand side in for-in",INVALID_LHS_IN_FOR_OF:"Invalid left-hand side in for-of",INVALID_LHS_IN_FOR_AWAIT:"Invalid left-hand side in for-await",INVALID_UPDATE_OPERAND:"Increment/decrement target must be an identifier or member expression",INVALID_EXPONENTIATION_LHS:"Unary expressions as the left operand of an exponentation expression must be disambiguated with parentheses",MULTIPLE_DEFAULTS_IN_SWITCH:"More than one default clause in switch statement",NO_CATCH_OR_FINALLY:"Missing catch or finally after try",ILLEGAL_RETURN:"Illegal return statement",ILLEGAL_ARROW_FUNCTION_PARAMS:"Illegal arrow function parameter list",INVALID_ASYNC_PARAMS:"Async function parameters must not contain await expressions",INVALID_VAR_INIT_FOR_IN:"Invalid variable declaration in for-in statement",INVALID_VAR_INIT_FOR_OF:"Invalid variable declaration in for-of statement",INVALID_VAR_INIT_FOR_AWAIT:"Invalid variable declaration in for-await statement",UNINITIALIZED_BINDINGPATTERN_IN_FOR_INIT:"Binding pattern appears without initializer in for statement init",ILLEGAL_PROPERTY:"Illegal property initializer",INVALID_ID_BINDING_STRICT_MODE:function(e){return"The identifier "+JSON.stringify(e)+" must not be in binding position in strict mode"},INVALID_ID_IN_LABEL_STRICT_MODE:function(e){return"The identifier "+JSON.stringify(e)+" must not be in label position in strict mode"},INVALID_ID_IN_EXPRESSION_STRICT_MODE:function(e){return"The identifier "+JSON.stringify(e)+" must not be in expression position in strict mode"},INVALID_CALL_TO_SUPER:'Calls to super must be in the "constructor" method of a class expression or class declaration that has a superclass',INVALID_DELETE_STRICT_MODE:"Identifier expressions must not be deleted in strict mode",DUPLICATE_BINDING:function(e){return"Duplicate binding "+JSON.stringify(e)},ILLEGAL_ID_IN_LEXICAL_DECLARATION:function(e){return"Lexical declarations must not have a binding named "+JSON.stringify(e)},UNITIALIZED_CONST:"Constant lexical declarations must have an initialiser",ILLEGAL_LABEL_IN_BODY:function(e){return"The body of a "+e+" statement must not be a labeled function declaration"},ILLEGEAL_LABEL_IN_IF:"The consequent of an if statement must not be a labeled function declaration",ILLEGAL_LABEL_IN_ELSE:"The alternate of an if statement must not be a labeled function declaration",ILLEGAL_CONTINUE_WITHOUT_ITERATION_WITH_ID:function(e){return"Continue statement must be nested within an iteration statement with label "+JSON.stringify(e)},ILLEGAL_CONTINUE_WITHOUT_ITERATION:"Continue statement must be nested within an iteration statement",ILLEGAL_BREAK_WITHOUT_ITERATION_OR_SWITCH:"Break statement must be nested within an iteration statement or a switch statement",ILLEGAL_WITH_STRICT_MODE:"Strict mode code must not include a with statement",ILLEGAL_ACCESS_SUPER_MEMBER:"Member access on super must be in a method",ILLEGAL_SUPER_CALL:'Calls to super must be in the "constructor" method of a class expression or class declaration that has a superclass',DUPLICATE_LABEL_DECLARATION:function(e){return"Label "+JSON.stringify(e)+" has already been declared"},ILLEGAL_BREAK_WITHIN_LABEL:function(e){return"Break statement must be nested within a statement with label "+JSON.stringify(e)},ILLEGAL_YIELD_EXPRESSIONS:function(e){return e+" parameters must not contain yield expressions"},ILLEGAL_YIELD_IDENTIFIER:'"yield" may not be used as an identifier in this context',ILLEGAL_AWAIT_IDENTIFIER:'"await" may not be used as an identifier in this context',DUPLICATE_CONSTRUCTOR:"Duplicate constructor method in class",ILLEGAL_CONSTRUCTORS:"Constructors cannot be async, generators, getters or setters",ILLEGAL_STATIC_CLASS_NAME:'Static class methods cannot be named "prototype"',NEW_TARGET_ERROR:"new.target must be within function (but not arrow expression) code",DUPLICATE_EXPORT:function(e){return"Duplicate export "+JSON.stringify(e)},UNDECLARED_BINDING:function(e){return"Exported binding "+JSON.stringify(e)+" is not declared"},DUPLICATE_PROPTO_PROP:"Duplicate __proto__ property in object literal not allowed",ILLEGAL_LABEL_FUNC_DECLARATION:"Labeled FunctionDeclarations are disallowed in strict mode",ILLEGAL_FUNC_DECL_IF:"FunctionDeclarations in IfStatements are disallowed in strict mode",ILLEGAL_USE_STRICT:'Functions with non-simple parameter lists may not contain a "use strict" directive',ILLEGAL_EXPORTED_NAME:"Names of variables used in an export specifier from the current module must be identifiers",NO_OCTALS_IN_TEMPLATES:"Template literals may not contain octal escape sequences",NO_AWAIT_IN_ASYNC_PARAMS:'Async arrow parameters may not contain "await"'},Object.defineProperty(n,"__esModule",{value:!0}),n.JsError=n.TokenType=n.TokenClass=void 0;var c=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var r=[],n=!0,i=!1,a=void 0;try{for(var u,s=e[Symbol.iterator]();!(n=(u=s.next()).done)&&(r.push(u.value),!t||r.length!==t);n=!0);}catch(e){i=!0,a=e}finally{try{!n&&s.return&&s.return()}finally{if(i)throw a}}return r}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")},p=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),l=i,d=o;function h(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var f=n.TokenClass={Eof:{name:"<End>"},Ident:{name:"Identifier",isIdentifierName:!0},Keyword:{name:"Keyword",isIdentifierName:!0},NumericLiteral:{name:"Numeric"},TemplateElement:{name:"Template"},Punctuator:{name:"Punctuator"},StringLiteral:{name:"String"},RegularExpression:{name:"RegularExpression"},Illegal:{name:"Illegal"}},m=n.TokenType={EOS:{klass:f.Eof,name:"EOS"},LPAREN:{klass:f.Punctuator,name:"("},RPAREN:{klass:f.Punctuator,name:")"},LBRACK:{klass:f.Punctuator,name:"["},RBRACK:{klass:f.Punctuator,name:"]"},LBRACE:{klass:f.Punctuator,name:"{"},RBRACE:{klass:f.Punctuator,name:"}"},COLON:{klass:f.Punctuator,name:":"},SEMICOLON:{klass:f.Punctuator,name:";"},PERIOD:{klass:f.Punctuator,name:"."},ELLIPSIS:{klass:f.Punctuator,name:"..."},ARROW:{klass:f.Punctuator,name:"=>"},CONDITIONAL:{klass:f.Punctuator,name:"?"},INC:{klass:f.Punctuator,name:"++"},DEC:{klass:f.Punctuator,name:"--"},ASSIGN:{klass:f.Punctuator,name:"="},ASSIGN_BIT_OR:{klass:f.Punctuator,name:"|="},ASSIGN_BIT_XOR:{klass:f.Punctuator,name:"^="},ASSIGN_BIT_AND:{klass:f.Punctuator,name:"&="},ASSIGN_SHL:{klass:f.Punctuator,name:"<<="},ASSIGN_SHR:{klass:f.Punctuator,name:">>="},ASSIGN_SHR_UNSIGNED:{klass:f.Punctuator,name:">>>="},ASSIGN_ADD:{klass:f.Punctuator,name:"+="},ASSIGN_SUB:{klass:f.Punctuator,name:"-="},ASSIGN_MUL:{klass:f.Punctuator,name:"*="},ASSIGN_DIV:{klass:f.Punctuator,name:"/="},ASSIGN_MOD:{klass:f.Punctuator,name:"%="},ASSIGN_EXP:{klass:f.Punctuator,name:"**="},COMMA:{klass:f.Punctuator,name:","},OR:{klass:f.Punctuator,name:"||"},AND:{klass:f.Punctuator,name:"&&"},BIT_OR:{klass:f.Punctuator,name:"|"},BIT_XOR:{klass:f.Punctuator,name:"^"},BIT_AND:{klass:f.Punctuator,name:"&"},SHL:{klass:f.Punctuator,name:"<<"},SHR:{klass:f.Punctuator,name:">>"},SHR_UNSIGNED:{klass:f.Punctuator,name:">>>"},ADD:{klass:f.Punctuator,name:"+"},SUB:{klass:f.Punctuator,name:"-"},MUL:{klass:f.Punctuator,name:"*"},DIV:{klass:f.Punctuator,name:"/"},MOD:{klass:f.Punctuator,name:"%"},EXP:{klass:f.Punctuator,name:"**"},EQ:{klass:f.Punctuator,name:"=="},NE:{klass:f.Punctuator,name:"!="},EQ_STRICT:{klass:f.Punctuator,name:"==="},NE_STRICT:{klass:f.Punctuator,name:"!=="},LT:{klass:f.Punctuator,name:"<"},GT:{klass:f.Punctuator,name:">"},LTE:{klass:f.Punctuator,name:"<="},GTE:{klass:f.Punctuator,name:">="},INSTANCEOF:{klass:f.Keyword,name:"instanceof"},IN:{klass:f.Keyword,name:"in"},NOT:{klass:f.Punctuator,name:"!"},BIT_NOT:{klass:f.Punctuator,name:"~"},ASYNC:{klass:f.Keyword,name:"async"},AWAIT:{klass:f.Keyword,name:"await"},ENUM:{klass:f.Keyword,name:"enum"},DELETE:{klass:f.Keyword,name:"delete"},TYPEOF:{klass:f.Keyword,name:"typeof"},VOID:{klass:f.Keyword,name:"void"},BREAK:{klass:f.Keyword,name:"break"},CASE:{klass:f.Keyword,name:"case"},CATCH:{klass:f.Keyword,name:"catch"},CLASS:{klass:f.Keyword,name:"class"},CONTINUE:{klass:f.Keyword,name:"continue"},DEBUGGER:{klass:f.Keyword,name:"debugger"},DEFAULT:{klass:f.Keyword,name:"default"},DO:{klass:f.Keyword,name:"do"},ELSE:{klass:f.Keyword,name:"else"},EXPORT:{klass:f.Keyword,name:"export"},EXTENDS:{klass:f.Keyword,name:"extends"},FINALLY:{klass:f.Keyword,name:"finally"},FOR:{klass:f.Keyword,name:"for"},FUNCTION:{klass:f.Keyword,name:"function"},IF:{klass:f.Keyword,name:"if"},IMPORT:{klass:f.Keyword,name:"import"},LET:{klass:f.Keyword,name:"let"},NEW:{klass:f.Keyword,name:"new"},RETURN:{klass:f.Keyword,name:"return"},SUPER:{klass:f.Keyword,name:"super"},SWITCH:{klass:f.Keyword,name:"switch"},THIS:{klass:f.Keyword,name:"this"},THROW:{klass:f.Keyword,name:"throw"},TRY:{klass:f.Keyword,name:"try"},VAR:{klass:f.Keyword,name:"var"},WHILE:{klass:f.Keyword,name:"while"},WITH:{klass:f.Keyword,name:"with"},NULL:{klass:f.Keyword,name:"null"},TRUE:{klass:f.Keyword,name:"true"},FALSE:{klass:f.Keyword,name:"false"},YIELD:{klass:f.Keyword,name:"yield"},NUMBER:{klass:f.NumericLiteral,name:""},STRING:{klass:f.StringLiteral,name:""},REGEXP:{klass:f.RegularExpression,name:""},IDENTIFIER:{klass:f.Ident,name:""},CONST:{klass:f.Keyword,name:"const"},TEMPLATE:{klass:f.TemplateElement,name:""},ESCAPED_KEYWORD:{klass:f.Keyword,name:""},ILLEGAL:{klass:f.Illegal,name:""}},y=m.ILLEGAL,E=!1,D=!0,g=[y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,m.NOT,y,y,y,m.MOD,m.BIT_AND,y,m.LPAREN,m.RPAREN,m.MUL,m.ADD,m.COMMA,m.SUB,m.PERIOD,m.DIV,y,y,y,y,y,y,y,y,y,y,m.COLON,m.SEMICOLON,m.LT,m.ASSIGN,m.GT,m.CONDITIONAL,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,m.LBRACK,y,m.RBRACK,m.BIT_XOR,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,m.LBRACE,m.BIT_OR,m.RBRACE,m.BIT_NOT],v=[E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,D,E,E,E,D,D,E,D,D,D,D,D,D,E,D,E,E,E,E,E,E,E,E,E,E,D,D,D,D,D,D,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,D,E,D,D,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,D,D,D,D,E],A=n.JsError=function(e){function t(e,r,n,i){h(this,t);var a=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,i));a.index=e;try{a.line=r,a.column=n}catch(e){}return a.parseErrorLine=r,a.parseErrorColumn=n,a.description=i,a.message="["+r+":"+n+"]: "+i,a}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,Error),t}();function x(e){return e<=65535?String.fromCharCode(e):String.fromCharCode(Math.floor((e-65536)/1024)+55296)+String.fromCharCode((e-65536)%1024+56320)}var C=function(){function e(t){h(this,e),this.source=t,this.index=0,this.line=0,this.lineStart=0,this.startIndex=0,this.startLine=0,this.startLineStart=0,this.lastIndex=0,this.lastLine=0,this.lastLineStart=0,this.hasLineTerminatorBeforeNext=!1,this.tokenIndex=0}return p(e,[{key:"saveLexerState",value:function(){return{source:this.source,index:this.index,line:this.line,lineStart:this.lineStart,startIndex:this.startIndex,startLine:this.startLine,startLineStart:this.startLineStart,lastIndex:this.lastIndex,lastLine:this.lastLine,lastLineStart:this.lastLineStart,lookahead:this.lookahead,hasLineTerminatorBeforeNext:this.hasLineTerminatorBeforeNext,tokenIndex:this.tokenIndex}}},{key:"restoreLexerState",value:function(e){this.source=e.source,this.index=e.index,this.line=e.line,this.lineStart=e.lineStart,this.startIndex=e.startIndex,this.startLine=e.startLine,this.startLineStart=e.startLineStart,this.lastIndex=e.lastIndex,this.lastLine=e.lastLine,this.lastLineStart=e.lastLineStart,this.lookahead=e.lookahead,this.hasLineTerminatorBeforeNext=e.hasLineTerminatorBeforeNext,this.tokenIndex=e.tokenIndex}},{key:"createILLEGAL",value:function(){return this.startIndex=this.index,this.startLine=this.line,this.startLineStart=this.lineStart,this.index<this.source.length?this.createError(d.ErrorMessages.UNEXPECTED_ILLEGAL_TOKEN,this.source.charAt(this.index)):this.createError(d.ErrorMessages.UNEXPECTED_EOS)}},{key:"createUnexpected",value:function(e){switch(e.type.klass){case f.Eof:return this.createError(d.ErrorMessages.UNEXPECTED_EOS);case f.Ident:return this.createError(d.ErrorMessages.UNEXPECTED_IDENTIFIER);case f.Keyword:return e.type===m.ESCAPED_KEYWORD?this.createError(d.ErrorMessages.UNEXPECTED_ESCAPED_KEYWORD):this.createError(d.ErrorMessages.UNEXPECTED_TOKEN,e.slice.text);case f.NumericLiteral:return this.createError(d.ErrorMessages.UNEXPECTED_NUMBER);case f.TemplateElement:return this.createError(d.ErrorMessages.UNEXPECTED_TEMPLATE);case f.Punctuator:return this.createError(d.ErrorMessages.UNEXPECTED_TOKEN,e.type.name);case f.StringLiteral:return this.createError(d.ErrorMessages.UNEXPECTED_STRING)}throw new Error("Unreachable: unexpected token of class "+e.type.klass)}},{key:"createError",value:function(e){var t=void 0;if("function"==typeof e){for(var r=arguments.length,n=Array(r>1?r-1:0),i=1;i<r;i++)n[i-1]=arguments[i];t=e.apply(void 0,n)}else t=e;return new A(this.startIndex,this.startLine+1,this.startIndex-this.startLineStart+1,t)}},{key:"createErrorWithLocation",value:function(e,t){var r=arguments,n=t.replace(/\{(\d+)\}/g,(function(e,t){return JSON.stringify(r[+t+2])}));return e.slice&&e.slice.startLocation&&(e=e.slice.startLocation),new A(e.offset,e.line,e.column+1,n)}},{key:"getKeyword",value:function(t){if(1===t.length||t.length>10)return m.IDENTIFIER;switch(t.length){case 2:switch(t.charAt(0)){case"i":switch(t.charAt(1)){case"f":return m.IF;case"n":return m.IN}break;case"d":if("o"===t.charAt(1))return m.DO}break;case 3:switch(t.charAt(0)){case"v":if(e.cse2(t,"a","r"))return m.VAR;break;case"f":if(e.cse2(t,"o","r"))return m.FOR;break;case"n":if(e.cse2(t,"e","w"))return m.NEW;break;case"t":if(e.cse2(t,"r","y"))return m.TRY;break;case"l":if(e.cse2(t,"e","t"))return m.LET}break;case 4:switch(t.charAt(0)){case"t":if(e.cse3(t,"h","i","s"))return m.THIS;if(e.cse3(t,"r","u","e"))return m.TRUE;break;case"n":if(e.cse3(t,"u","l","l"))return m.NULL;break;case"e":if(e.cse3(t,"l","s","e"))return m.ELSE;if(e.cse3(t,"n","u","m"))return m.ENUM;break;case"c":if(e.cse3(t,"a","s","e"))return m.CASE;break;case"v":if(e.cse3(t,"o","i","d"))return m.VOID;break;case"w":if(e.cse3(t,"i","t","h"))return m.WITH}break;case 5:switch(t.charAt(0)){case"a":if(e.cse4(t,"s","y","n","c"))return m.ASYNC;if(e.cse4(t,"w","a","i","t"))return m.AWAIT;break;case"w":if(e.cse4(t,"h","i","l","e"))return m.WHILE;break;case"b":if(e.cse4(t,"r","e","a","k"))return m.BREAK;break;case"f":if(e.cse4(t,"a","l","s","e"))return m.FALSE;break;case"c":if(e.cse4(t,"a","t","c","h"))return m.CATCH;if(e.cse4(t,"o","n","s","t"))return m.CONST;if(e.cse4(t,"l","a","s","s"))return m.CLASS;break;case"t":if(e.cse4(t,"h","r","o","w"))return m.THROW;break;case"y":if(e.cse4(t,"i","e","l","d"))return m.YIELD;break;case"s":if(e.cse4(t,"u","p","e","r"))return m.SUPER}break;case 6:switch(t.charAt(0)){case"r":if(e.cse5(t,"e","t","u","r","n"))return m.RETURN;break;case"t":if(e.cse5(t,"y","p","e","o","f"))return m.TYPEOF;break;case"d":if(e.cse5(t,"e","l","e","t","e"))return m.DELETE;break;case"s":if(e.cse5(t,"w","i","t","c","h"))return m.SWITCH;break;case"e":if(e.cse5(t,"x","p","o","r","t"))return m.EXPORT;break;case"i":if(e.cse5(t,"m","p","o","r","t"))return m.IMPORT}break;case 7:switch(t.charAt(0)){case"d":if(e.cse6(t,"e","f","a","u","l","t"))return m.DEFAULT;break;case"f":if(e.cse6(t,"i","n","a","l","l","y"))return m.FINALLY;break;case"e":if(e.cse6(t,"x","t","e","n","d","s"))return m.EXTENDS}break;case 8:switch(t.charAt(0)){case"f":if(e.cse7(t,"u","n","c","t","i","o","n"))return m.FUNCTION;break;case"c":if(e.cse7(t,"o","n","t","i","n","u","e"))return m.CONTINUE;break;case"d":if(e.cse7(t,"e","b","u","g","g","e","r"))return m.DEBUGGER}break;case 10:if("instanceof"===t)return m.INSTANCEOF}return m.IDENTIFIER}},{key:"skipSingleLineComment",value:function(e){for(this.index+=e;this.index<this.source.length;){var t=this.source.charCodeAt(this.index);if(this.index++,(0,l.isLineTerminator)(t))return this.hasLineTerminatorBeforeNext=!0,13===t&&10===this.source.charCodeAt(this.index)&&this.index++,this.lineStart=this.index,void this.line++}}},{key:"skipMultiLineComment",value:function(){this.index+=2;for(var e=this.source.length,t=!1;this.index<e;){var r=this.source.charCodeAt(this.index);if(r<128)switch(r){case 42:if("/"===this.source.charAt(this.index+1))return this.index=this.index+2,t;this.index++;break;case 10:t=!0,this.hasLineTerminatorBeforeNext=!0,this.index++,this.lineStart=this.index,this.line++;break;case 13:t=!0,this.hasLineTerminatorBeforeNext=!0,"\n"===this.source.charAt(this.index+1)&&this.index++,this.index++,this.lineStart=this.index,this.line++;break;default:this.index++}else 8232===r||8233===r?(t=!0,this.hasLineTerminatorBeforeNext=!0,this.index++,this.lineStart=this.index,this.line++):this.index++}throw this.createILLEGAL()}},{key:"skipComment",value:function(){this.hasLineTerminatorBeforeNext=!1;for(var e=0===this.index,t=this.source.length;this.index<t;){var r=this.source.charCodeAt(this.index);if((0,l.isWhiteSpace)(r))this.index++;else if((0,l.isLineTerminator)(r))this.hasLineTerminatorBeforeNext=!0,this.index++,13===r&&"\n"===this.source.charAt(this.index)&&this.index++,this.lineStart=this.index,this.line++,e=!0;else if(47===r){if(this.index+1>=t)break;if(47===(r=this.source.charCodeAt(this.index+1)))this.skipSingleLineComment(2),e=!0;else{if(42!==r)break;e=this.skipMultiLineComment()||e}}else if(!this.moduleIsTheGoalSymbol&&e&&45===r){if(this.index+2>=t)break;if("-"!==this.source.charAt(this.index+1)||">"!==this.source.charAt(this.index+2))break;this.skipSingleLineComment(3)}else{if(this.moduleIsTheGoalSymbol||60!==r)break;if("!--"!==this.source.slice(this.index+1,this.index+4))break;this.skipSingleLineComment(4),e=!0}}}},{key:"scanHexEscape2",value:function(){if(this.index+2>this.source.length)return-1;var e=(0,l.getHexValue)(this.source.charAt(this.index));if(-1===e)return-1;var t=(0,l.getHexValue)(this.source.charAt(this.index+1));return-1===t?-1:(this.index+=2,e<<4|t)}},{key:"scanUnicode",value:function(){if("{"===this.source.charAt(this.index)){for(var e=this.index+1,t=0,r=void 0;e<this.source.length;){r=this.source.charAt(e);var n=(0,l.getHexValue)(r);if(-1===n)break;if((t=t<<4|n)>1114111)throw this.createILLEGAL();e++}if("}"!==r)throw this.createILLEGAL();if(e===this.index+1)throw++this.index,this.createILLEGAL();return this.index=e+1,t}if(this.index+4>this.source.length)return-1;var i=(0,l.getHexValue)(this.source.charAt(this.index));if(-1===i)return-1;var a=(0,l.getHexValue)(this.source.charAt(this.index+1));if(-1===a)return-1;var u=(0,l.getHexValue)(this.source.charAt(this.index+2));if(-1===u)return-1;var s=(0,l.getHexValue)(this.source.charAt(this.index+3));return-1===s?-1:(this.index+=4,i<<12|a<<8|u<<4|s)}},{key:"getEscapedIdentifier",value:function(){for(var e="",t=l.isIdentifierStart;this.index<this.source.length;){var r=this.source.charAt(this.index),n=r.charCodeAt(0),i=this.index;if(++this.index,"\\"===r){if(this.index>=this.source.length)throw this.createILLEGAL();if("u"!==this.source.charAt(this.index))throw this.createILLEGAL();if(++this.index,(n=this.scanUnicode())<0)throw this.createILLEGAL();r=x(n)}else if(n>=55296&&n<=56319){if(this.index>=this.source.length)throw this.createILLEGAL();var a=this.source.charCodeAt(this.index);if(++this.index,!(a>=56320&&a<=57343))throw this.createILLEGAL();r=x(n=1024*(n-55296)+(a-56320)+65536)}if(!t(n)){if(e.length<1)throw this.createILLEGAL();return this.index=i,e}t=l.isIdentifierPart,e+=r}return e}},{key:"getIdentifier",value:function(){for(var e=this.index,t=this.source.length,r=this.index,n=l.isIdentifierStart;r<t;){var i=this.source.charAt(r),a=i.charCodeAt(0);if("\\"===i||a>=55296&&a<=56319)return this.index=e,this.getEscapedIdentifier();if(!n(a))return this.index=r,this.source.slice(e,r);++r,n=l.isIdentifierPart}return this.index=r,this.source.slice(e,r)}},{key:"scanIdentifier",value:function(){var e=this.getLocation(),t=this.index,r="\\"===this.source.charAt(this.index)?this.getEscapedIdentifier():this.getIdentifier(),n=this.getSlice(t,e);n.text=r;var i=this.index-t!==r.length,a=this.getKeyword(r);return i&&a!==m.IDENTIFIER&&(a=m.ESCAPED_KEYWORD),{type:a,value:r,slice:n,escaped:i}}},{key:"getLocation",value:function(){return{line:this.startLine+1,column:this.startIndex-this.startLineStart,offset:this.startIndex}}},{key:"getLastTokenEndLocation",value:function(){return{line:this.lastLine+1,column:this.lastIndex-this.lastLineStart,offset:this.lastIndex}}},{key:"getSlice",value:function(e,t){return{text:this.source.slice(e,this.index),start:e,startLocation:t,end:this.index}}},{key:"scanPunctuatorHelper",value:function(){var e=this.source.charAt(this.index);switch(e){case".":return"."!==this.source.charAt(this.index+1)||"."!==this.source.charAt(this.index+2)?m.PERIOD:m.ELLIPSIS;case"(":return m.LPAREN;case")":case";":case",":case"}":case"[":case"]":case":":case"?":case"~":return g[e.charCodeAt(0)];case"{":return m.LBRACE;default:if(this.index+1<this.source.length&&"="===this.source.charAt(this.index+1))switch(e){case"=":return this.index+2<this.source.length&&"="===this.source.charAt(this.index+2)?m.EQ_STRICT:m.EQ;case"!":return this.index+2<this.source.length&&"="===this.source.charAt(this.index+2)?m.NE_STRICT:m.NE;case"|":return m.ASSIGN_BIT_OR;case"+":return m.ASSIGN_ADD;case"-":return m.ASSIGN_SUB;case"*":return m.ASSIGN_MUL;case"<":return m.LTE;case">":return m.GTE;case"/":return m.ASSIGN_DIV;case"%":return m.ASSIGN_MOD;case"^":return m.ASSIGN_BIT_XOR;case"&":return m.ASSIGN_BIT_AND}}if(this.index+1<this.source.length){var t=this.source.charAt(this.index+1);if(e===t){if(this.index+2<this.source.length){var r=this.source.charAt(this.index+2);if(">"===e&&">"===r)return this.index+3<this.source.length&&"="===this.source.charAt(this.index+3)?m.ASSIGN_SHR_UNSIGNED:m.SHR_UNSIGNED;if("<"===e&&"="===r)return m.ASSIGN_SHL;if(">"===e&&"="===r)return m.ASSIGN_SHR;if("*"===e&&"="===r)return m.ASSIGN_EXP}switch(e){case"*":return m.EXP;case"+":return m.INC;case"-":return m.DEC;case"<":return m.SHL;case">":return m.SHR;case"&":return m.AND;case"|":return m.OR}}else if("="===e&&">"===t)return m.ARROW}return g[e.charCodeAt(0)]}},{key:"scanPunctuator",value:function(){var e=this.getLocation(),t=this.index,r=this.scanPunctuatorHelper();return this.index+=r.name.length,{type:r,value:r.name,slice:this.getSlice(t,e)}}},{key:"scanHexLiteral",value:function(e,t){for(var r=this.index;r<this.source.length;){var n=this.source.charAt(r);if(-1===(0,l.getHexValue)(n))break;r++}if(this.index===r)throw this.createILLEGAL();if(r<this.source.length&&(0,l.isIdentifierStart)(this.source.charCodeAt(r)))throw this.createILLEGAL();this.index=r;var i=this.getSlice(e,t);return{type:m.NUMBER,value:parseInt(i.text.substr(2),16),slice:i}}},{key:"scanBinaryLiteral",value:function(e,t){for(var r=this.index-e;this.index<this.source.length;){var n=this.source.charAt(this.index);if("0"!==n&&"1"!==n)break;this.index++}if(this.index-e<=r)throw this.createILLEGAL();if(this.index<this.source.length&&((0,l.isIdentifierStart)(this.source.charCodeAt(this.index))||(0,l.isDecimalDigit)(this.source.charCodeAt(this.index))))throw this.createILLEGAL();return{type:m.NUMBER,value:parseInt(this.getSlice(e,t).text.substr(r),2),slice:this.getSlice(e,t),octal:!1,noctal:!1}}},{key:"scanOctalLiteral",value:function(e,t){for(;this.index<this.source.length;){var r=this.source.charAt(this.index);if(!(r>="0"&&r<="7")){if((0,l.isIdentifierPart)(r.charCodeAt(0)))throw this.createILLEGAL();break}this.index++}if(this.index-e==2)throw this.createILLEGAL();return{type:m.NUMBER,value:parseInt(this.getSlice(e,t).text.substr(2),8),slice:this.getSlice(e,t),octal:!1,noctal:!1}}},{key:"scanLegacyOctalLiteral",value:function(e,t){for(var r=!0;this.index<this.source.length;){var n=this.source.charAt(this.index);if(n>="0"&&n<="7")this.index++;else{if("8"!==n&&"9"!==n){if((0,l.isIdentifierPart)(n.charCodeAt(0)))throw this.createILLEGAL();break}r=!1,this.index++}}var i=this.getSlice(e,t);return r?{type:m.NUMBER,slice:i,value:parseInt(i.text.substr(1),8),octal:!0,noctal:!r}:(this.eatDecimalLiteralSuffix(),{type:m.NUMBER,slice:i,value:+i.text,octal:!0,noctal:!r})}},{key:"scanNumericLiteral",value:function(){var e=this.source.charAt(this.index),t=this.getLocation(),r=this.index;if("0"===e){if(this.index++,!(this.index<this.source.length)){var n=this.getSlice(r,t);return{type:m.NUMBER,value:+n.text,slice:n,octal:!1,noctal:!1}}if("x"===(e=this.source.charAt(this.index))||"X"===e)return this.index++,this.scanHexLiteral(r,t);if("b"===e||"B"===e)return this.index++,this.scanBinaryLiteral(r,t);if("o"===e||"O"===e)return this.index++,this.scanOctalLiteral(r,t);if(e>="0"&&e<="9")return this.scanLegacyOctalLiteral(r,t)}else if("."!==e)for(e=this.source.charAt(this.index);e>="0"&&e<="9";){if(this.index++,this.index===this.source.length){var i=this.getSlice(r,t);return{type:m.NUMBER,value:+i.text,slice:i,octal:!1,noctal:!1}}e=this.source.charAt(this.index)}if(this.eatDecimalLiteralSuffix(),this.index!==this.source.length&&(0,l.isIdentifierStart)(this.source.charCodeAt(this.index)))throw this.createILLEGAL();var a=this.getSlice(r,t);return{type:m.NUMBER,value:+a.text,slice:a,octal:!1,noctal:!1}}},{key:"eatDecimalLiteralSuffix",value:function(){var e=this.source.charAt(this.index);if("."===e){if(this.index++,this.index===this.source.length)return;for(e=this.source.charAt(this.index);e>="0"&&e<="9";){if(this.index++,this.index===this.source.length)return;e=this.source.charAt(this.index)}}if("e"===e||"E"===e){if(this.index++,this.index===this.source.length)throw this.createILLEGAL();if("+"===(e=this.source.charAt(this.index))||"-"===e){if(this.index++,this.index===this.source.length)throw this.createILLEGAL();e=this.source.charAt(this.index)}if(!(e>="0"&&e<="9"))throw this.createILLEGAL();for(;e>="0"&&e<="9"&&(this.index++,this.index!==this.source.length);)e=this.source.charAt(this.index)}}},{key:"scanStringEscape",value:function(e,t){if(this.index++,this.index===this.source.length)throw this.createILLEGAL();var r=this.source.charAt(this.index);if((0,l.isLineTerminator)(r.charCodeAt(0)))this.index++,"\r"===r&&"\n"===this.source.charAt(this.index)&&this.index++,this.lineStart=this.index,this.line++;else switch(r){case"n":e+="\n",this.index++;break;case"r":e+="\r",this.index++;break;case"t":e+="\t",this.index++;break;case"u":case"x":var n;if(this.index++,this.index>=this.source.length)throw this.createILLEGAL();if((n="u"===r?this.scanUnicode():this.scanHexEscape2())<0)throw this.createILLEGAL();e+=x(n);break;case"b":e+="\b",this.index++;break;case"f":e+="\f",this.index++;break;case"v":e+="\v",this.index++;break;default:if(r>="0"&&r<="7"){var i=this.index,a=1;r>="0"&&r<="3"&&(a=0);for(var u=0;a<3&&r>="0"&&r<="7";){if(this.index++,(a>0||"0"!==r)&&(t=this.source.slice(i,this.index)),u*=8,u+=r-"0",a++,this.index===this.source.length)throw this.createILLEGAL();r=this.source.charAt(this.index)}0!==u||1!==a||"8"!==r&&"9"!==r||(t=this.source.slice(i,this.index+1)),e+=String.fromCharCode(u)}else{if("8"===r||"9"===r)throw this.createILLEGAL();e+=r,this.index++}}return[e,t]}},{key:"scanStringLiteral",value:function(){var e="",t=this.source.charAt(this.index),r=this.getLocation(),n=this.index;this.index++;for(var i=null;this.index<this.source.length;){var a=this.source.charAt(this.index);if(a===t)return this.index++,{type:m.STRING,slice:this.getSlice(n,r),str:e,octal:i};if("\\"===a){var u=this.scanStringEscape(e,i),s=c(u,2);e=s[0],i=s[1]}else{if((0,l.isLineTerminator)(a.charCodeAt(0)))throw this.createILLEGAL();e+=a,this.index++}}throw this.createILLEGAL()}},{key:"scanTemplateElement",value:function(){var e=this.getLocation(),t=this.index;for(this.index++;this.index<this.source.length;){switch(this.source.charCodeAt(this.index)){case 96:return this.index++,{type:m.TEMPLATE,tail:!0,slice:this.getSlice(t,e)};case 36:if(123===this.source.charCodeAt(this.index+1))return this.index+=2,{type:m.TEMPLATE,tail:!1,slice:this.getSlice(t,e)};this.index++;break;case 92:if(null!=this.scanStringEscape("",null)[1])throw this.createError(d.ErrorMessages.NO_OCTALS_IN_TEMPLATES);break;case 13:this.line++,this.index++,this.index<this.source.length&&"\n"===this.source.charAt(this.index)&&this.index++,this.lineStart=this.index;break;case 10:case 8232:case 8233:this.line++,this.index++,this.lineStart=this.index;break;default:this.index++}}throw this.createILLEGAL()}},{key:"scanRegExp",value:function(e){for(var t=this.getLocation(),r=this.index,n=!1,i=!1;this.index<this.source.length;){var a=this.source.charAt(this.index);if("\\"===a){if(e+=a,this.index++,a=this.source.charAt(this.index),(0,l.isLineTerminator)(a.charCodeAt(0)))throw this.createError(d.ErrorMessages.UNTERMINATED_REGEXP);e+=a,this.index++}else{if((0,l.isLineTerminator)(a.charCodeAt(0)))throw this.createError(d.ErrorMessages.UNTERMINATED_REGEXP);if(i)"]"===a&&(i=!1);else{if("/"===a){n=!0,e+=a,this.index++;break}"["===a&&(i=!0)}e+=a,this.index++}}if(!n)throw this.createError(d.ErrorMessages.UNTERMINATED_REGEXP);for(;this.index<this.source.length;){var u=this.source.charAt(this.index);if("\\"===u)throw this.createError(d.ErrorMessages.INVALID_REGEXP_FLAGS);if(!(0,l.isIdentifierPart)(u.charCodeAt(0)))break;this.index++,e+=u}return{type:m.REGEXP,value:e,slice:this.getSlice(r,t)}}},{key:"advance",value:function(){var e=this.getLocation();if(this.lastIndex=this.index,this.lastLine=this.line,this.lastLineStart=this.lineStart,this.skipComment(),this.startIndex=this.index,this.startLine=this.line,this.startLineStart=this.lineStart,0===this.lastIndex&&(this.lastIndex=this.index,this.lastLine=this.line,this.lastLineStart=this.lineStart),this.index>=this.source.length)return{type:m.EOS,slice:this.getSlice(this.index,e)};var t=this.source.charCodeAt(this.index);if(t<128){if(v[t])return this.scanPunctuator();if((0,l.isIdentifierStart)(t)||92===t)return this.scanIdentifier();if(46===t)return this.index+1<this.source.length&&(0,l.isDecimalDigit)(this.source.charCodeAt(this.index+1))?this.scanNumericLiteral():this.scanPunctuator();if(39===t||34===t)return this.scanStringLiteral();if(96===t)return this.scanTemplateElement();if(t>=48&&t<=57)return this.scanNumericLiteral();throw this.createILLEGAL()}if((0,l.isIdentifierStart)(t)||t>=55296&&t<=56319)return this.scanIdentifier();throw this.createILLEGAL()}},{key:"eof",value:function(){return this.lookahead.type===m.EOS}},{key:"lex",value:function(){var e=this.lookahead;return this.lookahead=this.advance(),this.tokenIndex++,e}}],[{key:"cse2",value:function(e,t,r){return e.charAt(1)===t&&e.charAt(2)===r}},{key:"cse3",value:function(e,t,r,n){return e.charAt(1)===t&&e.charAt(2)===r&&e.charAt(3)===n}},{key:"cse4",value:function(e,t,r,n,i){return e.charAt(1)===t&&e.charAt(2)===r&&e.charAt(3)===n&&e.charAt(4)===i}},{key:"cse5",value:function(e,t,r,n,i,a){return e.charAt(1)===t&&e.charAt(2)===r&&e.charAt(3)===n&&e.charAt(4)===i&&e.charAt(5)===a}},{key:"cse6",value:function(e,t,r,n,i,a,u){return e.charAt(1)===t&&e.charAt(2)===r&&e.charAt(3)===n&&e.charAt(4)===i&&e.charAt(5)===a&&e.charAt(6)===u}},{key:"cse7",value:function(e,t,r,n,i,a,u,s){return e.charAt(1)===t&&e.charAt(2)===r&&e.charAt(3)===n&&e.charAt(4)===i&&e.charAt(5)===a&&e.charAt(6)===u&&e.charAt(7)===s}}]),e}();n.default=C;var b={},S={},_=new Map([["General_Category",new Map([["C","Other"],["Cc","Control"],["cntrl","Control"],["Cf","Format"],["Cn","Unassigned"],["Co","Private_Use"],["Cs","Surrogate"],["L","Letter"],["LC","Cased_Letter"],["Ll","Lowercase_Letter"],["Lm","Modifier_Letter"],["Lo","Other_Letter"],["Lt","Titlecase_Letter"],["Lu","Uppercase_Letter"],["M","Mark"],["Combining_Mark","Mark"],["Mc","Spacing_Mark"],["Me","Enclosing_Mark"],["Mn","Nonspacing_Mark"],["N","Number"],["Nd","Decimal_Number"],["digit","Decimal_Number"],["Nl","Letter_Number"],["No","Other_Number"],["P","Punctuation"],["punct","Punctuation"],["Pc","Connector_Punctuation"],["Pd","Dash_Punctuation"],["Pe","Close_Punctuation"],["Pf","Final_Punctuation"],["Pi","Initial_Punctuation"],["Po","Other_Punctuation"],["Ps","Open_Punctuation"],["S","Symbol"],["Sc","Currency_Symbol"],["Sk","Modifier_Symbol"],["Sm","Math_Symbol"],["So","Other_Symbol"],["Z","Separator"],["Zl","Line_Separator"],["Zp","Paragraph_Separator"],["Zs","Space_Separator"],["Other","Other"],["Control","Control"],["Format","Format"],["Unassigned","Unassigned"],["Private_Use","Private_Use"],["Surrogate","Surrogate"],["Letter","Letter"],["Cased_Letter","Cased_Letter"],["Lowercase_Letter","Lowercase_Letter"],["Modifier_Letter","Modifier_Letter"],["Other_Letter","Other_Letter"],["Titlecase_Letter","Titlecase_Letter"],["Uppercase_Letter","Uppercase_Letter"],["Mark","Mark"],["Spacing_Mark","Spacing_Mark"],["Enclosing_Mark","Enclosing_Mark"],["Nonspacing_Mark","Nonspacing_Mark"],["Number","Number"],["Decimal_Number","Decimal_Number"],["Letter_Number","Letter_Number"],["Other_Number","Other_Number"],["Punctuation","Punctuation"],["Connector_Punctuation","Connector_Punctuation"],["Dash_Punctuation","Dash_Punctuation"],["Close_Punctuation","Close_Punctuation"],["Final_Punctuation","Final_Punctuation"],["Initial_Punctuation","Initial_Punctuation"],["Other_Punctuation","Other_Punctuation"],["Open_Punctuation","Open_Punctuation"],["Symbol","Symbol"],["Currency_Symbol","Currency_Symbol"],["Modifier_Symbol","Modifier_Symbol"],["Math_Symbol","Math_Symbol"],["Other_Symbol","Other_Symbol"],["Separator","Separator"],["Line_Separator","Line_Separator"],["Paragraph_Separator","Paragraph_Separator"],["Space_Separator","Space_Separator"]])],["Script",new Map([["Adlm","Adlam"],["Aghb","Caucasian_Albanian"],["Ahom","Ahom"],["Arab","Arabic"],["Armi","Imperial_Aramaic"],["Armn","Armenian"],["Avst","Avestan"],["Bali","Balinese"],["Bamu","Bamum"],["Bass","Bassa_Vah"],["Batk","Batak"],["Beng","Bengali"],["Bhks","Bhaiksuki"],["Bopo","Bopomofo"],["Brah","Brahmi"],["Brai","Braille"],["Bugi","Buginese"],["Buhd","Buhid"],["Cakm","Chakma"],["Cans","Canadian_Aboriginal"],["Cari","Carian"],["Cham","Cham"],["Cher","Cherokee"],["Copt","Coptic"],["Qaac","Coptic"],["Cprt","Cypriot"],["Cyrl","Cyrillic"],["Deva","Devanagari"],["Dogr","Dogra"],["Dsrt","Deseret"],["Dupl","Duployan"],["Egyp","Egyptian_Hieroglyphs"],["Elba","Elbasan"],["Ethi","Ethiopic"],["Geor","Georgian"],["Glag","Glagolitic"],["Gong","Gunjala_Gondi"],["Gonm","Masaram_Gondi"],["Goth","Gothic"],["Gran","Grantha"],["Grek","Greek"],["Gujr","Gujarati"],["Guru","Gurmukhi"],["Hang","Hangul"],["Hani","Han"],["Hano","Hanunoo"],["Hatr","Hatran"],["Hebr","Hebrew"],["Hira","Hiragana"],["Hluw","Anatolian_Hieroglyphs"],["Hmng","Pahawh_Hmong"],["Hrkt","Katakana_Or_Hiragana"],["Hung","Old_Hungarian"],["Ital","Old_Italic"],["Java","Javanese"],["Kali","Kayah_Li"],["Kana","Katakana"],["Khar","Kharoshthi"],["Khmr","Khmer"],["Khoj","Khojki"],["Knda","Kannada"],["Kthi","Kaithi"],["Lana","Tai_Tham"],["Laoo","Lao"],["Latn","Latin"],["Lepc","Lepcha"],["Limb","Limbu"],["Lina","Linear_A"],["Linb","Linear_B"],["Lisu","Lisu"],["Lyci","Lycian"],["Lydi","Lydian"],["Mahj","Mahajani"],["Maka","Makasar"],["Mand","Mandaic"],["Mani","Manichaean"],["Marc","Marchen"],["Medf","Medefaidrin"],["Mend","Mende_Kikakui"],["Merc","Meroitic_Cursive"],["Mero","Meroitic_Hieroglyphs"],["Mlym","Malayalam"],["Modi","Modi"],["Mong","Mongolian"],["Mroo","Mro"],["Mtei","Meetei_Mayek"],["Mult","Multani"],["Mymr","Myanmar"],["Narb","Old_North_Arabian"],["Nbat","Nabataean"],["Newa","Newa"],["Nkoo","Nko"],["Nshu","Nushu"],["Ogam","Ogham"],["Olck","Ol_Chiki"],["Orkh","Old_Turkic"],["Orya","Oriya"],["Osge","Osage"],["Osma","Osmanya"],["Palm","Palmyrene"],["Pauc","Pau_Cin_Hau"],["Perm","Old_Permic"],["Phag","Phags_Pa"],["Phli","Inscriptional_Pahlavi"],["Phlp","Psalter_Pahlavi"],["Phnx","Phoenician"],["Plrd","Miao"],["Prti","Inscriptional_Parthian"],["Rjng","Rejang"],["Rohg","Hanifi_Rohingya"],["Runr","Runic"],["Samr","Samaritan"],["Sarb","Old_South_Arabian"],["Saur","Saurashtra"],["Sgnw","SignWriting"],["Shaw","Shavian"],["Shrd","Sharada"],["Sidd","Siddham"],["Sind","Khudawadi"],["Sinh","Sinhala"],["Sogd","Sogdian"],["Sogo","Old_Sogdian"],["Sora","Sora_Sompeng"],["Soyo","Soyombo"],["Sund","Sundanese"],["Sylo","Syloti_Nagri"],["Syrc","Syriac"],["Tagb","Tagbanwa"],["Takr","Takri"],["Tale","Tai_Le"],["Talu","New_Tai_Lue"],["Taml","Tamil"],["Tang","Tangut"],["Tavt","Tai_Viet"],["Telu","Telugu"],["Tfng","Tifinagh"],["Tglg","Tagalog"],["Thaa","Thaana"],["Thai","Thai"],["Tibt","Tibetan"],["Tirh","Tirhuta"],["Ugar","Ugaritic"],["Vaii","Vai"],["Wara","Warang_Citi"],["Xpeo","Old_Persian"],["Xsux","Cuneiform"],["Yiii","Yi"],["Zanb","Zanabazar_Square"],["Zinh","Inherited"],["Qaai","Inherited"],["Zyyy","Common"],["Zzzz","Unknown"],["Adlam","Adlam"],["Caucasian_Albanian","Caucasian_Albanian"],["Arabic","Arabic"],["Imperial_Aramaic","Imperial_Aramaic"],["Armenian","Armenian"],["Avestan","Avestan"],["Balinese","Balinese"],["Bamum","Bamum"],["Bassa_Vah","Bassa_Vah"],["Batak","Batak"],["Bengali","Bengali"],["Bhaiksuki","Bhaiksuki"],["Bopomofo","Bopomofo"],["Brahmi","Brahmi"],["Braille","Braille"],["Buginese","Buginese"],["Buhid","Buhid"],["Chakma","Chakma"],["Canadian_Aboriginal","Canadian_Aboriginal"],["Carian","Carian"],["Cherokee","Cherokee"],["Coptic","Coptic"],["Cypriot","Cypriot"],["Cyrillic","Cyrillic"],["Devanagari","Devanagari"],["Dogra","Dogra"],["Deseret","Deseret"],["Duployan","Duployan"],["Egyptian_Hieroglyphs","Egyptian_Hieroglyphs"],["Elbasan","Elbasan"],["Ethiopic","Ethiopic"],["Georgian","Georgian"],["Glagolitic","Glagolitic"],["Gunjala_Gondi","Gunjala_Gondi"],["Masaram_Gondi","Masaram_Gondi"],["Gothic","Gothic"],["Grantha","Grantha"],["Greek","Greek"],["Gujarati","Gujarati"],["Gurmukhi","Gurmukhi"],["Hangul","Hangul"],["Han","Han"],["Hanunoo","Hanunoo"],["Hatran","Hatran"],["Hebrew","Hebrew"],["Hiragana","Hiragana"],["Anatolian_Hieroglyphs","Anatolian_Hieroglyphs"],["Pahawh_Hmong","Pahawh_Hmong"],["Katakana_Or_Hiragana","Katakana_Or_Hiragana"],["Old_Hungarian","Old_Hungarian"],["Old_Italic","Old_Italic"],["Javanese","Javanese"],["Kayah_Li","Kayah_Li"],["Katakana","Katakana"],["Kharoshthi","Kharoshthi"],["Khmer","Khmer"],["Khojki","Khojki"],["Kannada","Kannada"],["Kaithi","Kaithi"],["Tai_Tham","Tai_Tham"],["Lao","Lao"],["Latin","Latin"],["Lepcha","Lepcha"],["Limbu","Limbu"],["Linear_A","Linear_A"],["Linear_B","Linear_B"],["Lycian","Lycian"],["Lydian","Lydian"],["Mahajani","Mahajani"],["Makasar","Makasar"],["Mandaic","Mandaic"],["Manichaean","Manichaean"],["Marchen","Marchen"],["Medefaidrin","Medefaidrin"],["Mende_Kikakui","Mende_Kikakui"],["Meroitic_Cursive","Meroitic_Cursive"],["Meroitic_Hieroglyphs","Meroitic_Hieroglyphs"],["Malayalam","Malayalam"],["Mongolian","Mongolian"],["Mro","Mro"],["Meetei_Mayek","Meetei_Mayek"],["Multani","Multani"],["Myanmar","Myanmar"],["Old_North_Arabian","Old_North_Arabian"],["Nabataean","Nabataean"],["Nko","Nko"],["Nushu","Nushu"],["Ogham","Ogham"],["Ol_Chiki","Ol_Chiki"],["Old_Turkic","Old_Turkic"],["Oriya","Oriya"],["Osage","Osage"],["Osmanya","Osmanya"],["Palmyrene","Palmyrene"],["Pau_Cin_Hau","Pau_Cin_Hau"],["Old_Permic","Old_Permic"],["Phags_Pa","Phags_Pa"],["Inscriptional_Pahlavi","Inscriptional_Pahlavi"],["Psalter_Pahlavi","Psalter_Pahlavi"],["Phoenician","Phoenician"],["Miao","Miao"],["Inscriptional_Parthian","Inscriptional_Parthian"],["Rejang","Rejang"],["Hanifi_Rohingya","Hanifi_Rohingya"],["Runic","Runic"],["Samaritan","Samaritan"],["Old_South_Arabian","Old_South_Arabian"],["Saurashtra","Saurashtra"],["SignWriting","SignWriting"],["Shavian","Shavian"],["Sharada","Sharada"],["Siddham","Siddham"],["Khudawadi","Khudawadi"],["Sinhala","Sinhala"],["Sogdian","Sogdian"],["Old_Sogdian","Old_Sogdian"],["Sora_Sompeng","Sora_Sompeng"],["Soyombo","Soyombo"],["Sundanese","Sundanese"],["Syloti_Nagri","Syloti_Nagri"],["Syriac","Syriac"],["Tagbanwa","Tagbanwa"],["Takri","Takri"],["Tai_Le","Tai_Le"],["New_Tai_Lue","New_Tai_Lue"],["Tamil","Tamil"],["Tangut","Tangut"],["Tai_Viet","Tai_Viet"],["Telugu","Telugu"],["Tifinagh","Tifinagh"],["Tagalog","Tagalog"],["Thaana","Thaana"],["Tibetan","Tibetan"],["Tirhuta","Tirhuta"],["Ugaritic","Ugaritic"],["Vai","Vai"],["Warang_Citi","Warang_Citi"],["Old_Persian","Old_Persian"],["Cuneiform","Cuneiform"],["Yi","Yi"],["Zanabazar_Square","Zanabazar_Square"],["Inherited","Inherited"],["Common","Common"],["Unknown","Unknown"]])],["Script_Extensions",new Map([["Adlm","Adlam"],["Aghb","Caucasian_Albanian"],["Ahom","Ahom"],["Arab","Arabic"],["Armi","Imperial_Aramaic"],["Armn","Armenian"],["Avst","Avestan"],["Bali","Balinese"],["Bamu","Bamum"],["Bass","Bassa_Vah"],["Batk","Batak"],["Beng","Bengali"],["Bhks","Bhaiksuki"],["Bopo","Bopomofo"],["Brah","Brahmi"],["Brai","Braille"],["Bugi","Buginese"],["Buhd","Buhid"],["Cakm","Chakma"],["Cans","Canadian_Aboriginal"],["Cari","Carian"],["Cham","Cham"],["Cher","Cherokee"],["Copt","Coptic"],["Qaac","Coptic"],["Cprt","Cypriot"],["Cyrl","Cyrillic"],["Deva","Devanagari"],["Dogr","Dogra"],["Dsrt","Deseret"],["Dupl","Duployan"],["Egyp","Egyptian_Hieroglyphs"],["Elba","Elbasan"],["Ethi","Ethiopic"],["Geor","Georgian"],["Glag","Glagolitic"],["Gong","Gunjala_Gondi"],["Gonm","Masaram_Gondi"],["Goth","Gothic"],["Gran","Grantha"],["Grek","Greek"],["Gujr","Gujarati"],["Guru","Gurmukhi"],["Hang","Hangul"],["Hani","Han"],["Hano","Hanunoo"],["Hatr","Hatran"],["Hebr","Hebrew"],["Hira","Hiragana"],["Hluw","Anatolian_Hieroglyphs"],["Hmng","Pahawh_Hmong"],["Hrkt","Katakana_Or_Hiragana"],["Hung","Old_Hungarian"],["Ital","Old_Italic"],["Java","Javanese"],["Kali","Kayah_Li"],["Kana","Katakana"],["Khar","Kharoshthi"],["Khmr","Khmer"],["Khoj","Khojki"],["Knda","Kannada"],["Kthi","Kaithi"],["Lana","Tai_Tham"],["Laoo","Lao"],["Latn","Latin"],["Lepc","Lepcha"],["Limb","Limbu"],["Lina","Linear_A"],["Linb","Linear_B"],["Lisu","Lisu"],["Lyci","Lycian"],["Lydi","Lydian"],["Mahj","Mahajani"],["Maka","Makasar"],["Mand","Mandaic"],["Mani","Manichaean"],["Marc","Marchen"],["Medf","Medefaidrin"],["Mend","Mende_Kikakui"],["Merc","Meroitic_Cursive"],["Mero","Meroitic_Hieroglyphs"],["Mlym","Malayalam"],["Modi","Modi"],["Mong","Mongolian"],["Mroo","Mro"],["Mtei","Meetei_Mayek"],["Mult","Multani"],["Mymr","Myanmar"],["Narb","Old_North_Arabian"],["Nbat","Nabataean"],["Newa","Newa"],["Nkoo","Nko"],["Nshu","Nushu"],["Ogam","Ogham"],["Olck","Ol_Chiki"],["Orkh","Old_Turkic"],["Orya","Oriya"],["Osge","Osage"],["Osma","Osmanya"],["Palm","Palmyrene"],["Pauc","Pau_Cin_Hau"],["Perm","Old_Permic"],["Phag","Phags_Pa"],["Phli","Inscriptional_Pahlavi"],["Phlp","Psalter_Pahlavi"],["Phnx","Phoenician"],["Plrd","Miao"],["Prti","Inscriptional_Parthian"],["Rjng","Rejang"],["Rohg","Hanifi_Rohingya"],["Runr","Runic"],["Samr","Samaritan"],["Sarb","Old_South_Arabian"],["Saur","Saurashtra"],["Sgnw","SignWriting"],["Shaw","Shavian"],["Shrd","Sharada"],["Sidd","Siddham"],["Sind","Khudawadi"],["Sinh","Sinhala"],["Sogd","Sogdian"],["Sogo","Old_Sogdian"],["Sora","Sora_Sompeng"],["Soyo","Soyombo"],["Sund","Sundanese"],["Sylo","Syloti_Nagri"],["Syrc","Syriac"],["Tagb","Tagbanwa"],["Takr","Takri"],["Tale","Tai_Le"],["Talu","New_Tai_Lue"],["Taml","Tamil"],["Tang","Tangut"],["Tavt","Tai_Viet"],["Telu","Telugu"],["Tfng","Tifinagh"],["Tglg","Tagalog"],["Thaa","Thaana"],["Thai","Thai"],["Tibt","Tibetan"],["Tirh","Tirhuta"],["Ugar","Ugaritic"],["Vaii","Vai"],["Wara","Warang_Citi"],["Xpeo","Old_Persian"],["Xsux","Cuneiform"],["Yiii","Yi"],["Zanb","Zanabazar_Square"],["Zinh","Inherited"],["Qaai","Inherited"],["Zyyy","Common"],["Zzzz","Unknown"],["Adlam","Adlam"],["Caucasian_Albanian","Caucasian_Albanian"],["Arabic","Arabic"],["Imperial_Aramaic","Imperial_Aramaic"],["Armenian","Armenian"],["Avestan","Avestan"],["Balinese","Balinese"],["Bamum","Bamum"],["Bassa_Vah","Bassa_Vah"],["Batak","Batak"],["Bengali","Bengali"],["Bhaiksuki","Bhaiksuki"],["Bopomofo","Bopomofo"],["Brahmi","Brahmi"],["Braille","Braille"],["Buginese","Buginese"],["Buhid","Buhid"],["Chakma","Chakma"],["Canadian_Aboriginal","Canadian_Aboriginal"],["Carian","Carian"],["Cherokee","Cherokee"],["Coptic","Coptic"],["Cypriot","Cypriot"],["Cyrillic","Cyrillic"],["Devanagari","Devanagari"],["Dogra","Dogra"],["Deseret","Deseret"],["Duployan","Duployan"],["Egyptian_Hieroglyphs","Egyptian_Hieroglyphs"],["Elbasan","Elbasan"],["Ethiopic","Ethiopic"],["Georgian","Georgian"],["Glagolitic","Glagolitic"],["Gunjala_Gondi","Gunjala_Gondi"],["Masaram_Gondi","Masaram_Gondi"],["Gothic","Gothic"],["Grantha","Grantha"],["Greek","Greek"],["Gujarati","Gujarati"],["Gurmukhi","Gurmukhi"],["Hangul","Hangul"],["Han","Han"],["Hanunoo","Hanunoo"],["Hatran","Hatran"],["Hebrew","Hebrew"],["Hiragana","Hiragana"],["Anatolian_Hieroglyphs","Anatolian_Hieroglyphs"],["Pahawh_Hmong","Pahawh_Hmong"],["Katakana_Or_Hiragana","Katakana_Or_Hiragana"],["Old_Hungarian","Old_Hungarian"],["Old_Italic","Old_Italic"],["Javanese","Javanese"],["Kayah_Li","Kayah_Li"],["Katakana","Katakana"],["Kharoshthi","Kharoshthi"],["Khmer","Khmer"],["Khojki","Khojki"],["Kannada","Kannada"],["Kaithi","Kaithi"],["Tai_Tham","Tai_Tham"],["Lao","Lao"],["Latin","Latin"],["Lepcha","Lepcha"],["Limbu","Limbu"],["Linear_A","Linear_A"],["Linear_B","Linear_B"],["Lycian","Lycian"],["Lydian","Lydian"],["Mahajani","Mahajani"],["Makasar","Makasar"],["Mandaic","Mandaic"],["Manichaean","Manichaean"],["Marchen","Marchen"],["Medefaidrin","Medefaidrin"],["Mende_Kikakui","Mende_Kikakui"],["Meroitic_Cursive","Meroitic_Cursive"],["Meroitic_Hieroglyphs","Meroitic_Hieroglyphs"],["Malayalam","Malayalam"],["Mongolian","Mongolian"],["Mro","Mro"],["Meetei_Mayek","Meetei_Mayek"],["Multani","Multani"],["Myanmar","Myanmar"],["Old_North_Arabian","Old_North_Arabian"],["Nabataean","Nabataean"],["Nko","Nko"],["Nushu","Nushu"],["Ogham","Ogham"],["Ol_Chiki","Ol_Chiki"],["Old_Turkic","Old_Turkic"],["Oriya","Oriya"],["Osage","Osage"],["Osmanya","Osmanya"],["Palmyrene","Palmyrene"],["Pau_Cin_Hau","Pau_Cin_Hau"],["Old_Permic","Old_Permic"],["Phags_Pa","Phags_Pa"],["Inscriptional_Pahlavi","Inscriptional_Pahlavi"],["Psalter_Pahlavi","Psalter_Pahlavi"],["Phoenician","Phoenician"],["Miao","Miao"],["Inscriptional_Parthian","Inscriptional_Parthian"],["Rejang","Rejang"],["Hanifi_Rohingya","Hanifi_Rohingya"],["Runic","Runic"],["Samaritan","Samaritan"],["Old_South_Arabian","Old_South_Arabian"],["Saurashtra","Saurashtra"],["SignWriting","SignWriting"],["Shavian","Shavian"],["Sharada","Sharada"],["Siddham","Siddham"],["Khudawadi","Khudawadi"],["Sinhala","Sinhala"],["Sogdian","Sogdian"],["Old_Sogdian","Old_Sogdian"],["Sora_Sompeng","Sora_Sompeng"],["Soyombo","Soyombo"],["Sundanese","Sundanese"],["Syloti_Nagri","Syloti_Nagri"],["Syriac","Syriac"],["Tagbanwa","Tagbanwa"],["Takri","Takri"],["Tai_Le","Tai_Le"],["New_Tai_Lue","New_Tai_Lue"],["Tamil","Tamil"],["Tangut","Tangut"],["Tai_Viet","Tai_Viet"],["Telugu","Telugu"],["Tifinagh","Tifinagh"],["Tagalog","Tagalog"],["Thaana","Thaana"],["Tibetan","Tibetan"],["Tirhuta","Tirhuta"],["Ugaritic","Ugaritic"],["Vai","Vai"],["Warang_Citi","Warang_Citi"],["Old_Persian","Old_Persian"],["Cuneiform","Cuneiform"],["Yi","Yi"],["Zanabazar_Square","Zanabazar_Square"],["Inherited","Inherited"],["Common","Common"],["Unknown","Unknown"]])]]);const T=_;var F=function(e,t){const r=T.get(e);if(!r)throw new Error(`Unknown property \`${e}\`.`);const n=r.get(t);if(n)return n;throw new Error(`Unknown value \`${t}\` for property \`${e}\`.`)},k=new Set(["General_Category","Script","Script_Extensions","Alphabetic","Any","ASCII","ASCII_Hex_Digit","Assigned","Bidi_Control","Bidi_Mirrored","Case_Ignorable","Cased","Changes_When_Casefolded","Changes_When_Casemapped","Changes_When_Lowercased","Changes_When_NFKC_Casefolded","Changes_When_Titlecased","Changes_When_Uppercased","Dash","Default_Ignorable_Code_Point","Deprecated","Diacritic","Emoji","Emoji_Component","Emoji_Modifier","Emoji_Modifier_Base","Emoji_Presentation","Extended_Pictographic","Extender","Grapheme_Base","Grapheme_Extend","Hex_Digit","ID_Continue","ID_Start","Ideographic","IDS_Binary_Operator","IDS_Trinary_Operator","Join_Control","Logical_Order_Exception","Lowercase","Math","Noncharacter_Code_Point","Pattern_Syntax","Pattern_White_Space","Quotation_Mark","Radical","Regional_Indicator","Sentence_Terminal","Soft_Dotted","Terminal_Punctuation","Unified_Ideograph","Uppercase","Variation_Selector","White_Space","XID_Continue","XID_Start"]),B=new Map([["scx","Script_Extensions"],["sc","Script"],["gc","General_Category"],["AHex","ASCII_Hex_Digit"],["Alpha","Alphabetic"],["Bidi_C","Bidi_Control"],["Bidi_M","Bidi_Mirrored"],["Cased","Cased"],["CI","Case_Ignorable"],["CWCF","Changes_When_Casefolded"],["CWCM","Changes_When_Casemapped"],["CWKCF","Changes_When_NFKC_Casefolded"],["CWL","Changes_When_Lowercased"],["CWT","Changes_When_Titlecased"],["CWU","Changes_When_Uppercased"],["Dash","Dash"],["Dep","Deprecated"],["DI","Default_Ignorable_Code_Point"],["Dia","Diacritic"],["Ext","Extender"],["Gr_Base","Grapheme_Base"],["Gr_Ext","Grapheme_Extend"],["Hex","Hex_Digit"],["IDC","ID_Continue"],["Ideo","Ideographic"],["IDS","ID_Start"],["IDSB","IDS_Binary_Operator"],["IDST","IDS_Trinary_Operator"],["Join_C","Join_Control"],["LOE","Logical_Order_Exception"],["Lower","Lowercase"],["Math","Math"],["NChar","Noncharacter_Code_Point"],["Pat_Syn","Pattern_Syntax"],["Pat_WS","Pattern_White_Space"],["QMark","Quotation_Mark"],["Radical","Radical"],["RI","Regional_Indicator"],["SD","Soft_Dotted"],["STerm","Sentence_Terminal"],["Term","Terminal_Punctuation"],["UIdeo","Unified_Ideograph"],["Upper","Uppercase"],["VS","Variation_Selector"],["WSpace","White_Space"],["space","White_Space"],["XIDC","XID_Continue"],["XIDS","XID_Start"]]);const w=k,N=B;var I=function(e){if(w.has(e))return e;if(N.has(e))return N.get(e);throw new Error(`Unknown property: ${e}`)},O={};Object.defineProperty(O,"__esModule",{value:!0}),O.whitespaceArray=[5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279],O.whitespaceBool=[!1,!1,!1,!1,!1,!1,!1,!1,!1,!0,!1,!0,!0,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!0,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1],O.idStartLargeRegex=/^[\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\u0561-\u0587\u05D0-\u05EA\u05F0-\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\u08A0-\u08B4\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\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\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\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-\u1877\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\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\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-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\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-\uAB65\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]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDEC0-\uDEF8]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]$/,O.idStartBool=[!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!0,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!1,!1,!1,!1,!0,!1,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!1,!1,!1,!1,!1],O.idContinueLargeRegex=/^[\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\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\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFC-\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\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\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-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C4\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDEC0-\uDEF8]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]$/,O.idContinueBool=[!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!0,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!1,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!1,!1,!1,!1,!1,!1,!1,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!1,!1,!1,!1,!0,!1,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!1,!1,!1,!1,!1],Object.defineProperty(S,"__esModule",{value:!0});var L=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),P=W(F),M=W(_),R=W(I),j=W(B),G=O;function W(e){return e&&e.__esModule?e:{default:e}}function U(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);t<e.length;t++)r[t]=e[t];return r}return Array.from(e)}var V=function(e){try{return!!e()}catch(e){return!1}},H="^$\\.*+?()[]{}|".split(""),K="^$\\.*+?()[|".split(""),Y="fnrtv".split(""),q={f:"\f".charCodeAt(0),n:"\n".charCodeAt(0),r:"\r".charCodeAt(0),t:"\t".charCodeAt(0),v:"\v".charCodeAt(0)},X="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ".split(""),z="0123456789abcdefABCDEF".split(""),$="0123456789".split(""),J="01234567".split(""),Z={};var Q=function(){function e(t,r){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.pattern=t,this.unicode=r,this.index=0,this.largestBackreference=0,this.backreferenceNames=[],this.groupingNames=[],this.capturingGroups=0}return L(e,[{key:"empty",value:function(){return this.index>=this.pattern.length}},{key:"backreference",value:function(e){e>this.largestBackreference&&(this.largestBackreference=e)}},{key:"nextCodePoint",value:function(){return this.empty()?null:this.unicode?String.fromCodePoint(this.pattern.codePointAt(this.index)):this.pattern.charAt(this.index)}},{key:"skipCodePoint",value:function(){this.index+=this.nextCodePoint().length}},{key:"eat",value:function(e){return!(this.index+e.length>this.pattern.length||this.pattern.slice(this.index,this.index+e.length)!==e)&&(this.index+=e.length,!0)}},{key:"eatIdentifierCodePoint",value:function(){var e=void 0,t=this.index,r=void 0;if(this.match("\\u")){if(this.skipCodePoint(),!(e=te(this)).matched)return this.index=t,null;e=e.value,r=String.fromCodePoint(e)}else{if(null==(r=this.nextCodePoint()))return this.index=t,null;this.index+=r.length,e=r.codePointAt(0)}return{character:r,characterValue:e}}},{key:"eatIdentifierStart",value:function(){var e,t=this.index,r=this.eatIdentifierCodePoint();return null===r?(this.index=t,null):"_"===r.character||"$"===r.character||((e=r.characterValue)<128?G.idStartBool[e]:G.idStartLargeRegex.test(String.fromCodePoint(e)))?r.character:(this.index=t,null)}},{key:"eatIdentifierPart",value:function(){var e,t=this.index,r=this.eatIdentifierCodePoint();return null===r?(this.index=t,null):"‌"===r.character||"‍"===r.character||"$"===r.character||((e=r.characterValue)<128?G.idContinueBool[e]:G.idContinueLargeRegex.test(String.fromCodePoint(e)))?r.character:(this.index=t,null)}},{key:"eatAny",value:function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];var n=!0,i=!1,a=void 0;try{for(var u,s=t[Symbol.iterator]();!(n=(u=s.next()).done);n=!0){var o=u.value;if(this.eat(o))return o}}catch(e){i=!0,a=e}finally{try{!n&&s.return&&s.return()}finally{if(i)throw a}}return null}},{key:"match",value:function(e){return this.index+e.length<=this.pattern.length&&this.pattern.slice(this.index,this.index+e.length)===e}},{key:"matchAny",value:function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];var n=!0,i=!1,a=void 0;try{for(var u,s=t[Symbol.iterator]();!(n=(u=s.next()).done);n=!0){var o=u.value;if(this.match(o))return!0}}catch(e){i=!0,a=e}finally{try{!n&&s.return&&s.return()}finally{if(i)throw a}}return!1}},{key:"eatNaturalNumber",value:function(){for(var e=this,t=[],r=function(){var r=!0,n=!1,i=void 0;try{for(var a,u=$[Symbol.iterator]();!(r=(a=u.next()).done);r=!0){var s=a.value;if(e.eat(s))return t.push(s),!0}}catch(e){n=!0,i=e}finally{try{!r&&u.return&&u.return()}finally{if(n)throw i}}return!1};r(););return 0===t.length?null:t.join("")}}]),e}();S.default=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.unicode,n=void 0!==r&&r,i=new Q(e,n),a=re(i);if(a.matched){if(i.unicode&&i.largestBackreference>i.capturingGroups)return!1;if(i.groupingNames.length>0||i.unicode){var u=!0,s=!1,o=void 0;try{for(var c,p=i.backreferenceNames[Symbol.iterator]();!(u=(c=p.next()).done);u=!0){var l=c.value;if(-1===i.groupingNames.indexOf(l))return!1}}catch(e){s=!0,o=e}finally{try{!u&&p.return&&p.return()}finally{if(s)throw o}}}}return a.matched};var ee=function(e){return function(t){var r=t.index,n=t.largestBackreference,i=t.capturingGroups,a=e(t);return a.matched||(t.index=r,t.largestBackreference=n,t.capturingGroups=i),a}},te=ee((function(e){if(!e.eat("u"))return{matched:!1};if(e.unicode&&e.eat("{")){for(var t=[];!e.eat("}");){var r=e.eatAny.apply(e,U(z));if(null===r)return{matched:!1};t.push(r)}var n=parseInt(t.join(""),16);return n>1114111?{matched:!1}:{matched:!0,value:n}}var i=[0,0,0,0].map((function(){return e.eatAny.apply(e,U(z))}));if(i.some((function(e){return null===e})))return{matched:!1};var a=parseInt(i.join(""),16);if(e.unicode&&a>=55296&&a<=56319){var u=ee((function(e){if(!e.eat("\\u"))return{matched:!1};var t=[0,0,0,0].map((function(){return e.eatAny.apply(e,U(z))}));if(t.some((function(e){return null===e})))return{matched:!1};var r=parseInt(t.join(""),16);return r<56320||r>=57344?{matched:!1}:{matched:!0,value:65536+((1023&a)<<10)+(1023&r)}}))(e);if(u.matched)return u}return{matched:!0,value:a}})),re=function(e,t){do{if(void 0!==t&&e.eat(t))return{matched:!0};if(!e.match("|")&&!ne(e,t).matched)return{matched:!1}}while(e.eat("|"));return{matched:void 0===t||!!e.eat(t)}},ne=function(e,t){for(;!(e.match("|")||e.empty()||void 0!==t&&e.match(t));)if(!ae(e).matched)return{matched:!1};return{matched:!0}},ie=function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return function(e){var r=!0,n=!1,i=void 0;try{for(var a,u=t[Symbol.iterator]();!(r=(a=u.next()).done);r=!0){var s=(0,a.value)(e);if(s.matched)return s}}catch(e){n=!0,i=e}finally{try{!r&&u.return&&u.return()}finally{if(n)throw i}}return{matched:!1}}},ae=function(e){return e.unicode?ie(oe,pe(fe))(e):ie(pe(se),oe,pe(fe))(e)},ue=function(e){return ee((function(t){return t.eat("(")&&e(t)?re(t,")"):{matched:!1}}))},se=ue((function(e){return!!e.eatAny("?=","?!")})),oe=function(e){return e.eatAny("^","$","\\b","\\B")?{matched:!0}:ue((function(e){return e.unicode?!!e.eatAny("?=","?!","?<=","?<!"):!!e.eatAny("?<=","?<!")}))(e)},ce=function(e){return{matched:null!==e.eatNaturalNumber()}},pe=function(e){return ee((function(t){if(!e(t).matched)return{matched:!1};if(t.match("{")){var r=ee((function(e){e.eat("{");var t=e.eatNaturalNumber();if(null===t)return{matched:!1};if(e.eat(",")&&e.matchAny.apply(e,U($))){var r=e.eatNaturalNumber();if(null===r||parseInt(t)>parseInt(r))return{matched:!1}}return e.eat("}")?(e.eat("?"),{matched:!0}):{matched:!1}}))(t);return r.matched?r:{matched:!t.unicode}}return t.eatAny("*","+","?")&&t.eat("?"),{matched:!0}}))},le=function(e){return function(t){var r=t.nextCodePoint();return null===r||-1!==e.indexOf(r)?{matched:!1}:(t.skipCodePoint(),{matched:!0})}},de=le(H),he=le(K),fe=function(e){if(e.unicode)return ie(de,(function(e){return{matched:!!e.eat(".")}}),ee((function(e){return e.eat("\\")?_e(e):{matched:!1}})),Te,ue((function(e){return e.eat("?:")})),me)(e);var t=ie((function(e){return{matched:!!e.eat(".")}}),ee((function(e){return e.eat("\\")?_e(e):{matched:!1}})),ee((function(e){return{matched:e.eat("\\")&&e.match("c")}})),Te,ue((function(e){return e.eat("?:")})),me)(e);return!t.matched&&function(e){return ee((function(e){return{matched:!(!e.eat("{")||!ce(e).matched||e.eat(",")&&!e.match("}")&&!ce(e).matched||!e.eat("}"))}}))(e)}(e).matched?{matched:!1}:t.matched?t:he(e)},me=ee((function(e){if(!e.eat("("))return{matched:!1};var t=ee((function(t){return e.eat("?")?Se(t):{matched:!1}}))(e);if(!re(e,")").matched)return{matched:!1};if(t.matched){if(-1!==e.groupingNames.indexOf(t.data))return{matched:!1};e.groupingNames.push(t.data)}return e.capturingGroups++,{matched:!0}})),ye=ee((function(e){var t=e.eatAny.apply(e,U($));return null===t?{matched:!1}:("0"===t||e.backreference(parseInt(t+(e.eatNaturalNumber()||""))),{matched:!0})})),Ee=function(e){return e.eatAny("d","D","s","S","w","W")?{matched:!0}:e.unicode?ee((function(e){return(e.eat("p{")||e.eat("P{"))&&xe(e).matched?{matched:!!e.eat("}")}:{matched:!1}}))(e):{matched:!1}},De=function(e){for(var t=[],r=void 0;r=e.eatAny.apply(e,U(X).concat(U($),["_"]));)t.push(r);return{matched:t.length>0,data:t.join("")}},ge=["General_Category","Script","Script_Extensions","scx","sc","gc"],ve=M.default.get("General_Category"),Ae=function(e){var t=De(e);return!t.matched||ge.includes(t.data)?{matched:!1}:{matched:V((function(){return(0,R.default)(t.data)}))||null!=ve.get(t.data)}},xe=function(e){return ie(ee((function(e){var t=function(e){for(var t=[],r=void 0;r=e.eatAny.apply(e,U(X).concat(["_"]));)t.push(r);return{matched:t.length>0,data:t.join("")}}(e);if(!t.matched||!e.eat("="))return{matched:!1};var r=De(e);return r.matched?{matched:V((function(){return(0,P.default)(j.default.get(t.data)||t.data,r.data)}))}:{matched:!1}})),ee(Ae))(e)},Ce=ie((function(e){var t=e.eatAny.apply(e,U(Y));return null===t?{matched:!1}:{matched:!0,value:q[t]}}),ee((function(e){if(!e.eat("c"))return{matched:!1};var t=e.eatAny.apply(e,U(X));return null===t?{matched:!1}:{matched:!0,value:t.charCodeAt(0)%32}})),ee((function(e){return!e.eat("0")||e.eatAny.apply(e,U($))?{matched:!1}:{matched:!0,value:0}})),ee((function(e){if(!e.eat("x"))return{matched:!1};var t=[0,0].map((function(){return e.eatAny.apply(e,U(z))}));return t.some((function(e){return null===e}))?{matched:!1}:{matched:!0,value:parseInt(t.join(""),16)}})),te,ee((function(e){if(e.unicode)return{matched:!1};var t=e.eatAny.apply(e,U(J));if(null===t)return{matched:!1};var r=parseInt(t,8);if(-1===J.indexOf(e.nextCodePoint()))return{matched:!0,value:r};var n=e.eatAny.apply(e,U(J)),i=parseInt(n,8);if(r<4){if(-1===J.indexOf(e.nextCodePoint()))return{matched:!0,value:r<<3|i};var a=e.eatAny.apply(e,U(J));return{matched:!0,value:r<<6|i<<3|parseInt(a,8)}}return{matched:!0,value:r<<3|i}})),ee((function(e){if(!e.unicode)return{matched:!1};var t=e.eatAny.apply(e,U(H));return null===t?{matched:!1}:{matched:!0,value:t.charCodeAt(0)}})),(function(e){return e.unicode&&e.eat("/")?{matched:!0,value:"/".charCodeAt(0)}:{matched:!1}}),ee((function(e){if(e.unicode)return{matched:!1};var t=e.nextCodePoint();return null!==t&&"c"!==t&&"k"!==t?(e.skipCodePoint(),{matched:!0,value:t.codePointAt(0)}):{matched:!1}}))),be=ee((function(e){if(!e.eat("k"))return{matched:!1};var t=Se(e);return t.matched?(e.backreferenceNames.push(t.data),{matched:!0}):(e.backreferenceNames.push(Z),{matched:!0})})),Se=ee((function(e){if(!e.eat("<"))return{matched:!1};var t=[],r=e.eatIdentifierStart();if(!r)return{matched:!1};t.push(r);for(var n=void 0;n=e.eatIdentifierPart();)t.push(n);return e.eat(">")?{matched:t.length>0,data:t.join("")}:{matched:!1}})),_e=ie(ye,Ee,Ce,be),Te=ee((function(e){if(!e.eat("["))return{matched:!1};e.eat("^");var t=ie((function(e){return{matched:!!e.eat("b"),value:8}}),(function(e){return{matched:e.unicode&&!!e.eat("-"),value:"-".charCodeAt(0)}}),ee((function(e){if(e.unicode||!e.eat("c"))return{matched:!1};var t=e.eatAny.apply(e,U($).concat(["_"]));return null===t?{matched:!1}:{matched:!0,value:t.charCodeAt(0)%32}})),Ee,Ce,(function(e){return{matched:!e.unicode&&!!e.eat("k"),value:107}})),r=function(e){var r=e.nextCodePoint();if("]"===r||"-"===r||null===r)return{matched:!1};if("\\"!==r)return e.skipCodePoint(),{matched:!0,value:r.codePointAt(0)};e.eat("\\");var n=t(e);return n.matched||"c"!==e.nextCodePoint()||e.unicode?n:{matched:!0,value:"\\".charCodeAt(0)}},n=function(e){return e.eat("-")?{matched:!0,value:"-".charCodeAt(0)}:r(e)},i=function(e,t){var r=function(e){return void 0===e.value&&e.matched};if(e.eat("-")){if(e.match("]"))return{matched:!0};var i=n(e);return i.matched?e.unicode&&(r(t)||r(i))||(e.unicode||!r(t)&&!r(i))&&t.value>i.value?{matched:!1}:e.match("]")?{matched:!0}:a(e):{matched:!1}}return e.match("]")?{matched:!0}:u(e)},a=function(e){var t=n(e);return t.matched?i(e,t):{matched:!1}},u=function(e){var t=r(e);return t.matched?i(e,t):{matched:!1}};if(e.eat("]"))return{matched:!0};var s=a(e);return s.matched&&e.eat("]"),s})),Fe={};function ke(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(Fe,"__esModule",{value:!0}),Fe.ArrayAssignmentTarget=function e(t){var r=t.elements,n=t.rest;ke(this,e),this.type="ArrayAssignmentTarget",this.elements=r,this.rest=n},Fe.ArrayBinding=function e(t){var r=t.elements,n=t.rest;ke(this,e),this.type="ArrayBinding",this.elements=r,this.rest=n},Fe.ArrayExpression=function e(t){var r=t.elements;ke(this,e),this.type="ArrayExpression",this.elements=r},Fe.ArrowExpression=function e(t){var r=t.isAsync,n=t.params,i=t.body;ke(this,e),this.type="ArrowExpression",this.isAsync=r,this.params=n,this.body=i},Fe.AssignmentExpression=function e(t){var r=t.binding,n=t.expression;ke(this,e),this.type="AssignmentExpression",this.binding=r,this.expression=n},Fe.AssignmentTargetIdentifier=function e(t){var r=t.name;ke(this,e),this.type="AssignmentTargetIdentifier",this.name=r},Fe.AssignmentTargetPropertyIdentifier=function e(t){var r=t.binding,n=t.init;ke(this,e),this.type="AssignmentTargetPropertyIdentifier",this.binding=r,this.init=n},Fe.AssignmentTargetPropertyProperty=function e(t){var r=t.name,n=t.binding;ke(this,e),this.type="AssignmentTargetPropertyProperty",this.name=r,this.binding=n},Fe.AssignmentTargetWithDefault=function e(t){var r=t.binding,n=t.init;ke(this,e),this.type="AssignmentTargetWithDefault",this.binding=r,this.init=n},Fe.AwaitExpression=function e(t){var r=t.expression;ke(this,e),this.type="AwaitExpression",this.expression=r},Fe.BinaryExpression=function e(t){var r=t.left,n=t.operator,i=t.right;ke(this,e),this.type="BinaryExpression",this.left=r,this.operator=n,this.right=i},Fe.BindingIdentifier=function e(t){var r=t.name;ke(this,e),this.type="BindingIdentifier",this.name=r},Fe.BindingPropertyIdentifier=function e(t){var r=t.binding,n=t.init;ke(this,e),this.type="BindingPropertyIdentifier",this.binding=r,this.init=n},Fe.BindingPropertyProperty=function e(t){var r=t.name,n=t.binding;ke(this,e),this.type="BindingPropertyProperty",this.name=r,this.binding=n},Fe.BindingWithDefault=function e(t){var r=t.binding,n=t.init;ke(this,e),this.type="BindingWithDefault",this.binding=r,this.init=n},Fe.Block=function e(t){var r=t.statements;ke(this,e),this.type="Block",this.statements=r},Fe.BlockStatement=function e(t){var r=t.block;ke(this,e),this.type="BlockStatement",this.block=r},Fe.BreakStatement=function e(t){var r=t.label;ke(this,e),this.type="BreakStatement",this.label=r},Fe.CallExpression=function e(t){var r=t.callee,n=t.arguments;ke(this,e),this.type="CallExpression",this.callee=r,this.arguments=n},Fe.CatchClause=function e(t){var r=t.binding,n=t.body;ke(this,e),this.type="CatchClause",this.binding=r,this.body=n},Fe.ClassDeclaration=function e(t){var r=t.name,n=t.super,i=t.elements;ke(this,e),this.type="ClassDeclaration",this.name=r,this.super=n,this.elements=i},Fe.ClassElement=function e(t){var r=t.isStatic,n=t.method;ke(this,e),this.type="ClassElement",this.isStatic=r,this.method=n},Fe.ClassExpression=function e(t){var r=t.name,n=t.super,i=t.elements;ke(this,e),this.type="ClassExpression",this.name=r,this.super=n,this.elements=i},Fe.CompoundAssignmentExpression=function e(t){var r=t.binding,n=t.operator,i=t.expression;ke(this,e),this.type="CompoundAssignmentExpression",this.binding=r,this.operator=n,this.expression=i},Fe.ComputedMemberAssignmentTarget=function e(t){var r=t.object,n=t.expression;ke(this,e),this.type="ComputedMemberAssignmentTarget",this.object=r,this.expression=n},Fe.ComputedMemberExpression=function e(t){var r=t.object,n=t.expression;ke(this,e),this.type="ComputedMemberExpression",this.object=r,this.expression=n},Fe.ComputedPropertyName=function e(t){var r=t.expression;ke(this,e),this.type="ComputedPropertyName",this.expression=r},Fe.ConditionalExpression=function e(t){var r=t.test,n=t.consequent,i=t.alternate;ke(this,e),this.type="ConditionalExpression",this.test=r,this.consequent=n,this.alternate=i},Fe.ContinueStatement=function e(t){var r=t.label;ke(this,e),this.type="ContinueStatement",this.label=r},Fe.DataProperty=function e(t){var r=t.name,n=t.expression;ke(this,e),this.type="DataProperty",this.name=r,this.expression=n},Fe.DebuggerStatement=function e(){ke(this,e),this.type="DebuggerStatement"},Fe.Directive=function e(t){var r=t.rawValue;ke(this,e),this.type="Directive",this.rawValue=r},Fe.DoWhileStatement=function e(t){var r=t.body,n=t.test;ke(this,e),this.type="DoWhileStatement",this.body=r,this.test=n},Fe.EmptyStatement=function e(){ke(this,e),this.type="EmptyStatement"},Fe.Export=function e(t){var r=t.declaration;ke(this,e),this.type="Export",this.declaration=r},Fe.ExportAllFrom=function e(t){var r=t.moduleSpecifier;ke(this,e),this.type="ExportAllFrom",this.moduleSpecifier=r},Fe.ExportDefault=function e(t){var r=t.body;ke(this,e),this.type="ExportDefault",this.body=r},Fe.ExportFrom=function e(t){var r=t.namedExports,n=t.moduleSpecifier;ke(this,e),this.type="ExportFrom",this.namedExports=r,this.moduleSpecifier=n},Fe.ExportFromSpecifier=function e(t){var r=t.name,n=t.exportedName;ke(this,e),this.type="ExportFromSpecifier",this.name=r,this.exportedName=n},Fe.ExportLocalSpecifier=function e(t){var r=t.name,n=t.exportedName;ke(this,e),this.type="ExportLocalSpecifier",this.name=r,this.exportedName=n},Fe.ExportLocals=function e(t){var r=t.namedExports;ke(this,e),this.type="ExportLocals",this.namedExports=r},Fe.ExpressionStatement=function e(t){var r=t.expression;ke(this,e),this.type="ExpressionStatement",this.expression=r},Fe.ForAwaitStatement=function e(t){var r=t.left,n=t.right,i=t.body;ke(this,e),this.type="ForAwaitStatement",this.left=r,this.right=n,this.body=i},Fe.ForInStatement=function e(t){var r=t.left,n=t.right,i=t.body;ke(this,e),this.type="ForInStatement",this.left=r,this.right=n,this.body=i},Fe.ForOfStatement=function e(t){var r=t.left,n=t.right,i=t.body;ke(this,e),this.type="ForOfStatement",this.left=r,this.right=n,this.body=i},Fe.ForStatement=function e(t){var r=t.init,n=t.test,i=t.update,a=t.body;ke(this,e),this.type="ForStatement",this.init=r,this.test=n,this.update=i,this.body=a},Fe.FormalParameters=function e(t){var r=t.items,n=t.rest;ke(this,e),this.type="FormalParameters",this.items=r,this.rest=n},Fe.FunctionBody=function e(t){var r=t.directives,n=t.statements;ke(this,e),this.type="FunctionBody",this.directives=r,this.statements=n},Fe.FunctionDeclaration=function e(t){var r=t.isAsync,n=t.isGenerator,i=t.name,a=t.params,u=t.body;ke(this,e),this.type="FunctionDeclaration",this.isAsync=r,this.isGenerator=n,this.name=i,this.params=a,this.body=u},Fe.FunctionExpression=function e(t){var r=t.isAsync,n=t.isGenerator,i=t.name,a=t.params,u=t.body;ke(this,e),this.type="FunctionExpression",this.isAsync=r,this.isGenerator=n,this.name=i,this.params=a,this.body=u},Fe.Getter=function e(t){var r=t.name,n=t.body;ke(this,e),this.type="Getter",this.name=r,this.body=n},Fe.IdentifierExpression=function e(t){var r=t.name;ke(this,e),this.type="IdentifierExpression",this.name=r},Fe.IfStatement=function e(t){var r=t.test,n=t.consequent,i=t.alternate;ke(this,e),this.type="IfStatement",this.test=r,this.consequent=n,this.alternate=i},Fe.Import=function e(t){var r=t.defaultBinding,n=t.namedImports,i=t.moduleSpecifier;ke(this,e),this.type="Import",this.defaultBinding=r,this.namedImports=n,this.moduleSpecifier=i},Fe.ImportNamespace=function e(t){var r=t.defaultBinding,n=t.namespaceBinding,i=t.moduleSpecifier;ke(this,e),this.type="ImportNamespace",this.defaultBinding=r,this.namespaceBinding=n,this.moduleSpecifier=i},Fe.ImportSpecifier=function e(t){var r=t.name,n=t.binding;ke(this,e),this.type="ImportSpecifier",this.name=r,this.binding=n},Fe.LabeledStatement=function e(t){var r=t.label,n=t.body;ke(this,e),this.type="LabeledStatement",this.label=r,this.body=n},Fe.LiteralBooleanExpression=function e(t){var r=t.value;ke(this,e),this.type="LiteralBooleanExpression",this.value=r},Fe.LiteralInfinityExpression=function e(){ke(this,e),this.type="LiteralInfinityExpression"},Fe.LiteralNullExpression=function e(){ke(this,e),this.type="LiteralNullExpression"},Fe.LiteralNumericExpression=function e(t){var r=t.value;ke(this,e),this.type="LiteralNumericExpression",this.value=r},Fe.LiteralRegExpExpression=function e(t){var r=t.pattern,n=t.global,i=t.ignoreCase,a=t.multiLine,u=t.dotAll,s=t.unicode,o=t.sticky;ke(this,e),this.type="LiteralRegExpExpression",this.pattern=r,this.global=n,this.ignoreCase=i,this.multiLine=a,this.dotAll=u,this.unicode=s,this.sticky=o},Fe.LiteralStringExpression=function e(t){var r=t.value;ke(this,e),this.type="LiteralStringExpression",this.value=r},Fe.Method=function e(t){var r=t.isAsync,n=t.isGenerator,i=t.name,a=t.params,u=t.body;ke(this,e),this.type="Method",this.isAsync=r,this.isGenerator=n,this.name=i,this.params=a,this.body=u},Fe.Module=function e(t){var r=t.directives,n=t.items;ke(this,e),this.type="Module",this.directives=r,this.items=n},Fe.NewExpression=function e(t){var r=t.callee,n=t.arguments;ke(this,e),this.type="NewExpression",this.callee=r,this.arguments=n},Fe.NewTargetExpression=function e(){ke(this,e),this.type="NewTargetExpression"},Fe.ObjectAssignmentTarget=function e(t){var r=t.properties,n=t.rest;ke(this,e),this.type="ObjectAssignmentTarget",this.properties=r,this.rest=n},Fe.ObjectBinding=function e(t){var r=t.properties,n=t.rest;ke(this,e),this.type="ObjectBinding",this.properties=r,this.rest=n},Fe.ObjectExpression=function e(t){var r=t.properties;ke(this,e),this.type="ObjectExpression",this.properties=r},Fe.ReturnStatement=function e(t){var r=t.expression;ke(this,e),this.type="ReturnStatement",this.expression=r},Fe.Script=function e(t){var r=t.directives,n=t.statements;ke(this,e),this.type="Script",this.directives=r,this.statements=n},Fe.Setter=function e(t){var r=t.name,n=t.param,i=t.body;ke(this,e),this.type="Setter",this.name=r,this.param=n,this.body=i},Fe.ShorthandProperty=function e(t){var r=t.name;ke(this,e),this.type="ShorthandProperty",this.name=r},Fe.SpreadElement=function e(t){var r=t.expression;ke(this,e),this.type="SpreadElement",this.expression=r},Fe.SpreadProperty=function e(t){var r=t.expression;ke(this,e),this.type="SpreadProperty",this.expression=r},Fe.StaticMemberAssignmentTarget=function e(t){var r=t.object,n=t.property;ke(this,e),this.type="StaticMemberAssignmentTarget",this.object=r,this.property=n},Fe.StaticMemberExpression=function e(t){var r=t.object,n=t.property;ke(this,e),this.type="StaticMemberExpression",this.object=r,this.property=n},Fe.StaticPropertyName=function e(t){var r=t.value;ke(this,e),this.type="StaticPropertyName",this.value=r},Fe.Super=function e(){ke(this,e),this.type="Super"},Fe.SwitchCase=function e(t){var r=t.test,n=t.consequent;ke(this,e),this.type="SwitchCase",this.test=r,this.consequent=n},Fe.SwitchDefault=function e(t){var r=t.consequent;ke(this,e),this.type="SwitchDefault",this.consequent=r},Fe.SwitchStatement=function e(t){var r=t.discriminant,n=t.cases;ke(this,e),this.type="SwitchStatement",this.discriminant=r,this.cases=n},Fe.SwitchStatementWithDefault=function e(t){var r=t.discriminant,n=t.preDefaultCases,i=t.defaultCase,a=t.postDefaultCases;ke(this,e),this.type="SwitchStatementWithDefault",this.discriminant=r,this.preDefaultCases=n,this.defaultCase=i,this.postDefaultCases=a},Fe.TemplateElement=function e(t){var r=t.rawValue;ke(this,e),this.type="TemplateElement",this.rawValue=r},Fe.TemplateExpression=function e(t){var r=t.tag,n=t.elements;ke(this,e),this.type="TemplateExpression",this.tag=r,this.elements=n},Fe.ThisExpression=function e(){ke(this,e),this.type="ThisExpression"},Fe.ThrowStatement=function e(t){var r=t.expression;ke(this,e),this.type="ThrowStatement",this.expression=r},Fe.TryCatchStatement=function e(t){var r=t.body,n=t.catchClause;ke(this,e),this.type="TryCatchStatement",this.body=r,this.catchClause=n},Fe.TryFinallyStatement=function e(t){var r=t.body,n=t.catchClause,i=t.finalizer;ke(this,e),this.type="TryFinallyStatement",this.body=r,this.catchClause=n,this.finalizer=i},Fe.UnaryExpression=function e(t){var r=t.operator,n=t.operand;ke(this,e),this.type="UnaryExpression",this.operator=r,this.operand=n},Fe.UpdateExpression=function e(t){var r=t.isPrefix,n=t.operator,i=t.operand;ke(this,e),this.type="UpdateExpression",this.isPrefix=r,this.operator=n,this.operand=i},Fe.VariableDeclaration=function e(t){var r=t.kind,n=t.declarators;ke(this,e),this.type="VariableDeclaration",this.kind=r,this.declarators=n},Fe.VariableDeclarationStatement=function e(t){var r=t.declaration;ke(this,e),this.type="VariableDeclarationStatement",this.declaration=r},Fe.VariableDeclarator=function e(t){var r=t.binding,n=t.init;ke(this,e),this.type="VariableDeclarator",this.binding=r,this.init=n},Fe.WhileStatement=function e(t){var r=t.test,n=t.body;ke(this,e),this.type="WhileStatement",this.test=r,this.body=n},Fe.WithStatement=function e(t){var r=t.object,n=t.body;ke(this,e),this.type="WithStatement",this.object=r,this.body=n},Fe.YieldExpression=function e(t){var r=t.expression;ke(this,e),this.type="YieldExpression",this.expression=r},Fe.YieldGeneratorExpression=function e(t){var r=t.expression;ke(this,e),this.type="YieldGeneratorExpression",this.expression=r},Object.defineProperty(b,"__esModule",{value:!0}),b.GenericParser=void 0;var Be=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),we=o,Ne=Pe(S),Ie=n,Oe=Pe(Ie),Le=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(Fe);function Pe(e){return e&&e.__esModule?e:{default:e}}var Me="CoverParenthesizedExpressionAndArrowParameterList",Re=8,je=9,Ge=10,We=11,Ue=12,Ve={"||":3,"&&":4,"|":5,"^":6,"&":7,"==":Re,"!=":Re,"===":Re,"!==":Re,"<":je,">":je,"<=":je,">=":je,in:je,instanceof:je,"<<":Ge,">>":Ge,">>>":Ge,"+":We,"-":We,"*":Ue,"%":Ue,"/":Ue};function He(e){if(null==e)return!1;switch(e.type){case"IdentifierExpression":case"ComputedMemberExpression":case"StaticMemberExpression":return!0}return!1}function Ke(e){return e.type===Ie.TokenType.INC||e.type===Ie.TokenType.DEC}b.GenericParser=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var r=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return r.allowIn=!0,r.inFunctionBody=!1,r.inParameter=!1,r.allowYieldExpression=!1,r.allowAwaitExpression=!1,r.firstAwaitLocation=null,r.module=!1,r.moduleIsTheGoalSymbol=!1,r.strict=!1,r.isBindingElement=!0,r.isAssignmentTarget=!0,r.firstExprError=null,r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),Be(t,[{key:"match",value:function(e){return this.lookahead.type===e}},{key:"matchIdentifier",value:function(){switch(this.lookahead.type){case Ie.TokenType.IDENTIFIER:case Ie.TokenType.LET:case Ie.TokenType.YIELD:case Ie.TokenType.ASYNC:return!0;case Ie.TokenType.AWAIT:return!this.moduleIsTheGoalSymbol&&(null===this.firstAwaitLocation&&(this.firstAwaitLocation=this.getLocation()),!0);case Ie.TokenType.ESCAPED_KEYWORD:return"await"!==this.lookahead.value||this.moduleIsTheGoalSymbol?"let"===this.lookahead.value||"yield"===this.lookahead.value||"async"===this.lookahead.value:(null===this.firstAwaitLocation&&(this.firstAwaitLocation=this.getLocation()),!0)}return!1}},{key:"eat",value:function(e){return this.lookahead.type===e?this.lex():null}},{key:"expect",value:function(e){if(this.lookahead.type===e)return this.lex();throw this.createUnexpected(this.lookahead)}},{key:"matchContextualKeyword",value:function(e){return this.lookahead.type===Ie.TokenType.IDENTIFIER&&!this.lookahead.escaped&&this.lookahead.value===e}},{key:"expectContextualKeyword",value:function(e){if(this.lookahead.type===Ie.TokenType.IDENTIFIER&&!this.lookahead.escaped&&this.lookahead.value===e)return this.lex();throw this.createUnexpected(this.lookahead)}},{key:"eatContextualKeyword",value:function(e){return this.lookahead.type!==Ie.TokenType.IDENTIFIER||this.lookahead.escaped||this.lookahead.value!==e?null:this.lex()}},{key:"consumeSemicolon",value:function(){if(!(this.eat(Ie.TokenType.SEMICOLON)||this.hasLineTerminatorBeforeNext||this.eof()||this.match(Ie.TokenType.RBRACE)))throw this.createUnexpected(this.lookahead)}},{key:"startNode",value:function(e){return e}},{key:"copyNode",value:function(e,t){return t}},{key:"finishNode",value:function(e){return e}},{key:"parseModule",value:function(){this.moduleIsTheGoalSymbol=this.module=this.strict=!0,this.lookahead=this.advance();var e=this.startNode(),t=this.parseBody(),r=t.directives,n=t.statements;if(!this.match(Ie.TokenType.EOS))throw this.createUnexpected(this.lookahead);return this.finishNode(new Le.Module({directives:r,items:n}),e)}},{key:"parseScript",value:function(){this.lookahead=this.advance();var e=this.startNode(),t=this.parseBody(),r=t.directives,n=t.statements;if(!this.match(Ie.TokenType.EOS))throw this.createUnexpected(this.lookahead);return this.finishNode(new Le.Script({directives:r,statements:n}),e)}},{key:"parseFunctionBody",value:function(){var e=this.inFunctionBody,t=this.module,r=this.strict;this.inFunctionBody=!0,this.module=!1;var n=this.startNode();this.expect(Ie.TokenType.LBRACE);var i=new Le.FunctionBody(this.parseBody());return this.expect(Ie.TokenType.RBRACE),i=this.finishNode(i,n),this.inFunctionBody=e,this.module=t,this.strict=r,i}},{key:"parseBody",value:function(){for(var e=[],t=[],r=!0,n=null;!this.eof()&&!this.match(Ie.TokenType.RBRACE);){var i=this.lookahead,a=i.slice.text,u=i.type===Ie.TokenType.STRING,s=this.module,o=this.getLocation(),c=this.startNode(),p=s?this.parseModuleItem():this.parseStatementListItem();if(r)if(u&&"ExpressionStatement"===p.type&&"LiteralStringExpression"===p.expression.type){!n&&i.octal&&(n=this.createErrorWithLocation(o,"Unexpected legacy octal escape sequence: \\"+i.octal));var l=a.slice(1,-1);"use strict"===l&&(this.strict=!0),e.push(this.finishNode(new Le.Directive({rawValue:l}),c))}else{if(r=!1,n&&this.strict)throw n;t.push(p)}else t.push(p)}if(n&&this.strict)throw n;return{directives:e,statements:t}}},{key:"parseImportSpecifier",value:function(){var e=this.startNode(),t=void 0;if(this.matchIdentifier()){if(t=this.parseIdentifier(),!this.eatContextualKeyword("as"))return this.finishNode(new Le.ImportSpecifier({name:null,binding:this.finishNode(new Le.BindingIdentifier({name:t}),e)}),e)}else this.lookahead.type.klass.isIdentifierName&&(t=this.parseIdentifierName(),this.expectContextualKeyword("as"));return this.finishNode(new Le.ImportSpecifier({name:t,binding:this.parseBindingIdentifier()}),e)}},{key:"parseNameSpaceBinding",value:function(){return this.expect(Ie.TokenType.MUL),this.expectContextualKeyword("as"),this.parseBindingIdentifier()}},{key:"parseNamedImports",value:function(){var e=[];for(this.expect(Ie.TokenType.LBRACE);!this.eat(Ie.TokenType.RBRACE);)if(e.push(this.parseImportSpecifier()),!this.eat(Ie.TokenType.COMMA)){this.expect(Ie.TokenType.RBRACE);break}return e}},{key:"parseFromClause",value:function(){return this.expectContextualKeyword("from"),this.expect(Ie.TokenType.STRING).str}},{key:"parseImportDeclaration",value:function(){var e=this.startNode(),t=null,r=void 0;if(this.expect(Ie.TokenType.IMPORT),this.match(Ie.TokenType.STRING))return r=this.lex().str,this.consumeSemicolon(),this.finishNode(new Le.Import({defaultBinding:null,namedImports:[],moduleSpecifier:r}),e);if(this.matchIdentifier()&&(t=this.parseBindingIdentifier(),!this.eat(Ie.TokenType.COMMA))){var n=new Le.Import({defaultBinding:t,namedImports:[],moduleSpecifier:this.parseFromClause()});return this.consumeSemicolon(),this.finishNode(n,e)}if(this.match(Ie.TokenType.MUL)){var i=new Le.ImportNamespace({defaultBinding:t,namespaceBinding:this.parseNameSpaceBinding(),moduleSpecifier:this.parseFromClause()});return this.consumeSemicolon(),this.finishNode(i,e)}if(this.match(Ie.TokenType.LBRACE)){var a=new Le.Import({defaultBinding:t,namedImports:this.parseNamedImports(),moduleSpecifier:this.parseFromClause()});return this.consumeSemicolon(),this.finishNode(a,e)}throw this.createUnexpected(this.lookahead)}},{key:"parseExportSpecifier",value:function(){var e=this.startNode(),t=this.finishNode({type:"ExportNameOfUnknownType",isIdentifier:this.matchIdentifier(),value:this.parseIdentifierName()},e);if(this.eatContextualKeyword("as")){var r=this.parseIdentifierName();return this.finishNode({name:t,exportedName:r},e)}return this.finishNode({name:t,exportedName:null},e)}},{key:"parseExportClause",value:function(){this.expect(Ie.TokenType.LBRACE);for(var e=[];!this.eat(Ie.TokenType.RBRACE);)if(e.push(this.parseExportSpecifier()),!this.eat(Ie.TokenType.COMMA)){this.expect(Ie.TokenType.RBRACE);break}return e}},{key:"parseExportDeclaration",value:function(){var e=this,t=this.startNode(),r=void 0;switch(this.expect(Ie.TokenType.EXPORT),this.lookahead.type){case Ie.TokenType.MUL:this.lex(),r=new Le.ExportAllFrom({moduleSpecifier:this.parseFromClause()}),this.consumeSemicolon();break;case Ie.TokenType.LBRACE:var n=this.parseExportClause(),i=null;this.matchContextualKeyword("from")?(i=this.parseFromClause(),r=new Le.ExportFrom({namedExports:n.map((function(t){return e.copyNode(t,new Le.ExportFromSpecifier({name:t.name.value,exportedName:t.exportedName}))})),moduleSpecifier:i})):(n.forEach((function(t){if(!t.name.isIdentifier)throw e.createError(we.ErrorMessages.ILLEGAL_EXPORTED_NAME)})),r=new Le.ExportLocals({namedExports:n.map((function(t){return e.copyNode(t,new Le.ExportLocalSpecifier({name:e.copyNode(t.name,new Le.IdentifierExpression({name:t.name.value})),exportedName:t.exportedName}))}))})),this.consumeSemicolon();break;case Ie.TokenType.CLASS:r=new Le.Export({declaration:this.parseClass({isExpr:!1,inDefault:!1})});break;case Ie.TokenType.FUNCTION:r=new Le.Export({declaration:this.parseFunction({isExpr:!1,inDefault:!1,allowGenerator:!0,isAsync:!1})});break;case Ie.TokenType.ASYNC:var a=this.startNode();this.lex(),r=new Le.Export({declaration:this.parseFunction({isExpr:!1,inDefault:!1,allowGenerator:!0,isAsync:!0,startState:a})});break;case Ie.TokenType.DEFAULT:switch(this.lex(),this.lookahead.type){case Ie.TokenType.FUNCTION:r=new Le.ExportDefault({body:this.parseFunction({isExpr:!1,inDefault:!0,allowGenerator:!0,isAsync:!1})});break;case Ie.TokenType.CLASS:r=new Le.ExportDefault({body:this.parseClass({isExpr:!1,inDefault:!0})});break;case Ie.TokenType.ASYNC:var u=this.startNode(),s=this.saveLexerState();if(this.lex(),!this.hasLineTerminatorBeforeNext&&this.match(Ie.TokenType.FUNCTION)){r=new Le.ExportDefault({body:this.parseFunction({isExpr:!1,inDefault:!0,allowGenerator:!1,isAsync:!0,startState:u})});break}this.restoreLexerState(s);default:r=new Le.ExportDefault({body:this.parseAssignmentExpression()}),this.consumeSemicolon()}break;case Ie.TokenType.VAR:case Ie.TokenType.LET:case Ie.TokenType.CONST:r=new Le.Export({declaration:this.parseVariableDeclaration(!0)}),this.consumeSemicolon();break;default:throw this.createUnexpected(this.lookahead)}return this.finishNode(r,t)}},{key:"parseModuleItem",value:function(){switch(this.lookahead.type){case Ie.TokenType.IMPORT:return this.parseImportDeclaration();case Ie.TokenType.EXPORT:return this.parseExportDeclaration();default:return this.parseStatementListItem()}}},{key:"lookaheadLexicalDeclaration",value:function(){if(this.match(Ie.TokenType.LET)||this.match(Ie.TokenType.CONST)){var e=this.saveLexerState();if(this.lex(),this.matchIdentifier()||this.match(Ie.TokenType.LBRACE)||this.match(Ie.TokenType.LBRACK))return this.restoreLexerState(e),!0;this.restoreLexerState(e)}return!1}},{key:"parseStatementListItem",value:function(){if(this.eof())throw this.createUnexpected(this.lookahead);switch(this.lookahead.type){case Ie.TokenType.FUNCTION:return this.parseFunction({isExpr:!1,inDefault:!1,allowGenerator:!0,isAsync:!1});case Ie.TokenType.CLASS:return this.parseClass({isExpr:!1,inDefault:!1});case Ie.TokenType.ASYNC:var e=this.getLocation(),t=this.saveLexerState();return this.lex(),!this.hasLineTerminatorBeforeNext&&this.match(Ie.TokenType.FUNCTION)?this.parseFunction({isExpr:!1,inDefault:!1,allowGenerator:!0,isAsync:!0,startState:e}):(this.restoreLexerState(t),this.parseStatement());default:if(this.lookaheadLexicalDeclaration()){var r=this.startNode();return this.finishNode(this.parseVariableDeclarationStatement(),r)}return this.parseStatement()}}},{key:"parseStatement",value:function(){var e=this.startNode(),t=this.isolateCoverGrammar(this.parseStatementHelper);return this.finishNode(t,e)}},{key:"parseStatementHelper",value:function(){if(this.eof())throw this.createUnexpected(this.lookahead);switch(this.lookahead.type){case Ie.TokenType.SEMICOLON:return this.parseEmptyStatement();case Ie.TokenType.LBRACE:return this.parseBlockStatement();case Ie.TokenType.LPAREN:return this.parseExpressionStatement();case Ie.TokenType.BREAK:return this.parseBreakStatement();case Ie.TokenType.CONTINUE:return this.parseContinueStatement();case Ie.TokenType.DEBUGGER:return this.parseDebuggerStatement();case Ie.TokenType.DO:return this.parseDoWhileStatement();case Ie.TokenType.FOR:return this.parseForStatement();case Ie.TokenType.IF:return this.parseIfStatement();case Ie.TokenType.RETURN:return this.parseReturnStatement();case Ie.TokenType.SWITCH:return this.parseSwitchStatement();case Ie.TokenType.THROW:return this.parseThrowStatement();case Ie.TokenType.TRY:return this.parseTryStatement();case Ie.TokenType.VAR:return this.parseVariableDeclarationStatement();case Ie.TokenType.WHILE:return this.parseWhileStatement();case Ie.TokenType.WITH:return this.parseWithStatement();case Ie.TokenType.FUNCTION:case Ie.TokenType.CLASS:throw this.createUnexpected(this.lookahead);default:var e=this.saveLexerState();if(this.eat(Ie.TokenType.LET)){if(this.match(Ie.TokenType.LBRACK))throw this.restoreLexerState(e),this.createUnexpected(this.lookahead);this.restoreLexerState(e)}else if(this.eat(Ie.TokenType.ASYNC)){if(!this.hasLineTerminatorBeforeNext&&this.match(Ie.TokenType.FUNCTION))throw this.createUnexpected(this.lookahead);this.restoreLexerState(e)}var t=this.parseExpression();if("IdentifierExpression"===t.type&&this.eat(Ie.TokenType.COLON)){var r=this.match(Ie.TokenType.FUNCTION)?this.parseFunction({isExpr:!1,inDefault:!1,allowGenerator:!1,isAsync:!1}):this.parseStatement();return new Le.LabeledStatement({label:t.name,body:r})}return this.consumeSemicolon(),new Le.ExpressionStatement({expression:t})}}},{key:"parseEmptyStatement",value:function(){return this.lex(),new Le.EmptyStatement}},{key:"parseBlockStatement",value:function(){return new Le.BlockStatement({block:this.parseBlock()})}},{key:"parseExpressionStatement",value:function(){var e=this.parseExpression();return this.consumeSemicolon(),new Le.ExpressionStatement({expression:e})}},{key:"parseBreakStatement",value:function(){if(this.lex(),this.eat(Ie.TokenType.SEMICOLON)||this.hasLineTerminatorBeforeNext)return new Le.BreakStatement({label:null});var e=null;return this.matchIdentifier()&&(e=this.parseIdentifier()),this.consumeSemicolon(),new Le.BreakStatement({label:e})}},{key:"parseContinueStatement",value:function(){if(this.lex(),this.eat(Ie.TokenType.SEMICOLON)||this.hasLineTerminatorBeforeNext)return new Le.ContinueStatement({label:null});var e=null;return this.matchIdentifier()&&(e=this.parseIdentifier()),this.consumeSemicolon(),new Le.ContinueStatement({label:e})}},{key:"parseDebuggerStatement",value:function(){return this.lex(),this.consumeSemicolon(),new Le.DebuggerStatement}},{key:"parseDoWhileStatement",value:function(){this.lex();var e=this.parseStatement();this.expect(Ie.TokenType.WHILE),this.expect(Ie.TokenType.LPAREN);var t=this.parseExpression();return this.expect(Ie.TokenType.RPAREN),this.eat(Ie.TokenType.SEMICOLON),new Le.DoWhileStatement({body:e,test:t})}},{key:"parseForStatement",value:function(){this.lex();var e=this.allowAwaitExpression&&this.eat(Ie.TokenType.AWAIT);this.expect(Ie.TokenType.LPAREN);var t=null,r=null;if(e&&this.match(Ie.TokenType.SEMICOLON))throw this.createUnexpected(this.lookahead);if(this.eat(Ie.TokenType.SEMICOLON))return this.match(Ie.TokenType.SEMICOLON)||(t=this.parseExpression()),this.expect(Ie.TokenType.SEMICOLON),this.match(Ie.TokenType.RPAREN)||(r=this.parseExpression()),new Le.ForStatement({init:null,test:t,update:r,body:this.getIteratorStatementEpilogue()});var n=this.match(Ie.TokenType.LET),i=this.lookaheadLexicalDeclaration(),a=this.startNode();if(this.match(Ie.TokenType.VAR)||i){var u=this.allowIn;this.allowIn=!1;var s=this.parseVariableDeclaration(!1);if(this.allowIn=u,1===s.declarators.length&&(this.match(Ie.TokenType.IN)||this.matchContextualKeyword("of"))){var o=void 0,c=s.declarators[0];if(this.match(Ie.TokenType.IN)){if(e)throw this.createUnexpected(this.lookahead);if(null!==c.init&&(this.strict||"var"!==s.kind||"BindingIdentifier"!==c.binding.type))throw this.createError(we.ErrorMessages.INVALID_VAR_INIT_FOR_IN);o=Le.ForInStatement,this.lex(),r=this.parseExpression()}else{if(null!==c.init)throw this.createError(e?we.ErrorMessages.INVALID_VAR_INIT_FOR_AWAIT:we.ErrorMessages.INVALID_VAR_INIT_FOR_OF);o=e?Le.ForAwaitStatement:Le.ForOfStatement,this.lex(),r=this.parseAssignmentExpression()}return new o({left:s,right:r,body:this.getIteratorStatementEpilogue()})}if(e)throw this.createUnexpected(this.lookahead);if(this.expect(Ie.TokenType.SEMICOLON),s.declarators.some((function(e){return"BindingIdentifier"!==e.binding.type&&null===e.init})))throw this.createError(we.ErrorMessages.UNINITIALIZED_BINDINGPATTERN_IN_FOR_INIT);return this.match(Ie.TokenType.SEMICOLON)||(t=this.parseExpression()),this.expect(Ie.TokenType.SEMICOLON),this.match(Ie.TokenType.RPAREN)||(r=this.parseExpression()),new Le.ForStatement({init:s,test:t,update:r,body:this.getIteratorStatementEpilogue()})}var p=this.allowIn;this.allowIn=!1;var l=this.inheritCoverGrammar(this.parseAssignmentExpressionOrTarget);if(this.allowIn=p,this.isAssignmentTarget&&"AssignmentExpression"!==l.type&&(this.match(Ie.TokenType.IN)||this.matchContextualKeyword("of"))){if("ObjectAssignmentTarget"!==l.type&&"ArrayAssignmentTarget"!==l.type||(this.firstExprError=null),n&&this.matchContextualKeyword("of"))throw this.createError(e?we.ErrorMessages.INVALID_LHS_IN_FOR_AWAIT:we.ErrorMessages.INVALID_LHS_IN_FOR_OF);var d=void 0;if(this.match(Ie.TokenType.IN)){if(e)throw this.createUnexpected(this.lookahead);d=Le.ForInStatement,this.lex(),r=this.parseExpression()}else d=e?Le.ForAwaitStatement:Le.ForOfStatement,this.lex(),r=this.parseAssignmentExpression();return new d({left:this.transformDestructuring(l),right:r,body:this.getIteratorStatementEpilogue()})}if(e)throw this.createError(we.ErrorMessages.INVALID_LHS_IN_FOR_AWAIT);if(this.firstExprError)throw this.firstExprError;for(;this.eat(Ie.TokenType.COMMA);){var h=this.parseAssignmentExpression();l=this.finishNode(new Le.BinaryExpression({left:l,operator:",",right:h}),a)}if(this.match(Ie.TokenType.IN))throw this.createError(we.ErrorMessages.INVALID_LHS_IN_FOR_IN);if(this.matchContextualKeyword("of"))throw this.createError(we.ErrorMessages.INVALID_LHS_IN_FOR_OF);return this.expect(Ie.TokenType.SEMICOLON),this.match(Ie.TokenType.SEMICOLON)||(t=this.parseExpression()),this.expect(Ie.TokenType.SEMICOLON),this.match(Ie.TokenType.RPAREN)||(r=this.parseExpression()),new Le.ForStatement({init:l,test:t,update:r,body:this.getIteratorStatementEpilogue()})}},{key:"getIteratorStatementEpilogue",value:function(){return this.expect(Ie.TokenType.RPAREN),this.parseStatement()}},{key:"parseIfStatementChild",value:function(){return this.match(Ie.TokenType.FUNCTION)?this.parseFunction({isExpr:!1,inDefault:!1,allowGenerator:!1,isAsync:!1}):this.parseStatement()}},{key:"parseIfStatement",value:function(){this.lex(),this.expect(Ie.TokenType.LPAREN);var e=this.parseExpression();this.expect(Ie.TokenType.RPAREN);var t=this.parseIfStatementChild(),r=null;return this.eat(Ie.TokenType.ELSE)&&(r=this.parseIfStatementChild()),new Le.IfStatement({test:e,consequent:t,alternate:r})}},{key:"parseReturnStatement",value:function(){if(!this.inFunctionBody)throw this.createError(we.ErrorMessages.ILLEGAL_RETURN);if(this.lex(),this.eat(Ie.TokenType.SEMICOLON)||this.hasLineTerminatorBeforeNext)return new Le.ReturnStatement({expression:null});var e=null;return this.match(Ie.TokenType.RBRACE)||this.eof()||(e=this.parseExpression()),this.consumeSemicolon(),new Le.ReturnStatement({expression:e})}},{key:"parseSwitchStatement",value:function(){this.lex(),this.expect(Ie.TokenType.LPAREN);var e=this.parseExpression();if(this.expect(Ie.TokenType.RPAREN),this.expect(Ie.TokenType.LBRACE),this.eat(Ie.TokenType.RBRACE))return new Le.SwitchStatement({discriminant:e,cases:[]});var t=this.parseSwitchCases();if(this.match(Ie.TokenType.DEFAULT)){var r=this.parseSwitchDefault(),n=this.parseSwitchCases();if(this.match(Ie.TokenType.DEFAULT))throw this.createError(we.ErrorMessages.MULTIPLE_DEFAULTS_IN_SWITCH);return this.expect(Ie.TokenType.RBRACE),new Le.SwitchStatementWithDefault({discriminant:e,preDefaultCases:t,defaultCase:r,postDefaultCases:n})}return this.expect(Ie.TokenType.RBRACE),new Le.SwitchStatement({discriminant:e,cases:t})}},{key:"parseSwitchCases",value:function(){for(var e=[];!(this.eof()||this.match(Ie.TokenType.RBRACE)||this.match(Ie.TokenType.DEFAULT));)e.push(this.parseSwitchCase());return e}},{key:"parseSwitchCase",value:function(){var e=this.startNode();return this.expect(Ie.TokenType.CASE),this.finishNode(new Le.SwitchCase({test:this.parseExpression(),consequent:this.parseSwitchCaseBody()}),e)}},{key:"parseSwitchDefault",value:function(){var e=this.startNode();return this.expect(Ie.TokenType.DEFAULT),this.finishNode(new Le.SwitchDefault({consequent:this.parseSwitchCaseBody()}),e)}},{key:"parseSwitchCaseBody",value:function(){return this.expect(Ie.TokenType.COLON),this.parseStatementListInSwitchCaseBody()}},{key:"parseStatementListInSwitchCaseBody",value:function(){for(var e=[];!(this.eof()||this.match(Ie.TokenType.RBRACE)||this.match(Ie.TokenType.DEFAULT)||this.match(Ie.TokenType.CASE));)e.push(this.parseStatementListItem());return e}},{key:"parseThrowStatement",value:function(){var e=this.lex();if(this.hasLineTerminatorBeforeNext)throw this.createErrorWithLocation(e,we.ErrorMessages.NEWLINE_AFTER_THROW);var t=this.parseExpression();return this.consumeSemicolon(),new Le.ThrowStatement({expression:t})}},{key:"parseTryStatement",value:function(){this.lex();var e=this.parseBlock();if(this.match(Ie.TokenType.CATCH)){var t=this.parseCatchClause();if(this.eat(Ie.TokenType.FINALLY)){var r=this.parseBlock();return new Le.TryFinallyStatement({body:e,catchClause:t,finalizer:r})}return new Le.TryCatchStatement({body:e,catchClause:t})}if(this.eat(Ie.TokenType.FINALLY)){var n=this.parseBlock();return new Le.TryFinallyStatement({body:e,catchClause:null,finalizer:n})}throw this.createError(we.ErrorMessages.NO_CATCH_OR_FINALLY)}},{key:"parseVariableDeclarationStatement",value:function(){var e=this.parseVariableDeclaration(!0);return this.consumeSemicolon(),new Le.VariableDeclarationStatement({declaration:e})}},{key:"parseWhileStatement",value:function(){this.lex(),this.expect(Ie.TokenType.LPAREN);var e=this.parseExpression(),t=this.getIteratorStatementEpilogue();return new Le.WhileStatement({test:e,body:t})}},{key:"parseWithStatement",value:function(){this.lex(),this.expect(Ie.TokenType.LPAREN);var e=this.parseExpression();this.expect(Ie.TokenType.RPAREN);var t=this.parseStatement();return new Le.WithStatement({object:e,body:t})}},{key:"parseCatchClause",value:function(){var e=this.startNode();if(this.lex(),this.expect(Ie.TokenType.LPAREN),this.match(Ie.TokenType.RPAREN)||this.match(Ie.TokenType.LPAREN))throw this.createUnexpected(this.lookahead);var t=this.parseBindingTarget();this.expect(Ie.TokenType.RPAREN);var r=this.parseBlock();return this.finishNode(new Le.CatchClause({binding:t,body:r}),e)}},{key:"parseBlock",value:function(){var e=this.startNode();this.expect(Ie.TokenType.LBRACE);for(var t=[];!this.match(Ie.TokenType.RBRACE);)t.push(this.parseStatementListItem());return this.expect(Ie.TokenType.RBRACE),this.finishNode(new Le.Block({statements:t}),e)}},{key:"parseVariableDeclaration",value:function(e){var t=this.startNode(),r=this.lex(),n=r.type===Ie.TokenType.VAR?"var":r.type===Ie.TokenType.CONST?"const":"let",i=this.parseVariableDeclaratorList(e);return this.finishNode(new Le.VariableDeclaration({kind:n,declarators:i}),t)}},{key:"parseVariableDeclaratorList",value:function(e){var t=[];do{t.push(this.parseVariableDeclarator(e))}while(this.eat(Ie.TokenType.COMMA));return t}},{key:"parseVariableDeclarator",value:function(e){var t=this.startNode();if(this.match(Ie.TokenType.LPAREN))throw this.createUnexpected(this.lookahead);var r=this.allowIn;this.allowIn=!0;var n=this.parseBindingTarget();this.allowIn=r,e&&"BindingIdentifier"!==n.type&&!this.match(Ie.TokenType.ASSIGN)&&this.expect(Ie.TokenType.ASSIGN);var i=null;return this.eat(Ie.TokenType.ASSIGN)&&(i=this.parseAssignmentExpression()),this.finishNode(new Le.VariableDeclarator({binding:n,init:i}),t)}},{key:"isolateCoverGrammar",value:function(e){var t,r=this.isBindingElement,n=this.isAssignmentTarget,i=this.firstExprError;if(this.isBindingElement=this.isAssignmentTarget=!0,this.firstExprError=null,t=e.call(this),null!==this.firstExprError)throw this.firstExprError;return this.isBindingElement=r,this.isAssignmentTarget=n,this.firstExprError=i,t}},{key:"inheritCoverGrammar",value:function(e){var t,r=this.isBindingElement,n=this.isAssignmentTarget,i=this.firstExprError;return this.isBindingElement=this.isAssignmentTarget=!0,this.firstExprError=null,t=e.call(this),this.isBindingElement=this.isBindingElement&&r,this.isAssignmentTarget=this.isAssignmentTarget&&n,this.firstExprError=i||this.firstExprError,t}},{key:"parseExpression",value:function(){var e=this.startNode(),t=this.parseAssignmentExpression();if(this.match(Ie.TokenType.COMMA))for(;!this.eof()&&this.match(Ie.TokenType.COMMA);){this.lex();var r=this.parseAssignmentExpression();t=this.finishNode(new Le.BinaryExpression({left:t,operator:",",right:r}),e)}return t}},{key:"finishArrowParams",value:function(e){var t=e.params,r=void 0===t?null:t,n=e.rest,i=void 0===n?null:n;if(e.type!==Me){if("IdentifierExpression"!==e.type)throw this.createUnexpected(this.lookahead);r=[this.targetToBinding(this.transformDestructuring(e))]}return this.copyNode(e,new Le.FormalParameters({items:r,rest:i}))}},{key:"parseArrowExpressionTail",value:function(e,t,r){this.expect(Ie.TokenType.ARROW);var n=this.allowYieldExpression,i=this.allowAwaitExpression,a=this.firstAwaitLocation;this.allowYieldExpression=!1,this.allowAwaitExpression=t,this.firstAwaitLocation=null;var u=void 0;if(this.match(Ie.TokenType.LBRACE)){var s=this.allowIn;this.allowIn=!0,u=this.parseFunctionBody(),this.allowIn=s}else u=this.parseAssignmentExpression();return this.allowYieldExpression=n,this.allowAwaitExpression=i,this.firstAwaitLocation=a,this.finishNode(new Le.ArrowExpression({isAsync:t,params:e,body:u}),r)}},{key:"parseAssignmentExpression",value:function(){return this.isolateCoverGrammar(this.parseAssignmentExpressionOrTarget)}},{key:"parseAssignmentExpressionOrTarget",value:function(){var e=this.startNode();if(this.allowYieldExpression&&this.match(Ie.TokenType.YIELD))return this.isBindingElement=this.isAssignmentTarget=!1,this.parseYieldExpression();var t=this.parseConditionalExpression();if(!this.hasLineTerminatorBeforeNext&&this.match(Ie.TokenType.ARROW)){this.isBindingElement=this.isAssignmentTarget=!1,this.firstExprError=null;var r=t.type===Me&&t.isAsync;return this.parseArrowExpressionTail(this.finishArrowParams(t),r,e)}var n=!1,i=this.lookahead;switch(i.type){case Ie.TokenType.ASSIGN_BIT_OR:case Ie.TokenType.ASSIGN_BIT_XOR:case Ie.TokenType.ASSIGN_BIT_AND:case Ie.TokenType.ASSIGN_SHL:case Ie.TokenType.ASSIGN_SHR:case Ie.TokenType.ASSIGN_SHR_UNSIGNED:case Ie.TokenType.ASSIGN_ADD:case Ie.TokenType.ASSIGN_SUB:case Ie.TokenType.ASSIGN_MUL:case Ie.TokenType.ASSIGN_DIV:case Ie.TokenType.ASSIGN_MOD:case Ie.TokenType.ASSIGN_EXP:n=!0}if(n){if(!this.isAssignmentTarget||!He(t))throw this.createError(we.ErrorMessages.INVALID_LHS_IN_ASSIGNMENT);t=this.transformDestructuring(t)}else{if(i.type!==Ie.TokenType.ASSIGN)return t;if(!this.isAssignmentTarget)throw this.createError(we.ErrorMessages.INVALID_LHS_IN_ASSIGNMENT);t=this.transformDestructuring(t)}this.lex();var a=this.parseAssignmentExpression();this.firstExprError=null;var u=void 0;return i.type===Ie.TokenType.ASSIGN?u=new Le.AssignmentExpression({binding:t,expression:a}):(u=new Le.CompoundAssignmentExpression({binding:t,operator:i.type.name,expression:a}),this.isBindingElement=this.isAssignmentTarget=!1),this.finishNode(u,e)}},{key:"targetToBinding",value:function(e){var t=this;if(null===e)return null;switch(e.type){case"AssignmentTargetIdentifier":return this.copyNode(e,new Le.BindingIdentifier({name:e.name}));case"ArrayAssignmentTarget":return this.copyNode(e,new Le.ArrayBinding({elements:e.elements.map((function(e){return t.targetToBinding(e)})),rest:this.targetToBinding(e.rest)}));case"ObjectAssignmentTarget":return this.copyNode(e,new Le.ObjectBinding({properties:e.properties.map((function(e){return t.targetToBinding(e)})),rest:this.targetToBinding(e.rest)}));case"AssignmentTargetPropertyIdentifier":return this.copyNode(e,new Le.BindingPropertyIdentifier({binding:this.targetToBinding(e.binding),init:e.init}));case"AssignmentTargetPropertyProperty":return this.copyNode(e,new Le.BindingPropertyProperty({name:e.name,binding:this.targetToBinding(e.binding)}));case"AssignmentTargetWithDefault":return this.copyNode(e,new Le.BindingWithDefault({binding:this.targetToBinding(e.binding),init:e.init}))}throw new Error("Not reached")}},{key:"transformDestructuring",value:function(e){var t=this;switch(e.type){case"DataProperty":return this.copyNode(e,new Le.AssignmentTargetPropertyProperty({name:e.name,binding:this.transformDestructuringWithDefault(e.expression)}));case"ShorthandProperty":return this.copyNode(e,new Le.AssignmentTargetPropertyIdentifier({binding:this.copyNode(e,new Le.AssignmentTargetIdentifier({name:e.name.name})),init:null}));case"ObjectExpression":var r=e.properties.length>0?e.properties[e.properties.length-1]:void 0;return null!=r&&"SpreadProperty"===r.type?this.copyNode(e,new Le.ObjectAssignmentTarget({properties:e.properties.slice(0,-1).map((function(e){return e&&t.transformDestructuringWithDefault(e)})),rest:this.transformDestructuring(r.expression)})):this.copyNode(e,new Le.ObjectAssignmentTarget({properties:e.properties.map((function(e){return e&&t.transformDestructuringWithDefault(e)})),rest:null}));case"ArrayExpression":var n=e.elements[e.elements.length-1];return null!=n&&"SpreadElement"===n.type?this.copyNode(e,new Le.ArrayAssignmentTarget({elements:e.elements.slice(0,-1).map((function(e){return e&&t.transformDestructuringWithDefault(e)})),rest:this.copyNode(n.expression,this.transformDestructuring(n.expression))})):this.copyNode(e,new Le.ArrayAssignmentTarget({elements:e.elements.map((function(e){return e&&t.transformDestructuringWithDefault(e)})),rest:null}));case"IdentifierExpression":return this.copyNode(e,new Le.AssignmentTargetIdentifier({name:e.name}));case"StaticPropertyName":return this.copyNode(e,new Le.AssignmentTargetIdentifier({name:e.value}));case"ComputedMemberExpression":return this.copyNode(e,new Le.ComputedMemberAssignmentTarget({object:e.object,expression:e.expression}));case"StaticMemberExpression":return this.copyNode(e,new Le.StaticMemberAssignmentTarget({object:e.object,property:e.property}));case"ArrayAssignmentTarget":case"ObjectAssignmentTarget":case"ComputedMemberAssignmentTarget":case"StaticMemberAssignmentTarget":case"AssignmentTargetIdentifier":case"AssignmentTargetPropertyIdentifier":case"AssignmentTargetPropertyProperty":case"AssignmentTargetWithDefault":return e}throw new Error("Not reached")}},{key:"transformDestructuringWithDefault",value:function(e){return"AssignmentExpression"===e.type?this.copyNode(e,new Le.AssignmentTargetWithDefault({binding:this.transformDestructuring(e.binding),init:e.expression})):this.transformDestructuring(e)}},{key:"lookaheadAssignmentExpression",value:function(){if(this.matchIdentifier())return!0;switch(this.lookahead.type){case Ie.TokenType.ADD:case Ie.TokenType.ASSIGN_DIV:case Ie.TokenType.BIT_NOT:case Ie.TokenType.CLASS:case Ie.TokenType.DEC:case Ie.TokenType.DELETE:case Ie.TokenType.DIV:case Ie.TokenType.FALSE:case Ie.TokenType.FUNCTION:case Ie.TokenType.INC:case Ie.TokenType.LBRACE:case Ie.TokenType.LBRACK:case Ie.TokenType.LPAREN:case Ie.TokenType.NEW:case Ie.TokenType.NOT:case Ie.TokenType.NULL:case Ie.TokenType.NUMBER:case Ie.TokenType.STRING:case Ie.TokenType.SUB:case Ie.TokenType.SUPER:case Ie.TokenType.THIS:case Ie.TokenType.TRUE:case Ie.TokenType.TYPEOF:case Ie.TokenType.VOID:case Ie.TokenType.TEMPLATE:return!0}return!1}},{key:"parseYieldExpression",value:function(){var e=this.startNode();if(this.lex(),this.hasLineTerminatorBeforeNext)return this.finishNode(new Le.YieldExpression({expression:null}),e);var t=!!this.eat(Ie.TokenType.MUL),r=null;(t||this.lookaheadAssignmentExpression())&&(r=this.parseAssignmentExpression());var n=t?Le.YieldGeneratorExpression:Le.YieldExpression;return this.finishNode(new n({expression:r}),e)}},{key:"parseConditionalExpression",value:function(){var e=this.startNode(),t=this.parseBinaryExpression();if(this.firstExprError)return t;if(this.eat(Ie.TokenType.CONDITIONAL)){this.isBindingElement=this.isAssignmentTarget=!1;var r=this.allowIn;this.allowIn=!0;var n=this.isolateCoverGrammar(this.parseAssignmentExpression);this.allowIn=r,this.expect(Ie.TokenType.COLON);var i=this.isolateCoverGrammar(this.parseAssignmentExpression);return this.finishNode(new Le.ConditionalExpression({test:t,consequent:n,alternate:i}),e)}return t}},{key:"isBinaryOperator",value:function(e){switch(e){case Ie.TokenType.OR:case Ie.TokenType.AND:case Ie.TokenType.BIT_OR:case Ie.TokenType.BIT_XOR:case Ie.TokenType.BIT_AND:case Ie.TokenType.EQ:case Ie.TokenType.NE:case Ie.TokenType.EQ_STRICT:case Ie.TokenType.NE_STRICT:case Ie.TokenType.LT:case Ie.TokenType.GT:case Ie.TokenType.LTE:case Ie.TokenType.GTE:case Ie.TokenType.INSTANCEOF:case Ie.TokenType.SHL:case Ie.TokenType.SHR:case Ie.TokenType.SHR_UNSIGNED:case Ie.TokenType.ADD:case Ie.TokenType.SUB:case Ie.TokenType.MUL:case Ie.TokenType.DIV:case Ie.TokenType.MOD:return!0;case Ie.TokenType.IN:return this.allowIn;default:return!1}}},{key:"parseBinaryExpression",value:function(){var e=this,t=this.startNode(),r=this.parseExponentiationExpression();if(this.firstExprError)return r;var n=this.lookahead.type;if(!this.isBinaryOperator(n))return r;this.isBindingElement=this.isAssignmentTarget=!1,this.lex();var i=[];i.push({startState:t,left:r,operator:n,precedence:Ve[n.name]}),t=this.startNode();var a=this.isolateCoverGrammar(this.parseExponentiationExpression);for(n=this.lookahead.type;this.isBinaryOperator(n);){for(var u=Ve[n.name];i.length&&u<=i[i.length-1].precedence;){var s=i[i.length-1],o=s.operator;r=s.left,i.pop(),t=s.startState,a=this.finishNode(new Le.BinaryExpression({left:r,operator:o.name,right:a}),t)}this.lex(),i.push({startState:t,left:a,operator:n,precedence:u}),t=this.startNode(),a=this.isolateCoverGrammar(this.parseExponentiationExpression),n=this.lookahead.type}return i.reduceRight((function(t,r){return e.finishNode(new Le.BinaryExpression({left:r.left,operator:r.operator.name,right:t}),r.startState)}),a)}},{key:"parseExponentiationExpression",value:function(){var e=this.startNode(),t=this.lookahead.type===Ie.TokenType.LPAREN,r=this.parseUnaryExpression();if(this.lookahead.type!==Ie.TokenType.EXP)return r;if("UnaryExpression"===r.type&&!t)throw this.createError(we.ErrorMessages.INVALID_EXPONENTIATION_LHS);this.lex(),this.isBindingElement=this.isAssignmentTarget=!1;var n=this.isolateCoverGrammar(this.parseExponentiationExpression);return this.finishNode(new Le.BinaryExpression({left:r,operator:"**",right:n}),e)}},{key:"parseUnaryExpression",value:function(){if(this.lookahead.type.klass!==Ie.TokenClass.Punctuator&&this.lookahead.type.klass!==Ie.TokenClass.Keyword)return this.parseUpdateExpression();var e=this.startNode();if(this.allowAwaitExpression&&this.eat(Ie.TokenType.AWAIT)){this.isBindingElement=this.isAssignmentTarget=!1;var t=this.isolateCoverGrammar(this.parseUnaryExpression);return this.finishNode(new Le.AwaitExpression({expression:t}),e)}var r=this.lookahead;if(!function(e){switch(e.type){case Ie.TokenType.INC:case Ie.TokenType.DEC:case Ie.TokenType.ADD:case Ie.TokenType.SUB:case Ie.TokenType.BIT_NOT:case Ie.TokenType.NOT:case Ie.TokenType.DELETE:case Ie.TokenType.VOID:case Ie.TokenType.TYPEOF:return!0}return!1}(r))return this.parseUpdateExpression();this.lex(),this.isBindingElement=this.isAssignmentTarget=!1;var n=void 0;if(Ke(r)){var i=this.getLocation(),a=this.isolateCoverGrammar(this.parseUnaryExpression);if(!He(a))throw this.createErrorWithLocation(i,we.ErrorMessages.INVALID_UPDATE_OPERAND);a=this.transformDestructuring(a),n=new Le.UpdateExpression({isPrefix:!0,operator:r.value,operand:a})}else{var u=this.isolateCoverGrammar(this.parseUnaryExpression);n=new Le.UnaryExpression({operator:r.value,operand:u})}return this.finishNode(n,e)}},{key:"parseUpdateExpression",value:function(){var e=this.getLocation(),t=this.startNode(),r=this.parseLeftHandSideExpression({allowCall:!0});if(this.firstExprError||this.hasLineTerminatorBeforeNext)return r;var n=this.lookahead;if(!Ke(n))return r;if(this.lex(),this.isBindingElement=this.isAssignmentTarget=!1,!He(r))throw this.createErrorWithLocation(e,we.ErrorMessages.INVALID_UPDATE_OPERAND);return r=this.transformDestructuring(r),this.finishNode(new Le.UpdateExpression({isPrefix:!1,operator:n.value,operand:r}),t)}},{key:"parseLeftHandSideExpression",value:function(e){var t=this,r=e.allowCall,n=this.startNode(),i=this.allowIn;this.allowIn=!0;var a=void 0,u=this.lookahead;if(this.eat(Ie.TokenType.SUPER))if(this.isBindingElement=!1,this.isAssignmentTarget=!1,a=this.finishNode(new Le.Super,n),this.match(Ie.TokenType.LPAREN)){if(!r)throw this.createUnexpected(u);a=this.finishNode(new Le.CallExpression({callee:a,arguments:this.parseArgumentList().args}),n)}else if(this.match(Ie.TokenType.LBRACK))a=this.finishNode(new Le.ComputedMemberExpression({object:a,expression:this.parseComputedMember()}),n),this.isAssignmentTarget=!0;else{if(!this.match(Ie.TokenType.PERIOD))throw this.createUnexpected(u);a=this.finishNode(new Le.StaticMemberExpression({object:a,property:this.parseStaticMember()}),n),this.isAssignmentTarget=!0}else if(this.match(Ie.TokenType.NEW))this.isBindingElement=this.isAssignmentTarget=!1,a=this.parseNewExpression();else if(this.match(Ie.TokenType.ASYNC)){if("IdentifierExpression"===(a=this.parsePrimaryExpression()).type&&r&&!this.hasLineTerminatorBeforeNext){if(this.matchIdentifier()){var s=this.startNode(),o=this.allowAwaitExpression;this.allowAwaitExpression=!0;var c=this.parseBindingIdentifier();return this.allowAwaitExpression=o,this.ensureArrow(),this.finishNode({type:Me,params:[c],rest:null,isAsync:!0},s)}if(this.match(Ie.TokenType.LPAREN)){var p=this.startNode(),l=this.firstAwaitLocation;this.firstAwaitLocation=null;var d=this.parseArgumentList(),h=d.args,f=d.locationFollowingFirstSpread;if(this.isBindingElement&&!this.hasLineTerminatorBeforeNext&&this.match(Ie.TokenType.ARROW)){if(null!==f)throw this.createErrorWithLocation(f,we.ErrorMessages.UNEXPECTED_TOKEN(","));if(null!==this.firstAwaitLocation)throw this.createErrorWithLocation(this.firstAwaitLocation,we.ErrorMessages.NO_AWAIT_IN_ASYNC_PARAMS);var m=null;if(h.length>0&&"SpreadElement"===h[h.length-1].type){if(null!=(m=this.targetToBinding(this.transformDestructuringWithDefault(h[h.length-1].expression))).init)throw this.createError(we.ErrorMessages.UNEXPECTED_REST_PARAMETERS_INITIALIZATION);h=h.slice(0,-1)}var y=h.map((function(e){return t.targetToBinding(t.transformDestructuringWithDefault(e))}));return this.finishNode({type:Me,params:y,rest:m,isAsync:!0},p)}this.firstAwaitLocation=l||this.firstAwaitLocation,this.isBindingElement=this.isAssignmentTarget=!1,a=this.finishNode(new Le.CallExpression({callee:a,arguments:h}),n)}}}else if(a=this.parsePrimaryExpression(),this.firstExprError)return a;for(;;)if(r&&this.match(Ie.TokenType.LPAREN))this.isBindingElement=this.isAssignmentTarget=!1,a=this.finishNode(new Le.CallExpression({callee:a,arguments:this.parseArgumentList().args}),n);else if(this.match(Ie.TokenType.LBRACK))this.isBindingElement=!1,this.isAssignmentTarget=!0,a=this.finishNode(new Le.ComputedMemberExpression({object:a,expression:this.parseComputedMember()}),n);else if(this.match(Ie.TokenType.PERIOD))this.isBindingElement=!1,this.isAssignmentTarget=!0,a=this.finishNode(new Le.StaticMemberExpression({object:a,property:this.parseStaticMember()}),n);else{if(!this.match(Ie.TokenType.TEMPLATE))break;this.isBindingElement=this.isAssignmentTarget=!1,a=this.finishNode(new Le.TemplateExpression({tag:a,elements:this.parseTemplateElements()}),n)}return this.allowIn=i,a}},{key:"parseTemplateElements",value:function(){var e=this.startNode(),t=this.lookahead;if(t.tail)return this.lex(),[this.finishNode(new Le.TemplateElement({rawValue:t.slice.text.slice(1,-1)}),e)];for(var r=[this.finishNode(new Le.TemplateElement({rawValue:this.lex().slice.text.slice(1,-2)}),e)];;){if(r.push(this.parseExpression()),!this.match(Ie.TokenType.RBRACE))throw this.createILLEGAL();if(this.index=this.startIndex,this.line=this.startLine,this.lineStart=this.startLineStart,this.lookahead=this.scanTemplateElement(),e=this.startNode(),(t=this.lex()).tail)return r.push(this.finishNode(new Le.TemplateElement({rawValue:t.slice.text.slice(1,-1)}),e)),r;r.push(this.finishNode(new Le.TemplateElement({rawValue:t.slice.text.slice(1,-2)}),e))}}},{key:"parseStaticMember",value:function(){if(this.lex(),this.lookahead.type.klass.isIdentifierName)return this.lex().value;throw this.createUnexpected(this.lookahead)}},{key:"parseComputedMember",value:function(){this.lex();var e=this.parseExpression();return this.expect(Ie.TokenType.RBRACK),e}},{key:"parseNewExpression",value:function(){var e=this,t=this.startNode();if(this.lex(),this.eat(Ie.TokenType.PERIOD))return this.expectContextualKeyword("target"),this.finishNode(new Le.NewTargetExpression,t);var r=this.isolateCoverGrammar((function(){return e.parseLeftHandSideExpression({allowCall:!1})}));return this.finishNode(new Le.NewExpression({callee:r,arguments:this.match(Ie.TokenType.LPAREN)?this.parseArgumentList().args:[]}),t)}},{key:"parseRegexFlags",value:function(e){for(var t=!1,r=!1,n=!1,i=!1,a=!1,u=!1,s=0;s<e.length;++s){var o=e[s];switch(o){case"g":if(t)throw this.createError("Duplicate regular expression flag 'g'");t=!0;break;case"i":if(r)throw this.createError("Duplicate regular expression flag 'i'");r=!0;break;case"m":if(n)throw this.createError("Duplicate regular expression flag 'm'");n=!0;break;case"u":if(i)throw this.createError("Duplicate regular expression flag 'u'");i=!0;break;case"y":if(a)throw this.createError("Duplicate regular expression flag 'y'");a=!0;break;case"s":if(u)throw this.createError("Duplicate regular expression flag 's'");u=!0;break;default:throw this.createError("Invalid regular expression flag '"+o+"'")}}return{global:t,ignoreCase:r,multiLine:n,unicode:i,sticky:a,dotAll:u}}},{key:"parsePrimaryExpression",value:function(){if(this.match(Ie.TokenType.LPAREN))return this.parseGroupExpression();var e=this.startNode();if(this.eat(Ie.TokenType.ASYNC))return!this.hasLineTerminatorBeforeNext&&this.match(Ie.TokenType.FUNCTION)?(this.isBindingElement=this.isAssignmentTarget=!1,this.finishNode(this.parseFunction({isExpr:!0,inDefault:!1,allowGenerator:!0,isAsync:!0}),e)):this.finishNode(new Le.IdentifierExpression({name:"async"}),e);if(this.matchIdentifier())return this.finishNode(new Le.IdentifierExpression({name:this.parseIdentifier()}),e);switch(this.lookahead.type){case Ie.TokenType.STRING:return this.isBindingElement=this.isAssignmentTarget=!1,this.parseStringLiteral();case Ie.TokenType.NUMBER:return this.isBindingElement=this.isAssignmentTarget=!1,this.parseNumericLiteral();case Ie.TokenType.THIS:return this.lex(),this.isBindingElement=this.isAssignmentTarget=!1,this.finishNode(new Le.ThisExpression,e);case Ie.TokenType.FUNCTION:return this.isBindingElement=this.isAssignmentTarget=!1,this.finishNode(this.parseFunction({isExpr:!0,inDefault:!1,allowGenerator:!0,isAsync:!1}),e);case Ie.TokenType.TRUE:return this.lex(),this.isBindingElement=this.isAssignmentTarget=!1,this.finishNode(new Le.LiteralBooleanExpression({value:!0}),e);case Ie.TokenType.FALSE:return this.lex(),this.isBindingElement=this.isAssignmentTarget=!1,this.finishNode(new Le.LiteralBooleanExpression({value:!1}),e);case Ie.TokenType.NULL:return this.lex(),this.isBindingElement=this.isAssignmentTarget=!1,this.finishNode(new Le.LiteralNullExpression,e);case Ie.TokenType.LBRACK:return this.parseArrayExpression();case Ie.TokenType.LBRACE:return this.parseObjectExpression();case Ie.TokenType.TEMPLATE:return this.isBindingElement=this.isAssignmentTarget=!1,this.finishNode(new Le.TemplateExpression({tag:null,elements:this.parseTemplateElements()}),e);case Ie.TokenType.DIV:case Ie.TokenType.ASSIGN_DIV:this.isBindingElement=this.isAssignmentTarget=!1,this.lookahead=this.scanRegExp(this.match(Ie.TokenType.DIV)?"/":"/=");var t=this.lex(),r=t.value.lastIndexOf("/"),n=t.value.slice(1,r),i=t.value.slice(r+1),a=this.parseRegexFlags(i);if(!(0,Ne.default)(n,a))throw this.createError(we.ErrorMessages.INVALID_REGEX);return a.pattern=n,this.finishNode(new Le.LiteralRegExpExpression(a),e);case Ie.TokenType.CLASS:return this.isBindingElement=this.isAssignmentTarget=!1,this.parseClass({isExpr:!0,inDefault:!1});default:throw this.createUnexpected(this.lookahead)}}},{key:"parseNumericLiteral",value:function(){var e=this.getLocation(),t=this.startNode(),r=this.lex();if(r.octal&&this.strict)throw r.noctal?this.createErrorWithLocation(e,"Unexpected noctal integer literal"):this.createErrorWithLocation(e,"Unexpected legacy octal integer literal");var n=r.value===1/0?new Le.LiteralInfinityExpression:new Le.LiteralNumericExpression({value:r.value});return this.finishNode(n,t)}},{key:"parseStringLiteral",value:function(){var e=this.getLocation(),t=this.startNode(),r=this.lex();if(null!=r.octal&&this.strict)throw this.createErrorWithLocation(e,"Unexpected legacy octal escape sequence: \\"+r.octal);return this.finishNode(new Le.LiteralStringExpression({value:r.str}),t)}},{key:"parseIdentifierName",value:function(){if(this.lookahead.type.klass.isIdentifierName)return this.lex().value;throw this.createUnexpected(this.lookahead)}},{key:"parseBindingIdentifier",value:function(){var e=this.startNode();return this.finishNode(new Le.BindingIdentifier({name:this.parseIdentifier()}),e)}},{key:"parseIdentifier",value:function(){if("yield"===this.lookahead.value&&this.allowYieldExpression)throw this.createError(we.ErrorMessages.ILLEGAL_YIELD_IDENTIFIER);if("await"===this.lookahead.value&&this.allowAwaitExpression)throw this.createError(we.ErrorMessages.ILLEGAL_AWAIT_IDENTIFIER);if(this.matchIdentifier())return this.lex().value;throw this.createUnexpected(this.lookahead)}},{key:"parseArgumentList",value:function(){this.lex();var e=this.parseArguments();return this.expect(Ie.TokenType.RPAREN),e}},{key:"parseArguments",value:function(){for(var e=[],t=null;!this.match(Ie.TokenType.RPAREN);){var r=void 0,n=this.startNode();if(this.eat(Ie.TokenType.ELLIPSIS)){if(r=this.finishNode(new Le.SpreadElement({expression:this.inheritCoverGrammar(this.parseAssignmentExpressionOrTarget)}),n),null===t){if(e.push(r),this.match(Ie.TokenType.RPAREN))break;t=this.getLocation(),this.expect(Ie.TokenType.COMMA);continue}}else r=this.inheritCoverGrammar(this.parseAssignmentExpressionOrTarget);if(e.push(r),this.match(Ie.TokenType.RPAREN))break;this.expect(Ie.TokenType.COMMA)}return{args:e,locationFollowingFirstSpread:t}}},{key:"ensureArrow",value:function(){if(this.hasLineTerminatorBeforeNext)throw this.createError(we.ErrorMessages.UNEXPECTED_LINE_TERMINATOR);this.match(Ie.TokenType.ARROW)||this.expect(Ie.TokenType.ARROW)}},{key:"parseGroupExpression",value:function(){var e=null,t=this.startNode(),r=this.expect(Ie.TokenType.LPAREN),n=this.startNode();if(this.match(Ie.TokenType.RPAREN)){this.lex();var i=this.finishNode({type:Me,params:[],rest:null,isAsync:!1},t);return this.ensureArrow(),this.isBindingElement=this.isAssignmentTarget=!1,i}if(this.eat(Ie.TokenType.ELLIPSIS)){if(e=this.parseBindingTarget(),this.match(Ie.TokenType.ASSIGN))throw this.createError(we.ErrorMessages.INVALID_REST_PARAMETERS_INITIALIZATION);if(this.match(Ie.TokenType.COMMA))throw this.createError(we.ErrorMessages.INVALID_LAST_REST_PARAMETER);this.expect(Ie.TokenType.RPAREN);var a=this.finishNode({type:Me,params:[],rest:e,isAsync:!1},t);return this.ensureArrow(),this.isBindingElement=this.isAssignmentTarget=!1,a}for(var u=this.inheritCoverGrammar(this.parseAssignmentExpressionOrTarget),s=this.isBindingElement?[this.targetToBinding(this.transformDestructuringWithDefault(u))]:null;this.eat(Ie.TokenType.COMMA);){if(this.match(Ie.TokenType.RPAREN)){if(!this.isBindingElement)throw this.createUnexpected(this.lookahead);this.firstExprError=this.firstExprError||this.createUnexpected(this.lookahead),u=null;break}if(this.isAssignmentTarget=!1,this.match(Ie.TokenType.ELLIPSIS)){if(!this.isBindingElement)throw this.createUnexpected(this.lookahead);if(this.lex(),e=this.parseBindingTarget(),this.match(Ie.TokenType.ASSIGN))throw this.createError(we.ErrorMessages.INVALID_REST_PARAMETERS_INITIALIZATION);if(this.match(Ie.TokenType.COMMA))throw this.createError(we.ErrorMessages.INVALID_LAST_REST_PARAMETER);break}if(u){var o=this.inheritCoverGrammar(this.parseAssignmentExpressionOrTarget);this.isBindingElement?s.push(this.targetToBinding(this.transformDestructuringWithDefault(o))):s=null,u=this.firstExprError?null:this.finishNode(new Le.BinaryExpression({left:u,operator:",",right:o}),n)}else{var c=this.parseBindingElement();s.push(c)}}if(this.expect(Ie.TokenType.RPAREN),!this.hasLineTerminatorBeforeNext&&this.match(Ie.TokenType.ARROW)){if(!this.isBindingElement)throw this.createErrorWithLocation(r,we.ErrorMessages.ILLEGAL_ARROW_FUNCTION_PARAMS);return this.isBindingElement=!1,this.finishNode({type:Me,params:s,rest:e,isAsync:!1},t)}return e&&this.ensureArrow(),this.isBindingElement=!1,He(u)||(this.isAssignmentTarget=!1),u}},{key:"parseArrayExpression",value:function(){var e=this,t=this.getLocation(),r=this.startNode();this.lex();for(var n=[],i=null;!this.match(Ie.TokenType.RBRACK);)if(this.eat(Ie.TokenType.COMMA))n.push(null);else{var a=this.startNode(),u=void 0;if(this.eat(Ie.TokenType.ELLIPSIS)){if(u=this.inheritCoverGrammar(this.parseAssignmentExpressionOrTarget),!this.isAssignmentTarget&&this.firstExprError)throw this.firstExprError;if("ArrayAssignmentTarget"===u.type||"ObjectAssignmentTarget"===u.type){i=u;break}"ArrayExpression"===u.type||"ObjectExpression"===u.type||He(u)||(this.isBindingElement=this.isAssignmentTarget=!1),u=this.finishNode(new Le.SpreadElement({expression:u}),a),this.match(Ie.TokenType.RBRACK)||(this.isBindingElement=this.isAssignmentTarget=!1)}else if(u=this.inheritCoverGrammar(this.parseAssignmentExpressionOrTarget),!this.isAssignmentTarget&&this.firstExprError)throw this.firstExprError;n.push(u),this.match(Ie.TokenType.RBRACK)||this.expect(Ie.TokenType.COMMA)}if(i&&this.match(Ie.TokenType.COMMA))throw this.createErrorWithLocation(t,we.ErrorMessages.UNEXPECTED_COMMA_AFTER_REST);if(this.expect(Ie.TokenType.RBRACK),i)return this.finishNode(new Le.ArrayAssignmentTarget({elements:n.map((function(t){return t&&e.transformDestructuringWithDefault(t)})),rest:i}),r);if(this.firstExprError){var s=n[n.length-1];return null!=s&&"SpreadElement"===s.type?this.finishNode(new Le.ArrayAssignmentTarget({elements:n.slice(0,-1).map((function(t){return t&&e.transformDestructuringWithDefault(t)})),rest:this.transformDestructuring(s.expression)}),r):this.finishNode(new Le.ArrayAssignmentTarget({elements:n.map((function(t){return t&&e.transformDestructuringWithDefault(t)})),rest:null}),r)}return this.finishNode(new Le.ArrayExpression({elements:n}),r)}},{key:"parseObjectExpression",value:function(){var e=this,t=this.startNode();this.lex();for(var r=[];!this.match(Ie.TokenType.RBRACE);){var n=!1;if(this.match(Ie.TokenType.ELLIPSIS)){n=!0;var i=this.parseSpreadPropertyDefinition();r.push(i)}else{var a=this.inheritCoverGrammar(this.parsePropertyDefinition);r.push(a)}this.match(Ie.TokenType.RBRACE)||(this.expect(Ie.TokenType.COMMA),n&&(this.isBindingElement=this.isAssignmentTarget=!1))}if(this.expect(Ie.TokenType.RBRACE),this.firstExprError){if(!this.isAssignmentTarget)throw this.createError(we.ErrorMessages.INVALID_LHS_IN_BINDING);var u=r[r.length-1];return null!=u&&"SpreadProperty"===u.type?this.finishNode(new Le.ObjectAssignmentTarget({properties:r.slice(0,-1).map((function(t){return e.transformDestructuringWithDefault(t)})),rest:this.transformDestructuring(u.expression)}),t):this.finishNode(new Le.ObjectAssignmentTarget({properties:r.map((function(t){return e.transformDestructuringWithDefault(t)})),rest:null}),t)}return this.finishNode(new Le.ObjectExpression({properties:r}),t)}},{key:"parseSpreadPropertyDefinition",value:function(){var e=this.startNode();this.expect(Ie.TokenType.ELLIPSIS);var t=this.parseAssignmentExpression();return He(t)?"IdentifierExpression"!==t.type&&(this.isBindingElement=!1):this.isBindingElement=this.isAssignmentTarget=!1,this.finishNode(new Le.SpreadProperty({expression:t}),e)}},{key:"parsePropertyDefinition",value:function(){var e=this.getLocation(),t=this.startNode(),r=this.lookahead,n=this.parseMethodDefinition(),i=n.methodOrKey;switch(n.kind){case"method":return this.isBindingElement=this.isAssignmentTarget=!1,i;case"identifier":if("await"===r.value&&null==this.firstAwaitLocation&&(this.firstAwaitLocation=this.getLocation()),this.eat(Ie.TokenType.ASSIGN)){if(this.allowYieldExpression&&"yield"===r.value)throw this.createError(we.ErrorMessages.ILLEGAL_YIELD_IDENTIFIER);if(this.allowAwaitExpression&&"await"===r.value)throw this.createError(we.ErrorMessages.ILLEGAL_AWAIT_IDENTIFIER);var a=this.isolateCoverGrammar(this.parseAssignmentExpression);return this.firstExprError=this.createErrorWithLocation(e,we.ErrorMessages.ILLEGAL_PROPERTY),this.finishNode(new Le.AssignmentTargetPropertyIdentifier({binding:this.transformDestructuring(i),init:a}),t)}if(!this.match(Ie.TokenType.COLON)){if(this.allowYieldExpression&&"yield"===r.value)throw this.createError(we.ErrorMessages.ILLEGAL_YIELD_IDENTIFIER);if(this.allowAwaitExpression&&"await"===r.value)throw this.createError(we.ErrorMessages.ILLEGAL_AWAIT_IDENTIFIER);if(r.type===Ie.TokenType.IDENTIFIER||"let"===r.value||"yield"===r.value||"async"===r.value||"await"===r.value)return this.finishNode(new Le.ShorthandProperty({name:this.finishNode(new Le.IdentifierExpression({name:i.value}),t)}),t);throw this.createUnexpected(r)}}this.expect(Ie.TokenType.COLON);var u=this.inheritCoverGrammar(this.parseAssignmentExpressionOrTarget);return this.firstExprError?this.finishNode(new Le.AssignmentTargetPropertyProperty({name:i,binding:u}),t):this.finishNode(new Le.DataProperty({name:i,expression:u}),t)}},{key:"parsePropertyName",value:function(){var e=this.lookahead,t=this.startNode();if(this.eof())throw this.createUnexpected(e);switch(e.type){case Ie.TokenType.STRING:return{name:this.finishNode(new Le.StaticPropertyName({value:this.parseStringLiteral().value}),t),binding:null};case Ie.TokenType.NUMBER:var r=this.parseNumericLiteral();return{name:this.finishNode(new Le.StaticPropertyName({value:""+("LiteralInfinityExpression"===r.type?1/0:r.value)}),t),binding:null};case Ie.TokenType.LBRACK:this.lex();var n=this.parseAssignmentExpression();return this.expect(Ie.TokenType.RBRACK),{name:this.finishNode(new Le.ComputedPropertyName({expression:n}),t),binding:null}}var i=this.parseIdentifierName();return{name:this.finishNode(new Le.StaticPropertyName({value:i}),t),binding:this.finishNode(new Le.BindingIdentifier({name:i}),t)}}},{key:"lookaheadPropertyName",value:function(){switch(this.lookahead.type){case Ie.TokenType.NUMBER:case Ie.TokenType.STRING:case Ie.TokenType.LBRACK:return!0;default:return this.lookahead.type.klass.isIdentifierName}}},{key:"parseMethodDefinition",value:function(){var e=this.lookahead,t=this.startNode(),r=this.saveLexerState(),n=!!this.eat(Ie.TokenType.ASYNC);n&&this.hasLineTerminatorBeforeNext&&(n=!1,this.restoreLexerState(r));var i=!!this.eat(Ie.TokenType.MUL);n&&!this.lookaheadPropertyName()&&(n=!1,i=!1,this.restoreLexerState(r));var a=this.parsePropertyName().name;if(!i&&!n&&e.type===Ie.TokenType.IDENTIFIER&&3===e.value.length){if("get"===e.value&&this.lookaheadPropertyName()&&!e.escaped){a=this.parsePropertyName().name,this.expect(Ie.TokenType.LPAREN),this.expect(Ie.TokenType.RPAREN);var u=this.allowYieldExpression,s=this.allowAwaitExpression,o=this.firstAwaitLocation;this.allowYieldExpression=!1,this.allowAwaitExpression=!1,this.firstAwaitLocation=null;var c=this.parseFunctionBody();return this.allowYieldExpression=u,this.allowAwaitExpression=s,this.firstAwaitLocation=o,{methodOrKey:this.finishNode(new Le.Getter({name:a,body:c}),t),kind:"method"}}if("set"===e.value&&this.lookaheadPropertyName()&&!e.escaped){a=this.parsePropertyName().name,this.expect(Ie.TokenType.LPAREN);var p=this.allowYieldExpression,l=this.allowAwaitExpression,d=this.firstAwaitLocation;this.allowYieldExpression=!1,this.allowAwaitExpression=!1,this.firstAwaitLocation=null;var h=this.parseBindingElement();this.expect(Ie.TokenType.RPAREN);var f=this.parseFunctionBody();return this.allowYieldExpression=p,this.allowAwaitExpression=l,this.firstAwaitLocation=d,{methodOrKey:this.finishNode(new Le.Setter({name:a,param:h,body:f}),t),kind:"method"}}}if(n){var m=this.allowYieldExpression,y=this.allowAwaitExpression;this.allowYieldExpression=i,this.allowAwaitExpression=!0;var E=this.parseParams();this.allowYieldExpression=i,this.allowAwaitExpression=!0;var D=this.parseFunctionBody();return this.allowYieldExpression=m,this.allowAwaitExpression=y,{methodOrKey:this.finishNode(new Le.Method({isAsync:n,isGenerator:i,name:a,params:E,body:D}),t),kind:"method"}}if(this.match(Ie.TokenType.LPAREN)){var g=this.allowYieldExpression,v=this.allowAwaitExpression,A=this.firstAwaitLocation;this.allowYieldExpression=i,this.allowAwaitExpression=!1,this.firstAwaitLocation=null;var x=this.parseParams(),C=this.parseFunctionBody();return this.allowYieldExpression=g,this.allowAwaitExpression=v,this.firstAwaitLocation=A,{methodOrKey:this.finishNode(new Le.Method({isAsync:n,isGenerator:i,name:a,params:x,body:C}),t),kind:"method"}}if(i&&this.match(Ie.TokenType.COLON))throw this.createUnexpected(this.lookahead);return{methodOrKey:a,kind:e.type.klass.isIdentifierName?"identifier":"property",escaped:e.escaped}}},{key:"parseClass",value:function(e){var t=this,r=e.isExpr,n=e.inDefault,i=this.startNode();this.lex();var a=null,u=null;if(this.matchIdentifier())a=this.parseBindingIdentifier();else if(!r){if(!n)throw this.createUnexpected(this.lookahead);a=new Le.BindingIdentifier({name:"*default*"})}this.eat(Ie.TokenType.EXTENDS)&&(u=this.isolateCoverGrammar((function(){return t.parseLeftHandSideExpression({allowCall:!0})}))),this.expect(Ie.TokenType.LBRACE);for(var s=[];!this.eat(Ie.TokenType.RBRACE);)if(!this.eat(Ie.TokenType.SEMICOLON)){var o=!1,c=this.startNode(),p=this.parseMethodDefinition(),l=p.methodOrKey,d=p.kind,h=p.escaped;if("identifier"===d&&"static"===l.value&&!h){o=!0;var f=this.parseMethodDefinition();l=f.methodOrKey,d=f.kind}if("method"!==d)throw this.createError("Only methods are allowed in classes");s.push(this.finishNode(new Le.ClassElement({isStatic:o,method:l}),c))}return this.finishNode(new(r?Le.ClassExpression:Le.ClassDeclaration)({name:a,super:u,elements:s}),i)}},{key:"parseFunction",value:function(e){var t=e.isExpr,r=e.inDefault,n=e.allowGenerator,i=e.isAsync,a=e.startState,u=void 0===a?this.startNode():a;this.lex();var s=null,o=n&&!!this.eat(Ie.TokenType.MUL),c=this.allowYieldExpression,p=this.allowAwaitExpression,l=this.firstAwaitLocation;if(t&&(this.allowYieldExpression=o,this.allowAwaitExpression=i),this.match(Ie.TokenType.LPAREN)){if(!t){if(!r)throw this.createUnexpected(this.lookahead);s=new Le.BindingIdentifier({name:"*default*"})}}else s=this.parseBindingIdentifier();this.allowYieldExpression=o,this.allowAwaitExpression=i,this.firstAwaitLocation=null;var d=this.parseParams(),h=this.parseFunctionBody();return this.allowYieldExpression=c,this.allowAwaitExpression=p,this.firstAwaitLocation=l,this.finishNode(new(t?Le.FunctionExpression:Le.FunctionDeclaration)({isAsync:i,isGenerator:o,name:s,params:d,body:h}),u)}},{key:"parseArrayBinding",value:function(){var e=this.startNode();this.expect(Ie.TokenType.LBRACK);for(var t=[],r=null;!this.match(Ie.TokenType.RBRACK);){var n=void 0;if(this.eat(Ie.TokenType.COMMA))n=null;else{if(this.eat(Ie.TokenType.ELLIPSIS)){r=this.parseBindingTarget();break}n=this.parseBindingElement(),this.match(Ie.TokenType.RBRACK)||this.expect(Ie.TokenType.COMMA)}t.push(n)}return this.expect(Ie.TokenType.RBRACK),this.finishNode(new Le.ArrayBinding({elements:t,rest:r}),e)}},{key:"parseBindingProperty",value:function(){var e=this.startNode(),t=this.matchIdentifier(),r=this.lookahead,n=this.parsePropertyName(),i=n.name,a=n.binding;if(t&&"StaticPropertyName"===i.type&&!this.match(Ie.TokenType.COLON)){if(this.allowYieldExpression&&"yield"===r.value)throw this.createError(we.ErrorMessages.ILLEGAL_YIELD_IDENTIFIER);if(this.allowAwaitExpression&&"await"===r.value)throw this.createError(we.ErrorMessages.ILLEGAL_AWAIT_IDENTIFIER);var u=null;return this.eat(Ie.TokenType.ASSIGN)&&(u=this.parseAssignmentExpression()),this.finishNode(new Le.BindingPropertyIdentifier({binding:a,init:u}),e)}return this.expect(Ie.TokenType.COLON),a=this.parseBindingElement(),this.finishNode(new Le.BindingPropertyProperty({name:i,binding:a}),e)}},{key:"parseObjectBinding",value:function(){var e=this.startNode();this.expect(Ie.TokenType.LBRACE);for(var t=[],r=null;!this.match(Ie.TokenType.RBRACE);){if(this.eat(Ie.TokenType.ELLIPSIS)){r=this.parseBindingIdentifier();break}t.push(this.parseBindingProperty()),this.match(Ie.TokenType.RBRACE)||this.expect(Ie.TokenType.COMMA)}return this.expect(Ie.TokenType.RBRACE),this.finishNode(new Le.ObjectBinding({properties:t,rest:r}),e)}},{key:"parseBindingTarget",value:function(){if(this.matchIdentifier())return this.parseBindingIdentifier();switch(this.lookahead.type){case Ie.TokenType.LBRACK:return this.parseArrayBinding();case Ie.TokenType.LBRACE:return this.parseObjectBinding()}throw this.createUnexpected(this.lookahead)}},{key:"parseBindingElement",value:function(){var e=this.startNode(),t=this.parseBindingTarget();if(this.eat(Ie.TokenType.ASSIGN)){var r=this.parseAssignmentExpression();t=this.finishNode(new Le.BindingWithDefault({binding:t,init:r}),e)}return t}},{key:"parseParam",value:function(){var e=this.inParameter;this.inParameter=!0;var t=this.parseBindingElement();return this.inParameter=e,t}},{key:"parseParams",value:function(){var e=this.startNode();this.expect(Ie.TokenType.LPAREN);for(var t=[],r=null;!this.match(Ie.TokenType.RPAREN);){if(this.eat(Ie.TokenType.ELLIPSIS)){if(r=this.parseBindingTarget(),this.lookahead.type===Ie.TokenType.ASSIGN)throw this.createError(we.ErrorMessages.UNEXPECTED_REST_PARAMETERS_INITIALIZATION);if(this.match(Ie.TokenType.COMMA))throw this.createError(we.ErrorMessages.UNEXPECTED_COMMA_AFTER_REST);break}if(t.push(this.parseParam()),this.match(Ie.TokenType.RPAREN))break;this.expect(Ie.TokenType.COMMA)}return this.expect(Ie.TokenType.RPAREN),this.finishNode(new Le.FormalParameters({items:t,rest:r}),e)}}]),t}(Oe.default);var Ye={},qe={},Xe={};Object.defineProperty(Xe,"__esModule",{value:!0}),Xe.reduce=function(e,t){return ze[t.type](e,t)};var ze={ArrayAssignmentTarget:function(e,t){var r=this;return e.reduceArrayAssignmentTarget(t,{elements:t.elements.map((function(t){return t&&r[t.type](e,t)})),rest:t.rest&&this[t.rest.type](e,t.rest)})},ArrayBinding:function(e,t){var r=this;return e.reduceArrayBinding(t,{elements:t.elements.map((function(t){return t&&r[t.type](e,t)})),rest:t.rest&&this[t.rest.type](e,t.rest)})},ArrayExpression:function(e,t){var r=this;return e.reduceArrayExpression(t,{elements:t.elements.map((function(t){return t&&r[t.type](e,t)}))})},ArrowExpression:function(e,t){return e.reduceArrowExpression(t,{params:this.FormalParameters(e,t.params),body:this[t.body.type](e,t.body)})},AssignmentExpression:function(e,t){return e.reduceAssignmentExpression(t,{binding:this[t.binding.type](e,t.binding),expression:this[t.expression.type](e,t.expression)})},AssignmentTargetIdentifier:function(e,t){return e.reduceAssignmentTargetIdentifier(t)},AssignmentTargetPropertyIdentifier:function(e,t){return e.reduceAssignmentTargetPropertyIdentifier(t,{binding:this.AssignmentTargetIdentifier(e,t.binding),init:t.init&&this[t.init.type](e,t.init)})},AssignmentTargetPropertyProperty:function(e,t){return e.reduceAssignmentTargetPropertyProperty(t,{name:this[t.name.type](e,t.name),binding:this[t.binding.type](e,t.binding)})},AssignmentTargetWithDefault:function(e,t){return e.reduceAssignmentTargetWithDefault(t,{binding:this[t.binding.type](e,t.binding),init:this[t.init.type](e,t.init)})},AwaitExpression:function(e,t){return e.reduceAwaitExpression(t,{expression:this[t.expression.type](e,t.expression)})},BinaryExpression:function(e,t){return e.reduceBinaryExpression(t,{left:this[t.left.type](e,t.left),right:this[t.right.type](e,t.right)})},BindingIdentifier:function(e,t){return e.reduceBindingIdentifier(t)},BindingPropertyIdentifier:function(e,t){return e.reduceBindingPropertyIdentifier(t,{binding:this.BindingIdentifier(e,t.binding),init:t.init&&this[t.init.type](e,t.init)})},BindingPropertyProperty:function(e,t){return e.reduceBindingPropertyProperty(t,{name:this[t.name.type](e,t.name),binding:this[t.binding.type](e,t.binding)})},BindingWithDefault:function(e,t){return e.reduceBindingWithDefault(t,{binding:this[t.binding.type](e,t.binding),init:this[t.init.type](e,t.init)})},Block:function(e,t){var r=this;return e.reduceBlock(t,{statements:t.statements.map((function(t){return r[t.type](e,t)}))})},BlockStatement:function(e,t){return e.reduceBlockStatement(t,{block:this.Block(e,t.block)})},BreakStatement:function(e,t){return e.reduceBreakStatement(t)},CallExpression:function(e,t){var r=this;return e.reduceCallExpression(t,{callee:this[t.callee.type](e,t.callee),arguments:t.arguments.map((function(t){return r[t.type](e,t)}))})},CatchClause:function(e,t){return e.reduceCatchClause(t,{binding:this[t.binding.type](e,t.binding),body:this.Block(e,t.body)})},ClassDeclaration:function(e,t){var r=this;return e.reduceClassDeclaration(t,{name:this.BindingIdentifier(e,t.name),super:t.super&&this[t.super.type](e,t.super),elements:t.elements.map((function(t){return r.ClassElement(e,t)}))})},ClassElement:function(e,t){return e.reduceClassElement(t,{method:this[t.method.type](e,t.method)})},ClassExpression:function(e,t){var r=this;return e.reduceClassExpression(t,{name:t.name&&this.BindingIdentifier(e,t.name),super:t.super&&this[t.super.type](e,t.super),elements:t.elements.map((function(t){return r.ClassElement(e,t)}))})},CompoundAssignmentExpression:function(e,t){return e.reduceCompoundAssignmentExpression(t,{binding:this[t.binding.type](e,t.binding),expression:this[t.expression.type](e,t.expression)})},ComputedMemberAssignmentTarget:function(e,t){return e.reduceComputedMemberAssignmentTarget(t,{object:this[t.object.type](e,t.object),expression:this[t.expression.type](e,t.expression)})},ComputedMemberExpression:function(e,t){return e.reduceComputedMemberExpression(t,{object:this[t.object.type](e,t.object),expression:this[t.expression.type](e,t.expression)})},ComputedPropertyName:function(e,t){return e.reduceComputedPropertyName(t,{expression:this[t.expression.type](e,t.expression)})},ConditionalExpression:function(e,t){return e.reduceConditionalExpression(t,{test:this[t.test.type](e,t.test),consequent:this[t.consequent.type](e,t.consequent),alternate:this[t.alternate.type](e,t.alternate)})},ContinueStatement:function(e,t){return e.reduceContinueStatement(t)},DataProperty:function(e,t){return e.reduceDataProperty(t,{name:this[t.name.type](e,t.name),expression:this[t.expression.type](e,t.expression)})},DebuggerStatement:function(e,t){return e.reduceDebuggerStatement(t)},Directive:function(e,t){return e.reduceDirective(t)},DoWhileStatement:function(e,t){return e.reduceDoWhileStatement(t,{body:this[t.body.type](e,t.body),test:this[t.test.type](e,t.test)})},EmptyStatement:function(e,t){return e.reduceEmptyStatement(t)},Export:function(e,t){return e.reduceExport(t,{declaration:this[t.declaration.type](e,t.declaration)})},ExportAllFrom:function(e,t){return e.reduceExportAllFrom(t)},ExportDefault:function(e,t){return e.reduceExportDefault(t,{body:this[t.body.type](e,t.body)})},ExportFrom:function(e,t){var r=this;return e.reduceExportFrom(t,{namedExports:t.namedExports.map((function(t){return r.ExportFromSpecifier(e,t)}))})},ExportFromSpecifier:function(e,t){return e.reduceExportFromSpecifier(t)},ExportLocalSpecifier:function(e,t){return e.reduceExportLocalSpecifier(t,{name:this.IdentifierExpression(e,t.name)})},ExportLocals:function(e,t){var r=this;return e.reduceExportLocals(t,{namedExports:t.namedExports.map((function(t){return r.ExportLocalSpecifier(e,t)}))})},ExpressionStatement:function(e,t){return e.reduceExpressionStatement(t,{expression:this[t.expression.type](e,t.expression)})},ForAwaitStatement:function(e,t){return e.reduceForAwaitStatement(t,{left:this[t.left.type](e,t.left),right:this[t.right.type](e,t.right),body:this[t.body.type](e,t.body)})},ForInStatement:function(e,t){return e.reduceForInStatement(t,{left:this[t.left.type](e,t.left),right:this[t.right.type](e,t.right),body:this[t.body.type](e,t.body)})},ForOfStatement:function(e,t){return e.reduceForOfStatement(t,{left:this[t.left.type](e,t.left),right:this[t.right.type](e,t.right),body:this[t.body.type](e,t.body)})},ForStatement:function(e,t){return e.reduceForStatement(t,{init:t.init&&this[t.init.type](e,t.init),test:t.test&&this[t.test.type](e,t.test),update:t.update&&this[t.update.type](e,t.update),body:this[t.body.type](e,t.body)})},FormalParameters:function(e,t){var r=this;return e.reduceFormalParameters(t,{items:t.items.map((function(t){return r[t.type](e,t)})),rest:t.rest&&this[t.rest.type](e,t.rest)})},FunctionBody:function(e,t){var r=this;return e.reduceFunctionBody(t,{directives:t.directives.map((function(t){return r.Directive(e,t)})),statements:t.statements.map((function(t){return r[t.type](e,t)}))})},FunctionDeclaration:function(e,t){return e.reduceFunctionDeclaration(t,{name:this.BindingIdentifier(e,t.name),params:this.FormalParameters(e,t.params),body:this.FunctionBody(e,t.body)})},FunctionExpression:function(e,t){return e.reduceFunctionExpression(t,{name:t.name&&this.BindingIdentifier(e,t.name),params:this.FormalParameters(e,t.params),body:this.FunctionBody(e,t.body)})},Getter:function(e,t){return e.reduceGetter(t,{name:this[t.name.type](e,t.name),body:this.FunctionBody(e,t.body)})},IdentifierExpression:function(e,t){return e.reduceIdentifierExpression(t)},IfStatement:function(e,t){return e.reduceIfStatement(t,{test:this[t.test.type](e,t.test),consequent:this[t.consequent.type](e,t.consequent),alternate:t.alternate&&this[t.alternate.type](e,t.alternate)})},Import:function(e,t){var r=this;return e.reduceImport(t,{defaultBinding:t.defaultBinding&&this.BindingIdentifier(e,t.defaultBinding),namedImports:t.namedImports.map((function(t){return r.ImportSpecifier(e,t)}))})},ImportNamespace:function(e,t){return e.reduceImportNamespace(t,{defaultBinding:t.defaultBinding&&this.BindingIdentifier(e,t.defaultBinding),namespaceBinding:this.BindingIdentifier(e,t.namespaceBinding)})},ImportSpecifier:function(e,t){return e.reduceImportSpecifier(t,{binding:this.BindingIdentifier(e,t.binding)})},LabeledStatement:function(e,t){return e.reduceLabeledStatement(t,{body:this[t.body.type](e,t.body)})},LiteralBooleanExpression:function(e,t){return e.reduceLiteralBooleanExpression(t)},LiteralInfinityExpression:function(e,t){return e.reduceLiteralInfinityExpression(t)},LiteralNullExpression:function(e,t){return e.reduceLiteralNullExpression(t)},LiteralNumericExpression:function(e,t){return e.reduceLiteralNumericExpression(t)},LiteralRegExpExpression:function(e,t){return e.reduceLiteralRegExpExpression(t)},LiteralStringExpression:function(e,t){return e.reduceLiteralStringExpression(t)},Method:function(e,t){return e.reduceMethod(t,{name:this[t.name.type](e,t.name),params:this.FormalParameters(e,t.params),body:this.FunctionBody(e,t.body)})},Module:function(e,t){var r=this;return e.reduceModule(t,{directives:t.directives.map((function(t){return r.Directive(e,t)})),items:t.items.map((function(t){return r[t.type](e,t)}))})},NewExpression:function(e,t){var r=this;return e.reduceNewExpression(t,{callee:this[t.callee.type](e,t.callee),arguments:t.arguments.map((function(t){return r[t.type](e,t)}))})},NewTargetExpression:function(e,t){return e.reduceNewTargetExpression(t)},ObjectAssignmentTarget:function(e,t){var r=this;return e.reduceObjectAssignmentTarget(t,{properties:t.properties.map((function(t){return r[t.type](e,t)})),rest:t.rest&&this[t.rest.type](e,t.rest)})},ObjectBinding:function(e,t){var r=this;return e.reduceObjectBinding(t,{properties:t.properties.map((function(t){return r[t.type](e,t)})),rest:t.rest&&this[t.rest.type](e,t.rest)})},ObjectExpression:function(e,t){var r=this;return e.reduceObjectExpression(t,{properties:t.properties.map((function(t){return r[t.type](e,t)}))})},ReturnStatement:function(e,t){return e.reduceReturnStatement(t,{expression:t.expression&&this[t.expression.type](e,t.expression)})},Script:function(e,t){var r=this;return e.reduceScript(t,{directives:t.directives.map((function(t){return r.Directive(e,t)})),statements:t.statements.map((function(t){return r[t.type](e,t)}))})},Setter:function(e,t){return e.reduceSetter(t,{name:this[t.name.type](e,t.name),param:this[t.param.type](e,t.param),body:this.FunctionBody(e,t.body)})},ShorthandProperty:function(e,t){return e.reduceShorthandProperty(t,{name:this.IdentifierExpression(e,t.name)})},SpreadElement:function(e,t){return e.reduceSpreadElement(t,{expression:this[t.expression.type](e,t.expression)})},SpreadProperty:function(e,t){return e.reduceSpreadProperty(t,{expression:this[t.expression.type](e,t.expression)})},StaticMemberAssignmentTarget:function(e,t){return e.reduceStaticMemberAssignmentTarget(t,{object:this[t.object.type](e,t.object)})},StaticMemberExpression:function(e,t){return e.reduceStaticMemberExpression(t,{object:this[t.object.type](e,t.object)})},StaticPropertyName:function(e,t){return e.reduceStaticPropertyName(t)},Super:function(e,t){return e.reduceSuper(t)},SwitchCase:function(e,t){var r=this;return e.reduceSwitchCase(t,{test:this[t.test.type](e,t.test),consequent:t.consequent.map((function(t){return r[t.type](e,t)}))})},SwitchDefault:function(e,t){var r=this;return e.reduceSwitchDefault(t,{consequent:t.consequent.map((function(t){return r[t.type](e,t)}))})},SwitchStatement:function(e,t){var r=this;return e.reduceSwitchStatement(t,{discriminant:this[t.discriminant.type](e,t.discriminant),cases:t.cases.map((function(t){return r.SwitchCase(e,t)}))})},SwitchStatementWithDefault:function(e,t){var r=this;return e.reduceSwitchStatementWithDefault(t,{discriminant:this[t.discriminant.type](e,t.discriminant),preDefaultCases:t.preDefaultCases.map((function(t){return r.SwitchCase(e,t)})),defaultCase:this.SwitchDefault(e,t.defaultCase),postDefaultCases:t.postDefaultCases.map((function(t){return r.SwitchCase(e,t)}))})},TemplateElement:function(e,t){return e.reduceTemplateElement(t)},TemplateExpression:function(e,t){var r=this;return e.reduceTemplateExpression(t,{tag:t.tag&&this[t.tag.type](e,t.tag),elements:t.elements.map((function(t){return r[t.type](e,t)}))})},ThisExpression:function(e,t){return e.reduceThisExpression(t)},ThrowStatement:function(e,t){return e.reduceThrowStatement(t,{expression:this[t.expression.type](e,t.expression)})},TryCatchStatement:function(e,t){return e.reduceTryCatchStatement(t,{body:this.Block(e,t.body),catchClause:this.CatchClause(e,t.catchClause)})},TryFinallyStatement:function(e,t){return e.reduceTryFinallyStatement(t,{body:this.Block(e,t.body),catchClause:t.catchClause&&this.CatchClause(e,t.catchClause),finalizer:this.Block(e,t.finalizer)})},UnaryExpression:function(e,t){return e.reduceUnaryExpression(t,{operand:this[t.operand.type](e,t.operand)})},UpdateExpression:function(e,t){return e.reduceUpdateExpression(t,{operand:this[t.operand.type](e,t.operand)})},VariableDeclaration:function(e,t){var r=this;return e.reduceVariableDeclaration(t,{declarators:t.declarators.map((function(t){return r.VariableDeclarator(e,t)}))})},VariableDeclarationStatement:function(e,t){return e.reduceVariableDeclarationStatement(t,{declaration:this.VariableDeclaration(e,t.declaration)})},VariableDeclarator:function(e,t){return e.reduceVariableDeclarator(t,{binding:this[t.binding.type](e,t.binding),init:t.init&&this[t.init.type](e,t.init)})},WhileStatement:function(e,t){return e.reduceWhileStatement(t,{test:this[t.test.type](e,t.test),body:this[t.body.type](e,t.body)})},WithStatement:function(e,t){return e.reduceWithStatement(t,{object:this[t.object.type](e,t.object),body:this[t.body.type](e,t.body)})},YieldExpression:function(e,t){return e.reduceYieldExpression(t,{expression:t.expression&&this[t.expression.type](e,t.expression)})},YieldGeneratorExpression:function(e,t){return e.reduceYieldGeneratorExpression(t,{expression:this[t.expression.type](e,t.expression)})}};var $e={};Object.defineProperty($e,"__esModule",{value:!0}),$e.thunkedReduce=function(e,t){return Je[t.type](e,t)};var Je={ArrayAssignmentTarget:function(e,t){var r=this;return e.reduceArrayAssignmentTarget(t,{elements:t.elements.map((function(t){return t&&function(){return r[t.type](e,t)}})),rest:t.rest&&function(){return r[t.rest.type](e,t.rest)}})},ArrayBinding:function(e,t){var r=this;return e.reduceArrayBinding(t,{elements:t.elements.map((function(t){return t&&function(){return r[t.type](e,t)}})),rest:t.rest&&function(){return r[t.rest.type](e,t.rest)}})},ArrayExpression:function(e,t){var r=this;return e.reduceArrayExpression(t,{elements:t.elements.map((function(t){return t&&function(){return r[t.type](e,t)}}))})},ArrowExpression:function(e,t){var r=this;return e.reduceArrowExpression(t,{params:function(){return r.FormalParameters(e,t.params)},body:function(){return r[t.body.type](e,t.body)}})},AssignmentExpression:function(e,t){var r=this;return e.reduceAssignmentExpression(t,{binding:function(){return r[t.binding.type](e,t.binding)},expression:function(){return r[t.expression.type](e,t.expression)}})},AssignmentTargetIdentifier:function(e,t){return e.reduceAssignmentTargetIdentifier(t)},AssignmentTargetPropertyIdentifier:function(e,t){var r=this;return e.reduceAssignmentTargetPropertyIdentifier(t,{binding:function(){return r.AssignmentTargetIdentifier(e,t.binding)},init:t.init&&function(){return r[t.init.type](e,t.init)}})},AssignmentTargetPropertyProperty:function(e,t){var r=this;return e.reduceAssignmentTargetPropertyProperty(t,{name:function(){return r[t.name.type](e,t.name)},binding:function(){return r[t.binding.type](e,t.binding)}})},AssignmentTargetWithDefault:function(e,t){var r=this;return e.reduceAssignmentTargetWithDefault(t,{binding:function(){return r[t.binding.type](e,t.binding)},init:function(){return r[t.init.type](e,t.init)}})},AwaitExpression:function(e,t){var r=this;return e.reduceAwaitExpression(t,{expression:function(){return r[t.expression.type](e,t.expression)}})},BinaryExpression:function(e,t){var r=this;return e.reduceBinaryExpression(t,{left:function(){return r[t.left.type](e,t.left)},right:function(){return r[t.right.type](e,t.right)}})},BindingIdentifier:function(e,t){return e.reduceBindingIdentifier(t)},BindingPropertyIdentifier:function(e,t){var r=this;return e.reduceBindingPropertyIdentifier(t,{binding:function(){return r.BindingIdentifier(e,t.binding)},init:t.init&&function(){return r[t.init.type](e,t.init)}})},BindingPropertyProperty:function(e,t){var r=this;return e.reduceBindingPropertyProperty(t,{name:function(){return r[t.name.type](e,t.name)},binding:function(){return r[t.binding.type](e,t.binding)}})},BindingWithDefault:function(e,t){var r=this;return e.reduceBindingWithDefault(t,{binding:function(){return r[t.binding.type](e,t.binding)},init:function(){return r[t.init.type](e,t.init)}})},Block:function(e,t){var r=this;return e.reduceBlock(t,{statements:t.statements.map((function(t){return function(){return r[t.type](e,t)}}))})},BlockStatement:function(e,t){var r=this;return e.reduceBlockStatement(t,{block:function(){return r.Block(e,t.block)}})},BreakStatement:function(e,t){return e.reduceBreakStatement(t)},CallExpression:function(e,t){var r=this;return e.reduceCallExpression(t,{callee:function(){return r[t.callee.type](e,t.callee)},arguments:t.arguments.map((function(t){return function(){return r[t.type](e,t)}}))})},CatchClause:function(e,t){var r=this;return e.reduceCatchClause(t,{binding:function(){return r[t.binding.type](e,t.binding)},body:function(){return r.Block(e,t.body)}})},ClassDeclaration:function(e,t){var r=this;return e.reduceClassDeclaration(t,{name:function(){return r.BindingIdentifier(e,t.name)},super:t.super&&function(){return r[t.super.type](e,t.super)},elements:t.elements.map((function(t){return function(){return r.ClassElement(e,t)}}))})},ClassElement:function(e,t){var r=this;return e.reduceClassElement(t,{method:function(){return r[t.method.type](e,t.method)}})},ClassExpression:function(e,t){var r=this;return e.reduceClassExpression(t,{name:t.name&&function(){return r.BindingIdentifier(e,t.name)},super:t.super&&function(){return r[t.super.type](e,t.super)},elements:t.elements.map((function(t){return function(){return r.ClassElement(e,t)}}))})},CompoundAssignmentExpression:function(e,t){var r=this;return e.reduceCompoundAssignmentExpression(t,{binding:function(){return r[t.binding.type](e,t.binding)},expression:function(){return r[t.expression.type](e,t.expression)}})},ComputedMemberAssignmentTarget:function(e,t){var r=this;return e.reduceComputedMemberAssignmentTarget(t,{object:function(){return r[t.object.type](e,t.object)},expression:function(){return r[t.expression.type](e,t.expression)}})},ComputedMemberExpression:function(e,t){var r=this;return e.reduceComputedMemberExpression(t,{object:function(){return r[t.object.type](e,t.object)},expression:function(){return r[t.expression.type](e,t.expression)}})},ComputedPropertyName:function(e,t){var r=this;return e.reduceComputedPropertyName(t,{expression:function(){return r[t.expression.type](e,t.expression)}})},ConditionalExpression:function(e,t){var r=this;return e.reduceConditionalExpression(t,{test:function(){return r[t.test.type](e,t.test)},consequent:function(){return r[t.consequent.type](e,t.consequent)},alternate:function(){return r[t.alternate.type](e,t.alternate)}})},ContinueStatement:function(e,t){return e.reduceContinueStatement(t)},DataProperty:function(e,t){var r=this;return e.reduceDataProperty(t,{name:function(){return r[t.name.type](e,t.name)},expression:function(){return r[t.expression.type](e,t.expression)}})},DebuggerStatement:function(e,t){return e.reduceDebuggerStatement(t)},Directive:function(e,t){return e.reduceDirective(t)},DoWhileStatement:function(e,t){var r=this;return e.reduceDoWhileStatement(t,{body:function(){return r[t.body.type](e,t.body)},test:function(){return r[t.test.type](e,t.test)}})},EmptyStatement:function(e,t){return e.reduceEmptyStatement(t)},Export:function(e,t){var r=this;return e.reduceExport(t,{declaration:function(){return r[t.declaration.type](e,t.declaration)}})},ExportAllFrom:function(e,t){return e.reduceExportAllFrom(t)},ExportDefault:function(e,t){var r=this;return e.reduceExportDefault(t,{body:function(){return r[t.body.type](e,t.body)}})},ExportFrom:function(e,t){var r=this;return e.reduceExportFrom(t,{namedExports:t.namedExports.map((function(t){return function(){return r.ExportFromSpecifier(e,t)}}))})},ExportFromSpecifier:function(e,t){return e.reduceExportFromSpecifier(t)},ExportLocalSpecifier:function(e,t){var r=this;return e.reduceExportLocalSpecifier(t,{name:function(){return r.IdentifierExpression(e,t.name)}})},ExportLocals:function(e,t){var r=this;return e.reduceExportLocals(t,{namedExports:t.namedExports.map((function(t){return function(){return r.ExportLocalSpecifier(e,t)}}))})},ExpressionStatement:function(e,t){var r=this;return e.reduceExpressionStatement(t,{expression:function(){return r[t.expression.type](e,t.expression)}})},ForAwaitStatement:function(e,t){var r=this;return e.reduceForAwaitStatement(t,{left:function(){return r[t.left.type](e,t.left)},right:function(){return r[t.right.type](e,t.right)},body:function(){return r[t.body.type](e,t.body)}})},ForInStatement:function(e,t){var r=this;return e.reduceForInStatement(t,{left:function(){return r[t.left.type](e,t.left)},right:function(){return r[t.right.type](e,t.right)},body:function(){return r[t.body.type](e,t.body)}})},ForOfStatement:function(e,t){var r=this;return e.reduceForOfStatement(t,{left:function(){return r[t.left.type](e,t.left)},right:function(){return r[t.right.type](e,t.right)},body:function(){return r[t.body.type](e,t.body)}})},ForStatement:function(e,t){var r=this;return e.reduceForStatement(t,{init:t.init&&function(){return r[t.init.type](e,t.init)},test:t.test&&function(){return r[t.test.type](e,t.test)},update:t.update&&function(){return r[t.update.type](e,t.update)},body:function(){return r[t.body.type](e,t.body)}})},FormalParameters:function(e,t){var r=this;return e.reduceFormalParameters(t,{items:t.items.map((function(t){return function(){return r[t.type](e,t)}})),rest:t.rest&&function(){return r[t.rest.type](e,t.rest)}})},FunctionBody:function(e,t){var r=this;return e.reduceFunctionBody(t,{directives:t.directives.map((function(t){return function(){return r.Directive(e,t)}})),statements:t.statements.map((function(t){return function(){return r[t.type](e,t)}}))})},FunctionDeclaration:function(e,t){var r=this;return e.reduceFunctionDeclaration(t,{name:function(){return r.BindingIdentifier(e,t.name)},params:function(){return r.FormalParameters(e,t.params)},body:function(){return r.FunctionBody(e,t.body)}})},FunctionExpression:function(e,t){var r=this;return e.reduceFunctionExpression(t,{name:t.name&&function(){return r.BindingIdentifier(e,t.name)},params:function(){return r.FormalParameters(e,t.params)},body:function(){return r.FunctionBody(e,t.body)}})},Getter:function(e,t){var r=this;return e.reduceGetter(t,{name:function(){return r[t.name.type](e,t.name)},body:function(){return r.FunctionBody(e,t.body)}})},IdentifierExpression:function(e,t){return e.reduceIdentifierExpression(t)},IfStatement:function(e,t){var r=this;return e.reduceIfStatement(t,{test:function(){return r[t.test.type](e,t.test)},consequent:function(){return r[t.consequent.type](e,t.consequent)},alternate:t.alternate&&function(){return r[t.alternate.type](e,t.alternate)}})},Import:function(e,t){var r=this;return e.reduceImport(t,{defaultBinding:t.defaultBinding&&function(){return r.BindingIdentifier(e,t.defaultBinding)},namedImports:t.namedImports.map((function(t){return function(){return r.ImportSpecifier(e,t)}}))})},ImportNamespace:function(e,t){var r=this;return e.reduceImportNamespace(t,{defaultBinding:t.defaultBinding&&function(){return r.BindingIdentifier(e,t.defaultBinding)},namespaceBinding:function(){return r.BindingIdentifier(e,t.namespaceBinding)}})},ImportSpecifier:function(e,t){var r=this;return e.reduceImportSpecifier(t,{binding:function(){return r.BindingIdentifier(e,t.binding)}})},LabeledStatement:function(e,t){var r=this;return e.reduceLabeledStatement(t,{body:function(){return r[t.body.type](e,t.body)}})},LiteralBooleanExpression:function(e,t){return e.reduceLiteralBooleanExpression(t)},LiteralInfinityExpression:function(e,t){return e.reduceLiteralInfinityExpression(t)},LiteralNullExpression:function(e,t){return e.reduceLiteralNullExpression(t)},LiteralNumericExpression:function(e,t){return e.reduceLiteralNumericExpression(t)},LiteralRegExpExpression:function(e,t){return e.reduceLiteralRegExpExpression(t)},LiteralStringExpression:function(e,t){return e.reduceLiteralStringExpression(t)},Method:function(e,t){var r=this;return e.reduceMethod(t,{name:function(){return r[t.name.type](e,t.name)},params:function(){return r.FormalParameters(e,t.params)},body:function(){return r.FunctionBody(e,t.body)}})},Module:function(e,t){var r=this;return e.reduceModule(t,{directives:t.directives.map((function(t){return function(){return r.Directive(e,t)}})),items:t.items.map((function(t){return function(){return r[t.type](e,t)}}))})},NewExpression:function(e,t){var r=this;return e.reduceNewExpression(t,{callee:function(){return r[t.callee.type](e,t.callee)},arguments:t.arguments.map((function(t){return function(){return r[t.type](e,t)}}))})},NewTargetExpression:function(e,t){return e.reduceNewTargetExpression(t)},ObjectAssignmentTarget:function(e,t){var r=this;return e.reduceObjectAssignmentTarget(t,{properties:t.properties.map((function(t){return function(){return r[t.type](e,t)}})),rest:t.rest&&function(){return r[t.rest.type](e,t.rest)}})},ObjectBinding:function(e,t){var r=this;return e.reduceObjectBinding(t,{properties:t.properties.map((function(t){return function(){return r[t.type](e,t)}})),rest:t.rest&&function(){return r[t.rest.type](e,t.rest)}})},ObjectExpression:function(e,t){var r=this;return e.reduceObjectExpression(t,{properties:t.properties.map((function(t){return function(){return r[t.type](e,t)}}))})},ReturnStatement:function(e,t){var r=this;return e.reduceReturnStatement(t,{expression:t.expression&&function(){return r[t.expression.type](e,t.expression)}})},Script:function(e,t){var r=this;return e.reduceScript(t,{directives:t.directives.map((function(t){return function(){return r.Directive(e,t)}})),statements:t.statements.map((function(t){return function(){return r[t.type](e,t)}}))})},Setter:function(e,t){var r=this;return e.reduceSetter(t,{name:function(){return r[t.name.type](e,t.name)},param:function(){return r[t.param.type](e,t.param)},body:function(){return r.FunctionBody(e,t.body)}})},ShorthandProperty:function(e,t){var r=this;return e.reduceShorthandProperty(t,{name:function(){return r.IdentifierExpression(e,t.name)}})},SpreadElement:function(e,t){var r=this;return e.reduceSpreadElement(t,{expression:function(){return r[t.expression.type](e,t.expression)}})},SpreadProperty:function(e,t){var r=this;return e.reduceSpreadProperty(t,{expression:function(){return r[t.expression.type](e,t.expression)}})},StaticMemberAssignmentTarget:function(e,t){var r=this;return e.reduceStaticMemberAssignmentTarget(t,{object:function(){return r[t.object.type](e,t.object)}})},StaticMemberExpression:function(e,t){var r=this;return e.reduceStaticMemberExpression(t,{object:function(){return r[t.object.type](e,t.object)}})},StaticPropertyName:function(e,t){return e.reduceStaticPropertyName(t)},Super:function(e,t){return e.reduceSuper(t)},SwitchCase:function(e,t){var r=this;return e.reduceSwitchCase(t,{test:function(){return r[t.test.type](e,t.test)},consequent:t.consequent.map((function(t){return function(){return r[t.type](e,t)}}))})},SwitchDefault:function(e,t){var r=this;return e.reduceSwitchDefault(t,{consequent:t.consequent.map((function(t){return function(){return r[t.type](e,t)}}))})},SwitchStatement:function(e,t){var r=this;return e.reduceSwitchStatement(t,{discriminant:function(){return r[t.discriminant.type](e,t.discriminant)},cases:t.cases.map((function(t){return function(){return r.SwitchCase(e,t)}}))})},SwitchStatementWithDefault:function(e,t){var r=this;return e.reduceSwitchStatementWithDefault(t,{discriminant:function(){return r[t.discriminant.type](e,t.discriminant)},preDefaultCases:t.preDefaultCases.map((function(t){return function(){return r.SwitchCase(e,t)}})),defaultCase:function(){return r.SwitchDefault(e,t.defaultCase)},postDefaultCases:t.postDefaultCases.map((function(t){return function(){return r.SwitchCase(e,t)}}))})},TemplateElement:function(e,t){return e.reduceTemplateElement(t)},TemplateExpression:function(e,t){var r=this;return e.reduceTemplateExpression(t,{tag:t.tag&&function(){return r[t.tag.type](e,t.tag)},elements:t.elements.map((function(t){return function(){return r[t.type](e,t)}}))})},ThisExpression:function(e,t){return e.reduceThisExpression(t)},ThrowStatement:function(e,t){var r=this;return e.reduceThrowStatement(t,{expression:function(){return r[t.expression.type](e,t.expression)}})},TryCatchStatement:function(e,t){var r=this;return e.reduceTryCatchStatement(t,{body:function(){return r.Block(e,t.body)},catchClause:function(){return r.CatchClause(e,t.catchClause)}})},TryFinallyStatement:function(e,t){var r=this;return e.reduceTryFinallyStatement(t,{body:function(){return r.Block(e,t.body)},catchClause:t.catchClause&&function(){return r.CatchClause(e,t.catchClause)},finalizer:function(){return r.Block(e,t.finalizer)}})},UnaryExpression:function(e,t){var r=this;return e.reduceUnaryExpression(t,{operand:function(){return r[t.operand.type](e,t.operand)}})},UpdateExpression:function(e,t){var r=this;return e.reduceUpdateExpression(t,{operand:function(){return r[t.operand.type](e,t.operand)}})},VariableDeclaration:function(e,t){var r=this;return e.reduceVariableDeclaration(t,{declarators:t.declarators.map((function(t){return function(){return r.VariableDeclarator(e,t)}}))})},VariableDeclarationStatement:function(e,t){var r=this;return e.reduceVariableDeclarationStatement(t,{declaration:function(){return r.VariableDeclaration(e,t.declaration)}})},VariableDeclarator:function(e,t){var r=this;return e.reduceVariableDeclarator(t,{binding:function(){return r[t.binding.type](e,t.binding)},init:t.init&&function(){return r[t.init.type](e,t.init)}})},WhileStatement:function(e,t){var r=this;return e.reduceWhileStatement(t,{test:function(){return r[t.test.type](e,t.test)},body:function(){return r[t.body.type](e,t.body)}})},WithStatement:function(e,t){var r=this;return e.reduceWithStatement(t,{object:function(){return r[t.object.type](e,t.object)},body:function(){return r[t.body.type](e,t.body)}})},YieldExpression:function(e,t){var r=this;return e.reduceYieldExpression(t,{expression:t.expression&&function(){return r[t.expression.type](e,t.expression)}})},YieldGeneratorExpression:function(e,t){var r=this;return e.reduceYieldGeneratorExpression(t,{expression:function(){return r[t.expression.type](e,t.expression)}})}};var Ze={};Object.defineProperty(Ze,"__esModule",{value:!0}),Ze.default=function(e){return{reduceArrayAssignmentTarget:function(t,r){var n=r.elements,i=r.rest;return e.reduceArrayAssignmentTarget(t,{elements:n.map((function(e){return null==e?null:e()})),rest:null==i?null:i()})},reduceArrayBinding:function(t,r){var n=r.elements,i=r.rest;return e.reduceArrayBinding(t,{elements:n.map((function(e){return null==e?null:e()})),rest:null==i?null:i()})},reduceArrayExpression:function(t,r){var n=r.elements;return e.reduceArrayExpression(t,{elements:n.map((function(e){return null==e?null:e()}))})},reduceArrowExpression:function(t,r){var n=r.params,i=r.body;return e.reduceArrowExpression(t,{params:n(),body:i()})},reduceAssignmentExpression:function(t,r){var n=r.binding,i=r.expression;return e.reduceAssignmentExpression(t,{binding:n(),expression:i()})},reduceAssignmentTargetIdentifier:function(t){return e.reduceAssignmentTargetIdentifier(t)},reduceAssignmentTargetPropertyIdentifier:function(t,r){var n=r.binding,i=r.init;return e.reduceAssignmentTargetPropertyIdentifier(t,{binding:n(),init:null==i?null:i()})},reduceAssignmentTargetPropertyProperty:function(t,r){var n=r.name,i=r.binding;return e.reduceAssignmentTargetPropertyProperty(t,{name:n(),binding:i()})},reduceAssignmentTargetWithDefault:function(t,r){var n=r.binding,i=r.init;return e.reduceAssignmentTargetWithDefault(t,{binding:n(),init:i()})},reduceAwaitExpression:function(t,r){var n=r.expression;return e.reduceAwaitExpression(t,{expression:n()})},reduceBinaryExpression:function(t,r){var n=r.left,i=r.right;return e.reduceBinaryExpression(t,{left:n(),right:i()})},reduceBindingIdentifier:function(t){return e.reduceBindingIdentifier(t)},reduceBindingPropertyIdentifier:function(t,r){var n=r.binding,i=r.init;return e.reduceBindingPropertyIdentifier(t,{binding:n(),init:null==i?null:i()})},reduceBindingPropertyProperty:function(t,r){var n=r.name,i=r.binding;return e.reduceBindingPropertyProperty(t,{name:n(),binding:i()})},reduceBindingWithDefault:function(t,r){var n=r.binding,i=r.init;return e.reduceBindingWithDefault(t,{binding:n(),init:i()})},reduceBlock:function(t,r){var n=r.statements;return e.reduceBlock(t,{statements:n.map((function(e){return e()}))})},reduceBlockStatement:function(t,r){var n=r.block;return e.reduceBlockStatement(t,{block:n()})},reduceBreakStatement:function(t){return e.reduceBreakStatement(t)},reduceCallExpression:function(t,r){var n=r.callee,i=r.arguments;return e.reduceCallExpression(t,{callee:n(),arguments:i.map((function(e){return e()}))})},reduceCatchClause:function(t,r){var n=r.binding,i=r.body;return e.reduceCatchClause(t,{binding:n(),body:i()})},reduceClassDeclaration:function(t,r){var n=r.name,i=r.super,a=r.elements;return e.reduceClassDeclaration(t,{name:n(),super:null==i?null:i(),elements:a.map((function(e){return e()}))})},reduceClassElement:function(t,r){var n=r.method;return e.reduceClassElement(t,{method:n()})},reduceClassExpression:function(t,r){var n=r.name,i=r.super,a=r.elements;return e.reduceClassExpression(t,{name:null==n?null:n(),super:null==i?null:i(),elements:a.map((function(e){return e()}))})},reduceCompoundAssignmentExpression:function(t,r){var n=r.binding,i=r.expression;return e.reduceCompoundAssignmentExpression(t,{binding:n(),expression:i()})},reduceComputedMemberAssignmentTarget:function(t,r){var n=r.object,i=r.expression;return e.reduceComputedMemberAssignmentTarget(t,{object:n(),expression:i()})},reduceComputedMemberExpression:function(t,r){var n=r.object,i=r.expression;return e.reduceComputedMemberExpression(t,{object:n(),expression:i()})},reduceComputedPropertyName:function(t,r){var n=r.expression;return e.reduceComputedPropertyName(t,{expression:n()})},reduceConditionalExpression:function(t,r){var n=r.test,i=r.consequent,a=r.alternate;return e.reduceConditionalExpression(t,{test:n(),consequent:i(),alternate:a()})},reduceContinueStatement:function(t){return e.reduceContinueStatement(t)},reduceDataProperty:function(t,r){var n=r.name,i=r.expression;return e.reduceDataProperty(t,{name:n(),expression:i()})},reduceDebuggerStatement:function(t){return e.reduceDebuggerStatement(t)},reduceDirective:function(t){return e.reduceDirective(t)},reduceDoWhileStatement:function(t,r){var n=r.body,i=r.test;return e.reduceDoWhileStatement(t,{body:n(),test:i()})},reduceEmptyStatement:function(t){return e.reduceEmptyStatement(t)},reduceExport:function(t,r){var n=r.declaration;return e.reduceExport(t,{declaration:n()})},reduceExportAllFrom:function(t){return e.reduceExportAllFrom(t)},reduceExportDefault:function(t,r){var n=r.body;return e.reduceExportDefault(t,{body:n()})},reduceExportFrom:function(t,r){var n=r.namedExports;return e.reduceExportFrom(t,{namedExports:n.map((function(e){return e()}))})},reduceExportFromSpecifier:function(t){return e.reduceExportFromSpecifier(t)},reduceExportLocalSpecifier:function(t,r){var n=r.name;return e.reduceExportLocalSpecifier(t,{name:n()})},reduceExportLocals:function(t,r){var n=r.namedExports;return e.reduceExportLocals(t,{namedExports:n.map((function(e){return e()}))})},reduceExpressionStatement:function(t,r){var n=r.expression;return e.reduceExpressionStatement(t,{expression:n()})},reduceForAwaitStatement:function(t,r){var n=r.left,i=r.right,a=r.body;return e.reduceForAwaitStatement(t,{left:n(),right:i(),body:a()})},reduceForInStatement:function(t,r){var n=r.left,i=r.right,a=r.body;return e.reduceForInStatement(t,{left:n(),right:i(),body:a()})},reduceForOfStatement:function(t,r){var n=r.left,i=r.right,a=r.body;return e.reduceForOfStatement(t,{left:n(),right:i(),body:a()})},reduceForStatement:function(t,r){var n=r.init,i=r.test,a=r.update,u=r.body;return e.reduceForStatement(t,{init:null==n?null:n(),test:null==i?null:i(),update:null==a?null:a(),body:u()})},reduceFormalParameters:function(t,r){var n=r.items,i=r.rest;return e.reduceFormalParameters(t,{items:n.map((function(e){return e()})),rest:null==i?null:i()})},reduceFunctionBody:function(t,r){var n=r.directives,i=r.statements;return e.reduceFunctionBody(t,{directives:n.map((function(e){return e()})),statements:i.map((function(e){return e()}))})},reduceFunctionDeclaration:function(t,r){var n=r.name,i=r.params,a=r.body;return e.reduceFunctionDeclaration(t,{name:n(),params:i(),body:a()})},reduceFunctionExpression:function(t,r){var n=r.name,i=r.params,a=r.body;return e.reduceFunctionExpression(t,{name:null==n?null:n(),params:i(),body:a()})},reduceGetter:function(t,r){var n=r.name,i=r.body;return e.reduceGetter(t,{name:n(),body:i()})},reduceIdentifierExpression:function(t){return e.reduceIdentifierExpression(t)},reduceIfStatement:function(t,r){var n=r.test,i=r.consequent,a=r.alternate;return e.reduceIfStatement(t,{test:n(),consequent:i(),alternate:null==a?null:a()})},reduceImport:function(t,r){var n=r.defaultBinding,i=r.namedImports;return e.reduceImport(t,{defaultBinding:null==n?null:n(),namedImports:i.map((function(e){return e()}))})},reduceImportNamespace:function(t,r){var n=r.defaultBinding,i=r.namespaceBinding;return e.reduceImportNamespace(t,{defaultBinding:null==n?null:n(),namespaceBinding:i()})},reduceImportSpecifier:function(t,r){var n=r.binding;return e.reduceImportSpecifier(t,{binding:n()})},reduceLabeledStatement:function(t,r){var n=r.body;return e.reduceLabeledStatement(t,{body:n()})},reduceLiteralBooleanExpression:function(t){return e.reduceLiteralBooleanExpression(t)},reduceLiteralInfinityExpression:function(t){return e.reduceLiteralInfinityExpression(t)},reduceLiteralNullExpression:function(t){return e.reduceLiteralNullExpression(t)},reduceLiteralNumericExpression:function(t){return e.reduceLiteralNumericExpression(t)},reduceLiteralRegExpExpression:function(t){return e.reduceLiteralRegExpExpression(t)},reduceLiteralStringExpression:function(t){return e.reduceLiteralStringExpression(t)},reduceMethod:function(t,r){var n=r.name,i=r.params,a=r.body;return e.reduceMethod(t,{name:n(),params:i(),body:a()})},reduceModule:function(t,r){var n=r.directives,i=r.items;return e.reduceModule(t,{directives:n.map((function(e){return e()})),items:i.map((function(e){return e()}))})},reduceNewExpression:function(t,r){var n=r.callee,i=r.arguments;return e.reduceNewExpression(t,{callee:n(),arguments:i.map((function(e){return e()}))})},reduceNewTargetExpression:function(t){return e.reduceNewTargetExpression(t)},reduceObjectAssignmentTarget:function(t,r){var n=r.properties,i=r.rest;return e.reduceObjectAssignmentTarget(t,{properties:n.map((function(e){return e()})),rest:null==i?null:i()})},reduceObjectBinding:function(t,r){var n=r.properties,i=r.rest;return e.reduceObjectBinding(t,{properties:n.map((function(e){return e()})),rest:null==i?null:i()})},reduceObjectExpression:function(t,r){var n=r.properties;return e.reduceObjectExpression(t,{properties:n.map((function(e){return e()}))})},reduceReturnStatement:function(t,r){var n=r.expression;return e.reduceReturnStatement(t,{expression:null==n?null:n()})},reduceScript:function(t,r){var n=r.directives,i=r.statements;return e.reduceScript(t,{directives:n.map((function(e){return e()})),statements:i.map((function(e){return e()}))})},reduceSetter:function(t,r){var n=r.name,i=r.param,a=r.body;return e.reduceSetter(t,{name:n(),param:i(),body:a()})},reduceShorthandProperty:function(t,r){var n=r.name;return e.reduceShorthandProperty(t,{name:n()})},reduceSpreadElement:function(t,r){var n=r.expression;return e.reduceSpreadElement(t,{expression:n()})},reduceSpreadProperty:function(t,r){var n=r.expression;return e.reduceSpreadProperty(t,{expression:n()})},reduceStaticMemberAssignmentTarget:function(t,r){var n=r.object;return e.reduceStaticMemberAssignmentTarget(t,{object:n()})},reduceStaticMemberExpression:function(t,r){var n=r.object;return e.reduceStaticMemberExpression(t,{object:n()})},reduceStaticPropertyName:function(t){return e.reduceStaticPropertyName(t)},reduceSuper:function(t){return e.reduceSuper(t)},reduceSwitchCase:function(t,r){var n=r.test,i=r.consequent;return e.reduceSwitchCase(t,{test:n(),consequent:i.map((function(e){return e()}))})},reduceSwitchDefault:function(t,r){var n=r.consequent;return e.reduceSwitchDefault(t,{consequent:n.map((function(e){return e()}))})},reduceSwitchStatement:function(t,r){var n=r.discriminant,i=r.cases;return e.reduceSwitchStatement(t,{discriminant:n(),cases:i.map((function(e){return e()}))})},reduceSwitchStatementWithDefault:function(t,r){var n=r.discriminant,i=r.preDefaultCases,a=r.defaultCase,u=r.postDefaultCases;return e.reduceSwitchStatementWithDefault(t,{discriminant:n(),preDefaultCases:i.map((function(e){return e()})),defaultCase:a(),postDefaultCases:u.map((function(e){return e()}))})},reduceTemplateElement:function(t){return e.reduceTemplateElement(t)},reduceTemplateExpression:function(t,r){var n=r.tag,i=r.elements;return e.reduceTemplateExpression(t,{tag:null==n?null:n(),elements:i.map((function(e){return e()}))})},reduceThisExpression:function(t){return e.reduceThisExpression(t)},reduceThrowStatement:function(t,r){var n=r.expression;return e.reduceThrowStatement(t,{expression:n()})},reduceTryCatchStatement:function(t,r){var n=r.body,i=r.catchClause;return e.reduceTryCatchStatement(t,{body:n(),catchClause:i()})},reduceTryFinallyStatement:function(t,r){var n=r.body,i=r.catchClause,a=r.finalizer;return e.reduceTryFinallyStatement(t,{body:n(),catchClause:null==i?null:i(),finalizer:a()})},reduceUnaryExpression:function(t,r){var n=r.operand;return e.reduceUnaryExpression(t,{operand:n()})},reduceUpdateExpression:function(t,r){var n=r.operand;return e.reduceUpdateExpression(t,{operand:n()})},reduceVariableDeclaration:function(t,r){var n=r.declarators;return e.reduceVariableDeclaration(t,{declarators:n.map((function(e){return e()}))})},reduceVariableDeclarationStatement:function(t,r){var n=r.declaration;return e.reduceVariableDeclarationStatement(t,{declaration:n()})},reduceVariableDeclarator:function(t,r){var n=r.binding,i=r.init;return e.reduceVariableDeclarator(t,{binding:n(),init:null==i?null:i()})},reduceWhileStatement:function(t,r){var n=r.test,i=r.body;return e.reduceWhileStatement(t,{test:n(),body:i()})},reduceWithStatement:function(t,r){var n=r.object,i=r.body;return e.reduceWithStatement(t,{object:n(),body:i()})},reduceYieldExpression:function(t,r){var n=r.expression;return e.reduceYieldExpression(t,{expression:null==n?null:n()})},reduceYieldGeneratorExpression:function(t,r){var n=r.expression;return e.reduceYieldGeneratorExpression(t,{expression:n()})}}};var Qe={};Object.defineProperty(Qe,"__esModule",{value:!0});var et=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),tt=function e(t,r,n){null===t&&(t=Function.prototype);var i=Object.getOwnPropertyDescriptor(t,r);if(void 0===i){var a=Object.getPrototypeOf(t);return null===a?void 0:e(a,r,n)}if("value"in i)return i.value;var u=i.get;return void 0!==u?u.call(n):void 0};function rt(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function nt(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}Qe.default=function(e){return function(e){function t(){return rt(this,t),nt(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),et(t,[{key:"reduceArrayAssignmentTarget",value:function(e,r){var n=r.elements,i=r.rest;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceArrayAssignmentTarget",this).call(this,e,{elements:n.map((function(e){return null==e?null:e()})),rest:null==i?null:i()})}},{key:"reduceArrayBinding",value:function(e,r){var n=r.elements,i=r.rest;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceArrayBinding",this).call(this,e,{elements:n.map((function(e){return null==e?null:e()})),rest:null==i?null:i()})}},{key:"reduceArrayExpression",value:function(e,r){var n=r.elements;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceArrayExpression",this).call(this,e,{elements:n.map((function(e){return null==e?null:e()}))})}},{key:"reduceArrowExpression",value:function(e,r){var n=r.params,i=r.body;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceArrowExpression",this).call(this,e,{params:n(),body:i()})}},{key:"reduceAssignmentExpression",value:function(e,r){var n=r.binding,i=r.expression;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceAssignmentExpression",this).call(this,e,{binding:n(),expression:i()})}},{key:"reduceAssignmentTargetIdentifier",value:function(e){return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceAssignmentTargetIdentifier",this).call(this,e)}},{key:"reduceAssignmentTargetPropertyIdentifier",value:function(e,r){var n=r.binding,i=r.init;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceAssignmentTargetPropertyIdentifier",this).call(this,e,{binding:n(),init:null==i?null:i()})}},{key:"reduceAssignmentTargetPropertyProperty",value:function(e,r){var n=r.name,i=r.binding;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceAssignmentTargetPropertyProperty",this).call(this,e,{name:n(),binding:i()})}},{key:"reduceAssignmentTargetWithDefault",value:function(e,r){var n=r.binding,i=r.init;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceAssignmentTargetWithDefault",this).call(this,e,{binding:n(),init:i()})}},{key:"reduceAwaitExpression",value:function(e,r){var n=r.expression;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceAwaitExpression",this).call(this,e,{expression:n()})}},{key:"reduceBinaryExpression",value:function(e,r){var n=r.left,i=r.right;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceBinaryExpression",this).call(this,e,{left:n(),right:i()})}},{key:"reduceBindingIdentifier",value:function(e){return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceBindingIdentifier",this).call(this,e)}},{key:"reduceBindingPropertyIdentifier",value:function(e,r){var n=r.binding,i=r.init;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceBindingPropertyIdentifier",this).call(this,e,{binding:n(),init:null==i?null:i()})}},{key:"reduceBindingPropertyProperty",value:function(e,r){var n=r.name,i=r.binding;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceBindingPropertyProperty",this).call(this,e,{name:n(),binding:i()})}},{key:"reduceBindingWithDefault",value:function(e,r){var n=r.binding,i=r.init;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceBindingWithDefault",this).call(this,e,{binding:n(),init:i()})}},{key:"reduceBlock",value:function(e,r){var n=r.statements;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceBlock",this).call(this,e,{statements:n.map((function(e){return e()}))})}},{key:"reduceBlockStatement",value:function(e,r){var n=r.block;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceBlockStatement",this).call(this,e,{block:n()})}},{key:"reduceBreakStatement",value:function(e){return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceBreakStatement",this).call(this,e)}},{key:"reduceCallExpression",value:function(e,r){var n=r.callee,i=r.arguments;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceCallExpression",this).call(this,e,{callee:n(),arguments:i.map((function(e){return e()}))})}},{key:"reduceCatchClause",value:function(e,r){var n=r.binding,i=r.body;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceCatchClause",this).call(this,e,{binding:n(),body:i()})}},{key:"reduceClassDeclaration",value:function(e,r){var n=r.name,i=r.super,a=r.elements;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceClassDeclaration",this).call(this,e,{name:n(),super:null==i?null:i(),elements:a.map((function(e){return e()}))})}},{key:"reduceClassElement",value:function(e,r){var n=r.method;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceClassElement",this).call(this,e,{method:n()})}},{key:"reduceClassExpression",value:function(e,r){var n=r.name,i=r.super,a=r.elements;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceClassExpression",this).call(this,e,{name:null==n?null:n(),super:null==i?null:i(),elements:a.map((function(e){return e()}))})}},{key:"reduceCompoundAssignmentExpression",value:function(e,r){var n=r.binding,i=r.expression;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceCompoundAssignmentExpression",this).call(this,e,{binding:n(),expression:i()})}},{key:"reduceComputedMemberAssignmentTarget",value:function(e,r){var n=r.object,i=r.expression;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceComputedMemberAssignmentTarget",this).call(this,e,{object:n(),expression:i()})}},{key:"reduceComputedMemberExpression",value:function(e,r){var n=r.object,i=r.expression;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceComputedMemberExpression",this).call(this,e,{object:n(),expression:i()})}},{key:"reduceComputedPropertyName",value:function(e,r){var n=r.expression;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceComputedPropertyName",this).call(this,e,{expression:n()})}},{key:"reduceConditionalExpression",value:function(e,r){var n=r.test,i=r.consequent,a=r.alternate;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceConditionalExpression",this).call(this,e,{test:n(),consequent:i(),alternate:a()})}},{key:"reduceContinueStatement",value:function(e){return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceContinueStatement",this).call(this,e)}},{key:"reduceDataProperty",value:function(e,r){var n=r.name,i=r.expression;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceDataProperty",this).call(this,e,{name:n(),expression:i()})}},{key:"reduceDebuggerStatement",value:function(e){return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceDebuggerStatement",this).call(this,e)}},{key:"reduceDirective",value:function(e){return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceDirective",this).call(this,e)}},{key:"reduceDoWhileStatement",value:function(e,r){var n=r.body,i=r.test;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceDoWhileStatement",this).call(this,e,{body:n(),test:i()})}},{key:"reduceEmptyStatement",value:function(e){return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceEmptyStatement",this).call(this,e)}},{key:"reduceExport",value:function(e,r){var n=r.declaration;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceExport",this).call(this,e,{declaration:n()})}},{key:"reduceExportAllFrom",value:function(e){return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceExportAllFrom",this).call(this,e)}},{key:"reduceExportDefault",value:function(e,r){var n=r.body;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceExportDefault",this).call(this,e,{body:n()})}},{key:"reduceExportFrom",value:function(e,r){var n=r.namedExports;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceExportFrom",this).call(this,e,{namedExports:n.map((function(e){return e()}))})}},{key:"reduceExportFromSpecifier",value:function(e){return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceExportFromSpecifier",this).call(this,e)}},{key:"reduceExportLocalSpecifier",value:function(e,r){var n=r.name;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceExportLocalSpecifier",this).call(this,e,{name:n()})}},{key:"reduceExportLocals",value:function(e,r){var n=r.namedExports;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceExportLocals",this).call(this,e,{namedExports:n.map((function(e){return e()}))})}},{key:"reduceExpressionStatement",value:function(e,r){var n=r.expression;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceExpressionStatement",this).call(this,e,{expression:n()})}},{key:"reduceForAwaitStatement",value:function(e,r){var n=r.left,i=r.right,a=r.body;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceForAwaitStatement",this).call(this,e,{left:n(),right:i(),body:a()})}},{key:"reduceForInStatement",value:function(e,r){var n=r.left,i=r.right,a=r.body;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceForInStatement",this).call(this,e,{left:n(),right:i(),body:a()})}},{key:"reduceForOfStatement",value:function(e,r){var n=r.left,i=r.right,a=r.body;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceForOfStatement",this).call(this,e,{left:n(),right:i(),body:a()})}},{key:"reduceForStatement",value:function(e,r){var n=r.init,i=r.test,a=r.update,u=r.body;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceForStatement",this).call(this,e,{init:null==n?null:n(),test:null==i?null:i(),update:null==a?null:a(),body:u()})}},{key:"reduceFormalParameters",value:function(e,r){var n=r.items,i=r.rest;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceFormalParameters",this).call(this,e,{items:n.map((function(e){return e()})),rest:null==i?null:i()})}},{key:"reduceFunctionBody",value:function(e,r){var n=r.directives,i=r.statements;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceFunctionBody",this).call(this,e,{directives:n.map((function(e){return e()})),statements:i.map((function(e){return e()}))})}},{key:"reduceFunctionDeclaration",value:function(e,r){var n=r.name,i=r.params,a=r.body;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceFunctionDeclaration",this).call(this,e,{name:n(),params:i(),body:a()})}},{key:"reduceFunctionExpression",value:function(e,r){var n=r.name,i=r.params,a=r.body;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceFunctionExpression",this).call(this,e,{name:null==n?null:n(),params:i(),body:a()})}},{key:"reduceGetter",value:function(e,r){var n=r.name,i=r.body;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceGetter",this).call(this,e,{name:n(),body:i()})}},{key:"reduceIdentifierExpression",value:function(e){return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceIdentifierExpression",this).call(this,e)}},{key:"reduceIfStatement",value:function(e,r){var n=r.test,i=r.consequent,a=r.alternate;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceIfStatement",this).call(this,e,{test:n(),consequent:i(),alternate:null==a?null:a()})}},{key:"reduceImport",value:function(e,r){var n=r.defaultBinding,i=r.namedImports;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceImport",this).call(this,e,{defaultBinding:null==n?null:n(),namedImports:i.map((function(e){return e()}))})}},{key:"reduceImportNamespace",value:function(e,r){var n=r.defaultBinding,i=r.namespaceBinding;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceImportNamespace",this).call(this,e,{defaultBinding:null==n?null:n(),namespaceBinding:i()})}},{key:"reduceImportSpecifier",value:function(e,r){var n=r.binding;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceImportSpecifier",this).call(this,e,{binding:n()})}},{key:"reduceLabeledStatement",value:function(e,r){var n=r.body;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceLabeledStatement",this).call(this,e,{body:n()})}},{key:"reduceLiteralBooleanExpression",value:function(e){return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceLiteralBooleanExpression",this).call(this,e)}},{key:"reduceLiteralInfinityExpression",value:function(e){return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceLiteralInfinityExpression",this).call(this,e)}},{key:"reduceLiteralNullExpression",value:function(e){return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceLiteralNullExpression",this).call(this,e)}},{key:"reduceLiteralNumericExpression",value:function(e){return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceLiteralNumericExpression",this).call(this,e)}},{key:"reduceLiteralRegExpExpression",value:function(e){return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceLiteralRegExpExpression",this).call(this,e)}},{key:"reduceLiteralStringExpression",value:function(e){return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceLiteralStringExpression",this).call(this,e)}},{key:"reduceMethod",value:function(e,r){var n=r.name,i=r.params,a=r.body;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceMethod",this).call(this,e,{name:n(),params:i(),body:a()})}},{key:"reduceModule",value:function(e,r){var n=r.directives,i=r.items;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceModule",this).call(this,e,{directives:n.map((function(e){return e()})),items:i.map((function(e){return e()}))})}},{key:"reduceNewExpression",value:function(e,r){var n=r.callee,i=r.arguments;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceNewExpression",this).call(this,e,{callee:n(),arguments:i.map((function(e){return e()}))})}},{key:"reduceNewTargetExpression",value:function(e){return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceNewTargetExpression",this).call(this,e)}},{key:"reduceObjectAssignmentTarget",value:function(e,r){var n=r.properties,i=r.rest;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceObjectAssignmentTarget",this).call(this,e,{properties:n.map((function(e){return e()})),rest:null==i?null:i()})}},{key:"reduceObjectBinding",value:function(e,r){var n=r.properties,i=r.rest;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceObjectBinding",this).call(this,e,{properties:n.map((function(e){return e()})),rest:null==i?null:i()})}},{key:"reduceObjectExpression",value:function(e,r){var n=r.properties;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceObjectExpression",this).call(this,e,{properties:n.map((function(e){return e()}))})}},{key:"reduceReturnStatement",value:function(e,r){var n=r.expression;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceReturnStatement",this).call(this,e,{expression:null==n?null:n()})}},{key:"reduceScript",value:function(e,r){var n=r.directives,i=r.statements;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceScript",this).call(this,e,{directives:n.map((function(e){return e()})),statements:i.map((function(e){return e()}))})}},{key:"reduceSetter",value:function(e,r){var n=r.name,i=r.param,a=r.body;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceSetter",this).call(this,e,{name:n(),param:i(),body:a()})}},{key:"reduceShorthandProperty",value:function(e,r){var n=r.name;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceShorthandProperty",this).call(this,e,{name:n()})}},{key:"reduceSpreadElement",value:function(e,r){var n=r.expression;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceSpreadElement",this).call(this,e,{expression:n()})}},{key:"reduceSpreadProperty",value:function(e,r){var n=r.expression;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceSpreadProperty",this).call(this,e,{expression:n()})}},{key:"reduceStaticMemberAssignmentTarget",value:function(e,r){var n=r.object;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceStaticMemberAssignmentTarget",this).call(this,e,{object:n()})}},{key:"reduceStaticMemberExpression",value:function(e,r){var n=r.object;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceStaticMemberExpression",this).call(this,e,{object:n()})}},{key:"reduceStaticPropertyName",value:function(e){return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceStaticPropertyName",this).call(this,e)}},{key:"reduceSuper",value:function(e){return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceSuper",this).call(this,e)}},{key:"reduceSwitchCase",value:function(e,r){var n=r.test,i=r.consequent;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceSwitchCase",this).call(this,e,{test:n(),consequent:i.map((function(e){return e()}))})}},{key:"reduceSwitchDefault",value:function(e,r){var n=r.consequent;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceSwitchDefault",this).call(this,e,{consequent:n.map((function(e){return e()}))})}},{key:"reduceSwitchStatement",value:function(e,r){var n=r.discriminant,i=r.cases;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceSwitchStatement",this).call(this,e,{discriminant:n(),cases:i.map((function(e){return e()}))})}},{key:"reduceSwitchStatementWithDefault",value:function(e,r){var n=r.discriminant,i=r.preDefaultCases,a=r.defaultCase,u=r.postDefaultCases;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceSwitchStatementWithDefault",this).call(this,e,{discriminant:n(),preDefaultCases:i.map((function(e){return e()})),defaultCase:a(),postDefaultCases:u.map((function(e){return e()}))})}},{key:"reduceTemplateElement",value:function(e){return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceTemplateElement",this).call(this,e)}},{key:"reduceTemplateExpression",value:function(e,r){var n=r.tag,i=r.elements;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceTemplateExpression",this).call(this,e,{tag:null==n?null:n(),elements:i.map((function(e){return e()}))})}},{key:"reduceThisExpression",value:function(e){return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceThisExpression",this).call(this,e)}},{key:"reduceThrowStatement",value:function(e,r){var n=r.expression;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceThrowStatement",this).call(this,e,{expression:n()})}},{key:"reduceTryCatchStatement",value:function(e,r){var n=r.body,i=r.catchClause;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceTryCatchStatement",this).call(this,e,{body:n(),catchClause:i()})}},{key:"reduceTryFinallyStatement",value:function(e,r){var n=r.body,i=r.catchClause,a=r.finalizer;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceTryFinallyStatement",this).call(this,e,{body:n(),catchClause:null==i?null:i(),finalizer:a()})}},{key:"reduceUnaryExpression",value:function(e,r){var n=r.operand;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceUnaryExpression",this).call(this,e,{operand:n()})}},{key:"reduceUpdateExpression",value:function(e,r){var n=r.operand;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceUpdateExpression",this).call(this,e,{operand:n()})}},{key:"reduceVariableDeclaration",value:function(e,r){var n=r.declarators;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceVariableDeclaration",this).call(this,e,{declarators:n.map((function(e){return e()}))})}},{key:"reduceVariableDeclarationStatement",value:function(e,r){var n=r.declaration;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceVariableDeclarationStatement",this).call(this,e,{declaration:n()})}},{key:"reduceVariableDeclarator",value:function(e,r){var n=r.binding,i=r.init;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceVariableDeclarator",this).call(this,e,{binding:n(),init:null==i?null:i()})}},{key:"reduceWhileStatement",value:function(e,r){var n=r.test,i=r.body;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceWhileStatement",this).call(this,e,{test:n(),body:i()})}},{key:"reduceWithStatement",value:function(e,r){var n=r.object,i=r.body;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceWithStatement",this).call(this,e,{object:n(),body:i()})}},{key:"reduceYieldExpression",value:function(e,r){var n=r.expression;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceYieldExpression",this).call(this,e,{expression:null==n?null:n()})}},{key:"reduceYieldGeneratorExpression",value:function(e,r){var n=r.expression;return tt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceYieldGeneratorExpression",this).call(this,e,{expression:n()})}}]),t}(e)};var it={},at={};function ut(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(at,"__esModule",{value:!0}),at.ArrayAssignmentTarget=function e(t){var r=t.elements,n=t.rest;ut(this,e),this.type="ArrayAssignmentTarget",this.elements=r,this.rest=n},at.ArrayBinding=function e(t){var r=t.elements,n=t.rest;ut(this,e),this.type="ArrayBinding",this.elements=r,this.rest=n},at.ArrayExpression=function e(t){var r=t.elements;ut(this,e),this.type="ArrayExpression",this.elements=r},at.ArrowExpression=function e(t){var r=t.isAsync,n=t.params,i=t.body;ut(this,e),this.type="ArrowExpression",this.isAsync=r,this.params=n,this.body=i},at.AssignmentExpression=function e(t){var r=t.binding,n=t.expression;ut(this,e),this.type="AssignmentExpression",this.binding=r,this.expression=n},at.AssignmentTargetIdentifier=function e(t){var r=t.name;ut(this,e),this.type="AssignmentTargetIdentifier",this.name=r},at.AssignmentTargetPropertyIdentifier=function e(t){var r=t.binding,n=t.init;ut(this,e),this.type="AssignmentTargetPropertyIdentifier",this.binding=r,this.init=n},at.AssignmentTargetPropertyProperty=function e(t){var r=t.name,n=t.binding;ut(this,e),this.type="AssignmentTargetPropertyProperty",this.name=r,this.binding=n},at.AssignmentTargetWithDefault=function e(t){var r=t.binding,n=t.init;ut(this,e),this.type="AssignmentTargetWithDefault",this.binding=r,this.init=n},at.AwaitExpression=function e(t){var r=t.expression;ut(this,e),this.type="AwaitExpression",this.expression=r},at.BinaryExpression=function e(t){var r=t.left,n=t.operator,i=t.right;ut(this,e),this.type="BinaryExpression",this.left=r,this.operator=n,this.right=i},at.BindingIdentifier=function e(t){var r=t.name;ut(this,e),this.type="BindingIdentifier",this.name=r},at.BindingPropertyIdentifier=function e(t){var r=t.binding,n=t.init;ut(this,e),this.type="BindingPropertyIdentifier",this.binding=r,this.init=n},at.BindingPropertyProperty=function e(t){var r=t.name,n=t.binding;ut(this,e),this.type="BindingPropertyProperty",this.name=r,this.binding=n},at.BindingWithDefault=function e(t){var r=t.binding,n=t.init;ut(this,e),this.type="BindingWithDefault",this.binding=r,this.init=n},at.Block=function e(t){var r=t.statements;ut(this,e),this.type="Block",this.statements=r},at.BlockStatement=function e(t){var r=t.block;ut(this,e),this.type="BlockStatement",this.block=r},at.BreakStatement=function e(t){var r=t.label;ut(this,e),this.type="BreakStatement",this.label=r},at.CallExpression=function e(t){var r=t.callee,n=t.arguments;ut(this,e),this.type="CallExpression",this.callee=r,this.arguments=n},at.CatchClause=function e(t){var r=t.binding,n=t.body;ut(this,e),this.type="CatchClause",this.binding=r,this.body=n},at.ClassDeclaration=function e(t){var r=t.name,n=t.super,i=t.elements;ut(this,e),this.type="ClassDeclaration",this.name=r,this.super=n,this.elements=i},at.ClassElement=function e(t){var r=t.isStatic,n=t.method;ut(this,e),this.type="ClassElement",this.isStatic=r,this.method=n},at.ClassExpression=function e(t){var r=t.name,n=t.super,i=t.elements;ut(this,e),this.type="ClassExpression",this.name=r,this.super=n,this.elements=i},at.CompoundAssignmentExpression=function e(t){var r=t.binding,n=t.operator,i=t.expression;ut(this,e),this.type="CompoundAssignmentExpression",this.binding=r,this.operator=n,this.expression=i},at.ComputedMemberAssignmentTarget=function e(t){var r=t.object,n=t.expression;ut(this,e),this.type="ComputedMemberAssignmentTarget",this.object=r,this.expression=n},at.ComputedMemberExpression=function e(t){var r=t.object,n=t.expression;ut(this,e),this.type="ComputedMemberExpression",this.object=r,this.expression=n},at.ComputedPropertyName=function e(t){var r=t.expression;ut(this,e),this.type="ComputedPropertyName",this.expression=r},at.ConditionalExpression=function e(t){var r=t.test,n=t.consequent,i=t.alternate;ut(this,e),this.type="ConditionalExpression",this.test=r,this.consequent=n,this.alternate=i},at.ContinueStatement=function e(t){var r=t.label;ut(this,e),this.type="ContinueStatement",this.label=r},at.DataProperty=function e(t){var r=t.name,n=t.expression;ut(this,e),this.type="DataProperty",this.name=r,this.expression=n},at.DebuggerStatement=function e(){ut(this,e),this.type="DebuggerStatement"},at.Directive=function e(t){var r=t.rawValue;ut(this,e),this.type="Directive",this.rawValue=r},at.DoWhileStatement=function e(t){var r=t.body,n=t.test;ut(this,e),this.type="DoWhileStatement",this.body=r,this.test=n},at.EmptyStatement=function e(){ut(this,e),this.type="EmptyStatement"},at.Export=function e(t){var r=t.declaration;ut(this,e),this.type="Export",this.declaration=r},at.ExportAllFrom=function e(t){var r=t.moduleSpecifier;ut(this,e),this.type="ExportAllFrom",this.moduleSpecifier=r},at.ExportDefault=function e(t){var r=t.body;ut(this,e),this.type="ExportDefault",this.body=r},at.ExportFrom=function e(t){var r=t.namedExports,n=t.moduleSpecifier;ut(this,e),this.type="ExportFrom",this.namedExports=r,this.moduleSpecifier=n},at.ExportFromSpecifier=function e(t){var r=t.name,n=t.exportedName;ut(this,e),this.type="ExportFromSpecifier",this.name=r,this.exportedName=n},at.ExportLocalSpecifier=function e(t){var r=t.name,n=t.exportedName;ut(this,e),this.type="ExportLocalSpecifier",this.name=r,this.exportedName=n},at.ExportLocals=function e(t){var r=t.namedExports;ut(this,e),this.type="ExportLocals",this.namedExports=r},at.ExpressionStatement=function e(t){var r=t.expression;ut(this,e),this.type="ExpressionStatement",this.expression=r},at.ForAwaitStatement=function e(t){var r=t.left,n=t.right,i=t.body;ut(this,e),this.type="ForAwaitStatement",this.left=r,this.right=n,this.body=i},at.ForInStatement=function e(t){var r=t.left,n=t.right,i=t.body;ut(this,e),this.type="ForInStatement",this.left=r,this.right=n,this.body=i},at.ForOfStatement=function e(t){var r=t.left,n=t.right,i=t.body;ut(this,e),this.type="ForOfStatement",this.left=r,this.right=n,this.body=i},at.ForStatement=function e(t){var r=t.init,n=t.test,i=t.update,a=t.body;ut(this,e),this.type="ForStatement",this.init=r,this.test=n,this.update=i,this.body=a},at.FormalParameters=function e(t){var r=t.items,n=t.rest;ut(this,e),this.type="FormalParameters",this.items=r,this.rest=n},at.FunctionBody=function e(t){var r=t.directives,n=t.statements;ut(this,e),this.type="FunctionBody",this.directives=r,this.statements=n},at.FunctionDeclaration=function e(t){var r=t.isAsync,n=t.isGenerator,i=t.name,a=t.params,u=t.body;ut(this,e),this.type="FunctionDeclaration",this.isAsync=r,this.isGenerator=n,this.name=i,this.params=a,this.body=u},at.FunctionExpression=function e(t){var r=t.isAsync,n=t.isGenerator,i=t.name,a=t.params,u=t.body;ut(this,e),this.type="FunctionExpression",this.isAsync=r,this.isGenerator=n,this.name=i,this.params=a,this.body=u},at.Getter=function e(t){var r=t.name,n=t.body;ut(this,e),this.type="Getter",this.name=r,this.body=n},at.IdentifierExpression=function e(t){var r=t.name;ut(this,e),this.type="IdentifierExpression",this.name=r},at.IfStatement=function e(t){var r=t.test,n=t.consequent,i=t.alternate;ut(this,e),this.type="IfStatement",this.test=r,this.consequent=n,this.alternate=i},at.Import=function e(t){var r=t.defaultBinding,n=t.namedImports,i=t.moduleSpecifier;ut(this,e),this.type="Import",this.defaultBinding=r,this.namedImports=n,this.moduleSpecifier=i},at.ImportNamespace=function e(t){var r=t.defaultBinding,n=t.namespaceBinding,i=t.moduleSpecifier;ut(this,e),this.type="ImportNamespace",this.defaultBinding=r,this.namespaceBinding=n,this.moduleSpecifier=i},at.ImportSpecifier=function e(t){var r=t.name,n=t.binding;ut(this,e),this.type="ImportSpecifier",this.name=r,this.binding=n},at.LabeledStatement=function e(t){var r=t.label,n=t.body;ut(this,e),this.type="LabeledStatement",this.label=r,this.body=n},at.LiteralBooleanExpression=function e(t){var r=t.value;ut(this,e),this.type="LiteralBooleanExpression",this.value=r},at.LiteralInfinityExpression=function e(){ut(this,e),this.type="LiteralInfinityExpression"},at.LiteralNullExpression=function e(){ut(this,e),this.type="LiteralNullExpression"},at.LiteralNumericExpression=function e(t){var r=t.value;ut(this,e),this.type="LiteralNumericExpression",this.value=r},at.LiteralRegExpExpression=function e(t){var r=t.pattern,n=t.global,i=t.ignoreCase,a=t.multiLine,u=t.dotAll,s=t.unicode,o=t.sticky;ut(this,e),this.type="LiteralRegExpExpression",this.pattern=r,this.global=n,this.ignoreCase=i,this.multiLine=a,this.dotAll=u,this.unicode=s,this.sticky=o},at.LiteralStringExpression=function e(t){var r=t.value;ut(this,e),this.type="LiteralStringExpression",this.value=r},at.Method=function e(t){var r=t.isAsync,n=t.isGenerator,i=t.name,a=t.params,u=t.body;ut(this,e),this.type="Method",this.isAsync=r,this.isGenerator=n,this.name=i,this.params=a,this.body=u},at.Module=function e(t){var r=t.directives,n=t.items;ut(this,e),this.type="Module",this.directives=r,this.items=n},at.NewExpression=function e(t){var r=t.callee,n=t.arguments;ut(this,e),this.type="NewExpression",this.callee=r,this.arguments=n},at.NewTargetExpression=function e(){ut(this,e),this.type="NewTargetExpression"},at.ObjectAssignmentTarget=function e(t){var r=t.properties,n=t.rest;ut(this,e),this.type="ObjectAssignmentTarget",this.properties=r,this.rest=n},at.ObjectBinding=function e(t){var r=t.properties,n=t.rest;ut(this,e),this.type="ObjectBinding",this.properties=r,this.rest=n},at.ObjectExpression=function e(t){var r=t.properties;ut(this,e),this.type="ObjectExpression",this.properties=r},at.ReturnStatement=function e(t){var r=t.expression;ut(this,e),this.type="ReturnStatement",this.expression=r},at.Script=function e(t){var r=t.directives,n=t.statements;ut(this,e),this.type="Script",this.directives=r,this.statements=n},at.Setter=function e(t){var r=t.name,n=t.param,i=t.body;ut(this,e),this.type="Setter",this.name=r,this.param=n,this.body=i},at.ShorthandProperty=function e(t){var r=t.name;ut(this,e),this.type="ShorthandProperty",this.name=r},at.SpreadElement=function e(t){var r=t.expression;ut(this,e),this.type="SpreadElement",this.expression=r},at.SpreadProperty=function e(t){var r=t.expression;ut(this,e),this.type="SpreadProperty",this.expression=r},at.StaticMemberAssignmentTarget=function e(t){var r=t.object,n=t.property;ut(this,e),this.type="StaticMemberAssignmentTarget",this.object=r,this.property=n},at.StaticMemberExpression=function e(t){var r=t.object,n=t.property;ut(this,e),this.type="StaticMemberExpression",this.object=r,this.property=n},at.StaticPropertyName=function e(t){var r=t.value;ut(this,e),this.type="StaticPropertyName",this.value=r},at.Super=function e(){ut(this,e),this.type="Super"},at.SwitchCase=function e(t){var r=t.test,n=t.consequent;ut(this,e),this.type="SwitchCase",this.test=r,this.consequent=n},at.SwitchDefault=function e(t){var r=t.consequent;ut(this,e),this.type="SwitchDefault",this.consequent=r},at.SwitchStatement=function e(t){var r=t.discriminant,n=t.cases;ut(this,e),this.type="SwitchStatement",this.discriminant=r,this.cases=n},at.SwitchStatementWithDefault=function e(t){var r=t.discriminant,n=t.preDefaultCases,i=t.defaultCase,a=t.postDefaultCases;ut(this,e),this.type="SwitchStatementWithDefault",this.discriminant=r,this.preDefaultCases=n,this.defaultCase=i,this.postDefaultCases=a},at.TemplateElement=function e(t){var r=t.rawValue;ut(this,e),this.type="TemplateElement",this.rawValue=r},at.TemplateExpression=function e(t){var r=t.tag,n=t.elements;ut(this,e),this.type="TemplateExpression",this.tag=r,this.elements=n},at.ThisExpression=function e(){ut(this,e),this.type="ThisExpression"},at.ThrowStatement=function e(t){var r=t.expression;ut(this,e),this.type="ThrowStatement",this.expression=r},at.TryCatchStatement=function e(t){var r=t.body,n=t.catchClause;ut(this,e),this.type="TryCatchStatement",this.body=r,this.catchClause=n},at.TryFinallyStatement=function e(t){var r=t.body,n=t.catchClause,i=t.finalizer;ut(this,e),this.type="TryFinallyStatement",this.body=r,this.catchClause=n,this.finalizer=i},at.UnaryExpression=function e(t){var r=t.operator,n=t.operand;ut(this,e),this.type="UnaryExpression",this.operator=r,this.operand=n},at.UpdateExpression=function e(t){var r=t.isPrefix,n=t.operator,i=t.operand;ut(this,e),this.type="UpdateExpression",this.isPrefix=r,this.operator=n,this.operand=i},at.VariableDeclaration=function e(t){var r=t.kind,n=t.declarators;ut(this,e),this.type="VariableDeclaration",this.kind=r,this.declarators=n},at.VariableDeclarationStatement=function e(t){var r=t.declaration;ut(this,e),this.type="VariableDeclarationStatement",this.declaration=r},at.VariableDeclarator=function e(t){var r=t.binding,n=t.init;ut(this,e),this.type="VariableDeclarator",this.binding=r,this.init=n},at.WhileStatement=function e(t){var r=t.test,n=t.body;ut(this,e),this.type="WhileStatement",this.test=r,this.body=n},at.WithStatement=function e(t){var r=t.object,n=t.body;ut(this,e),this.type="WithStatement",this.object=r,this.body=n},at.YieldExpression=function e(t){var r=t.expression;ut(this,e),this.type="YieldExpression",this.expression=r},at.YieldGeneratorExpression=function e(t){var r=t.expression;ut(this,e),this.type="YieldGeneratorExpression",this.expression=r},Object.defineProperty(it,"__esModule",{value:!0}),it.default=function(e){var t=new WeakMap;return{reduceArrayAssignmentTarget:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceArrayAssignmentTarget(r,n);return t.set(r,i),i},reduceArrayBinding:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceArrayBinding(r,n);return t.set(r,i),i},reduceArrayExpression:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceArrayExpression(r,n);return t.set(r,i),i},reduceArrowExpression:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceArrowExpression(r,n);return t.set(r,i),i},reduceAssignmentExpression:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceAssignmentExpression(r,n);return t.set(r,i),i},reduceAssignmentTargetIdentifier:function(r){if(t.has(r))return t.get(r);var n=e.reduceAssignmentTargetIdentifier(r);return t.set(r,n),n},reduceAssignmentTargetPropertyIdentifier:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceAssignmentTargetPropertyIdentifier(r,n);return t.set(r,i),i},reduceAssignmentTargetPropertyProperty:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceAssignmentTargetPropertyProperty(r,n);return t.set(r,i),i},reduceAssignmentTargetWithDefault:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceAssignmentTargetWithDefault(r,n);return t.set(r,i),i},reduceAwaitExpression:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceAwaitExpression(r,n);return t.set(r,i),i},reduceBinaryExpression:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceBinaryExpression(r,n);return t.set(r,i),i},reduceBindingIdentifier:function(r){if(t.has(r))return t.get(r);var n=e.reduceBindingIdentifier(r);return t.set(r,n),n},reduceBindingPropertyIdentifier:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceBindingPropertyIdentifier(r,n);return t.set(r,i),i},reduceBindingPropertyProperty:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceBindingPropertyProperty(r,n);return t.set(r,i),i},reduceBindingWithDefault:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceBindingWithDefault(r,n);return t.set(r,i),i},reduceBlock:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceBlock(r,n);return t.set(r,i),i},reduceBlockStatement:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceBlockStatement(r,n);return t.set(r,i),i},reduceBreakStatement:function(r){if(t.has(r))return t.get(r);var n=e.reduceBreakStatement(r);return t.set(r,n),n},reduceCallExpression:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceCallExpression(r,n);return t.set(r,i),i},reduceCatchClause:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceCatchClause(r,n);return t.set(r,i),i},reduceClassDeclaration:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceClassDeclaration(r,n);return t.set(r,i),i},reduceClassElement:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceClassElement(r,n);return t.set(r,i),i},reduceClassExpression:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceClassExpression(r,n);return t.set(r,i),i},reduceCompoundAssignmentExpression:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceCompoundAssignmentExpression(r,n);return t.set(r,i),i},reduceComputedMemberAssignmentTarget:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceComputedMemberAssignmentTarget(r,n);return t.set(r,i),i},reduceComputedMemberExpression:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceComputedMemberExpression(r,n);return t.set(r,i),i},reduceComputedPropertyName:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceComputedPropertyName(r,n);return t.set(r,i),i},reduceConditionalExpression:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceConditionalExpression(r,n);return t.set(r,i),i},reduceContinueStatement:function(r){if(t.has(r))return t.get(r);var n=e.reduceContinueStatement(r);return t.set(r,n),n},reduceDataProperty:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceDataProperty(r,n);return t.set(r,i),i},reduceDebuggerStatement:function(r){if(t.has(r))return t.get(r);var n=e.reduceDebuggerStatement(r);return t.set(r,n),n},reduceDirective:function(r){if(t.has(r))return t.get(r);var n=e.reduceDirective(r);return t.set(r,n),n},reduceDoWhileStatement:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceDoWhileStatement(r,n);return t.set(r,i),i},reduceEmptyStatement:function(r){if(t.has(r))return t.get(r);var n=e.reduceEmptyStatement(r);return t.set(r,n),n},reduceExport:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceExport(r,n);return t.set(r,i),i},reduceExportAllFrom:function(r){if(t.has(r))return t.get(r);var n=e.reduceExportAllFrom(r);return t.set(r,n),n},reduceExportDefault:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceExportDefault(r,n);return t.set(r,i),i},reduceExportFrom:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceExportFrom(r,n);return t.set(r,i),i},reduceExportFromSpecifier:function(r){if(t.has(r))return t.get(r);var n=e.reduceExportFromSpecifier(r);return t.set(r,n),n},reduceExportLocalSpecifier:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceExportLocalSpecifier(r,n);return t.set(r,i),i},reduceExportLocals:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceExportLocals(r,n);return t.set(r,i),i},reduceExpressionStatement:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceExpressionStatement(r,n);return t.set(r,i),i},reduceForAwaitStatement:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceForAwaitStatement(r,n);return t.set(r,i),i},reduceForInStatement:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceForInStatement(r,n);return t.set(r,i),i},reduceForOfStatement:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceForOfStatement(r,n);return t.set(r,i),i},reduceForStatement:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceForStatement(r,n);return t.set(r,i),i},reduceFormalParameters:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceFormalParameters(r,n);return t.set(r,i),i},reduceFunctionBody:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceFunctionBody(r,n);return t.set(r,i),i},reduceFunctionDeclaration:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceFunctionDeclaration(r,n);return t.set(r,i),i},reduceFunctionExpression:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceFunctionExpression(r,n);return t.set(r,i),i},reduceGetter:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceGetter(r,n);return t.set(r,i),i},reduceIdentifierExpression:function(r){if(t.has(r))return t.get(r);var n=e.reduceIdentifierExpression(r);return t.set(r,n),n},reduceIfStatement:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceIfStatement(r,n);return t.set(r,i),i},reduceImport:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceImport(r,n);return t.set(r,i),i},reduceImportNamespace:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceImportNamespace(r,n);return t.set(r,i),i},reduceImportSpecifier:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceImportSpecifier(r,n);return t.set(r,i),i},reduceLabeledStatement:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceLabeledStatement(r,n);return t.set(r,i),i},reduceLiteralBooleanExpression:function(r){if(t.has(r))return t.get(r);var n=e.reduceLiteralBooleanExpression(r);return t.set(r,n),n},reduceLiteralInfinityExpression:function(r){if(t.has(r))return t.get(r);var n=e.reduceLiteralInfinityExpression(r);return t.set(r,n),n},reduceLiteralNullExpression:function(r){if(t.has(r))return t.get(r);var n=e.reduceLiteralNullExpression(r);return t.set(r,n),n},reduceLiteralNumericExpression:function(r){if(t.has(r))return t.get(r);var n=e.reduceLiteralNumericExpression(r);return t.set(r,n),n},reduceLiteralRegExpExpression:function(r){if(t.has(r))return t.get(r);var n=e.reduceLiteralRegExpExpression(r);return t.set(r,n),n},reduceLiteralStringExpression:function(r){if(t.has(r))return t.get(r);var n=e.reduceLiteralStringExpression(r);return t.set(r,n),n},reduceMethod:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceMethod(r,n);return t.set(r,i),i},reduceModule:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceModule(r,n);return t.set(r,i),i},reduceNewExpression:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceNewExpression(r,n);return t.set(r,i),i},reduceNewTargetExpression:function(r){if(t.has(r))return t.get(r);var n=e.reduceNewTargetExpression(r);return t.set(r,n),n},reduceObjectAssignmentTarget:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceObjectAssignmentTarget(r,n);return t.set(r,i),i},reduceObjectBinding:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceObjectBinding(r,n);return t.set(r,i),i},reduceObjectExpression:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceObjectExpression(r,n);return t.set(r,i),i},reduceReturnStatement:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceReturnStatement(r,n);return t.set(r,i),i},reduceScript:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceScript(r,n);return t.set(r,i),i},reduceSetter:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceSetter(r,n);return t.set(r,i),i},reduceShorthandProperty:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceShorthandProperty(r,n);return t.set(r,i),i},reduceSpreadElement:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceSpreadElement(r,n);return t.set(r,i),i},reduceSpreadProperty:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceSpreadProperty(r,n);return t.set(r,i),i},reduceStaticMemberAssignmentTarget:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceStaticMemberAssignmentTarget(r,n);return t.set(r,i),i},reduceStaticMemberExpression:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceStaticMemberExpression(r,n);return t.set(r,i),i},reduceStaticPropertyName:function(r){if(t.has(r))return t.get(r);var n=e.reduceStaticPropertyName(r);return t.set(r,n),n},reduceSuper:function(r){if(t.has(r))return t.get(r);var n=e.reduceSuper(r);return t.set(r,n),n},reduceSwitchCase:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceSwitchCase(r,n);return t.set(r,i),i},reduceSwitchDefault:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceSwitchDefault(r,n);return t.set(r,i),i},reduceSwitchStatement:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceSwitchStatement(r,n);return t.set(r,i),i},reduceSwitchStatementWithDefault:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceSwitchStatementWithDefault(r,n);return t.set(r,i),i},reduceTemplateElement:function(r){if(t.has(r))return t.get(r);var n=e.reduceTemplateElement(r);return t.set(r,n),n},reduceTemplateExpression:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceTemplateExpression(r,n);return t.set(r,i),i},reduceThisExpression:function(r){if(t.has(r))return t.get(r);var n=e.reduceThisExpression(r);return t.set(r,n),n},reduceThrowStatement:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceThrowStatement(r,n);return t.set(r,i),i},reduceTryCatchStatement:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceTryCatchStatement(r,n);return t.set(r,i),i},reduceTryFinallyStatement:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceTryFinallyStatement(r,n);return t.set(r,i),i},reduceUnaryExpression:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceUnaryExpression(r,n);return t.set(r,i),i},reduceUpdateExpression:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceUpdateExpression(r,n);return t.set(r,i),i},reduceVariableDeclaration:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceVariableDeclaration(r,n);return t.set(r,i),i},reduceVariableDeclarationStatement:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceVariableDeclarationStatement(r,n);return t.set(r,i),i},reduceVariableDeclarator:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceVariableDeclarator(r,n);return t.set(r,i),i},reduceWhileStatement:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceWhileStatement(r,n);return t.set(r,i),i},reduceWithStatement:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceWithStatement(r,n);return t.set(r,i),i},reduceYieldExpression:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceYieldExpression(r,n);return t.set(r,i),i},reduceYieldGeneratorExpression:function(r,n){if(t.has(r))return t.get(r);var i=e.reduceYieldGeneratorExpression(r,n);return t.set(r,i),i}}},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);t.default=e}(at);var st={};Object.defineProperty(st,"__esModule",{value:!0});var ot=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),ct=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(at);var pt=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}return ot(e,[{key:"reduceArrayAssignmentTarget",value:function(e,t){var r=t.elements,n=t.rest;return new ct.ArrayAssignmentTarget({elements:r,rest:n})}},{key:"reduceArrayBinding",value:function(e,t){var r=t.elements,n=t.rest;return new ct.ArrayBinding({elements:r,rest:n})}},{key:"reduceArrayExpression",value:function(e,t){var r=t.elements;return new ct.ArrayExpression({elements:r})}},{key:"reduceArrowExpression",value:function(e,t){var r=t.params,n=t.body;return new ct.ArrowExpression({isAsync:e.isAsync,params:r,body:n})}},{key:"reduceAssignmentExpression",value:function(e,t){var r=t.binding,n=t.expression;return new ct.AssignmentExpression({binding:r,expression:n})}},{key:"reduceAssignmentTargetIdentifier",value:function(e){return new ct.AssignmentTargetIdentifier({name:e.name})}},{key:"reduceAssignmentTargetPropertyIdentifier",value:function(e,t){var r=t.binding,n=t.init;return new ct.AssignmentTargetPropertyIdentifier({binding:r,init:n})}},{key:"reduceAssignmentTargetPropertyProperty",value:function(e,t){var r=t.name,n=t.binding;return new ct.AssignmentTargetPropertyProperty({name:r,binding:n})}},{key:"reduceAssignmentTargetWithDefault",value:function(e,t){var r=t.binding,n=t.init;return new ct.AssignmentTargetWithDefault({binding:r,init:n})}},{key:"reduceAwaitExpression",value:function(e,t){var r=t.expression;return new ct.AwaitExpression({expression:r})}},{key:"reduceBinaryExpression",value:function(e,t){var r=t.left,n=t.right;return new ct.BinaryExpression({left:r,operator:e.operator,right:n})}},{key:"reduceBindingIdentifier",value:function(e){return new ct.BindingIdentifier({name:e.name})}},{key:"reduceBindingPropertyIdentifier",value:function(e,t){var r=t.binding,n=t.init;return new ct.BindingPropertyIdentifier({binding:r,init:n})}},{key:"reduceBindingPropertyProperty",value:function(e,t){var r=t.name,n=t.binding;return new ct.BindingPropertyProperty({name:r,binding:n})}},{key:"reduceBindingWithDefault",value:function(e,t){var r=t.binding,n=t.init;return new ct.BindingWithDefault({binding:r,init:n})}},{key:"reduceBlock",value:function(e,t){var r=t.statements;return new ct.Block({statements:r})}},{key:"reduceBlockStatement",value:function(e,t){var r=t.block;return new ct.BlockStatement({block:r})}},{key:"reduceBreakStatement",value:function(e){return new ct.BreakStatement({label:e.label})}},{key:"reduceCallExpression",value:function(e,t){var r=t.callee,n=t.arguments;return new ct.CallExpression({callee:r,arguments:n})}},{key:"reduceCatchClause",value:function(e,t){var r=t.binding,n=t.body;return new ct.CatchClause({binding:r,body:n})}},{key:"reduceClassDeclaration",value:function(e,t){var r=t.name,n=t.super,i=t.elements;return new ct.ClassDeclaration({name:r,super:n,elements:i})}},{key:"reduceClassElement",value:function(e,t){var r=t.method;return new ct.ClassElement({isStatic:e.isStatic,method:r})}},{key:"reduceClassExpression",value:function(e,t){var r=t.name,n=t.super,i=t.elements;return new ct.ClassExpression({name:r,super:n,elements:i})}},{key:"reduceCompoundAssignmentExpression",value:function(e,t){var r=t.binding,n=t.expression;return new ct.CompoundAssignmentExpression({binding:r,operator:e.operator,expression:n})}},{key:"reduceComputedMemberAssignmentTarget",value:function(e,t){var r=t.object,n=t.expression;return new ct.ComputedMemberAssignmentTarget({object:r,expression:n})}},{key:"reduceComputedMemberExpression",value:function(e,t){var r=t.object,n=t.expression;return new ct.ComputedMemberExpression({object:r,expression:n})}},{key:"reduceComputedPropertyName",value:function(e,t){var r=t.expression;return new ct.ComputedPropertyName({expression:r})}},{key:"reduceConditionalExpression",value:function(e,t){var r=t.test,n=t.consequent,i=t.alternate;return new ct.ConditionalExpression({test:r,consequent:n,alternate:i})}},{key:"reduceContinueStatement",value:function(e){return new ct.ContinueStatement({label:e.label})}},{key:"reduceDataProperty",value:function(e,t){var r=t.name,n=t.expression;return new ct.DataProperty({name:r,expression:n})}},{key:"reduceDebuggerStatement",value:function(e){return new ct.DebuggerStatement}},{key:"reduceDirective",value:function(e){return new ct.Directive({rawValue:e.rawValue})}},{key:"reduceDoWhileStatement",value:function(e,t){var r=t.body,n=t.test;return new ct.DoWhileStatement({body:r,test:n})}},{key:"reduceEmptyStatement",value:function(e){return new ct.EmptyStatement}},{key:"reduceExport",value:function(e,t){var r=t.declaration;return new ct.Export({declaration:r})}},{key:"reduceExportAllFrom",value:function(e){return new ct.ExportAllFrom({moduleSpecifier:e.moduleSpecifier})}},{key:"reduceExportDefault",value:function(e,t){var r=t.body;return new ct.ExportDefault({body:r})}},{key:"reduceExportFrom",value:function(e,t){var r=t.namedExports;return new ct.ExportFrom({namedExports:r,moduleSpecifier:e.moduleSpecifier})}},{key:"reduceExportFromSpecifier",value:function(e){return new ct.ExportFromSpecifier({name:e.name,exportedName:e.exportedName})}},{key:"reduceExportLocalSpecifier",value:function(e,t){var r=t.name;return new ct.ExportLocalSpecifier({name:r,exportedName:e.exportedName})}},{key:"reduceExportLocals",value:function(e,t){var r=t.namedExports;return new ct.ExportLocals({namedExports:r})}},{key:"reduceExpressionStatement",value:function(e,t){var r=t.expression;return new ct.ExpressionStatement({expression:r})}},{key:"reduceForAwaitStatement",value:function(e,t){var r=t.left,n=t.right,i=t.body;return new ct.ForAwaitStatement({left:r,right:n,body:i})}},{key:"reduceForInStatement",value:function(e,t){var r=t.left,n=t.right,i=t.body;return new ct.ForInStatement({left:r,right:n,body:i})}},{key:"reduceForOfStatement",value:function(e,t){var r=t.left,n=t.right,i=t.body;return new ct.ForOfStatement({left:r,right:n,body:i})}},{key:"reduceForStatement",value:function(e,t){var r=t.init,n=t.test,i=t.update,a=t.body;return new ct.ForStatement({init:r,test:n,update:i,body:a})}},{key:"reduceFormalParameters",value:function(e,t){var r=t.items,n=t.rest;return new ct.FormalParameters({items:r,rest:n})}},{key:"reduceFunctionBody",value:function(e,t){var r=t.directives,n=t.statements;return new ct.FunctionBody({directives:r,statements:n})}},{key:"reduceFunctionDeclaration",value:function(e,t){var r=t.name,n=t.params,i=t.body;return new ct.FunctionDeclaration({isAsync:e.isAsync,isGenerator:e.isGenerator,name:r,params:n,body:i})}},{key:"reduceFunctionExpression",value:function(e,t){var r=t.name,n=t.params,i=t.body;return new ct.FunctionExpression({isAsync:e.isAsync,isGenerator:e.isGenerator,name:r,params:n,body:i})}},{key:"reduceGetter",value:function(e,t){var r=t.name,n=t.body;return new ct.Getter({name:r,body:n})}},{key:"reduceIdentifierExpression",value:function(e){return new ct.IdentifierExpression({name:e.name})}},{key:"reduceIfStatement",value:function(e,t){var r=t.test,n=t.consequent,i=t.alternate;return new ct.IfStatement({test:r,consequent:n,alternate:i})}},{key:"reduceImport",value:function(e,t){var r=t.defaultBinding,n=t.namedImports;return new ct.Import({defaultBinding:r,namedImports:n,moduleSpecifier:e.moduleSpecifier})}},{key:"reduceImportNamespace",value:function(e,t){var r=t.defaultBinding,n=t.namespaceBinding;return new ct.ImportNamespace({defaultBinding:r,namespaceBinding:n,moduleSpecifier:e.moduleSpecifier})}},{key:"reduceImportSpecifier",value:function(e,t){var r=t.binding;return new ct.ImportSpecifier({name:e.name,binding:r})}},{key:"reduceLabeledStatement",value:function(e,t){var r=t.body;return new ct.LabeledStatement({label:e.label,body:r})}},{key:"reduceLiteralBooleanExpression",value:function(e){return new ct.LiteralBooleanExpression({value:e.value})}},{key:"reduceLiteralInfinityExpression",value:function(e){return new ct.LiteralInfinityExpression}},{key:"reduceLiteralNullExpression",value:function(e){return new ct.LiteralNullExpression}},{key:"reduceLiteralNumericExpression",value:function(e){return new ct.LiteralNumericExpression({value:e.value})}},{key:"reduceLiteralRegExpExpression",value:function(e){return new ct.LiteralRegExpExpression({pattern:e.pattern,global:e.global,ignoreCase:e.ignoreCase,multiLine:e.multiLine,dotAll:e.dotAll,unicode:e.unicode,sticky:e.sticky})}},{key:"reduceLiteralStringExpression",value:function(e){return new ct.LiteralStringExpression({value:e.value})}},{key:"reduceMethod",value:function(e,t){var r=t.name,n=t.params,i=t.body;return new ct.Method({isAsync:e.isAsync,isGenerator:e.isGenerator,name:r,params:n,body:i})}},{key:"reduceModule",value:function(e,t){var r=t.directives,n=t.items;return new ct.Module({directives:r,items:n})}},{key:"reduceNewExpression",value:function(e,t){var r=t.callee,n=t.arguments;return new ct.NewExpression({callee:r,arguments:n})}},{key:"reduceNewTargetExpression",value:function(e){return new ct.NewTargetExpression}},{key:"reduceObjectAssignmentTarget",value:function(e,t){var r=t.properties,n=t.rest;return new ct.ObjectAssignmentTarget({properties:r,rest:n})}},{key:"reduceObjectBinding",value:function(e,t){var r=t.properties,n=t.rest;return new ct.ObjectBinding({properties:r,rest:n})}},{key:"reduceObjectExpression",value:function(e,t){var r=t.properties;return new ct.ObjectExpression({properties:r})}},{key:"reduceReturnStatement",value:function(e,t){var r=t.expression;return new ct.ReturnStatement({expression:r})}},{key:"reduceScript",value:function(e,t){var r=t.directives,n=t.statements;return new ct.Script({directives:r,statements:n})}},{key:"reduceSetter",value:function(e,t){var r=t.name,n=t.param,i=t.body;return new ct.Setter({name:r,param:n,body:i})}},{key:"reduceShorthandProperty",value:function(e,t){var r=t.name;return new ct.ShorthandProperty({name:r})}},{key:"reduceSpreadElement",value:function(e,t){var r=t.expression;return new ct.SpreadElement({expression:r})}},{key:"reduceSpreadProperty",value:function(e,t){var r=t.expression;return new ct.SpreadProperty({expression:r})}},{key:"reduceStaticMemberAssignmentTarget",value:function(e,t){var r=t.object;return new ct.StaticMemberAssignmentTarget({object:r,property:e.property})}},{key:"reduceStaticMemberExpression",value:function(e,t){var r=t.object;return new ct.StaticMemberExpression({object:r,property:e.property})}},{key:"reduceStaticPropertyName",value:function(e){return new ct.StaticPropertyName({value:e.value})}},{key:"reduceSuper",value:function(e){return new ct.Super}},{key:"reduceSwitchCase",value:function(e,t){var r=t.test,n=t.consequent;return new ct.SwitchCase({test:r,consequent:n})}},{key:"reduceSwitchDefault",value:function(e,t){var r=t.consequent;return new ct.SwitchDefault({consequent:r})}},{key:"reduceSwitchStatement",value:function(e,t){var r=t.discriminant,n=t.cases;return new ct.SwitchStatement({discriminant:r,cases:n})}},{key:"reduceSwitchStatementWithDefault",value:function(e,t){var r=t.discriminant,n=t.preDefaultCases,i=t.defaultCase,a=t.postDefaultCases;return new ct.SwitchStatementWithDefault({discriminant:r,preDefaultCases:n,defaultCase:i,postDefaultCases:a})}},{key:"reduceTemplateElement",value:function(e){return new ct.TemplateElement({rawValue:e.rawValue})}},{key:"reduceTemplateExpression",value:function(e,t){var r=t.tag,n=t.elements;return new ct.TemplateExpression({tag:r,elements:n})}},{key:"reduceThisExpression",value:function(e){return new ct.ThisExpression}},{key:"reduceThrowStatement",value:function(e,t){var r=t.expression;return new ct.ThrowStatement({expression:r})}},{key:"reduceTryCatchStatement",value:function(e,t){var r=t.body,n=t.catchClause;return new ct.TryCatchStatement({body:r,catchClause:n})}},{key:"reduceTryFinallyStatement",value:function(e,t){var r=t.body,n=t.catchClause,i=t.finalizer;return new ct.TryFinallyStatement({body:r,catchClause:n,finalizer:i})}},{key:"reduceUnaryExpression",value:function(e,t){var r=t.operand;return new ct.UnaryExpression({operator:e.operator,operand:r})}},{key:"reduceUpdateExpression",value:function(e,t){var r=t.operand;return new ct.UpdateExpression({isPrefix:e.isPrefix,operator:e.operator,operand:r})}},{key:"reduceVariableDeclaration",value:function(e,t){var r=t.declarators;return new ct.VariableDeclaration({kind:e.kind,declarators:r})}},{key:"reduceVariableDeclarationStatement",value:function(e,t){var r=t.declaration;return new ct.VariableDeclarationStatement({declaration:r})}},{key:"reduceVariableDeclarator",value:function(e,t){var r=t.binding,n=t.init;return new ct.VariableDeclarator({binding:r,init:n})}},{key:"reduceWhileStatement",value:function(e,t){var r=t.test,n=t.body;return new ct.WhileStatement({test:r,body:n})}},{key:"reduceWithStatement",value:function(e,t){var r=t.object,n=t.body;return new ct.WithStatement({object:r,body:n})}},{key:"reduceYieldExpression",value:function(e,t){var r=t.expression;return new ct.YieldExpression({expression:r})}},{key:"reduceYieldGeneratorExpression",value:function(e,t){var r=t.expression;return new ct.YieldGeneratorExpression({expression:r})}}]),e}();st.default=pt;var lt={};Object.defineProperty(lt,"__esModule",{value:!0});var dt=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),ht=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(at);var ft=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}return dt(e,[{key:"reduceArrayAssignmentTarget",value:function(e,t){var r=t.elements,n=t.rest;return e.elements.length===r.length&&e.elements.every((function(e,t){return e===r[t]}))&&e.rest===n?e:new ht.ArrayAssignmentTarget({elements:r,rest:n})}},{key:"reduceArrayBinding",value:function(e,t){var r=t.elements,n=t.rest;return e.elements.length===r.length&&e.elements.every((function(e,t){return e===r[t]}))&&e.rest===n?e:new ht.ArrayBinding({elements:r,rest:n})}},{key:"reduceArrayExpression",value:function(e,t){var r=t.elements;return e.elements.length===r.length&&e.elements.every((function(e,t){return e===r[t]}))?e:new ht.ArrayExpression({elements:r})}},{key:"reduceArrowExpression",value:function(e,t){var r=t.params,n=t.body;return e.params===r&&e.body===n?e:new ht.ArrowExpression({isAsync:e.isAsync,params:r,body:n})}},{key:"reduceAssignmentExpression",value:function(e,t){var r=t.binding,n=t.expression;return e.binding===r&&e.expression===n?e:new ht.AssignmentExpression({binding:r,expression:n})}},{key:"reduceAssignmentTargetIdentifier",value:function(e){return e}},{key:"reduceAssignmentTargetPropertyIdentifier",value:function(e,t){var r=t.binding,n=t.init;return e.binding===r&&e.init===n?e:new ht.AssignmentTargetPropertyIdentifier({binding:r,init:n})}},{key:"reduceAssignmentTargetPropertyProperty",value:function(e,t){var r=t.name,n=t.binding;return e.name===r&&e.binding===n?e:new ht.AssignmentTargetPropertyProperty({name:r,binding:n})}},{key:"reduceAssignmentTargetWithDefault",value:function(e,t){var r=t.binding,n=t.init;return e.binding===r&&e.init===n?e:new ht.AssignmentTargetWithDefault({binding:r,init:n})}},{key:"reduceAwaitExpression",value:function(e,t){var r=t.expression;return e.expression===r?e:new ht.AwaitExpression({expression:r})}},{key:"reduceBinaryExpression",value:function(e,t){var r=t.left,n=t.right;return e.left===r&&e.right===n?e:new ht.BinaryExpression({left:r,operator:e.operator,right:n})}},{key:"reduceBindingIdentifier",value:function(e){return e}},{key:"reduceBindingPropertyIdentifier",value:function(e,t){var r=t.binding,n=t.init;return e.binding===r&&e.init===n?e:new ht.BindingPropertyIdentifier({binding:r,init:n})}},{key:"reduceBindingPropertyProperty",value:function(e,t){var r=t.name,n=t.binding;return e.name===r&&e.binding===n?e:new ht.BindingPropertyProperty({name:r,binding:n})}},{key:"reduceBindingWithDefault",value:function(e,t){var r=t.binding,n=t.init;return e.binding===r&&e.init===n?e:new ht.BindingWithDefault({binding:r,init:n})}},{key:"reduceBlock",value:function(e,t){var r=t.statements;return e.statements.length===r.length&&e.statements.every((function(e,t){return e===r[t]}))?e:new ht.Block({statements:r})}},{key:"reduceBlockStatement",value:function(e,t){var r=t.block;return e.block===r?e:new ht.BlockStatement({block:r})}},{key:"reduceBreakStatement",value:function(e){return e}},{key:"reduceCallExpression",value:function(e,t){var r=t.callee,n=t.arguments;return e.callee===r&&e.arguments.length===n.length&&e.arguments.every((function(e,t){return e===n[t]}))?e:new ht.CallExpression({callee:r,arguments:n})}},{key:"reduceCatchClause",value:function(e,t){var r=t.binding,n=t.body;return e.binding===r&&e.body===n?e:new ht.CatchClause({binding:r,body:n})}},{key:"reduceClassDeclaration",value:function(e,t){var r=t.name,n=t.super,i=t.elements;return e.name===r&&e.super===n&&e.elements.length===i.length&&e.elements.every((function(e,t){return e===i[t]}))?e:new ht.ClassDeclaration({name:r,super:n,elements:i})}},{key:"reduceClassElement",value:function(e,t){var r=t.method;return e.method===r?e:new ht.ClassElement({isStatic:e.isStatic,method:r})}},{key:"reduceClassExpression",value:function(e,t){var r=t.name,n=t.super,i=t.elements;return e.name===r&&e.super===n&&e.elements.length===i.length&&e.elements.every((function(e,t){return e===i[t]}))?e:new ht.ClassExpression({name:r,super:n,elements:i})}},{key:"reduceCompoundAssignmentExpression",value:function(e,t){var r=t.binding,n=t.expression;return e.binding===r&&e.expression===n?e:new ht.CompoundAssignmentExpression({binding:r,operator:e.operator,expression:n})}},{key:"reduceComputedMemberAssignmentTarget",value:function(e,t){var r=t.object,n=t.expression;return e.object===r&&e.expression===n?e:new ht.ComputedMemberAssignmentTarget({object:r,expression:n})}},{key:"reduceComputedMemberExpression",value:function(e,t){var r=t.object,n=t.expression;return e.object===r&&e.expression===n?e:new ht.ComputedMemberExpression({object:r,expression:n})}},{key:"reduceComputedPropertyName",value:function(e,t){var r=t.expression;return e.expression===r?e:new ht.ComputedPropertyName({expression:r})}},{key:"reduceConditionalExpression",value:function(e,t){var r=t.test,n=t.consequent,i=t.alternate;return e.test===r&&e.consequent===n&&e.alternate===i?e:new ht.ConditionalExpression({test:r,consequent:n,alternate:i})}},{key:"reduceContinueStatement",value:function(e){return e}},{key:"reduceDataProperty",value:function(e,t){var r=t.name,n=t.expression;return e.name===r&&e.expression===n?e:new ht.DataProperty({name:r,expression:n})}},{key:"reduceDebuggerStatement",value:function(e){return e}},{key:"reduceDirective",value:function(e){return e}},{key:"reduceDoWhileStatement",value:function(e,t){var r=t.body,n=t.test;return e.body===r&&e.test===n?e:new ht.DoWhileStatement({body:r,test:n})}},{key:"reduceEmptyStatement",value:function(e){return e}},{key:"reduceExport",value:function(e,t){var r=t.declaration;return e.declaration===r?e:new ht.Export({declaration:r})}},{key:"reduceExportAllFrom",value:function(e){return e}},{key:"reduceExportDefault",value:function(e,t){var r=t.body;return e.body===r?e:new ht.ExportDefault({body:r})}},{key:"reduceExportFrom",value:function(e,t){var r=t.namedExports;return e.namedExports.length===r.length&&e.namedExports.every((function(e,t){return e===r[t]}))?e:new ht.ExportFrom({namedExports:r,moduleSpecifier:e.moduleSpecifier})}},{key:"reduceExportFromSpecifier",value:function(e){return e}},{key:"reduceExportLocalSpecifier",value:function(e,t){var r=t.name;return e.name===r?e:new ht.ExportLocalSpecifier({name:r,exportedName:e.exportedName})}},{key:"reduceExportLocals",value:function(e,t){var r=t.namedExports;return e.namedExports.length===r.length&&e.namedExports.every((function(e,t){return e===r[t]}))?e:new ht.ExportLocals({namedExports:r})}},{key:"reduceExpressionStatement",value:function(e,t){var r=t.expression;return e.expression===r?e:new ht.ExpressionStatement({expression:r})}},{key:"reduceForAwaitStatement",value:function(e,t){var r=t.left,n=t.right,i=t.body;return e.left===r&&e.right===n&&e.body===i?e:new ht.ForAwaitStatement({left:r,right:n,body:i})}},{key:"reduceForInStatement",value:function(e,t){var r=t.left,n=t.right,i=t.body;return e.left===r&&e.right===n&&e.body===i?e:new ht.ForInStatement({left:r,right:n,body:i})}},{key:"reduceForOfStatement",value:function(e,t){var r=t.left,n=t.right,i=t.body;return e.left===r&&e.right===n&&e.body===i?e:new ht.ForOfStatement({left:r,right:n,body:i})}},{key:"reduceForStatement",value:function(e,t){var r=t.init,n=t.test,i=t.update,a=t.body;return e.init===r&&e.test===n&&e.update===i&&e.body===a?e:new ht.ForStatement({init:r,test:n,update:i,body:a})}},{key:"reduceFormalParameters",value:function(e,t){var r=t.items,n=t.rest;return e.items.length===r.length&&e.items.every((function(e,t){return e===r[t]}))&&e.rest===n?e:new ht.FormalParameters({items:r,rest:n})}},{key:"reduceFunctionBody",value:function(e,t){var r=t.directives,n=t.statements;return e.directives.length===r.length&&e.directives.every((function(e,t){return e===r[t]}))&&e.statements.length===n.length&&e.statements.every((function(e,t){return e===n[t]}))?e:new ht.FunctionBody({directives:r,statements:n})}},{key:"reduceFunctionDeclaration",value:function(e,t){var r=t.name,n=t.params,i=t.body;return e.name===r&&e.params===n&&e.body===i?e:new ht.FunctionDeclaration({isAsync:e.isAsync,isGenerator:e.isGenerator,name:r,params:n,body:i})}},{key:"reduceFunctionExpression",value:function(e,t){var r=t.name,n=t.params,i=t.body;return e.name===r&&e.params===n&&e.body===i?e:new ht.FunctionExpression({isAsync:e.isAsync,isGenerator:e.isGenerator,name:r,params:n,body:i})}},{key:"reduceGetter",value:function(e,t){var r=t.name,n=t.body;return e.name===r&&e.body===n?e:new ht.Getter({name:r,body:n})}},{key:"reduceIdentifierExpression",value:function(e){return e}},{key:"reduceIfStatement",value:function(e,t){var r=t.test,n=t.consequent,i=t.alternate;return e.test===r&&e.consequent===n&&e.alternate===i?e:new ht.IfStatement({test:r,consequent:n,alternate:i})}},{key:"reduceImport",value:function(e,t){var r=t.defaultBinding,n=t.namedImports;return e.defaultBinding===r&&e.namedImports.length===n.length&&e.namedImports.every((function(e,t){return e===n[t]}))?e:new ht.Import({defaultBinding:r,namedImports:n,moduleSpecifier:e.moduleSpecifier})}},{key:"reduceImportNamespace",value:function(e,t){var r=t.defaultBinding,n=t.namespaceBinding;return e.defaultBinding===r&&e.namespaceBinding===n?e:new ht.ImportNamespace({defaultBinding:r,namespaceBinding:n,moduleSpecifier:e.moduleSpecifier})}},{key:"reduceImportSpecifier",value:function(e,t){var r=t.binding;return e.binding===r?e:new ht.ImportSpecifier({name:e.name,binding:r})}},{key:"reduceLabeledStatement",value:function(e,t){var r=t.body;return e.body===r?e:new ht.LabeledStatement({label:e.label,body:r})}},{key:"reduceLiteralBooleanExpression",value:function(e){return e}},{key:"reduceLiteralInfinityExpression",value:function(e){return e}},{key:"reduceLiteralNullExpression",value:function(e){return e}},{key:"reduceLiteralNumericExpression",value:function(e){return e}},{key:"reduceLiteralRegExpExpression",value:function(e){return e}},{key:"reduceLiteralStringExpression",value:function(e){return e}},{key:"reduceMethod",value:function(e,t){var r=t.name,n=t.params,i=t.body;return e.name===r&&e.params===n&&e.body===i?e:new ht.Method({isAsync:e.isAsync,isGenerator:e.isGenerator,name:r,params:n,body:i})}},{key:"reduceModule",value:function(e,t){var r=t.directives,n=t.items;return e.directives.length===r.length&&e.directives.every((function(e,t){return e===r[t]}))&&e.items.length===n.length&&e.items.every((function(e,t){return e===n[t]}))?e:new ht.Module({directives:r,items:n})}},{key:"reduceNewExpression",value:function(e,t){var r=t.callee,n=t.arguments;return e.callee===r&&e.arguments.length===n.length&&e.arguments.every((function(e,t){return e===n[t]}))?e:new ht.NewExpression({callee:r,arguments:n})}},{key:"reduceNewTargetExpression",value:function(e){return e}},{key:"reduceObjectAssignmentTarget",value:function(e,t){var r=t.properties,n=t.rest;return e.properties.length===r.length&&e.properties.every((function(e,t){return e===r[t]}))&&e.rest===n?e:new ht.ObjectAssignmentTarget({properties:r,rest:n})}},{key:"reduceObjectBinding",value:function(e,t){var r=t.properties,n=t.rest;return e.properties.length===r.length&&e.properties.every((function(e,t){return e===r[t]}))&&e.rest===n?e:new ht.ObjectBinding({properties:r,rest:n})}},{key:"reduceObjectExpression",value:function(e,t){var r=t.properties;return e.properties.length===r.length&&e.properties.every((function(e,t){return e===r[t]}))?e:new ht.ObjectExpression({properties:r})}},{key:"reduceReturnStatement",value:function(e,t){var r=t.expression;return e.expression===r?e:new ht.ReturnStatement({expression:r})}},{key:"reduceScript",value:function(e,t){var r=t.directives,n=t.statements;return e.directives.length===r.length&&e.directives.every((function(e,t){return e===r[t]}))&&e.statements.length===n.length&&e.statements.every((function(e,t){return e===n[t]}))?e:new ht.Script({directives:r,statements:n})}},{key:"reduceSetter",value:function(e,t){var r=t.name,n=t.param,i=t.body;return e.name===r&&e.param===n&&e.body===i?e:new ht.Setter({name:r,param:n,body:i})}},{key:"reduceShorthandProperty",value:function(e,t){var r=t.name;return e.name===r?e:new ht.ShorthandProperty({name:r})}},{key:"reduceSpreadElement",value:function(e,t){var r=t.expression;return e.expression===r?e:new ht.SpreadElement({expression:r})}},{key:"reduceSpreadProperty",value:function(e,t){var r=t.expression;return e.expression===r?e:new ht.SpreadProperty({expression:r})}},{key:"reduceStaticMemberAssignmentTarget",value:function(e,t){var r=t.object;return e.object===r?e:new ht.StaticMemberAssignmentTarget({object:r,property:e.property})}},{key:"reduceStaticMemberExpression",value:function(e,t){var r=t.object;return e.object===r?e:new ht.StaticMemberExpression({object:r,property:e.property})}},{key:"reduceStaticPropertyName",value:function(e){return e}},{key:"reduceSuper",value:function(e){return e}},{key:"reduceSwitchCase",value:function(e,t){var r=t.test,n=t.consequent;return e.test===r&&e.consequent.length===n.length&&e.consequent.every((function(e,t){return e===n[t]}))?e:new ht.SwitchCase({test:r,consequent:n})}},{key:"reduceSwitchDefault",value:function(e,t){var r=t.consequent;return e.consequent.length===r.length&&e.consequent.every((function(e,t){return e===r[t]}))?e:new ht.SwitchDefault({consequent:r})}},{key:"reduceSwitchStatement",value:function(e,t){var r=t.discriminant,n=t.cases;return e.discriminant===r&&e.cases.length===n.length&&e.cases.every((function(e,t){return e===n[t]}))?e:new ht.SwitchStatement({discriminant:r,cases:n})}},{key:"reduceSwitchStatementWithDefault",value:function(e,t){var r=t.discriminant,n=t.preDefaultCases,i=t.defaultCase,a=t.postDefaultCases;return e.discriminant===r&&e.preDefaultCases.length===n.length&&e.preDefaultCases.every((function(e,t){return e===n[t]}))&&e.defaultCase===i&&e.postDefaultCases.length===a.length&&e.postDefaultCases.every((function(e,t){return e===a[t]}))?e:new ht.SwitchStatementWithDefault({discriminant:r,preDefaultCases:n,defaultCase:i,postDefaultCases:a})}},{key:"reduceTemplateElement",value:function(e){return e}},{key:"reduceTemplateExpression",value:function(e,t){var r=t.tag,n=t.elements;return e.tag===r&&e.elements.length===n.length&&e.elements.every((function(e,t){return e===n[t]}))?e:new ht.TemplateExpression({tag:r,elements:n})}},{key:"reduceThisExpression",value:function(e){return e}},{key:"reduceThrowStatement",value:function(e,t){var r=t.expression;return e.expression===r?e:new ht.ThrowStatement({expression:r})}},{key:"reduceTryCatchStatement",value:function(e,t){var r=t.body,n=t.catchClause;return e.body===r&&e.catchClause===n?e:new ht.TryCatchStatement({body:r,catchClause:n})}},{key:"reduceTryFinallyStatement",value:function(e,t){var r=t.body,n=t.catchClause,i=t.finalizer;return e.body===r&&e.catchClause===n&&e.finalizer===i?e:new ht.TryFinallyStatement({body:r,catchClause:n,finalizer:i})}},{key:"reduceUnaryExpression",value:function(e,t){var r=t.operand;return e.operand===r?e:new ht.UnaryExpression({operator:e.operator,operand:r})}},{key:"reduceUpdateExpression",value:function(e,t){var r=t.operand;return e.operand===r?e:new ht.UpdateExpression({isPrefix:e.isPrefix,operator:e.operator,operand:r})}},{key:"reduceVariableDeclaration",value:function(e,t){var r=t.declarators;return e.declarators.length===r.length&&e.declarators.every((function(e,t){return e===r[t]}))?e:new ht.VariableDeclaration({kind:e.kind,declarators:r})}},{key:"reduceVariableDeclarationStatement",value:function(e,t){var r=t.declaration;return e.declaration===r?e:new ht.VariableDeclarationStatement({declaration:r})}},{key:"reduceVariableDeclarator",value:function(e,t){var r=t.binding,n=t.init;return e.binding===r&&e.init===n?e:new ht.VariableDeclarator({binding:r,init:n})}},{key:"reduceWhileStatement",value:function(e,t){var r=t.test,n=t.body;return e.test===r&&e.body===n?e:new ht.WhileStatement({test:r,body:n})}},{key:"reduceWithStatement",value:function(e,t){var r=t.object,n=t.body;return e.object===r&&e.body===n?e:new ht.WithStatement({object:r,body:n})}},{key:"reduceYieldExpression",value:function(e,t){var r=t.expression;return e.expression===r?e:new ht.YieldExpression({expression:r})}},{key:"reduceYieldGeneratorExpression",value:function(e,t){var r=t.expression;return e.expression===r?e:new ht.YieldGeneratorExpression({expression:r})}}]),e}();lt.default=ft;var mt={};Object.defineProperty(mt,"__esModule",{value:!0});var yt,Et=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}();function Dt(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);t<e.length;t++)r[t]=e[t];return r}return Array.from(e)}!(yt=at)||yt.__esModule;var gt=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e);var r=t.empty();this.identity=r;var n=void 0;if(t.prototype&&"function"==typeof t.prototype.concat)n=Function.prototype.call.bind(t.prototype.concat);else{if("function"!=typeof t.concat)throw new TypeError("Monoid must provide a `concat` method");n=t.concat}this.append=function(){for(var e=arguments.length,t=Array(e),i=0;i<e;i++)t[i]=arguments[i];return t.reduce(n,r)}}return Et(e,[{key:"reduceArrayAssignmentTarget",value:function(e,t){var r=t.elements,n=t.rest;return this.append.apply(this,Dt(r.filter((function(e){return null!=e}))).concat([null==n?this.identity:n]))}},{key:"reduceArrayBinding",value:function(e,t){var r=t.elements,n=t.rest;return this.append.apply(this,Dt(r.filter((function(e){return null!=e}))).concat([null==n?this.identity:n]))}},{key:"reduceArrayExpression",value:function(e,t){var r=t.elements;return this.append.apply(this,Dt(r.filter((function(e){return null!=e}))))}},{key:"reduceArrowExpression",value:function(e,t){var r=t.params,n=t.body;return this.append(r,n)}},{key:"reduceAssignmentExpression",value:function(e,t){var r=t.binding,n=t.expression;return this.append(r,n)}},{key:"reduceAssignmentTargetIdentifier",value:function(e){return this.identity}},{key:"reduceAssignmentTargetPropertyIdentifier",value:function(e,t){var r=t.binding,n=t.init;return this.append(r,null==n?this.identity:n)}},{key:"reduceAssignmentTargetPropertyProperty",value:function(e,t){var r=t.name,n=t.binding;return this.append(r,n)}},{key:"reduceAssignmentTargetWithDefault",value:function(e,t){var r=t.binding,n=t.init;return this.append(r,n)}},{key:"reduceAwaitExpression",value:function(e,t){return t.expression}},{key:"reduceBinaryExpression",value:function(e,t){var r=t.left,n=t.right;return this.append(r,n)}},{key:"reduceBindingIdentifier",value:function(e){return this.identity}},{key:"reduceBindingPropertyIdentifier",value:function(e,t){var r=t.binding,n=t.init;return this.append(r,null==n?this.identity:n)}},{key:"reduceBindingPropertyProperty",value:function(e,t){var r=t.name,n=t.binding;return this.append(r,n)}},{key:"reduceBindingWithDefault",value:function(e,t){var r=t.binding,n=t.init;return this.append(r,n)}},{key:"reduceBlock",value:function(e,t){var r=t.statements;return this.append.apply(this,Dt(r))}},{key:"reduceBlockStatement",value:function(e,t){return t.block}},{key:"reduceBreakStatement",value:function(e){return this.identity}},{key:"reduceCallExpression",value:function(e,t){var r=t.callee,n=t.arguments;return this.append.apply(this,[r].concat(Dt(n)))}},{key:"reduceCatchClause",value:function(e,t){var r=t.binding,n=t.body;return this.append(r,n)}},{key:"reduceClassDeclaration",value:function(e,t){var r=t.name,n=t.super,i=t.elements;return this.append.apply(this,[r,null==n?this.identity:n].concat(Dt(i)))}},{key:"reduceClassElement",value:function(e,t){return t.method}},{key:"reduceClassExpression",value:function(e,t){var r=t.name,n=t.super,i=t.elements;return this.append.apply(this,[null==r?this.identity:r,null==n?this.identity:n].concat(Dt(i)))}},{key:"reduceCompoundAssignmentExpression",value:function(e,t){var r=t.binding,n=t.expression;return this.append(r,n)}},{key:"reduceComputedMemberAssignmentTarget",value:function(e,t){var r=t.object,n=t.expression;return this.append(r,n)}},{key:"reduceComputedMemberExpression",value:function(e,t){var r=t.object,n=t.expression;return this.append(r,n)}},{key:"reduceComputedPropertyName",value:function(e,t){return t.expression}},{key:"reduceConditionalExpression",value:function(e,t){var r=t.test,n=t.consequent,i=t.alternate;return this.append(r,n,i)}},{key:"reduceContinueStatement",value:function(e){return this.identity}},{key:"reduceDataProperty",value:function(e,t){var r=t.name,n=t.expression;return this.append(r,n)}},{key:"reduceDebuggerStatement",value:function(e){return this.identity}},{key:"reduceDirective",value:function(e){return this.identity}},{key:"reduceDoWhileStatement",value:function(e,t){var r=t.body,n=t.test;return this.append(r,n)}},{key:"reduceEmptyStatement",value:function(e){return this.identity}},{key:"reduceExport",value:function(e,t){return t.declaration}},{key:"reduceExportAllFrom",value:function(e){return this.identity}},{key:"reduceExportDefault",value:function(e,t){return t.body}},{key:"reduceExportFrom",value:function(e,t){var r=t.namedExports;return this.append.apply(this,Dt(r))}},{key:"reduceExportFromSpecifier",value:function(e){return this.identity}},{key:"reduceExportLocalSpecifier",value:function(e,t){return t.name}},{key:"reduceExportLocals",value:function(e,t){var r=t.namedExports;return this.append.apply(this,Dt(r))}},{key:"reduceExpressionStatement",value:function(e,t){return t.expression}},{key:"reduceForAwaitStatement",value:function(e,t){var r=t.left,n=t.right,i=t.body;return this.append(r,n,i)}},{key:"reduceForInStatement",value:function(e,t){var r=t.left,n=t.right,i=t.body;return this.append(r,n,i)}},{key:"reduceForOfStatement",value:function(e,t){var r=t.left,n=t.right,i=t.body;return this.append(r,n,i)}},{key:"reduceForStatement",value:function(e,t){var r=t.init,n=t.test,i=t.update,a=t.body;return this.append(null==r?this.identity:r,null==n?this.identity:n,null==i?this.identity:i,a)}},{key:"reduceFormalParameters",value:function(e,t){var r=t.items,n=t.rest;return this.append.apply(this,Dt(r).concat([null==n?this.identity:n]))}},{key:"reduceFunctionBody",value:function(e,t){var r=t.directives,n=t.statements;return this.append.apply(this,Dt(r).concat(Dt(n)))}},{key:"reduceFunctionDeclaration",value:function(e,t){var r=t.name,n=t.params,i=t.body;return this.append(r,n,i)}},{key:"reduceFunctionExpression",value:function(e,t){var r=t.name,n=t.params,i=t.body;return this.append(null==r?this.identity:r,n,i)}},{key:"reduceGetter",value:function(e,t){var r=t.name,n=t.body;return this.append(r,n)}},{key:"reduceIdentifierExpression",value:function(e){return this.identity}},{key:"reduceIfStatement",value:function(e,t){var r=t.test,n=t.consequent,i=t.alternate;return this.append(r,n,null==i?this.identity:i)}},{key:"reduceImport",value:function(e,t){var r=t.defaultBinding,n=t.namedImports;return this.append.apply(this,[null==r?this.identity:r].concat(Dt(n)))}},{key:"reduceImportNamespace",value:function(e,t){var r=t.defaultBinding,n=t.namespaceBinding;return this.append(null==r?this.identity:r,n)}},{key:"reduceImportSpecifier",value:function(e,t){return t.binding}},{key:"reduceLabeledStatement",value:function(e,t){return t.body}},{key:"reduceLiteralBooleanExpression",value:function(e){return this.identity}},{key:"reduceLiteralInfinityExpression",value:function(e){return this.identity}},{key:"reduceLiteralNullExpression",value:function(e){return this.identity}},{key:"reduceLiteralNumericExpression",value:function(e){return this.identity}},{key:"reduceLiteralRegExpExpression",value:function(e){return this.identity}},{key:"reduceLiteralStringExpression",value:function(e){return this.identity}},{key:"reduceMethod",value:function(e,t){var r=t.name,n=t.params,i=t.body;return this.append(r,n,i)}},{key:"reduceModule",value:function(e,t){var r=t.directives,n=t.items;return this.append.apply(this,Dt(r).concat(Dt(n)))}},{key:"reduceNewExpression",value:function(e,t){var r=t.callee,n=t.arguments;return this.append.apply(this,[r].concat(Dt(n)))}},{key:"reduceNewTargetExpression",value:function(e){return this.identity}},{key:"reduceObjectAssignmentTarget",value:function(e,t){var r=t.properties,n=t.rest;return this.append.apply(this,Dt(r).concat([null==n?this.identity:n]))}},{key:"reduceObjectBinding",value:function(e,t){var r=t.properties,n=t.rest;return this.append.apply(this,Dt(r).concat([null==n?this.identity:n]))}},{key:"reduceObjectExpression",value:function(e,t){var r=t.properties;return this.append.apply(this,Dt(r))}},{key:"reduceReturnStatement",value:function(e,t){var r=t.expression;return null==r?this.identity:r}},{key:"reduceScript",value:function(e,t){var r=t.directives,n=t.statements;return this.append.apply(this,Dt(r).concat(Dt(n)))}},{key:"reduceSetter",value:function(e,t){var r=t.name,n=t.param,i=t.body;return this.append(r,n,i)}},{key:"reduceShorthandProperty",value:function(e,t){return t.name}},{key:"reduceSpreadElement",value:function(e,t){return t.expression}},{key:"reduceSpreadProperty",value:function(e,t){return t.expression}},{key:"reduceStaticMemberAssignmentTarget",value:function(e,t){return t.object}},{key:"reduceStaticMemberExpression",value:function(e,t){return t.object}},{key:"reduceStaticPropertyName",value:function(e){return this.identity}},{key:"reduceSuper",value:function(e){return this.identity}},{key:"reduceSwitchCase",value:function(e,t){var r=t.test,n=t.consequent;return this.append.apply(this,[r].concat(Dt(n)))}},{key:"reduceSwitchDefault",value:function(e,t){var r=t.consequent;return this.append.apply(this,Dt(r))}},{key:"reduceSwitchStatement",value:function(e,t){var r=t.discriminant,n=t.cases;return this.append.apply(this,[r].concat(Dt(n)))}},{key:"reduceSwitchStatementWithDefault",value:function(e,t){var r=t.discriminant,n=t.preDefaultCases,i=t.defaultCase,a=t.postDefaultCases;return this.append.apply(this,[r].concat(Dt(n),[i],Dt(a)))}},{key:"reduceTemplateElement",value:function(e){return this.identity}},{key:"reduceTemplateExpression",value:function(e,t){var r=t.tag,n=t.elements;return this.append.apply(this,[null==r?this.identity:r].concat(Dt(n)))}},{key:"reduceThisExpression",value:function(e){return this.identity}},{key:"reduceThrowStatement",value:function(e,t){return t.expression}},{key:"reduceTryCatchStatement",value:function(e,t){var r=t.body,n=t.catchClause;return this.append(r,n)}},{key:"reduceTryFinallyStatement",value:function(e,t){var r=t.body,n=t.catchClause,i=t.finalizer;return this.append(r,null==n?this.identity:n,i)}},{key:"reduceUnaryExpression",value:function(e,t){return t.operand}},{key:"reduceUpdateExpression",value:function(e,t){return t.operand}},{key:"reduceVariableDeclaration",value:function(e,t){var r=t.declarators;return this.append.apply(this,Dt(r))}},{key:"reduceVariableDeclarationStatement",value:function(e,t){return t.declaration}},{key:"reduceVariableDeclarator",value:function(e,t){var r=t.binding,n=t.init;return this.append(r,null==n?this.identity:n)}},{key:"reduceWhileStatement",value:function(e,t){var r=t.test,n=t.body;return this.append(r,n)}},{key:"reduceWithStatement",value:function(e,t){var r=t.object,n=t.body;return this.append(r,n)}},{key:"reduceYieldExpression",value:function(e,t){var r=t.expression;return null==r?this.identity:r}},{key:"reduceYieldGeneratorExpression",value:function(e,t){return t.expression}}]),e}();mt.default=gt;var vt={};Object.defineProperty(vt,"__esModule",{value:!0});var At=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}();function xt(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);t<e.length;t++)r[t]=e[t];return r}return Array.from(e)}!function(e){e&&e.__esModule}(at);var Ct=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e);var r=t.empty();this.identity=r;var n=void 0;if(t.prototype&&"function"==typeof t.prototype.concatThunk)n=Function.prototype.call.bind(t.prototype.concatThunk);else if("function"==typeof t.concatThunk)n=t.concatThunk;else{var i=void 0;if(t.prototype&&"function"==typeof t.prototype.concat)i=Function.prototype.call.bind(t.prototype.concat);else{if("function"!=typeof t.concat)throw new TypeError("Monoid must provide a `concatThunk` or `concat` method");i=t.concat}if("function"==typeof t.isAbsorbing){var a=t.isAbsorbing;n=function(e,t){return a(e)?e:i(e,t())}}else n=function(e,t){return i(e,t())}}this.append=function(){for(var e=arguments.length,t=Array(e),i=0;i<e;i++)t[i]=arguments[i];return t.reduce(n,r)}}return At(e,[{key:"reduceArrayAssignmentTarget",value:function(e,t){var r=this,n=t.elements,i=t.rest;return this.append.apply(this,xt(n.filter((function(e){return null!=e}))).concat([null==i?function(){return r.identity}:i]))}},{key:"reduceArrayBinding",value:function(e,t){var r=this,n=t.elements,i=t.rest;return this.append.apply(this,xt(n.filter((function(e){return null!=e}))).concat([null==i?function(){return r.identity}:i]))}},{key:"reduceArrayExpression",value:function(e,t){var r=t.elements;return this.append.apply(this,xt(r.filter((function(e){return null!=e}))))}},{key:"reduceArrowExpression",value:function(e,t){var r=t.params,n=t.body;return this.append(r,n)}},{key:"reduceAssignmentExpression",value:function(e,t){var r=t.binding,n=t.expression;return this.append(r,n)}},{key:"reduceAssignmentTargetIdentifier",value:function(e){return this.identity}},{key:"reduceAssignmentTargetPropertyIdentifier",value:function(e,t){var r=this,n=t.binding,i=t.init;return this.append(n,null==i?function(){return r.identity}:i)}},{key:"reduceAssignmentTargetPropertyProperty",value:function(e,t){var r=t.name,n=t.binding;return this.append(r,n)}},{key:"reduceAssignmentTargetWithDefault",value:function(e,t){var r=t.binding,n=t.init;return this.append(r,n)}},{key:"reduceAwaitExpression",value:function(e,t){return(0,t.expression)()}},{key:"reduceBinaryExpression",value:function(e,t){var r=t.left,n=t.right;return this.append(r,n)}},{key:"reduceBindingIdentifier",value:function(e){return this.identity}},{key:"reduceBindingPropertyIdentifier",value:function(e,t){var r=this,n=t.binding,i=t.init;return this.append(n,null==i?function(){return r.identity}:i)}},{key:"reduceBindingPropertyProperty",value:function(e,t){var r=t.name,n=t.binding;return this.append(r,n)}},{key:"reduceBindingWithDefault",value:function(e,t){var r=t.binding,n=t.init;return this.append(r,n)}},{key:"reduceBlock",value:function(e,t){var r=t.statements;return this.append.apply(this,xt(r))}},{key:"reduceBlockStatement",value:function(e,t){return(0,t.block)()}},{key:"reduceBreakStatement",value:function(e){return this.identity}},{key:"reduceCallExpression",value:function(e,t){var r=t.callee,n=t.arguments;return this.append.apply(this,[r].concat(xt(n)))}},{key:"reduceCatchClause",value:function(e,t){var r=t.binding,n=t.body;return this.append(r,n)}},{key:"reduceClassDeclaration",value:function(e,t){var r=this,n=t.name,i=t.super,a=t.elements;return this.append.apply(this,[n,null==i?function(){return r.identity}:i].concat(xt(a)))}},{key:"reduceClassElement",value:function(e,t){return(0,t.method)()}},{key:"reduceClassExpression",value:function(e,t){var r=this,n=t.name,i=t.super,a=t.elements;return this.append.apply(this,[null==n?function(){return r.identity}:n,null==i?function(){return r.identity}:i].concat(xt(a)))}},{key:"reduceCompoundAssignmentExpression",value:function(e,t){var r=t.binding,n=t.expression;return this.append(r,n)}},{key:"reduceComputedMemberAssignmentTarget",value:function(e,t){var r=t.object,n=t.expression;return this.append(r,n)}},{key:"reduceComputedMemberExpression",value:function(e,t){var r=t.object,n=t.expression;return this.append(r,n)}},{key:"reduceComputedPropertyName",value:function(e,t){return(0,t.expression)()}},{key:"reduceConditionalExpression",value:function(e,t){var r=t.test,n=t.consequent,i=t.alternate;return this.append(r,n,i)}},{key:"reduceContinueStatement",value:function(e){return this.identity}},{key:"reduceDataProperty",value:function(e,t){var r=t.name,n=t.expression;return this.append(r,n)}},{key:"reduceDebuggerStatement",value:function(e){return this.identity}},{key:"reduceDirective",value:function(e){return this.identity}},{key:"reduceDoWhileStatement",value:function(e,t){var r=t.body,n=t.test;return this.append(r,n)}},{key:"reduceEmptyStatement",value:function(e){return this.identity}},{key:"reduceExport",value:function(e,t){return(0,t.declaration)()}},{key:"reduceExportAllFrom",value:function(e){return this.identity}},{key:"reduceExportDefault",value:function(e,t){return(0,t.body)()}},{key:"reduceExportFrom",value:function(e,t){var r=t.namedExports;return this.append.apply(this,xt(r))}},{key:"reduceExportFromSpecifier",value:function(e){return this.identity}},{key:"reduceExportLocalSpecifier",value:function(e,t){return(0,t.name)()}},{key:"reduceExportLocals",value:function(e,t){var r=t.namedExports;return this.append.apply(this,xt(r))}},{key:"reduceExpressionStatement",value:function(e,t){return(0,t.expression)()}},{key:"reduceForAwaitStatement",value:function(e,t){var r=t.left,n=t.right,i=t.body;return this.append(r,n,i)}},{key:"reduceForInStatement",value:function(e,t){var r=t.left,n=t.right,i=t.body;return this.append(r,n,i)}},{key:"reduceForOfStatement",value:function(e,t){var r=t.left,n=t.right,i=t.body;return this.append(r,n,i)}},{key:"reduceForStatement",value:function(e,t){var r=this,n=t.init,i=t.test,a=t.update,u=t.body;return this.append(null==n?function(){return r.identity}:n,null==i?function(){return r.identity}:i,null==a?function(){return r.identity}:a,u)}},{key:"reduceFormalParameters",value:function(e,t){var r=this,n=t.items,i=t.rest;return this.append.apply(this,xt(n).concat([null==i?function(){return r.identity}:i]))}},{key:"reduceFunctionBody",value:function(e,t){var r=t.directives,n=t.statements;return this.append.apply(this,xt(r).concat(xt(n)))}},{key:"reduceFunctionDeclaration",value:function(e,t){var r=t.name,n=t.params,i=t.body;return this.append(r,n,i)}},{key:"reduceFunctionExpression",value:function(e,t){var r=this,n=t.name,i=t.params,a=t.body;return this.append(null==n?function(){return r.identity}:n,i,a)}},{key:"reduceGetter",value:function(e,t){var r=t.name,n=t.body;return this.append(r,n)}},{key:"reduceIdentifierExpression",value:function(e){return this.identity}},{key:"reduceIfStatement",value:function(e,t){var r=this,n=t.test,i=t.consequent,a=t.alternate;return this.append(n,i,null==a?function(){return r.identity}:a)}},{key:"reduceImport",value:function(e,t){var r=this,n=t.defaultBinding,i=t.namedImports;return this.append.apply(this,[null==n?function(){return r.identity}:n].concat(xt(i)))}},{key:"reduceImportNamespace",value:function(e,t){var r=this,n=t.defaultBinding,i=t.namespaceBinding;return this.append(null==n?function(){return r.identity}:n,i)}},{key:"reduceImportSpecifier",value:function(e,t){return(0,t.binding)()}},{key:"reduceLabeledStatement",value:function(e,t){return(0,t.body)()}},{key:"reduceLiteralBooleanExpression",value:function(e){return this.identity}},{key:"reduceLiteralInfinityExpression",value:function(e){return this.identity}},{key:"reduceLiteralNullExpression",value:function(e){return this.identity}},{key:"reduceLiteralNumericExpression",value:function(e){return this.identity}},{key:"reduceLiteralRegExpExpression",value:function(e){return this.identity}},{key:"reduceLiteralStringExpression",value:function(e){return this.identity}},{key:"reduceMethod",value:function(e,t){var r=t.name,n=t.params,i=t.body;return this.append(r,n,i)}},{key:"reduceModule",value:function(e,t){var r=t.directives,n=t.items;return this.append.apply(this,xt(r).concat(xt(n)))}},{key:"reduceNewExpression",value:function(e,t){var r=t.callee,n=t.arguments;return this.append.apply(this,[r].concat(xt(n)))}},{key:"reduceNewTargetExpression",value:function(e){return this.identity}},{key:"reduceObjectAssignmentTarget",value:function(e,t){var r=this,n=t.properties,i=t.rest;return this.append.apply(this,xt(n).concat([null==i?function(){return r.identity}:i]))}},{key:"reduceObjectBinding",value:function(e,t){var r=this,n=t.properties,i=t.rest;return this.append.apply(this,xt(n).concat([null==i?function(){return r.identity}:i]))}},{key:"reduceObjectExpression",value:function(e,t){var r=t.properties;return this.append.apply(this,xt(r))}},{key:"reduceReturnStatement",value:function(e,t){var r=t.expression;return null==r?this.identity:r()}},{key:"reduceScript",value:function(e,t){var r=t.directives,n=t.statements;return this.append.apply(this,xt(r).concat(xt(n)))}},{key:"reduceSetter",value:function(e,t){var r=t.name,n=t.param,i=t.body;return this.append(r,n,i)}},{key:"reduceShorthandProperty",value:function(e,t){return(0,t.name)()}},{key:"reduceSpreadElement",value:function(e,t){return(0,t.expression)()}},{key:"reduceSpreadProperty",value:function(e,t){return(0,t.expression)()}},{key:"reduceStaticMemberAssignmentTarget",value:function(e,t){return(0,t.object)()}},{key:"reduceStaticMemberExpression",value:function(e,t){return(0,t.object)()}},{key:"reduceStaticPropertyName",value:function(e){return this.identity}},{key:"reduceSuper",value:function(e){return this.identity}},{key:"reduceSwitchCase",value:function(e,t){var r=t.test,n=t.consequent;return this.append.apply(this,[r].concat(xt(n)))}},{key:"reduceSwitchDefault",value:function(e,t){var r=t.consequent;return this.append.apply(this,xt(r))}},{key:"reduceSwitchStatement",value:function(e,t){var r=t.discriminant,n=t.cases;return this.append.apply(this,[r].concat(xt(n)))}},{key:"reduceSwitchStatementWithDefault",value:function(e,t){var r=t.discriminant,n=t.preDefaultCases,i=t.defaultCase,a=t.postDefaultCases;return this.append.apply(this,[r].concat(xt(n),[i],xt(a)))}},{key:"reduceTemplateElement",value:function(e){return this.identity}},{key:"reduceTemplateExpression",value:function(e,t){var r=this,n=t.tag,i=t.elements;return this.append.apply(this,[null==n?function(){return r.identity}:n].concat(xt(i)))}},{key:"reduceThisExpression",value:function(e){return this.identity}},{key:"reduceThrowStatement",value:function(e,t){return(0,t.expression)()}},{key:"reduceTryCatchStatement",value:function(e,t){var r=t.body,n=t.catchClause;return this.append(r,n)}},{key:"reduceTryFinallyStatement",value:function(e,t){var r=this,n=t.body,i=t.catchClause,a=t.finalizer;return this.append(n,null==i?function(){return r.identity}:i,a)}},{key:"reduceUnaryExpression",value:function(e,t){return(0,t.operand)()}},{key:"reduceUpdateExpression",value:function(e,t){return(0,t.operand)()}},{key:"reduceVariableDeclaration",value:function(e,t){var r=t.declarators;return this.append.apply(this,xt(r))}},{key:"reduceVariableDeclarationStatement",value:function(e,t){return(0,t.declaration)()}},{key:"reduceVariableDeclarator",value:function(e,t){var r=this,n=t.binding,i=t.init;return this.append(n,null==i?function(){return r.identity}:i)}},{key:"reduceWhileStatement",value:function(e,t){var r=t.test,n=t.body;return this.append(r,n)}},{key:"reduceWithStatement",value:function(e,t){var r=t.object,n=t.body;return this.append(r,n)}},{key:"reduceYieldExpression",value:function(e,t){var r=t.expression;return null==r?this.identity:r()}},{key:"reduceYieldGeneratorExpression",value:function(e,t){return(0,t.expression)()}}]),e}();vt.default=Ct;var bt={};Object.defineProperty(bt,"__esModule",{value:!0});var St=function e(t,r,n){null===t&&(t=Function.prototype);var i=Object.getOwnPropertyDescriptor(t,r);if(void 0===i){var a=Object.getPrototypeOf(t);return null===a?void 0:e(a,r,n)}if("value"in i)return i.value;var u=i.get;return void 0!==u?u.call(n):void 0};!function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);t.default=e}(at),bt.default=function(e,t){var r;return r={__proto__:t,reduceArrayAssignmentTarget:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceArrayAssignmentTarget",this).call(this,t,n),t)},reduceArrayBinding:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceArrayBinding",this).call(this,t,n),t)},reduceArrayExpression:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceArrayExpression",this).call(this,t,n),t)},reduceArrowExpression:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceArrowExpression",this).call(this,t,n),t)},reduceAssignmentExpression:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceAssignmentExpression",this).call(this,t,n),t)},reduceAssignmentTargetIdentifier:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceAssignmentTargetIdentifier",this).call(this,t,n),t)},reduceAssignmentTargetPropertyIdentifier:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceAssignmentTargetPropertyIdentifier",this).call(this,t,n),t)},reduceAssignmentTargetPropertyProperty:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceAssignmentTargetPropertyProperty",this).call(this,t,n),t)},reduceAssignmentTargetWithDefault:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceAssignmentTargetWithDefault",this).call(this,t,n),t)},reduceAwaitExpression:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceAwaitExpression",this).call(this,t,n),t)},reduceBinaryExpression:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceBinaryExpression",this).call(this,t,n),t)},reduceBindingIdentifier:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceBindingIdentifier",this).call(this,t,n),t)},reduceBindingPropertyIdentifier:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceBindingPropertyIdentifier",this).call(this,t,n),t)},reduceBindingPropertyProperty:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceBindingPropertyProperty",this).call(this,t,n),t)},reduceBindingWithDefault:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceBindingWithDefault",this).call(this,t,n),t)},reduceBlock:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceBlock",this).call(this,t,n),t)},reduceBlockStatement:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceBlockStatement",this).call(this,t,n),t)},reduceBreakStatement:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceBreakStatement",this).call(this,t,n),t)},reduceCallExpression:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceCallExpression",this).call(this,t,n),t)},reduceCatchClause:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceCatchClause",this).call(this,t,n),t)},reduceClassDeclaration:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceClassDeclaration",this).call(this,t,n),t)},reduceClassElement:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceClassElement",this).call(this,t,n),t)},reduceClassExpression:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceClassExpression",this).call(this,t,n),t)},reduceCompoundAssignmentExpression:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceCompoundAssignmentExpression",this).call(this,t,n),t)},reduceComputedMemberAssignmentTarget:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceComputedMemberAssignmentTarget",this).call(this,t,n),t)},reduceComputedMemberExpression:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceComputedMemberExpression",this).call(this,t,n),t)},reduceComputedPropertyName:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceComputedPropertyName",this).call(this,t,n),t)},reduceConditionalExpression:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceConditionalExpression",this).call(this,t,n),t)},reduceContinueStatement:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceContinueStatement",this).call(this,t,n),t)},reduceDataProperty:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceDataProperty",this).call(this,t,n),t)},reduceDebuggerStatement:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceDebuggerStatement",this).call(this,t,n),t)},reduceDirective:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceDirective",this).call(this,t,n),t)},reduceDoWhileStatement:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceDoWhileStatement",this).call(this,t,n),t)},reduceEmptyStatement:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceEmptyStatement",this).call(this,t,n),t)},reduceExport:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceExport",this).call(this,t,n),t)},reduceExportAllFrom:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceExportAllFrom",this).call(this,t,n),t)},reduceExportDefault:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceExportDefault",this).call(this,t,n),t)},reduceExportFrom:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceExportFrom",this).call(this,t,n),t)},reduceExportFromSpecifier:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceExportFromSpecifier",this).call(this,t,n),t)},reduceExportLocalSpecifier:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceExportLocalSpecifier",this).call(this,t,n),t)},reduceExportLocals:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceExportLocals",this).call(this,t,n),t)},reduceExpressionStatement:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceExpressionStatement",this).call(this,t,n),t)},reduceForAwaitStatement:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceForAwaitStatement",this).call(this,t,n),t)},reduceForInStatement:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceForInStatement",this).call(this,t,n),t)},reduceForOfStatement:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceForOfStatement",this).call(this,t,n),t)},reduceForStatement:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceForStatement",this).call(this,t,n),t)},reduceFormalParameters:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceFormalParameters",this).call(this,t,n),t)},reduceFunctionBody:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceFunctionBody",this).call(this,t,n),t)},reduceFunctionDeclaration:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceFunctionDeclaration",this).call(this,t,n),t)},reduceFunctionExpression:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceFunctionExpression",this).call(this,t,n),t)},reduceGetter:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceGetter",this).call(this,t,n),t)},reduceIdentifierExpression:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceIdentifierExpression",this).call(this,t,n),t)},reduceIfStatement:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceIfStatement",this).call(this,t,n),t)},reduceImport:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceImport",this).call(this,t,n),t)},reduceImportNamespace:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceImportNamespace",this).call(this,t,n),t)},reduceImportSpecifier:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceImportSpecifier",this).call(this,t,n),t)},reduceLabeledStatement:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceLabeledStatement",this).call(this,t,n),t)},reduceLiteralBooleanExpression:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceLiteralBooleanExpression",this).call(this,t,n),t)},reduceLiteralInfinityExpression:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceLiteralInfinityExpression",this).call(this,t,n),t)},reduceLiteralNullExpression:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceLiteralNullExpression",this).call(this,t,n),t)},reduceLiteralNumericExpression:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceLiteralNumericExpression",this).call(this,t,n),t)},reduceLiteralRegExpExpression:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceLiteralRegExpExpression",this).call(this,t,n),t)},reduceLiteralStringExpression:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceLiteralStringExpression",this).call(this,t,n),t)},reduceMethod:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceMethod",this).call(this,t,n),t)},reduceModule:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceModule",this).call(this,t,n),t)},reduceNewExpression:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceNewExpression",this).call(this,t,n),t)},reduceNewTargetExpression:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceNewTargetExpression",this).call(this,t,n),t)},reduceObjectAssignmentTarget:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceObjectAssignmentTarget",this).call(this,t,n),t)},reduceObjectBinding:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceObjectBinding",this).call(this,t,n),t)},reduceObjectExpression:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceObjectExpression",this).call(this,t,n),t)},reduceReturnStatement:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceReturnStatement",this).call(this,t,n),t)},reduceScript:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceScript",this).call(this,t,n),t)},reduceSetter:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceSetter",this).call(this,t,n),t)},reduceShorthandProperty:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceShorthandProperty",this).call(this,t,n),t)},reduceSpreadElement:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceSpreadElement",this).call(this,t,n),t)},reduceSpreadProperty:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceSpreadProperty",this).call(this,t,n),t)},reduceStaticMemberAssignmentTarget:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceStaticMemberAssignmentTarget",this).call(this,t,n),t)},reduceStaticMemberExpression:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceStaticMemberExpression",this).call(this,t,n),t)},reduceStaticPropertyName:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceStaticPropertyName",this).call(this,t,n),t)},reduceSuper:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceSuper",this).call(this,t,n),t)},reduceSwitchCase:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceSwitchCase",this).call(this,t,n),t)},reduceSwitchDefault:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceSwitchDefault",this).call(this,t,n),t)},reduceSwitchStatement:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceSwitchStatement",this).call(this,t,n),t)},reduceSwitchStatementWithDefault:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceSwitchStatementWithDefault",this).call(this,t,n),t)},reduceTemplateElement:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceTemplateElement",this).call(this,t,n),t)},reduceTemplateExpression:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceTemplateExpression",this).call(this,t,n),t)},reduceThisExpression:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceThisExpression",this).call(this,t,n),t)},reduceThrowStatement:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceThrowStatement",this).call(this,t,n),t)},reduceTryCatchStatement:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceTryCatchStatement",this).call(this,t,n),t)},reduceTryFinallyStatement:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceTryFinallyStatement",this).call(this,t,n),t)},reduceUnaryExpression:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceUnaryExpression",this).call(this,t,n),t)},reduceUpdateExpression:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceUpdateExpression",this).call(this,t,n),t)},reduceVariableDeclaration:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceVariableDeclaration",this).call(this,t,n),t)},reduceVariableDeclarationStatement:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceVariableDeclarationStatement",this).call(this,t,n),t)},reduceVariableDeclarator:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceVariableDeclarator",this).call(this,t,n),t)},reduceWhileStatement:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceWhileStatement",this).call(this,t,n),t)},reduceWithStatement:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceWithStatement",this).call(this,t,n),t)},reduceYieldExpression:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceYieldExpression",this).call(this,t,n),t)},reduceYieldGeneratorExpression:function(t,n){return e(St(r.__proto__||Object.getPrototypeOf(r),"reduceYieldGeneratorExpression",this).call(this,t,n),t)}}};var _t={};Object.defineProperty(_t,"__esModule",{value:!0}),_t.ThunkedOrReducer=_t.OrReducer=_t.ThunkedAndReducer=_t.AndReducer=_t.ThunkedConcatReducer=_t.ConcatReducer=_t.ThunkedPlusReducer=_t.PlusReducer=void 0;var Tt=kt(mt),Ft=kt(vt);function kt(e){return e&&e.__esModule?e:{default:e}}function Bt(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function wt(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function Nt(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var It={empty:function(){return 0},concat:function(e,t){return e+t}},Ot={empty:function(){return[]},concat:function(e,t){return e.concat(t)}},Lt={empty:function(){return!0},concat:function(e,t){return e&&t},concatThunk:function(e,t){return e&&t()}},Pt={empty:function(){return!1},concat:function(e,t){return e||t},concatThunk:function(e,t){return e||t()}};_t.PlusReducer=function(e){function t(){return Bt(this,t),wt(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,It))}return Nt(t,e),t}(Tt.default),_t.ThunkedPlusReducer=function(e){function t(){return Bt(this,t),wt(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,It))}return Nt(t,e),t}(Ft.default),_t.ConcatReducer=function(e){function t(){return Bt(this,t),wt(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,Ot))}return Nt(t,e),t}(Tt.default),_t.ThunkedConcatReducer=function(e){function t(){return Bt(this,t),wt(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,Ot))}return Nt(t,e),t}(Ft.default),_t.AndReducer=function(e){function t(){return Bt(this,t),wt(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,Lt))}return Nt(t,e),t}(Tt.default),_t.ThunkedAndReducer=function(e){function t(){return Bt(this,t),wt(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,Lt))}return Nt(t,e),t}(Ft.default),_t.OrReducer=function(e){function t(){return Bt(this,t),wt(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,Pt))}return Nt(t,e),t}(Tt.default),_t.ThunkedOrReducer=function(e){function t(){return Bt(this,t),wt(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,Pt))}return Nt(t,e),t}(Ft.default),function(e){Object.defineProperty(e,"__esModule",{value:!0});var t=Xe;Object.defineProperty(e,"reduce",{enumerable:!0,get:function(){return t.reduce}}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.reduce}});var r=$e;Object.defineProperty(e,"thunkedReduce",{enumerable:!0,get:function(){return r.thunkedReduce}});var n=Ze;Object.defineProperty(e,"thunkify",{enumerable:!0,get:function(){return d(n).default}});var i=Qe;Object.defineProperty(e,"thunkifyClass",{enumerable:!0,get:function(){return d(i).default}});var a=it;Object.defineProperty(e,"memoize",{enumerable:!0,get:function(){return d(a).default}});var u=st;Object.defineProperty(e,"CloneReducer",{enumerable:!0,get:function(){return d(u).default}});var s=lt;Object.defineProperty(e,"LazyCloneReducer",{enumerable:!0,get:function(){return d(s).default}});var o=mt;Object.defineProperty(e,"MonoidalReducer",{enumerable:!0,get:function(){return d(o).default}});var c=vt;Object.defineProperty(e,"ThunkedMonoidalReducer",{enumerable:!0,get:function(){return d(c).default}});var p=bt;Object.defineProperty(e,"adapt",{enumerable:!0,get:function(){return d(p).default}});var l=_t;function d(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(e,"PlusReducer",{enumerable:!0,get:function(){return l.PlusReducer}}),Object.defineProperty(e,"ThunkedPlusReducer",{enumerable:!0,get:function(){return l.ThunkedPlusReducer}}),Object.defineProperty(e,"ConcatReducer",{enumerable:!0,get:function(){return l.ConcatReducer}}),Object.defineProperty(e,"ThunkedConcatReducer",{enumerable:!0,get:function(){return l.ThunkedConcatReducer}}),Object.defineProperty(e,"AndReducer",{enumerable:!0,get:function(){return l.AndReducer}}),Object.defineProperty(e,"ThunkedAndReducer",{enumerable:!0,get:function(){return l.ThunkedAndReducer}}),Object.defineProperty(e,"OrReducer",{enumerable:!0,get:function(){return l.OrReducer}}),Object.defineProperty(e,"ThunkedOrReducer",{enumerable:!0,get:function(){return l.ThunkedOrReducer}})}(qe);var Mt={},Rt={exports:{}};!function(e,t){function r(e,t){for(var r,n=e.keys();!(r=n.next()).done;)t(e.get(r.value),r.value,e)}var n=function(){var e,t;function n(t){var r=this;r._map=e,n.Map&&(r._map=n.Map),r._=r._map?new r._map:{},t&&t.forEach((function(e){r.set(e[0],e[1])}))}"undefined"!=typeof Map&&(e=Map,Map.prototype.keys||(Map.prototype.keys=function(){var e=[];return this.forEach((function(t,r){e.push(r)})),e})),n.prototype.get=function(e){return this._map?this._.get(e):this._[e]},n.prototype.set=function(e,t){var r=Array.prototype.slice.call(arguments);e=r.shift();var n=this.get(e);return n||(n=[],this._map?this._.set(e,n):this._[e]=n),Array.prototype.push.apply(n,r),this},n.prototype.delete=function(e,t){if(!this.has(e))return!1;if(1==arguments.length)return this._map?this._.delete(e):delete this._[e],!0;var r=this.get(e),n=r.indexOf(t);return-1!=n&&(r.splice(n,1),!0)},n.prototype.has=function(e,t){var r=this._map?this._.has(e):this._.hasOwnProperty(e);if(1==arguments.length||!r)return r;var n=this.get(e)||[];return-1!=n.indexOf(t)},n.prototype.keys=function(){return this._map?i(this._.keys()):i(Object.keys(this._))},n.prototype.values=function(){var e=[];return this.forEachEntry((function(t){Array.prototype.push.apply(e,t)})),i(e)},n.prototype.forEachEntry=function(e){r(this,e)},n.prototype.forEach=function(e){var t=this;t.forEachEntry((function(r,n){r.forEach((function(r){e(r,n,t)}))}))},n.prototype.clear=function(){this._map?this._.clear():this._={}},Object.defineProperty(n.prototype,"size",{configurable:!1,enumerable:!0,get:function(){var e=0;return r(this,(function(t){e+=t.length})),e}}),Object.defineProperty(n.prototype,"count",{configurable:!1,enumerable:!0,get:function(){return this._.size}});try{t=new Function("iterator","makeIterator","var keysArray = []; for(var key of iterator){keysArray.push(key);} return makeIterator(keysArray).next;")}catch(e){}function i(e){if(Array.isArray(e)){var r=0;return{next:function(){return r<e.length?{value:e[r++],done:!1}:{done:!0}}}}return!e.next&&t&&(e.next=t(e,i)),e}return n}();e&&e.exports&&(e.exports=n)}(Rt),Object.defineProperty(Mt,"__esModule",{value:!0}),Mt.EarlyError=Mt.EarlyErrorState=void 0;var jt=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),Gt=function(e){return e&&e.__esModule?e:{default:e}}(Rt.exports);function Wt(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Ut(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];return r.forEach((function(t){t.forEachEntry((function(t,r){e.set.apply(e,[r].concat(t))}))})),e}var Vt=void 0,Ht=Mt.EarlyErrorState=function(){function e(){Wt(this,e),this.errors=[],this.strictErrors=[],this.usedLabelNames=[],this.freeBreakStatements=[],this.freeContinueStatements=[],this.freeLabeledBreakStatements=[],this.freeLabeledContinueStatements=[],this.newTargetExpressions=[],this.boundNames=new Gt.default,this.lexicallyDeclaredNames=new Gt.default,this.functionDeclarationNames=new Gt.default,this.varDeclaredNames=new Gt.default,this.forOfVarDeclaredNames=[],this.exportedNames=new Gt.default,this.exportedBindings=new Gt.default,this.superCallExpressions=[],this.superCallExpressionsInConstructorMethod=[],this.superPropertyExpressions=[],this.yieldExpressions=[],this.awaitExpressions=[]}return jt(e,[{key:"addFreeBreakStatement",value:function(e){return this.freeBreakStatements.push(e),this}},{key:"addFreeLabeledBreakStatement",value:function(e){return this.freeLabeledBreakStatements.push(e),this}},{key:"clearFreeBreakStatements",value:function(){return this.freeBreakStatements=[],this}},{key:"addFreeContinueStatement",value:function(e){return this.freeContinueStatements.push(e),this}},{key:"addFreeLabeledContinueStatement",value:function(e){return this.freeLabeledContinueStatements.push(e),this}},{key:"clearFreeContinueStatements",value:function(){return this.freeContinueStatements=[],this}},{key:"enforceFreeBreakStatementErrors",value:function(e){return[].push.apply(this.errors,this.freeBreakStatements.map(e)),this.freeBreakStatements=[],this}},{key:"enforceFreeLabeledBreakStatementErrors",value:function(e){return[].push.apply(this.errors,this.freeLabeledBreakStatements.map(e)),this.freeLabeledBreakStatements=[],this}},{key:"enforceFreeContinueStatementErrors",value:function(e){return[].push.apply(this.errors,this.freeContinueStatements.map(e)),this.freeContinueStatements=[],this}},{key:"enforceFreeLabeledContinueStatementErrors",value:function(e){return[].push.apply(this.errors,this.freeLabeledContinueStatements.map(e)),this.freeLabeledContinueStatements=[],this}},{key:"observeIterationLabel",value:function(e){return this.usedLabelNames.push(e),this.freeLabeledBreakStatements=this.freeLabeledBreakStatements.filter((function(t){return t.label!==e})),this.freeLabeledContinueStatements=this.freeLabeledContinueStatements.filter((function(t){return t.label!==e})),this}},{key:"observeNonIterationLabel",value:function(e){return this.usedLabelNames.push(e),this.freeLabeledBreakStatements=this.freeLabeledBreakStatements.filter((function(t){return t.label!==e})),this}},{key:"clearUsedLabelNames",value:function(){return this.usedLabelNames=[],this}},{key:"observeSuperCallExpression",value:function(e){return this.superCallExpressions.push(e),this}},{key:"observeConstructorMethod",value:function(){return this.superCallExpressionsInConstructorMethod=this.superCallExpressions,this.superCallExpressions=[],this}},{key:"clearSuperCallExpressionsInConstructorMethod",value:function(){return this.superCallExpressionsInConstructorMethod=[],this}},{key:"enforceSuperCallExpressions",value:function(e){return[].push.apply(this.errors,this.superCallExpressions.map(e)),[].push.apply(this.errors,this.superCallExpressionsInConstructorMethod.map(e)),this.superCallExpressions=[],this.superCallExpressionsInConstructorMethod=[],this}},{key:"enforceSuperCallExpressionsInConstructorMethod",value:function(e){return[].push.apply(this.errors,this.superCallExpressionsInConstructorMethod.map(e)),this.superCallExpressionsInConstructorMethod=[],this}},{key:"observeSuperPropertyExpression",value:function(e){return this.superPropertyExpressions.push(e),this}},{key:"clearSuperPropertyExpressions",value:function(){return this.superPropertyExpressions=[],this}},{key:"enforceSuperPropertyExpressions",value:function(e){return[].push.apply(this.errors,this.superPropertyExpressions.map(e)),this.superPropertyExpressions=[],this}},{key:"observeNewTargetExpression",value:function(e){return this.newTargetExpressions.push(e),this}},{key:"clearNewTargetExpressions",value:function(){return this.newTargetExpressions=[],this}},{key:"bindName",value:function(e,t){return this.boundNames.set(e,t),this}},{key:"clearBoundNames",value:function(){return this.boundNames=new Gt.default,this}},{key:"observeLexicalDeclaration",value:function(){return Ut(this.lexicallyDeclaredNames,this.boundNames),this.boundNames=new Gt.default,this}},{key:"observeLexicalBoundary",value:function(){return this.previousLexicallyDeclaredNames=this.lexicallyDeclaredNames,this.lexicallyDeclaredNames=new Gt.default,this.functionDeclarationNames=new Gt.default,this}},{key:"enforceDuplicateLexicallyDeclaredNames",value:function(e){var t=this;return this.lexicallyDeclaredNames.forEachEntry((function(r){r.length>1&&r.slice(1).forEach((function(r){t.addError(e(r))}))})),this}},{key:"enforceConflictingLexicallyDeclaredNames",value:function(e,t){var r=this;return this.lexicallyDeclaredNames.forEachEntry((function(n,i){e.has(i)&&n.forEach((function(e){r.addError(t(e))}))})),this}},{key:"observeFunctionDeclaration",value:function(){return this.observeVarBoundary(),Ut(this.functionDeclarationNames,this.boundNames),this.boundNames=new Gt.default,this}},{key:"functionDeclarationNamesAreLexical",value:function(){return Ut(this.lexicallyDeclaredNames,this.functionDeclarationNames),this.functionDeclarationNames=new Gt.default,this}},{key:"observeVarDeclaration",value:function(){return Ut(this.varDeclaredNames,this.boundNames),this.boundNames=new Gt.default,this}},{key:"recordForOfVars",value:function(){var e=this;return this.varDeclaredNames.forEach((function(t){e.forOfVarDeclaredNames.push(t)})),this}},{key:"observeVarBoundary",value:function(){return this.lexicallyDeclaredNames=new Gt.default,this.functionDeclarationNames=new Gt.default,this.varDeclaredNames=new Gt.default,this.forOfVarDeclaredNames=[],this}},{key:"exportName",value:function(e,t){return this.exportedNames.set(e,t),this}},{key:"exportDeclaredNames",value:function(){return Ut(this.exportedNames,this.lexicallyDeclaredNames,this.varDeclaredNames),Ut(this.exportedBindings,this.lexicallyDeclaredNames,this.varDeclaredNames),this}},{key:"exportBinding",value:function(e,t){return this.exportedBindings.set(e,t),this}},{key:"clearExportedBindings",value:function(){return this.exportedBindings=new Gt.default,this}},{key:"observeYieldExpression",value:function(e){return this.yieldExpressions.push(e),this}},{key:"clearYieldExpressions",value:function(){return this.yieldExpressions=[],this}},{key:"observeAwaitExpression",value:function(e){return this.awaitExpressions.push(e),this}},{key:"clearAwaitExpressions",value:function(){return this.awaitExpressions=[],this}},{key:"addError",value:function(e){return this.errors.push(e),this}},{key:"addStrictError",value:function(e){return this.strictErrors.push(e),this}},{key:"enforceStrictErrors",value:function(){return[].push.apply(this.errors,this.strictErrors),this.strictErrors=[],this}},{key:"concat",value:function(e){return this===Vt?e:(e===Vt||([].push.apply(this.errors,e.errors),[].push.apply(this.strictErrors,e.strictErrors),[].push.apply(this.usedLabelNames,e.usedLabelNames),[].push.apply(this.freeBreakStatements,e.freeBreakStatements),[].push.apply(this.freeContinueStatements,e.freeContinueStatements),[].push.apply(this.freeLabeledBreakStatements,e.freeLabeledBreakStatements),[].push.apply(this.freeLabeledContinueStatements,e.freeLabeledContinueStatements),[].push.apply(this.newTargetExpressions,e.newTargetExpressions),Ut(this.boundNames,e.boundNames),Ut(this.lexicallyDeclaredNames,e.lexicallyDeclaredNames),Ut(this.functionDeclarationNames,e.functionDeclarationNames),Ut(this.varDeclaredNames,e.varDeclaredNames),[].push.apply(this.forOfVarDeclaredNames,e.forOfVarDeclaredNames),Ut(this.exportedNames,e.exportedNames),Ut(this.exportedBindings,e.exportedBindings),[].push.apply(this.superCallExpressions,e.superCallExpressions),[].push.apply(this.superCallExpressionsInConstructorMethod,e.superCallExpressionsInConstructorMethod),[].push.apply(this.superPropertyExpressions,e.superPropertyExpressions),[].push.apply(this.yieldExpressions,e.yieldExpressions),[].push.apply(this.awaitExpressions,e.awaitExpressions)),this)}}],[{key:"empty",value:function(){return Vt}}]),e}();Vt=new Ht,Object.getOwnPropertyNames(Ht.prototype).forEach((function(e){"constructor"!==e&&Object.defineProperty(Vt,e,{value:function(){return Ht.prototype[e].apply(new Ht,arguments)},enumerable:!1,writable:!0,configurable:!0})})),Mt.EarlyError=function(e){function t(e,r){Wt(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,r));return n.node=e,n.message=r,n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,Error),t}(),Object.defineProperty(Ye,"__esModule",{value:!0}),Ye.EarlyErrorChecker=void 0;var Kt=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),Yt=function e(t,r,n){null===t&&(t=Function.prototype);var i=Object.getOwnPropertyDescriptor(t,r);if(void 0===i){var a=Object.getPrototypeOf(t);return null===a?void 0:e(a,r,n)}if("value"in i)return i.value;var u=i.get;return void 0!==u?u.call(n):void 0},qt=qe,Xt=function(e){return e&&e.__esModule?e:{default:e}}(qt),zt=i,$t=o,Jt=Mt;function Zt(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);t<e.length;t++)r[t]=e[t];return r}return Array.from(e)}function Qt(e){return e.directives.some((function(e){return"use strict"===e.rawValue}))}function er(e){return"LabeledStatement"===e.type&&("FunctionDeclaration"===e.body.type||er(e.body))}function tr(e){switch(e.type){case"LabeledStatement":return tr(e.body);case"DoWhileStatement":case"ForInStatement":case"ForOfStatement":case"ForStatement":case"WhileStatement":return!0}return!1}function rr(e){if("StaticPropertyName"!==e.name.type||"constructor"!==e.name.value)return!1;switch(e.type){case"Getter":case"Setter":return!0;case"Method":return e.isGenerator||e.isAsync}throw new Error("not reached")}function nr(e,t){var r=e.elements.filter((function(e){return!e.isStatic&&"Method"===e.method.type&&!e.method.isGenerator&&"StaticPropertyName"===e.method.name.type&&"constructor"===e.method.name.value}));return r.length>1&&r.slice(1).forEach((function(e){t=t.addError(new Jt.EarlyError(e,"Duplicate constructor method in class"))})),t}var ir=function(e){return new Jt.EarlyError(e,$t.ErrorMessages.ILLEGAL_SUPER_CALL)},ar=function(e){return new Jt.EarlyError(e,"Member access on super must be in a method")},ur=function(e){return new Jt.EarlyError(e,"Duplicate binding "+JSON.stringify(e.name))},sr=function(e){return new Jt.EarlyError(e,"Continue statement must be nested within an iteration statement")},or=function(e){return new Jt.EarlyError(e,"Continue statement must be nested within an iteration statement with label "+JSON.stringify(e.label))},cr=function(e){return new Jt.EarlyError(e,"Break statement must be nested within an iteration statement or a switch statement")},pr=function(e){return new Jt.EarlyError(e,"Break statement must be nested within a statement with label "+JSON.stringify(e.label))};Ye.EarlyErrorChecker=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,Jt.EarlyErrorState))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),Kt(t,[{key:"reduceAssignmentExpression",value:function(){return Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceAssignmentExpression",this).apply(this,arguments).clearBoundNames()}},{key:"reduceAssignmentTargetIdentifier",value:function(e){var t=this.identity;return("eval"===e.name||"arguments"===e.name||(0,zt.isStrictModeReservedWord)(e.name))&&(t=t.addStrictError(new Jt.EarlyError(e,"The identifier "+JSON.stringify(e.name)+" must not be in binding position in strict mode"))),t}},{key:"reduceArrowExpression",value:function(e,r){var n=r.params,i=r.body,a=null==e.params.rest&&e.params.items.every((function(e){return"BindingIdentifier"===e.type}));n=n.enforceDuplicateLexicallyDeclaredNames(ur),"FunctionBody"===e.body.type&&(i=i.enforceConflictingLexicallyDeclaredNames(n.lexicallyDeclaredNames,ur),Qt(e.body)&&(n=n.enforceStrictErrors(),i=i.enforceStrictErrors())),n.yieldExpressions.forEach((function(e){n=n.addError(new Jt.EarlyError(e,"Arrow parameters must not contain yield expressions"))})),n.awaitExpressions.forEach((function(e){n=n.addError(new Jt.EarlyError(e,"Arrow parameters must not contain await expressions"))}));var u=Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceArrowExpression",this).call(this,e,{params:n,body:i});return!a&&"FunctionBody"===e.body.type&&Qt(e.body)&&(u=u.addError(new Jt.EarlyError(e,'Functions with non-simple parameter lists may not contain a "use strict" directive'))),u=(u=(u=u.clearYieldExpressions()).clearAwaitExpressions()).observeVarBoundary()}},{key:"reduceAwaitExpression",value:function(e,t){return t.expression.observeAwaitExpression(e)}},{key:"reduceBindingIdentifier",value:function(e){var t=this.identity;return("eval"===e.name||"arguments"===e.name||(0,zt.isStrictModeReservedWord)(e.name))&&(t=t.addStrictError(new Jt.EarlyError(e,"The identifier "+JSON.stringify(e.name)+" must not be in binding position in strict mode"))),t=t.bindName(e.name,e)}},{key:"reduceBlock",value:function(){var e=Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceBlock",this).apply(this,arguments);return e=(e=(e=(e=e.functionDeclarationNamesAreLexical()).enforceDuplicateLexicallyDeclaredNames(ur)).enforceConflictingLexicallyDeclaredNames(e.varDeclaredNames,ur)).observeLexicalBoundary()}},{key:"reduceBreakStatement",value:function(e){var r=Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceBreakStatement",this).apply(this,arguments);return r=null==e.label?r.addFreeBreakStatement(e):r.addFreeLabeledBreakStatement(e)}},{key:"reduceCallExpression",value:function(e){var r=Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceCallExpression",this).apply(this,arguments);return"Super"===e.callee.type&&(r=r.observeSuperCallExpression(e)),r}},{key:"reduceCatchClause",value:function(e,r){var n=r.binding,i=r.body;(n=(n=(n=n.observeLexicalDeclaration()).enforceDuplicateLexicallyDeclaredNames(ur)).enforceConflictingLexicallyDeclaredNames(i.previousLexicallyDeclaredNames,ur)).lexicallyDeclaredNames.forEachEntry((function(e,t){i.varDeclaredNames.has(t)&&i.varDeclaredNames.get(t).forEach((function(e){i.forOfVarDeclaredNames.indexOf(e)>=0&&(n=n.addError(ur(e)))}))}));var a=Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceCatchClause",this).call(this,e,{binding:n,body:i});return a=a.observeLexicalBoundary()}},{key:"reduceClassDeclaration",value:function(e,t){var r=t.name,n=t.super,i=t.elements,a=r.enforceStrictErrors(),u=this.append.apply(this,Zt(i));return u=u.enforceStrictErrors(),null!=e.super&&(n=n.enforceStrictErrors(),a=this.append(a,n),u=u.clearSuperCallExpressionsInConstructorMethod()),a=(a=nr(e,a=this.append(a,u))).observeLexicalDeclaration()}},{key:"reduceClassElement",value:function(e){var r=Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceClassElement",this).apply(this,arguments);return!e.isStatic&&rr(e.method)&&(r=r.addError(new Jt.EarlyError(e,$t.ErrorMessages.ILLEGAL_CONSTRUCTORS))),e.isStatic&&"StaticPropertyName"===e.method.name.type&&"prototype"===e.method.name.value&&(r=r.addError(new Jt.EarlyError(e,'Static class methods cannot be named "prototype"'))),r}},{key:"reduceClassExpression",value:function(e,t){var r=t.name,n=t.super,i=t.elements,a=null==e.name?this.identity:r.enforceStrictErrors(),u=this.append.apply(this,Zt(i));return u=u.enforceStrictErrors(),null!=e.super&&(n=n.enforceStrictErrors(),a=this.append(a,n),u=u.clearSuperCallExpressionsInConstructorMethod()),a=(a=nr(e,a=this.append(a,u))).clearBoundNames()}},{key:"reduceCompoundAssignmentExpression",value:function(){return Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceCompoundAssignmentExpression",this).apply(this,arguments).clearBoundNames()}},{key:"reduceComputedMemberExpression",value:function(e){var r=Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceComputedMemberExpression",this).apply(this,arguments);return"Super"===e.object.type&&(r=r.observeSuperPropertyExpression(e)),r}},{key:"reduceContinueStatement",value:function(e){var r=Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceContinueStatement",this).apply(this,arguments);return r=null==e.label?r.addFreeContinueStatement(e):r.addFreeLabeledContinueStatement(e)}},{key:"reduceDoWhileStatement",value:function(e){var r=Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceDoWhileStatement",this).apply(this,arguments);return er(e.body)&&(r=r.addError(new Jt.EarlyError(e.body,"The body of a do-while statement must not be a labeled function declaration"))),r=(r=r.clearFreeContinueStatements()).clearFreeBreakStatements()}},{key:"reduceExport",value:function(){var e=Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceExport",this).apply(this,arguments);return e=(e=e.functionDeclarationNamesAreLexical()).exportDeclaredNames()}},{key:"reduceExportFrom",value:function(){var e=Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceExportFrom",this).apply(this,arguments);return e=e.clearExportedBindings()}},{key:"reduceExportFromSpecifier",value:function(e){var r=Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceExportFromSpecifier",this).apply(this,arguments);return r=(r=r.exportName(e.exportedName||e.name,e)).exportBinding(e.name,e)}},{key:"reduceExportLocalSpecifier",value:function(e){var r=Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceExportLocalSpecifier",this).apply(this,arguments);return r=(r=r.exportName(e.exportedName||e.name.name,e)).exportBinding(e.name.name,e)}},{key:"reduceExportDefault",value:function(e){var r=Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceExportDefault",this).apply(this,arguments);return r=(r=r.functionDeclarationNamesAreLexical()).exportName("default",e)}},{key:"reduceFormalParameters",value:function(){var e=Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceFormalParameters",this).apply(this,arguments);return e=e.observeLexicalDeclaration()}},{key:"reduceForStatement",value:function(e,r){var n=r.init,i=r.test,a=r.update,u=r.body;null!=n&&(n=(n=n.enforceDuplicateLexicallyDeclaredNames(ur)).enforceConflictingLexicallyDeclaredNames(u.varDeclaredNames,ur));var s=Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceForStatement",this).call(this,e,{init:n,test:i,update:a,body:u});return null!=e.init&&"VariableDeclaration"===e.init.type&&"const"===e.init.kind&&e.init.declarators.forEach((function(e){null==e.init&&(s=s.addError(new Jt.EarlyError(e,"Constant lexical declarations must have an initialiser")))})),er(e.body)&&(s=s.addError(new Jt.EarlyError(e.body,"The body of a for statement must not be a labeled function declaration"))),s=(s=(s=s.clearFreeContinueStatements()).clearFreeBreakStatements()).observeLexicalBoundary()}},{key:"reduceForInStatement",value:function(e,r){var n=r.left,i=r.right,a=r.body;n=(n=n.enforceDuplicateLexicallyDeclaredNames(ur)).enforceConflictingLexicallyDeclaredNames(a.varDeclaredNames,ur);var u=Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceForInStatement",this).call(this,e,{left:n,right:i,body:a});return er(e.body)&&(u=u.addError(new Jt.EarlyError(e.body,"The body of a for-in statement must not be a labeled function declaration"))),u=(u=(u=u.clearFreeContinueStatements()).clearFreeBreakStatements()).observeLexicalBoundary()}},{key:"reduceForOfStatement",value:function(e,r){var n=r.left,i=r.right,a=r.body;n=(n=(n=n.recordForOfVars()).enforceDuplicateLexicallyDeclaredNames(ur)).enforceConflictingLexicallyDeclaredNames(a.varDeclaredNames,ur);var u=Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceForOfStatement",this).call(this,e,{left:n,right:i,body:a});return er(e.body)&&(u=u.addError(new Jt.EarlyError(e.body,"The body of a for-of statement must not be a labeled function declaration"))),u=(u=(u=u.clearFreeContinueStatements()).clearFreeBreakStatements()).observeLexicalBoundary()}},{key:"reduceForAwaitStatement",value:function(e,r){var n=r.left,i=r.right,a=r.body;n=(n=(n=n.recordForOfVars()).enforceDuplicateLexicallyDeclaredNames(ur)).enforceConflictingLexicallyDeclaredNames(a.varDeclaredNames,ur);var u=Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceForOfStatement",this).call(this,e,{left:n,right:i,body:a});return er(e.body)&&(u=u.addError(new Jt.EarlyError(e.body,"The body of a for-await statement must not be a labeled function declaration"))),u=(u=(u=u.clearFreeContinueStatements()).clearFreeBreakStatements()).observeLexicalBoundary()}},{key:"reduceFunctionBody",value:function(e){var r=Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceFunctionBody",this).apply(this,arguments);return r=(r=(r=(r=(r=(r=(r=(r=(r=r.enforceDuplicateLexicallyDeclaredNames(ur)).enforceConflictingLexicallyDeclaredNames(r.varDeclaredNames,ur)).enforceFreeContinueStatementErrors(sr)).enforceFreeLabeledContinueStatementErrors(or)).enforceFreeBreakStatementErrors(cr)).enforceFreeLabeledBreakStatementErrors(pr)).clearUsedLabelNames()).clearYieldExpressions()).clearAwaitExpressions(),Qt(e)&&(r=r.enforceStrictErrors()),r}},{key:"reduceFunctionDeclaration",value:function(e,r){var n=r.name,i=r.params,a=r.body,u=null==e.params.rest&&e.params.items.every((function(e){return"BindingIdentifier"===e.type})),s=!u||e.isGenerator?"addError":"addStrictError";i.lexicallyDeclaredNames.forEachEntry((function(e){e.length>1&&e.slice(1).forEach((function(e){i=i[s](ur(e))}))})),a=(a=(a=a.enforceConflictingLexicallyDeclaredNames(i.lexicallyDeclaredNames,ur)).enforceSuperCallExpressions(ir)).enforceSuperPropertyExpressions(ar),i=(i=i.enforceSuperCallExpressions(ir)).enforceSuperPropertyExpressions(ar),e.isGenerator&&i.yieldExpressions.forEach((function(e){i=i.addError(new Jt.EarlyError(e,"Generator parameters must not contain yield expressions"))})),e.isAsync&&i.awaitExpressions.forEach((function(e){i=i.addError(new Jt.EarlyError(e,"Async function parameters must not contain await expressions"))})),i=i.clearNewTargetExpressions(),a=a.clearNewTargetExpressions(),Qt(e.body)&&(i=i.enforceStrictErrors(),a=a.enforceStrictErrors());var o=Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceFunctionDeclaration",this).call(this,e,{name:n,params:i,body:a});return!u&&Qt(e.body)&&(o=o.addError(new Jt.EarlyError(e,'Functions with non-simple parameter lists may not contain a "use strict" directive'))),o=(o=(o=o.clearYieldExpressions()).clearAwaitExpressions()).observeFunctionDeclaration()}},{key:"reduceFunctionExpression",value:function(e,r){var n=r.name,i=r.params,a=r.body,u=null==e.params.rest&&e.params.items.every((function(e){return"BindingIdentifier"===e.type})),s=!u||e.isGenerator?"addError":"addStrictError";i.lexicallyDeclaredNames.forEachEntry((function(e,t){e.length>1&&e.slice(1).forEach((function(e){i=i[s](new Jt.EarlyError(e,"Duplicate binding "+JSON.stringify(t)))}))})),a=(a=(a=a.enforceConflictingLexicallyDeclaredNames(i.lexicallyDeclaredNames,ur)).enforceSuperCallExpressions(ir)).enforceSuperPropertyExpressions(ar),i=(i=i.enforceSuperCallExpressions(ir)).enforceSuperPropertyExpressions(ar),e.isGenerator&&i.yieldExpressions.forEach((function(e){i=i.addError(new Jt.EarlyError(e,"Generator parameters must not contain yield expressions"))})),e.isAsync&&i.awaitExpressions.forEach((function(e){i=i.addError(new Jt.EarlyError(e,"Async function parameters must not contain await expressions"))})),i=i.clearNewTargetExpressions(),a=a.clearNewTargetExpressions(),Qt(e.body)&&(i=i.enforceStrictErrors(),a=a.enforceStrictErrors());var o=Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceFunctionExpression",this).call(this,e,{name:n,params:i,body:a});return!u&&Qt(e.body)&&(o=o.addError(new Jt.EarlyError(e,'Functions with non-simple parameter lists may not contain a "use strict" directive'))),o=(o=(o=(o=o.clearBoundNames()).clearYieldExpressions()).clearAwaitExpressions()).observeVarBoundary()}},{key:"reduceGetter",value:function(e,r){var n=r.name,i=r.body;i=(i=(i=i.enforceSuperCallExpressions(ir)).clearSuperPropertyExpressions()).clearNewTargetExpressions(),Qt(e.body)&&(i=i.enforceStrictErrors());var a=Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceGetter",this).call(this,e,{name:n,body:i});return a=a.observeVarBoundary()}},{key:"reduceIdentifierExpression",value:function(e){var t=this.identity;return(0,zt.isStrictModeReservedWord)(e.name)&&(t=t.addStrictError(new Jt.EarlyError(e,"The identifier "+JSON.stringify(e.name)+" must not be in expression position in strict mode"))),t}},{key:"reduceIfStatement",value:function(e,r){var n=r.test,i=r.consequent,a=r.alternate;return er(e.consequent)&&(i=i.addError(new Jt.EarlyError(e.consequent,"The consequent of an if statement must not be a labeled function declaration"))),null!=e.alternate&&er(e.alternate)&&(a=a.addError(new Jt.EarlyError(e.alternate,"The alternate of an if statement must not be a labeled function declaration"))),"FunctionDeclaration"===e.consequent.type&&(i=(i=i.addStrictError(new Jt.EarlyError(e.consequent,"FunctionDeclarations in IfStatements are disallowed in strict mode"))).observeLexicalBoundary()),null!=e.alternate&&"FunctionDeclaration"===e.alternate.type&&(a=(a=a.addStrictError(new Jt.EarlyError(e.alternate,"FunctionDeclarations in IfStatements are disallowed in strict mode"))).observeLexicalBoundary()),Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceIfStatement",this).call(this,e,{test:n,consequent:i,alternate:a})}},{key:"reduceImport",value:function(){var e=Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceImport",this).apply(this,arguments);return e=e.observeLexicalDeclaration()}},{key:"reduceImportNamespace",value:function(){var e=Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceImportNamespace",this).apply(this,arguments);return e=e.observeLexicalDeclaration()}},{key:"reduceLabeledStatement",value:function(e){var r=Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceLabeledStatement",this).apply(this,arguments);return("yield"===e.label||(0,zt.isStrictModeReservedWord)(e.label))&&(r=r.addStrictError(new Jt.EarlyError(e,"The identifier "+JSON.stringify(e.label)+" must not be in label position in strict mode"))),r.usedLabelNames.indexOf(e.label)>=0&&(r=r.addError(new Jt.EarlyError(e,"Label "+JSON.stringify(e.label)+" has already been declared"))),"FunctionDeclaration"===e.body.type&&(r=r.addStrictError(new Jt.EarlyError(e,"Labeled FunctionDeclarations are disallowed in strict mode"))),r=tr(e.body)?r.observeIterationLabel(e.label):r.observeNonIterationLabel(e.label)}},{key:"reduceLiteralRegExpExpression",value:function(){return this.identity}},{key:"reduceMethod",value:function(e,r){var n=r.name,i=r.params,a=r.body,u=null==e.params.rest&&e.params.items.every((function(e){return"BindingIdentifier"===e.type}));i=i.enforceDuplicateLexicallyDeclaredNames(ur),a=a.enforceConflictingLexicallyDeclaredNames(i.lexicallyDeclaredNames,ur),"StaticPropertyName"===e.name.type&&"constructor"===e.name.value?(a=a.observeConstructorMethod(),i=i.observeConstructorMethod()):(a=a.enforceSuperCallExpressions(ir),i=i.enforceSuperCallExpressions(ir)),e.isGenerator&&i.yieldExpressions.forEach((function(e){i=i.addError(new Jt.EarlyError(e,"Generator parameters must not contain yield expressions"))})),e.isAsync&&i.awaitExpressions.forEach((function(e){i=i.addError(new Jt.EarlyError(e,"Async function parameters must not contain await expressions"))})),a=a.clearSuperPropertyExpressions(),i=(i=i.clearSuperPropertyExpressions()).clearNewTargetExpressions(),a=a.clearNewTargetExpressions(),Qt(e.body)&&(i=i.enforceStrictErrors(),a=a.enforceStrictErrors());var s=Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceMethod",this).call(this,e,{name:n,params:i,body:a});return!u&&Qt(e.body)&&(s=s.addError(new Jt.EarlyError(e,'Functions with non-simple parameter lists may not contain a "use strict" directive'))),s=(s=(s=s.clearYieldExpressions()).clearAwaitExpressions()).observeVarBoundary()}},{key:"reduceModule",value:function(){var e=Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceModule",this).apply(this,arguments);return(e=(e=(e=e.functionDeclarationNamesAreLexical()).enforceDuplicateLexicallyDeclaredNames(ur)).enforceConflictingLexicallyDeclaredNames(e.varDeclaredNames,ur)).exportedNames.forEachEntry((function(t,r){t.length>1&&t.slice(1).forEach((function(t){e=e.addError(new Jt.EarlyError(t,"Duplicate export "+JSON.stringify(r)))}))})),e.exportedBindings.forEachEntry((function(t,r){e.lexicallyDeclaredNames.has(r)||e.varDeclaredNames.has(r)||t.forEach((function(t){e=e.addError(new Jt.EarlyError(t,"Exported binding "+JSON.stringify(r)+" is not declared"))}))})),e.newTargetExpressions.forEach((function(t){e=e.addError(new Jt.EarlyError(t,"new.target must be within function (but not arrow expression) code"))})),e=(e=(e=(e=(e=(e=(e=e.enforceFreeContinueStatementErrors(sr)).enforceFreeLabeledContinueStatementErrors(or)).enforceFreeBreakStatementErrors(cr)).enforceFreeLabeledBreakStatementErrors(pr)).enforceSuperCallExpressions(ir)).enforceSuperPropertyExpressions(ar)).enforceStrictErrors()}},{key:"reduceNewTargetExpression",value:function(e){return this.identity.observeNewTargetExpression(e)}},{key:"reduceObjectExpression",value:function(e){var r=Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceObjectExpression",this).apply(this,arguments);r=r.enforceSuperCallExpressionsInConstructorMethod(ir);var n=e.properties.filter((function(e){return"DataProperty"===e.type&&"StaticPropertyName"===e.name.type&&"__proto__"===e.name.value}));return n.slice(1).forEach((function(e){r=r.addError(new Jt.EarlyError(e,"Duplicate __proto__ property in object literal not allowed"))})),r}},{key:"reduceUpdateExpression",value:function(){var e=Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceUpdateExpression",this).apply(this,arguments);return e=e.clearBoundNames()}},{key:"reduceUnaryExpression",value:function(e){var r=Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceUnaryExpression",this).apply(this,arguments);return"delete"===e.operator&&"IdentifierExpression"===e.operand.type&&(r=r.addStrictError(new Jt.EarlyError(e,"Identifier expressions must not be deleted in strict mode"))),r}},{key:"reduceScript",value:function(e){var r=Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceScript",this).apply(this,arguments);return(r=(r=r.enforceDuplicateLexicallyDeclaredNames(ur)).enforceConflictingLexicallyDeclaredNames(r.varDeclaredNames,ur)).newTargetExpressions.forEach((function(e){r=r.addError(new Jt.EarlyError(e,"new.target must be within function (but not arrow expression) code"))})),r=(r=(r=(r=(r=(r=r.enforceFreeContinueStatementErrors(sr)).enforceFreeLabeledContinueStatementErrors(or)).enforceFreeBreakStatementErrors(cr)).enforceFreeLabeledBreakStatementErrors(pr)).enforceSuperCallExpressions(ir)).enforceSuperPropertyExpressions(ar),Qt(e)&&(r=r.enforceStrictErrors()),r}},{key:"reduceSetter",value:function(e,r){var n=r.name,i=r.param,a=r.body,u="BindingIdentifier"===e.param.type;i=(i=i.observeLexicalDeclaration()).enforceDuplicateLexicallyDeclaredNames(ur),a=a.enforceConflictingLexicallyDeclaredNames(i.lexicallyDeclaredNames,ur),i=i.enforceSuperCallExpressions(ir),a=a.enforceSuperCallExpressions(ir),i=i.clearSuperPropertyExpressions(),a=a.clearSuperPropertyExpressions(),i=i.clearNewTargetExpressions(),a=a.clearNewTargetExpressions(),Qt(e.body)&&(i=i.enforceStrictErrors(),a=a.enforceStrictErrors());var s=Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceSetter",this).call(this,e,{name:n,param:i,body:a});return!u&&Qt(e.body)&&(s=s.addError(new Jt.EarlyError(e,'Functions with non-simple parameter lists may not contain a "use strict" directive'))),s=s.observeVarBoundary()}},{key:"reduceStaticMemberExpression",value:function(e){var r=Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceStaticMemberExpression",this).apply(this,arguments);return"Super"===e.object.type&&(r=r.observeSuperPropertyExpression(e)),r}},{key:"reduceSwitchStatement",value:function(e,t){var r=t.discriminant,n=t.cases,i=this.append.apply(this,Zt(n));i=(i=(i=(i=i.functionDeclarationNamesAreLexical()).enforceDuplicateLexicallyDeclaredNames(ur)).enforceConflictingLexicallyDeclaredNames(i.varDeclaredNames,ur)).observeLexicalBoundary();var a=this.append(r,i);return a=a.clearFreeBreakStatements()}},{key:"reduceSwitchStatementWithDefault",value:function(e,t){var r=t.discriminant,n=t.preDefaultCases,i=t.defaultCase,a=t.postDefaultCases,u=this.append.apply(this,[i].concat(Zt(n),Zt(a)));u=(u=(u=(u=u.functionDeclarationNamesAreLexical()).enforceDuplicateLexicallyDeclaredNames(ur)).enforceConflictingLexicallyDeclaredNames(u.varDeclaredNames,ur)).observeLexicalBoundary();var s=this.append(r,u);return s=s.clearFreeBreakStatements()}},{key:"reduceVariableDeclaration",value:function(e){var r=Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceVariableDeclaration",this).apply(this,arguments);switch(e.kind){case"const":case"let":(r=r.observeLexicalDeclaration()).lexicallyDeclaredNames.has("let")&&r.lexicallyDeclaredNames.get("let").forEach((function(e){r=r.addError(new Jt.EarlyError(e,'Lexical declarations must not have a binding named "let"'))}));break;case"var":r=r.observeVarDeclaration()}return r}},{key:"reduceVariableDeclarationStatement",value:function(e){var r=Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceVariableDeclarationStatement",this).apply(this,arguments);return"const"===e.declaration.kind&&e.declaration.declarators.forEach((function(e){null==e.init&&(r=r.addError(new Jt.EarlyError(e,"Constant lexical declarations must have an initialiser")))})),r}},{key:"reduceWhileStatement",value:function(e){var r=Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceWhileStatement",this).apply(this,arguments);return er(e.body)&&(r=r.addError(new Jt.EarlyError(e.body,"The body of a while statement must not be a labeled function declaration"))),r=r.clearFreeContinueStatements().clearFreeBreakStatements()}},{key:"reduceWithStatement",value:function(e){var r=Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceWithStatement",this).apply(this,arguments);return er(e.body)&&(r=r.addError(new Jt.EarlyError(e.body,"The body of a with statement must not be a labeled function declaration"))),r=r.addStrictError(new Jt.EarlyError(e,"Strict mode code must not include a with statement"))}},{key:"reduceYieldExpression",value:function(e){var r=Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceYieldExpression",this).apply(this,arguments);return r=r.observeYieldExpression(e)}},{key:"reduceYieldGeneratorExpression",value:function(e){var r=Yt(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"reduceYieldGeneratorExpression",this).apply(this,arguments);return r=r.observeYieldExpression(e)}}],[{key:"check",value:function(e){return(0,Xt.default)(new t,e).errors}}]),t}(qt.MonoidalReducer),function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.TokenType=e.TokenClass=e.Tokenizer=e.ParserWithLocation=e.GenericParser=e.EarlyErrorChecker=e.parseScriptWithLocation=e.parseModuleWithLocation=e.parseScript=e.parseModule=void 0;var t=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),r=function e(t,r,n){null===t&&(t=Function.prototype);var i=Object.getOwnPropertyDescriptor(t,r);if(void 0===i){var a=Object.getPrototypeOf(t);return null===a?void 0:e(a,r,n)}if("value"in i)return i.value;var u=i.get;return void 0!==u?u.call(n):void 0},a=n;Object.defineProperty(e,"Tokenizer",{enumerable:!0,get:function(){return function(e){return e&&e.__esModule?e:{default:e}}(a).default}}),Object.defineProperty(e,"TokenClass",{enumerable:!0,get:function(){return a.TokenClass}}),Object.defineProperty(e,"TokenType",{enumerable:!0,get:function(){return a.TokenType}});var u=b,s=Ye,o=i;var c=function(e){function n(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n);var t=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,e));return t.locations=new WeakMap,t.comments=[],t}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(n,e),t(n,[{key:"startNode",value:function(){return this.getLocation()}},{key:"finishNode",value:function(e,t){if("Script"===e.type||"Module"===e.type)return this.locations.set(e,{start:{line:1,column:0,offset:0},end:this.getLocation()}),e;if("TemplateExpression"===e.type)for(var r=0;r<e.elements.length;r+=2){var n=r<e.elements.length-1?2:1,i=e.elements[r],a=this.locations.get(i);this.locations.set(i,{start:{line:a.start.line,column:a.start.column+1,offset:a.start.offset+1},end:{line:a.end.line,column:a.end.column-n,offset:a.end.offset-n}})}return this.locations.set(e,{start:t,end:this.getLastTokenEndLocation()}),e}},{key:"copyNode",value:function(e,t){return this.locations.set(t,this.locations.get(e)),t}},{key:"skipSingleLineComment",value:function(e){var t={line:this.line+1,column:this.index-this.lineStart,offset:this.index},i=this.source[this.index],a="/"===i?"SingleLine":"<"===i?"HTMLOpen":"HTMLClose";r(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"skipSingleLineComment",this).call(this,e);var u={line:this.line+1,column:this.index-this.lineStart,offset:this.index},s="\r"===this.source[this.index-2]?2:(0,o.isLineTerminator)(this.source.charCodeAt(this.index-1))?1:0,c=this.source.substring(t.offset+e,u.offset-s);this.comments.push({text:c,type:a,start:t,end:u})}},{key:"skipMultiLineComment",value:function(){var e={line:this.line+1,column:this.index-this.lineStart,offset:this.index},t=r(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"skipMultiLineComment",this).call(this),i={line:this.line+1,column:this.index-this.lineStart,offset:this.index},a=this.source.substring(e.offset+2,i.offset-2);return this.comments.push({text:a,type:"MultiLine",start:e,end:i}),t}}]),n}(u.GenericParser);function p(e){return function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=r.earlyErrors,i=void 0===n||n,o=new u.GenericParser(t),c=o[e]();if(i){var p=s.EarlyErrorChecker.check(c);if(p.length>0)throw new a.JsError(0,1,0,p[0].message)}return c}}function l(e){return function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=r.earlyErrors,i=void 0===n||n,u=new c(t),o=u[e]();if(i){var p=s.EarlyErrorChecker.check(o);if(p.length>0){var l=p[0],d=l.node,h=l.message,f=u.locations.get(d).start,m=f.offset,y=f.line,E=f.column;throw new a.JsError(m,y,E,h)}}return{tree:o,locations:u.locations,comments:u.comments}}}e.parseModule=p("parseModule");var d=e.parseScript=p("parseScript");e.parseModuleWithLocation=l("parseModule"),e.parseScriptWithLocation=l("parseScript"),e.default=d,e.EarlyErrorChecker=s.EarlyErrorChecker,e.GenericParser=u.GenericParser,e.ParserWithLocation=c}(r);var lr={},dr={},hr={exports:{}};!function(e,t){function r(e,t){for(var r,n=e.keys();!(r=n.next()).done;)t(e.get(r.value),r.value,e)}var n=function(){var e,t;function n(t){var r=this;r._map=e,n.Map&&(r._map=n.Map),r._=r._map?new r._map:{},t&&t.forEach((function(e){r.set(e[0],e[1])}))}"undefined"!=typeof Map&&(e=Map,Map.prototype.keys||(Map.prototype.keys=function(){var e=[];return this.forEach((function(t,r){e.push(r)})),e})),n.prototype.get=function(e){return this._map?this._.get(e):this._[e]},n.prototype.set=function(e,t){var r=Array.prototype.slice.call(arguments);e=r.shift();var n=this.get(e);return n||(n=[],this._map?this._.set(e,n):this._[e]=n),Array.prototype.push.apply(n,r),this},n.prototype.delete=function(e,t){if(!this.has(e))return!1;if(1==arguments.length)return this._map?this._.delete(e):delete this._[e],!0;var r=this.get(e),n=r.indexOf(t);return-1!=n&&(r.splice(n,1),!0)},n.prototype.has=function(e,t){var r=this._map?this._.has(e):this._.hasOwnProperty(e);if(1==arguments.length||!r)return r;var n=this.get(e)||[];return-1!=n.indexOf(t)},n.prototype.keys=function(){return this._map?i(this._.keys()):i(Object.keys(this._))},n.prototype.values=function(){var e=[];return this.forEachEntry((function(t){Array.prototype.push.apply(e,t)})),i(e)},n.prototype.forEachEntry=function(e){r(this,e)},n.prototype.forEach=function(e){var t=this;t.forEachEntry((function(r,n){r.forEach((function(r){e(r,n,t)}))}))},n.prototype.clear=function(){this._map?this._.clear():this._={}},Object.defineProperty(n.prototype,"size",{configurable:!1,enumerable:!0,get:function(){var e=0;return r(this,(function(t){e+=t.length})),e}});try{t=new Function("iterator","makeIterator","var keysArray = []; for(var key of iterator){keysArray.push(key);} return makeIterator(keysArray).next;")}catch(e){}function i(e){if(Array.isArray(e)){var r=0;return{next:function(){return r<e.length?{value:e[r++],done:!1}:{done:!0}}}}return!e.next&&t&&(e.next=t(e,i)),e}return n}();e&&e.exports&&(e.exports=n)}(hr);var fr={},mr={};Object.defineProperty(mr,"__esModule",{value:!0});mr.default=class{constructor(e,t,r){this.name=e,this.references=t,this.declarations=r}},Object.defineProperty(fr,"__esModule",{value:!0}),fr.GlobalScope=fr.Scope=fr.ScopeType=void 0;var yr=function(e){return e&&e.__esModule?e:{default:e}}(mr);class Er{constructor(e){this.name=e}}fr.ScopeType=Er,Er.GLOBAL=new Er("Global"),Er.MODULE=new Er("Module"),Er.SCRIPT=new Er("Script"),Er.ARROW_FUNCTION=new Er("ArrowFunction"),Er.FUNCTION=new Er("Function"),Er.FUNCTION_NAME=new Er("FunctionName"),Er.CLASS_NAME=new Er("ClassName"),Er.PARAMETERS=new Er("Parameters"),Er.PARAMETER_EXPRESSION=new Er("ParameterExpression"),Er.WITH=new Er("With"),Er.CATCH=new Er("Catch"),Er.BLOCK=new Er("Block");class Dr{constructor(e){var t=this,r=e.children,n=e.variables,i=e.through,a=e.type,u=e.isDynamic,s=e.astNode;this.children=r,this.through=i,this.type=a,this.astNode=s,this.variables=new Map,n.forEach((function(e){return t.variables.set(e.name,e)})),this.variableList=[];var o=!0,c=!1,p=void 0;try{for(var l,d=this.variables.values()[Symbol.iterator]();!(o=(l=d.next()).done);o=!0){var h=l.value;this.variableList.push(h)}}catch(e){c=!0,p=e}finally{try{!o&&d.return&&d.return()}finally{if(c)throw p}}this.dynamic=u||a===Er.WITH||a===Er.GLOBAL}isGlobal(){return this.type===Er.GLOBAL}lookupVariable(e){return this.variables.get(e)}}fr.Scope=Dr;fr.GlobalScope=class extends Dr{constructor(e){var t,r=e.children,n=e.variables,i=e.through,a=e.astNode;t=super({children:r,variables:n,through:i,type:Er.GLOBAL,isDynamic:!0,astNode:a}),i.forEachEntry((function(e,r){t.variables.set(r,new yr.default(r,e,[]))})),this.variableList=[];var u=!0,s=!1,o=void 0;try{for(var c,p=this.variables.values()[Symbol.iterator]();!(u=(c=p.next()).done);u=!0){var l=c.value;this.variableList.push(l)}}catch(e){s=!0,o=e}finally{try{!u&&p.return&&p.return()}finally{if(s)throw o}}}},Object.defineProperty(dr,"__esModule",{value:!0});var gr=function(e){return e&&e.__esModule?e:{default:e}}(hr.exports),vr=fr;dr.default=class{constructor(e){var t=this;this.scope=e,this.variableMap=new gr.default;var r=function(e){e.declarations.forEach((function(r){return t.variableMap.set(r.node,e)})),e.references.forEach((function(r){t.variableMap.has(r.node)&&-1!==t.variableMap.get(r.node).indexOf(e)||t.variableMap.set(r.node,e)}))};!function e(t){t.children.forEach(e),t.variables.forEach(r)}(e)}lookup(e){return this.variableMap.get(e)}isGlobal(e){return this.scope instanceof vr.GlobalScope&&this.variableMap.has(e)}};var Ar={};Object.defineProperty(Ar,"__esModule",{value:!0});var xr=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var r=[],n=!0,i=!1,a=void 0;try{for(var u,s=e[Symbol.iterator]();!(n=(u=s.next()).done)&&(r.push(u.value),!t||r.length!==t);n=!0);}catch(e){i=!0,a=e}finally{try{!n&&s.return&&s.return()}finally{if(i)throw a}}return r}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")};function Cr(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);t<e.length;t++)r[t]=e[t];return r}return Array.from(e)}function br(e,t,r,n){for(var i=0;i<e.length;++i)if(e[i].index>=t){if(n)for(;i<e.length&&e[i].index===t;)++i;return void e.splice(i,0,{index:t,text:r})}e.push({index:t,text:r})}Ar.default=function(e){var t=e.source,r=e.locations,n=e.globalScope,i=e.skipUnambiguous,a=void 0!==i&&i,u=e.skipScopes,s=void 0!==u&&u,o=new _r((function(){return new Sr})),c=new _r((function(){return[]}));function p(e){c.get(e.name).push(e),e.declarations.forEach((function(t){o.get(t.node).declares.push(e)})),e.references.forEach((function(t){var r=o.get(t.node);if(t.accessibility.isDelete){if(t.accessibility.isRead||t.accessibility.isWrite)throw new Error("some reference is a delete *and* something else");r.deletes.push(e)}else t.accessibility.isRead&&r.reads.push(e),t.accessibility.isWrite&&r.writes.push(e)}))}!function e(t){s||o.get(t.astNode).scopes.push(t),t.variables.forEach(p),t.children.forEach(e)}(n);var l=[],d=!0,h=!1,f=void 0;try{for(var m,y=o.entries()[Symbol.iterator]();!(d=(m=y.next()).done);d=!0){var E=m.value,D=xr(E,2),g=D[0],v=D[1],A=r.get(g);if(v.scopes.length>0){if(0!==v.declares.length||0!==v.reads.length||0!==v.writes.length||0!==v.deletes.length)throw new Error("unhandled condition: node is scope and reference");for(var x=[].concat(Cr(v.scopes)),C=0;C<x.length;C++){var b=x[C],S=[].concat(Cr(b.variables.values())),_="Scope ("+b.type.name+")";S.length>0&&(_+=" declaring "+S.map((function(e){return e.name+"#"+c.get(e.name).indexOf(e)})).join(", ")),br(l,A.start.offset,"/* "+_+" */",!0),br(l,A.end.offset,"/* end scope */",!0)}}else if(v.deletes.length>0){var T=a?v.deletes.filter((function(e){return c.get(e.name).length>1})):v.deletes;T.length>0&&br(l,A.end.offset,"/* deletes "+T.map((function(e){return e.name+"#"+c.get(e.name).indexOf(e)})).join(", ")+" */",!1)}else{var F="",k=a?v.declares.filter((function(e){return c.get(e.name).length>1})):v.declares;k.length>0&&(F+="declares "+k.map((function(e){return e.name+"#"+c.get(e.name).indexOf(e)})).join(", "));var B=a?v.reads.filter((function(e){return c.get(e.name).length>1})):v.reads;B.length>0&&(F.length>0&&(F+="; "),F+="reads "+B.map((function(e){return e.name+"#"+c.get(e.name).indexOf(e)})).join(", "));var w=a?v.writes.filter((function(e){return c.get(e.name).length>1})):v.writes;w.length>0&&(F.length>0&&(F+="; "),F+="writes "+w.map((function(e){return e.name+"#"+c.get(e.name).indexOf(e)})).join(", ")),""!==F&&br(l,A.end.offset,"/* "+F+" */",!1)}}}catch(e){h=!0,f=e}finally{try{!d&&y.return&&y.return()}finally{if(h)throw f}}var N="",I=0,O=!0,L=!1,P=void 0;try{for(var M,R=l[Symbol.iterator]();!(O=(M=R.next()).done);O=!0){var j=M.value,G=j.index,W=j.text;N+=t.substring(I,G)+W,I=G}}catch(e){L=!0,P=e}finally{try{!O&&R.return&&R.return()}finally{if(L)throw P}}return N+=t.substring(I)};class Sr{constructor(){this.declares=[],this.reads=[],this.writes=[],this.deletes=[],this.scopes=[]}}class _r extends Map{constructor(e){super(),this.thunk=e}get(e){return this.has(e)||this.set(e,this.thunk()),super.get(e)}}var Tr={};Object.defineProperty(Tr,"__esModule",{value:!0});class Fr{constructor(e,t){this.name=e,this.isBlockScoped=!!t,this.isFunctionScoped=!t}}Tr.DeclarationType=Fr;class kr extends Fr{constructor(e){super(e,!0)}}Tr.BlockScopedDeclaration=kr;class Br extends Fr{constructor(e){super(e,!1)}}Tr.FunctionScopedDeclaration=Br,Fr.VAR=new Br("Var"),Fr.CONST=new kr("Const"),Fr.LET=new kr("Let"),Fr.FUNCTION_DECLARATION=new kr("FunctionDeclaration"),Fr.FUNCTION_VAR_DECLARATION=new Br("FunctionB33"),Fr.FUNCTION_NAME=new kr("FunctionExpressionName"),Fr.CLASS_DECLARATION=new kr("ClassDeclaration"),Fr.CLASS_NAME=new kr("ClassName"),Fr.PARAMETER=new Br("Parameter"),Fr.CATCH_PARAMETER=new kr("CatchParam"),Fr.IMPORT=new kr("Import"),Fr.fromVarDeclKind=function(e){switch(e){case"var":return Fr.VAR;case"const":return Fr.CONST;case"let":return Fr.LET;default:throw new Error("Invalid VariableDeclarationKind: "+JSON.stringify(e))}};Tr.Declaration=class{constructor(e,t){this.node=e,this.type=t}};var wr={};Object.defineProperty(wr,"__esModule",{value:!0});class Nr{constructor(e,t,r){this.isRead=!!e,this.isWrite=!!t,this.isReadWrite=!(!e||!t),this.isDelete=!!r}}wr.Accessibility=Nr,Nr.READ=new Nr(!0,!1,!1),Nr.WRITE=new Nr(!1,!0,!1),Nr.READWRITE=new Nr(!0,!0,!1),Nr.DELETE=new Nr(!1,!1,!0);wr.Reference=class{constructor(e,t){this.node=e,this.accessibility=t}};var Ir={},Or={},Lr={};Object.defineProperty(Lr,"__esModule",{value:!0}),Lr.default=function(){var e={},t={typeName:"Boolean"},r={typeName:"String"};function n(e){return{typeName:"Maybe",argument:e}}function i(e){return{typeName:"List",argument:e}}function a(e){return{typeName:"Const",argument:e}}function u(){return{typeName:"Union",arguments:[].slice.call(arguments,0)}}var s={typeName:"Enum",values:["ArrayAssignmentTarget","ArrayBinding","ArrayExpression","ArrowExpression","AssignmentExpression","AssignmentTargetIdentifier","AssignmentTargetPropertyIdentifier","AssignmentTargetPropertyProperty","AssignmentTargetWithDefault","AwaitExpression","BinaryExpression","BindingIdentifier","BindingPropertyIdentifier","BindingPropertyProperty","BindingWithDefault","Block","BlockStatement","BreakStatement","CallExpression","CatchClause","ClassDeclaration","ClassElement","ClassExpression","CompoundAssignmentExpression","ComputedMemberAssignmentTarget","ComputedMemberExpression","ComputedPropertyName","ConditionalExpression","ContinueStatement","DataProperty","DebuggerStatement","Directive","DoWhileStatement","EmptyStatement","Export","ExportAllFrom","ExportDefault","ExportFrom","ExportFromSpecifier","ExportLocalSpecifier","ExportLocals","ExpressionStatement","ForAwaitStatement","ForInStatement","ForOfStatement","ForStatement","FormalParameters","FunctionBody","FunctionDeclaration","FunctionExpression","Getter","IdentifierExpression","IfStatement","Import","ImportNamespace","ImportSpecifier","LabeledStatement","LiteralBooleanExpression","LiteralInfinityExpression","LiteralNullExpression","LiteralNumericExpression","LiteralRegExpExpression","LiteralStringExpression","Method","Module","NewExpression","NewTargetExpression","ObjectAssignmentTarget","ObjectBinding","ObjectExpression","ReturnStatement","Script","Setter","ShorthandProperty","SpreadElement","SpreadProperty","StaticMemberAssignmentTarget","StaticMemberExpression","StaticPropertyName","Super","SwitchCase","SwitchDefault","SwitchStatement","SwitchStatementWithDefault","TemplateElement","TemplateExpression","ThisExpression","ThrowStatement","TryCatchStatement","TryFinallyStatement","UnaryExpression","UpdateExpression","VariableDeclaration","VariableDeclarationStatement","VariableDeclarator","WhileStatement","WithStatement","YieldExpression","YieldGeneratorExpression"]},o=e.ArrayAssignmentTarget={},c=e.ArrayBinding={},p=e.ArrayExpression={},l=e.ArrowExpression={},d=e.AssignmentExpression={},h=e.AssignmentTargetIdentifier={},f=e.AssignmentTargetPropertyIdentifier={},m=e.AssignmentTargetPropertyProperty={},y=e.AssignmentTargetWithDefault={},E=e.AwaitExpression={},D=e.BinaryExpression={},g=e.BindingIdentifier={},v=e.BindingPropertyIdentifier={},A=e.BindingPropertyProperty={},x=e.BindingWithDefault={},C=e.Block={},b=e.BlockStatement={},S=e.BreakStatement={},_=e.CallExpression={},T=e.CatchClause={},F=e.ClassDeclaration={},k=e.ClassElement={},B=e.ClassExpression={},w=e.CompoundAssignmentExpression={},N=e.ComputedMemberAssignmentTarget={},I=e.ComputedMemberExpression={},O=e.ComputedPropertyName={},L=e.ConditionalExpression={},P=e.ContinueStatement={},M=e.DataProperty={},R=e.DebuggerStatement={},j=e.Directive={},G=e.DoWhileStatement={},W=e.EmptyStatement={},U=e.Export={},V=e.ExportAllFrom={},H=e.ExportDefault={},K=e.ExportFrom={},Y=e.ExportFromSpecifier={},q=e.ExportLocalSpecifier={},X=e.ExportLocals={},z=e.ExpressionStatement={},$=e.ForAwaitStatement={},J=e.ForInStatement={},Z=e.ForOfStatement={},Q=e.ForStatement={},ee=e.FormalParameters={},te=e.FunctionBody={},re=e.FunctionDeclaration={},ne=e.FunctionExpression={},ie=e.Getter={},ae=e.IdentifierExpression={},ue=e.IfStatement={},se=e.Import={},oe=e.ImportNamespace={},ce=e.ImportSpecifier={},pe=e.LabeledStatement={},le=e.LiteralBooleanExpression={},de=e.LiteralInfinityExpression={},he=e.LiteralNullExpression={},fe=e.LiteralNumericExpression={},me=e.LiteralRegExpExpression={},ye=e.LiteralStringExpression={},Ee=e.Method={},De=e.Module={},ge=e.NewExpression={},ve=e.NewTargetExpression={},Ae=e.ObjectAssignmentTarget={},xe=e.ObjectBinding={},Ce=e.ObjectExpression={},be=e.ReturnStatement={},Se=e.Script={},_e=e.Setter={},Te=e.ShorthandProperty={},Fe=e.SpreadElement={},ke=e.SpreadProperty={},Be=e.StaticMemberAssignmentTarget={},we=e.StaticMemberExpression={},Ne=e.StaticPropertyName={},Ie=e.Super={},Oe=e.SwitchCase={},Le=e.SwitchDefault={},Pe=e.SwitchStatement={},Me=e.SwitchStatementWithDefault={},Re=e.TemplateElement={},je=e.TemplateExpression={},Ge=e.ThisExpression={},We=e.ThrowStatement={},Ue=e.TryCatchStatement={},Ve=e.TryFinallyStatement={},He=e.UnaryExpression={},Ke=e.UpdateExpression={},Ye=e.VariableDeclaration={},qe=e.VariableDeclarationStatement={},Xe=e.VariableDeclarator={},ze=e.WhileStatement={},$e=e.WithStatement={},Je=e.YieldExpression={},Ze=e.YieldGeneratorExpression={},Qe=u(I,we),et=u(f,m);u(F,B);var tt=u(U,V,H,K,X),rt=u(O,Ne);u(re,ne);var nt=u(se,oe),it=u(G,$,J,Z,Q,ze),at=u(N,Be),ut=u(v,A),st=u(ie,Ee,_e),ot=u(De,Se),ct=u(h,g,ae),pt=u(M,st),lt=u(p,l,d,E,D,_,B,w,L,ne,ae,le,de,he,fe,me,ye,Qe,ge,ve,Ce,je,Ge,He,Ke,Je,Ze),dt=u(b,S,F,P,R,W,z,re,ue,it,pe,be,Pe,Me,We,Ue,Ve,qe,$e),ht=u(pt,Te,ke);return u(o,c,et,y,ut,x,C,T,k,j,tt,Y,q,lt,ee,te,nt,ce,at,Ae,xe,ht,ot,rt,Fe,dt,Ie,Oe,Le,Re,Ye,Xe,ct),o.typeName="ArrayAssignmentTarget",o.fields=[{name:"type",type:a(s),value:"ArrayAssignmentTarget"},{name:"elements",type:i(n(u(y,u(u(o,Ae),u(h,at)))))},{name:"rest",type:n(u(u(o,Ae),u(h,at)))}],c.typeName="ArrayBinding",c.fields=[{name:"type",type:a(s),value:"ArrayBinding"},{name:"elements",type:i(n(u(x,u(g,u(c,xe)))))},{name:"rest",type:n(u(g,u(c,xe)))}],p.typeName="ArrayExpression",p.fields=[{name:"type",type:a(s),value:"ArrayExpression"},{name:"elements",type:i(n(u(lt,Fe)))}],l.typeName="ArrowExpression",l.fields=[{name:"type",type:a(s),value:"ArrowExpression"},{name:"isAsync",type:t},{name:"params",type:ee},{name:"body",type:u(lt,te)}],d.typeName="AssignmentExpression",d.fields=[{name:"type",type:a(s),value:"AssignmentExpression"},{name:"binding",type:u(u(o,Ae),u(h,at))},{name:"expression",type:lt}],h.typeName="AssignmentTargetIdentifier",h.fields=[{name:"type",type:a(s),value:"AssignmentTargetIdentifier"},{name:"name",type:r}],f.typeName="AssignmentTargetPropertyIdentifier",f.fields=[{name:"type",type:a(s),value:"AssignmentTargetPropertyIdentifier"},{name:"binding",type:h},{name:"init",type:n(lt)}],m.typeName="AssignmentTargetPropertyProperty",m.fields=[{name:"type",type:a(s),value:"AssignmentTargetPropertyProperty"},{name:"name",type:rt},{name:"binding",type:u(y,u(u(o,Ae),u(h,at)))}],y.typeName="AssignmentTargetWithDefault",y.fields=[{name:"type",type:a(s),value:"AssignmentTargetWithDefault"},{name:"binding",type:u(u(o,Ae),u(h,at))},{name:"init",type:lt}],E.typeName="AwaitExpression",E.fields=[{name:"type",type:a(s),value:"AwaitExpression"},{name:"expression",type:lt}],D.typeName="BinaryExpression",D.fields=[{name:"type",type:a(s),value:"BinaryExpression"},{name:"left",type:lt},{name:"operator",type:{typeName:"Enum",values:["==","!=","===","!==","<","<=",">",">=","in","instanceof","<<",">>",">>>","+","-","*","/","%","**",",","||","&&","|","^","&"]}},{name:"right",type:lt}],g.typeName="BindingIdentifier",g.fields=[{name:"type",type:a(s),value:"BindingIdentifier"},{name:"name",type:r}],v.typeName="BindingPropertyIdentifier",v.fields=[{name:"type",type:a(s),value:"BindingPropertyIdentifier"},{name:"binding",type:g},{name:"init",type:n(lt)}],A.typeName="BindingPropertyProperty",A.fields=[{name:"type",type:a(s),value:"BindingPropertyProperty"},{name:"name",type:rt},{name:"binding",type:u(x,u(g,u(c,xe)))}],x.typeName="BindingWithDefault",x.fields=[{name:"type",type:a(s),value:"BindingWithDefault"},{name:"binding",type:u(g,u(c,xe))},{name:"init",type:lt}],C.typeName="Block",C.fields=[{name:"type",type:a(s),value:"Block"},{name:"statements",type:i(dt)}],b.typeName="BlockStatement",b.fields=[{name:"type",type:a(s),value:"BlockStatement"},{name:"block",type:C}],S.typeName="BreakStatement",S.fields=[{name:"type",type:a(s),value:"BreakStatement"},{name:"label",type:n(r)}],_.typeName="CallExpression",_.fields=[{name:"type",type:a(s),value:"CallExpression"},{name:"callee",type:u(lt,Ie)},{name:"arguments",type:i(u(lt,Fe))}],T.typeName="CatchClause",T.fields=[{name:"type",type:a(s),value:"CatchClause"},{name:"binding",type:u(g,u(c,xe))},{name:"body",type:C}],F.typeName="ClassDeclaration",F.fields=[{name:"type",type:a(s),value:"ClassDeclaration"},{name:"name",type:g},{name:"super",type:n(lt)},{name:"elements",type:i(k)}],k.typeName="ClassElement",k.fields=[{name:"type",type:a(s),value:"ClassElement"},{name:"isStatic",type:t},{name:"method",type:st}],B.typeName="ClassExpression",B.fields=[{name:"type",type:a(s),value:"ClassExpression"},{name:"name",type:n(g)},{name:"super",type:n(lt)},{name:"elements",type:i(k)}],w.typeName="CompoundAssignmentExpression",w.fields=[{name:"type",type:a(s),value:"CompoundAssignmentExpression"},{name:"binding",type:u(h,at)},{name:"operator",type:{typeName:"Enum",values:["+=","-=","*=","/=","%=","**=","<<=",">>=",">>>=","|=","^=","&="]}},{name:"expression",type:lt}],N.typeName="ComputedMemberAssignmentTarget",N.fields=[{name:"type",type:a(s),value:"ComputedMemberAssignmentTarget"},{name:"object",type:u(lt,Ie)},{name:"expression",type:lt}],I.typeName="ComputedMemberExpression",I.fields=[{name:"type",type:a(s),value:"ComputedMemberExpression"},{name:"object",type:u(lt,Ie)},{name:"expression",type:lt}],O.typeName="ComputedPropertyName",O.fields=[{name:"type",type:a(s),value:"ComputedPropertyName"},{name:"expression",type:lt}],L.typeName="ConditionalExpression",L.fields=[{name:"type",type:a(s),value:"ConditionalExpression"},{name:"test",type:lt},{name:"consequent",type:lt},{name:"alternate",type:lt}],P.typeName="ContinueStatement",P.fields=[{name:"type",type:a(s),value:"ContinueStatement"},{name:"label",type:n(r)}],M.typeName="DataProperty",M.fields=[{name:"type",type:a(s),value:"DataProperty"},{name:"name",type:rt},{name:"expression",type:lt}],R.typeName="DebuggerStatement",R.fields=[{name:"type",type:a(s),value:"DebuggerStatement"}],j.typeName="Directive",j.fields=[{name:"type",type:a(s),value:"Directive"},{name:"rawValue",type:r}],G.typeName="DoWhileStatement",G.fields=[{name:"type",type:a(s),value:"DoWhileStatement"},{name:"body",type:dt},{name:"test",type:lt}],W.typeName="EmptyStatement",W.fields=[{name:"type",type:a(s),value:"EmptyStatement"}],U.typeName="Export",U.fields=[{name:"type",type:a(s),value:"Export"},{name:"declaration",type:u(F,re,Ye)}],V.typeName="ExportAllFrom",V.fields=[{name:"type",type:a(s),value:"ExportAllFrom"},{name:"moduleSpecifier",type:r}],H.typeName="ExportDefault",H.fields=[{name:"type",type:a(s),value:"ExportDefault"},{name:"body",type:u(F,lt,re)}],K.typeName="ExportFrom",K.fields=[{name:"type",type:a(s),value:"ExportFrom"},{name:"namedExports",type:i(Y)},{name:"moduleSpecifier",type:r}],Y.typeName="ExportFromSpecifier",Y.fields=[{name:"type",type:a(s),value:"ExportFromSpecifier"},{name:"name",type:r},{name:"exportedName",type:n(r)}],q.typeName="ExportLocalSpecifier",q.fields=[{name:"type",type:a(s),value:"ExportLocalSpecifier"},{name:"name",type:ae},{name:"exportedName",type:n(r)}],X.typeName="ExportLocals",X.fields=[{name:"type",type:a(s),value:"ExportLocals"},{name:"namedExports",type:i(q)}],z.typeName="ExpressionStatement",z.fields=[{name:"type",type:a(s),value:"ExpressionStatement"},{name:"expression",type:lt}],$.typeName="ForAwaitStatement",$.fields=[{name:"type",type:a(s),value:"ForAwaitStatement"},{name:"left",type:u(u(u(o,Ae),u(h,at)),Ye)},{name:"right",type:lt},{name:"body",type:dt}],J.typeName="ForInStatement",J.fields=[{name:"type",type:a(s),value:"ForInStatement"},{name:"left",type:u(u(u(o,Ae),u(h,at)),Ye)},{name:"right",type:lt},{name:"body",type:dt}],Z.typeName="ForOfStatement",Z.fields=[{name:"type",type:a(s),value:"ForOfStatement"},{name:"left",type:u(u(u(o,Ae),u(h,at)),Ye)},{name:"right",type:lt},{name:"body",type:dt}],Q.typeName="ForStatement",Q.fields=[{name:"type",type:a(s),value:"ForStatement"},{name:"init",type:n(u(lt,Ye))},{name:"test",type:n(lt)},{name:"update",type:n(lt)},{name:"body",type:dt}],ee.typeName="FormalParameters",ee.fields=[{name:"type",type:a(s),value:"FormalParameters"},{name:"items",type:i(u(x,u(g,u(c,xe))))},{name:"rest",type:n(u(g,u(c,xe)))}],te.typeName="FunctionBody",te.fields=[{name:"type",type:a(s),value:"FunctionBody"},{name:"directives",type:i(j)},{name:"statements",type:i(dt)}],re.typeName="FunctionDeclaration",re.fields=[{name:"type",type:a(s),value:"FunctionDeclaration"},{name:"isAsync",type:t},{name:"isGenerator",type:t},{name:"name",type:g},{name:"params",type:ee},{name:"body",type:te}],ne.typeName="FunctionExpression",ne.fields=[{name:"type",type:a(s),value:"FunctionExpression"},{name:"isAsync",type:t},{name:"isGenerator",type:t},{name:"name",type:n(g)},{name:"params",type:ee},{name:"body",type:te}],ie.typeName="Getter",ie.fields=[{name:"type",type:a(s),value:"Getter"},{name:"name",type:rt},{name:"body",type:te}],ae.typeName="IdentifierExpression",ae.fields=[{name:"type",type:a(s),value:"IdentifierExpression"},{name:"name",type:r}],ue.typeName="IfStatement",ue.fields=[{name:"type",type:a(s),value:"IfStatement"},{name:"test",type:lt},{name:"consequent",type:dt},{name:"alternate",type:n(dt)}],se.typeName="Import",se.fields=[{name:"type",type:a(s),value:"Import"},{name:"defaultBinding",type:n(g)},{name:"namedImports",type:i(ce)},{name:"moduleSpecifier",type:r}],oe.typeName="ImportNamespace",oe.fields=[{name:"type",type:a(s),value:"ImportNamespace"},{name:"defaultBinding",type:n(g)},{name:"namespaceBinding",type:g},{name:"moduleSpecifier",type:r}],ce.typeName="ImportSpecifier",ce.fields=[{name:"type",type:a(s),value:"ImportSpecifier"},{name:"name",type:n(r)},{name:"binding",type:g}],pe.typeName="LabeledStatement",pe.fields=[{name:"type",type:a(s),value:"LabeledStatement"},{name:"label",type:r},{name:"body",type:dt}],le.typeName="LiteralBooleanExpression",le.fields=[{name:"type",type:a(s),value:"LiteralBooleanExpression"},{name:"value",type:t}],de.typeName="LiteralInfinityExpression",de.fields=[{name:"type",type:a(s),value:"LiteralInfinityExpression"}],he.typeName="LiteralNullExpression",he.fields=[{name:"type",type:a(s),value:"LiteralNullExpression"}],fe.typeName="LiteralNumericExpression",fe.fields=[{name:"type",type:a(s),value:"LiteralNumericExpression"},{name:"value",type:{typeName:"Number"}}],me.typeName="LiteralRegExpExpression",me.fields=[{name:"type",type:a(s),value:"LiteralRegExpExpression"},{name:"pattern",type:r},{name:"global",type:t},{name:"ignoreCase",type:t},{name:"multiLine",type:t},{name:"dotAll",type:t},{name:"unicode",type:t},{name:"sticky",type:t}],ye.typeName="LiteralStringExpression",ye.fields=[{name:"type",type:a(s),value:"LiteralStringExpression"},{name:"value",type:r}],Ee.typeName="Method",Ee.fields=[{name:"type",type:a(s),value:"Method"},{name:"isAsync",type:t},{name:"isGenerator",type:t},{name:"name",type:rt},{name:"params",type:ee},{name:"body",type:te}],De.typeName="Module",De.fields=[{name:"type",type:a(s),value:"Module"},{name:"directives",type:i(j)},{name:"items",type:i(u(tt,nt,dt))}],ge.typeName="NewExpression",ge.fields=[{name:"type",type:a(s),value:"NewExpression"},{name:"callee",type:lt},{name:"arguments",type:i(u(lt,Fe))}],ve.typeName="NewTargetExpression",ve.fields=[{name:"type",type:a(s),value:"NewTargetExpression"}],Ae.typeName="ObjectAssignmentTarget",Ae.fields=[{name:"type",type:a(s),value:"ObjectAssignmentTarget"},{name:"properties",type:i(et)},{name:"rest",type:n(u(u(o,Ae),u(h,at)))}],xe.typeName="ObjectBinding",xe.fields=[{name:"type",type:a(s),value:"ObjectBinding"},{name:"properties",type:i(ut)},{name:"rest",type:n(u(g,u(c,xe)))}],Ce.typeName="ObjectExpression",Ce.fields=[{name:"type",type:a(s),value:"ObjectExpression"},{name:"properties",type:i(ht)}],be.typeName="ReturnStatement",be.fields=[{name:"type",type:a(s),value:"ReturnStatement"},{name:"expression",type:n(lt)}],Se.typeName="Script",Se.fields=[{name:"type",type:a(s),value:"Script"},{name:"directives",type:i(j)},{name:"statements",type:i(dt)}],_e.typeName="Setter",_e.fields=[{name:"type",type:a(s),value:"Setter"},{name:"name",type:rt},{name:"param",type:u(x,u(g,u(c,xe)))},{name:"body",type:te}],Te.typeName="ShorthandProperty",Te.fields=[{name:"type",type:a(s),value:"ShorthandProperty"},{name:"name",type:ae}],Fe.typeName="SpreadElement",Fe.fields=[{name:"type",type:a(s),value:"SpreadElement"},{name:"expression",type:lt}],ke.typeName="SpreadProperty",ke.fields=[{name:"type",type:a(s),value:"SpreadProperty"},{name:"expression",type:lt}],Be.typeName="StaticMemberAssignmentTarget",Be.fields=[{name:"type",type:a(s),value:"StaticMemberAssignmentTarget"},{name:"object",type:u(lt,Ie)},{name:"property",type:r}],we.typeName="StaticMemberExpression",we.fields=[{name:"type",type:a(s),value:"StaticMemberExpression"},{name:"object",type:u(lt,Ie)},{name:"property",type:r}],Ne.typeName="StaticPropertyName",Ne.fields=[{name:"type",type:a(s),value:"StaticPropertyName"},{name:"value",type:r}],Ie.typeName="Super",Ie.fields=[{name:"type",type:a(s),value:"Super"}],Oe.typeName="SwitchCase",Oe.fields=[{name:"type",type:a(s),value:"SwitchCase"},{name:"test",type:lt},{name:"consequent",type:i(dt)}],Le.typeName="SwitchDefault",Le.fields=[{name:"type",type:a(s),value:"SwitchDefault"},{name:"consequent",type:i(dt)}],Pe.typeName="SwitchStatement",Pe.fields=[{name:"type",type:a(s),value:"SwitchStatement"},{name:"discriminant",type:lt},{name:"cases",type:i(Oe)}],Me.typeName="SwitchStatementWithDefault",Me.fields=[{name:"type",type:a(s),value:"SwitchStatementWithDefault"},{name:"discriminant",type:lt},{name:"preDefaultCases",type:i(Oe)},{name:"defaultCase",type:Le},{name:"postDefaultCases",type:i(Oe)}],Re.typeName="TemplateElement",Re.fields=[{name:"type",type:a(s),value:"TemplateElement"},{name:"rawValue",type:r}],je.typeName="TemplateExpression",je.fields=[{name:"type",type:a(s),value:"TemplateExpression"},{name:"tag",type:n(lt)},{name:"elements",type:i(u(lt,Re))}],Ge.typeName="ThisExpression",Ge.fields=[{name:"type",type:a(s),value:"ThisExpression"}],We.typeName="ThrowStatement",We.fields=[{name:"type",type:a(s),value:"ThrowStatement"},{name:"expression",type:lt}],Ue.typeName="TryCatchStatement",Ue.fields=[{name:"type",type:a(s),value:"TryCatchStatement"},{name:"body",type:C},{name:"catchClause",type:T}],Ve.typeName="TryFinallyStatement",Ve.fields=[{name:"type",type:a(s),value:"TryFinallyStatement"},{name:"body",type:C},{name:"catchClause",type:n(T)},{name:"finalizer",type:C}],He.typeName="UnaryExpression",He.fields=[{name:"type",type:a(s),value:"UnaryExpression"},{name:"operator",type:{typeName:"Enum",values:["+","-","!","~","typeof","void","delete"]}},{name:"operand",type:lt}],Ke.typeName="UpdateExpression",Ke.fields=[{name:"type",type:a(s),value:"UpdateExpression"},{name:"isPrefix",type:t},{name:"operator",type:{typeName:"Enum",values:["++","--"]}},{name:"operand",type:u(h,at)}],Ye.typeName="VariableDeclaration",Ye.fields=[{name:"type",type:a(s),value:"VariableDeclaration"},{name:"kind",type:{typeName:"Enum",values:["var","let","const"]}},{name:"declarators",type:i(Xe)}],qe.typeName="VariableDeclarationStatement",qe.fields=[{name:"type",type:a(s),value:"VariableDeclarationStatement"},{name:"declaration",type:Ye}],Xe.typeName="VariableDeclarator",Xe.fields=[{name:"type",type:a(s),value:"VariableDeclarator"},{name:"binding",type:u(g,u(c,xe))},{name:"init",type:n(lt)}],ze.typeName="WhileStatement",ze.fields=[{name:"type",type:a(s),value:"WhileStatement"},{name:"test",type:lt},{name:"body",type:dt}],$e.typeName="WithStatement",$e.fields=[{name:"type",type:a(s),value:"WithStatement"},{name:"object",type:lt},{name:"body",type:dt}],Je.typeName="YieldExpression",Je.fields=[{name:"type",type:a(s),value:"YieldExpression"},{name:"expression",type:n(lt)}],Ze.typeName="YieldGeneratorExpression",Ze.fields=[{name:"type",type:a(s),value:"YieldGeneratorExpression"},{name:"expression",type:lt}],e}(),Object.defineProperty(Or,"__esModule",{value:!0});var Pr=qe,Mr=jr(Pr),Rr=jr(Lr);function jr(e){return e&&e.__esModule?e:{default:e}}class Gr{constructor(e){this.list=e}static empty(){return new Gr([])}concat(e){return new Gr(this.list.concat(e.list))}extract(){return this.list}}class Wr extends Pr.MonoidalReducer{constructor(){super(Gr)}static flatten(e){return(0,Mr.default)(new this,e).extract()}}Or.default=Wr;var Ur=function(e){Object.defineProperty(Wr.prototype,`reduce${e}`,{value(t,r){return new Gr([t]).concat(Pr.MonoidalReducer.prototype[`reduce${e}`].call(this,t,r))}})},Vr=!0,Hr=!1,Kr=void 0;try{for(var Yr,qr=Object.keys(Rr.default)[Symbol.iterator]();!(Vr=(Yr=qr.next()).done);Vr=!0){Ur(Yr.value)}}catch(e){Hr=!0,Kr=e}finally{try{!Vr&&qr.return&&qr.return()}finally{if(Hr)throw Kr}}Object.defineProperty(Ir,"__esModule",{value:!0}),Ir.serialize=function(e){return new $r(e).serialize()};var Xr=function(e){return e&&e.__esModule?e:{default:e}}(Or),zr=Tr;class $r{constructor(e){var t=this;this.scope=e;var r=Xr.default.flatten(e.astNode);this.ids=new Map,r.forEach((function(e){return t.ids.set(e,t.ids.size)})),this.declarationCompare=Jr.bind(this,this.ids),this.referenceCompare=Zr.bind(this,this.ids),this.variableCompare=Qr.bind(this,this.ids)}serialize(){return this.serializeScope(this.scope)}serializeScope(e){return`{"node": "${this.serializeNode(e.astNode)}", "type": "${e.type.name}", "isDynamic": ${e.dynamic}, "through": ${this.serializeReferenceList(this.collectThrough(e.through))}, "variables": ${this.serializeVariableList(e.variableList)}, "children": [${e.children.map(this.serializeScope.bind(this)).join(", ")}]}`}serializeNode(e){return"IdentifierExpression"===e.type?"IdentifierExpression("+e.name+")_"+this.ids.get(e):"AssignmentTargetIdentifier"===e.type?"AssignmentTargetIdentifier("+e.name+")_"+this.ids.get(e):"BindingIdentifier"===e.type?"BindingIdentifier("+e.name+")_"+this.ids.get(e):e.type+"_"+this.ids.get(e)}collectThrough(e){var t=[];return e.forEach((function(e){return t.push(e)})),t.sort(this.referenceCompare)}serializeReference(e){return`{"node": "${this.serializeNode(e.node)}", "accessibility": "${e.accessibility.isDelete?"Delete":""}${e.accessibility.isRead?"Read":""}${e.accessibility.isWrite?"Write":""}"}`}serializeReferenceList(e){return`[${e.map(this.serializeReference.bind(this)).join(", ")}]`}serializeDeclaration(e){return`{"node": "${this.serializeNode(e.node)}", "kind": "${e.type.name}"}`}serializeVariable(e){return`{"name": "${e.name}", "references": ${this.serializeReferenceList(e.references)}, "declarations": [${e.declarations.map(this.serializeDeclaration.bind(this)).join(", ")}]}`}serializeVariableList(e){return`[${(e=e.slice(0).sort(this.variableCompare)).map(this.serializeVariable.bind(this)).join(", ")}]`}}function Jr(e,t,r){function n(e){switch(e){case zr.DeclarationType.VAR:return 0;case zr.DeclarationType.CONST:return 1;case zr.DeclarationType.LET:return 2;case zr.DeclarationType.FUNCTION_DECLARATION:return 3;case zr.DeclarationType.FUNCTION_VAR_DECLARATION:return 4;case zr.DeclarationType.FUNCTION_NAME:return 5;case zr.DeclarationType.CLASS_NAME:return 6;case zr.DeclarationType.PARAMETER:return 7;case zr.DeclarationType.CATCH_PARAMETER:return 8;case zr.DeclarationType.IMPORT:return 9;default:throw"Unrecognized declaration type"}}var i=n(t.type)-n(r.type);return 0!==i?i:e.get(t.node)-e.get(r.node)}function Zr(e,t,r){var n=(t.accessibility.isRead?1:0)+(t.accessibility.isWrite?2:0)+(t.accessibility.isDelete?4:0)-((r.accessibility.isRead?1:0)+(r.accessibility.isWrite?2:0)+(r.accessibility.isDelete?4:0));return 0!==n?n:e.get(t.node)-e.get(r.node)}function Qr(e,t,r){if(t.name<r.name)return-1;if(t.name>r.name)return 1;var n=t.declarations.length-r.declarations.length;if(0!==n)return n;if(0!==(n=t.references.length-r.references.length))return n;for(var i=0;i<t.declarations.length;++i){if(0!==(n=Jr(e,t.declarations[i],r.declarations[i])))return n}for(var a=0;a<t.references.length;++a){if(0!==(n=Zr(e,t.references[a],r.references[a])))return n}return 0}var en={},tn={};Object.defineProperty(tn,"__esModule",{value:!0});var rn=on(hr.exports),nn=Tr,an=wr,un=fr,sn=on(mr);function on(e){return e&&e.__esModule?e:{default:e}}function cn(e,t){return t.forEachEntry((function(t,r){e.set.apply(e,[r].concat(t))})),e}function pn(e,t,r){return t.forEachEntry((function(t,n){var i=e.get(n)||[];r=r.concat(new sn.default(n,i,t)),e.delete(n)})),r}class ln{constructor(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.freeIdentifiers,r=void 0===t?new rn.default:t,n=e.functionScopedDeclarations,i=void 0===n?new rn.default:n,a=e.blockScopedDeclarations,u=void 0===a?new rn.default:a,s=e.functionDeclarations,o=void 0===s?new rn.default:s,c=e.children,p=void 0===c?[]:c,l=e.dynamic,d=void 0!==l&&l,h=e.bindingsForParent,f=void 0===h?[]:h,m=e.atsForParent,y=void 0===m?[]:m,E=e.potentiallyVarScopedFunctionDeclarations,D=void 0===E?new rn.default:E,g=e.hasParameterExpressions,v=void 0!==g&&g;this.freeIdentifiers=r,this.functionScopedDeclarations=i,this.blockScopedDeclarations=u,this.functionDeclarations=o,this.children=p,this.dynamic=d,this.bindingsForParent=f,this.atsForParent=y,this.potentiallyVarScopedFunctionDeclarations=D,this.hasParameterExpressions=v}static empty(){return new ln({})}concat(e){return this===e?this:new ln({freeIdentifiers:cn(cn(new rn.default,this.freeIdentifiers),e.freeIdentifiers),functionScopedDeclarations:cn(cn(new rn.default,this.functionScopedDeclarations),e.functionScopedDeclarations),blockScopedDeclarations:cn(cn(new rn.default,this.blockScopedDeclarations),e.blockScopedDeclarations),functionDeclarations:cn(cn(new rn.default,this.functionDeclarations),e.functionDeclarations),children:this.children.concat(e.children),dynamic:this.dynamic||e.dynamic,bindingsForParent:this.bindingsForParent.concat(e.bindingsForParent),atsForParent:this.atsForParent.concat(e.atsForParent),potentiallyVarScopedFunctionDeclarations:cn(cn(new rn.default,this.potentiallyVarScopedFunctionDeclarations),e.potentiallyVarScopedFunctionDeclarations),hasParameterExpressions:this.hasParameterExpressions||e.hasParameterExpressions})}addDeclarations(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=new rn.default;cn(r,e.isBlockScoped?this.blockScopedDeclarations:this.functionScopedDeclarations),this.bindingsForParent.forEach((function(t){return r.set(t.name,new nn.Declaration(t,e))}));var n=new ln(this);return e.isBlockScoped?n.blockScopedDeclarations=r:n.functionScopedDeclarations=r,t||(n.bindingsForParent=[],n.atsForParent=[]),n}addFunctionDeclaration(){if(0===this.bindingsForParent.length)return this;var e=this.bindingsForParent[0],t=new ln(this);return cn(t.functionDeclarations,new rn.default([[e.name,new nn.Declaration(e,nn.DeclarationType.FUNCTION_DECLARATION)]])),t.bindingsForParent=[],t}addReferences(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=new rn.default;cn(r,this.freeIdentifiers),this.bindingsForParent.forEach((function(t){return r.set(t.name,new an.Reference(t,e))})),this.atsForParent.forEach((function(t){return r.set(t.name,new an.Reference(t,e))}));var n=new ln(this);return n.freeIdentifiers=r,t||(n.bindingsForParent=[],n.atsForParent=[]),n}taint(){var e=new ln(this);return e.dynamic=!0,e}withoutBindingsForParent(){var e=new ln(this);return e.bindingsForParent=[],e}withParameterExpressions(){var e=new ln(this);return e.hasParameterExpressions=!0,e}withoutParameterExpressions(){var e=new ln(this);return e.hasParameterExpressions=!1,e}withPotentialVarFunctions(e){var t=cn(new rn.default,this.potentiallyVarScopedFunctionDeclarations);e.forEach((function(e){return t.set(e.name,new nn.Declaration(e,nn.DeclarationType.FUNCTION_VAR_DECLARATION))}));var r=new ln(this);return r.potentiallyVarScopedFunctionDeclarations=t,r}finish(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=r.shouldResolveArguments,i=void 0!==n&&n,a=r.shouldB33,u=void 0!==a&&a,s=r.paramsToBlockB33Hoisting,o=[],c=new rn.default,p=cn(new rn.default,this.freeIdentifiers),l=cn(new rn.default,this.potentiallyVarScopedFunctionDeclarations),d=this.children,h="Catch"===t.name&&"BindingIdentifier"===e.binding.type;this.blockScopedDeclarations.forEachEntry((function(t,r){h&&1===t.length&&t[0].node===e.binding||l.delete(r)})),t!==un.ScopeType.SCRIPT&&t!==un.ScopeType.FUNCTION&&t!==un.ScopeType.ARROW_FUNCTION&&this.functionDeclarations.forEachEntry((function(e,t){var r=l.get(t);if(r)if(e.length>1)l.delete(t);else{l.delete(t);var n=r.find((function(t){return t.node===e[0].node}));null!=n&&l.set(t,n)}})),this.functionScopedDeclarations.forEachEntry((function(e,t){l.get(t)&&e.some((function(e){return e.type===nn.DeclarationType.PARAMETER}))&&l.delete(t)}));var f=new rn.default;switch(t){case un.ScopeType.BLOCK:case un.ScopeType.CATCH:case un.ScopeType.WITH:case un.ScopeType.FUNCTION_NAME:case un.ScopeType.CLASS_NAME:case un.ScopeType.PARAMETER_EXPRESSION:cn(f,this.blockScopedDeclarations),cn(f,this.functionDeclarations),o=pn(p,f,o),cn(c,this.functionScopedDeclarations);break;case un.ScopeType.PARAMETERS:case un.ScopeType.ARROW_FUNCTION:case un.ScopeType.FUNCTION:case un.ScopeType.MODULE:case un.ScopeType.SCRIPT:t===un.ScopeType.SCRIPT?d=[new un.Scope({children:d,variables:pn(p,this.blockScopedDeclarations,[]),through:cn(new rn.default,p),type:un.ScopeType.SCRIPT,isDynamic:this.dynamic,astNode:e})]:cn(f,this.blockScopedDeclarations),i&&f.set("arguments"),cn(f,this.functionScopedDeclarations),cn(f,this.functionDeclarations),u&&(null!=s&&s.functionScopedDeclarations.forEachEntry((function(e,t){l.delete(t)})),cn(f,l)),l=new rn.default,o=pn(p,f,o),t===un.ScopeType.MODULE&&(d=[new un.Scope({children:d,variables:o,through:p,type:un.ScopeType.MODULE,isDynamic:this.dynamic,astNode:e})],o=[]);break;default:throw new Error("not reached")}var m=t===un.ScopeType.SCRIPT||t===un.ScopeType.MODULE?new un.GlobalScope({children:d,variables:o,through:p,astNode:e}):new un.Scope({children:d,variables:o,through:p,type:t,isDynamic:this.dynamic,astNode:e});return new ln({freeIdentifiers:p,functionScopedDeclarations:c,children:[m],bindingsForParent:this.bindingsForParent,potentiallyVarScopedFunctionDeclarations:l,hasParameterExpressions:this.hasParameterExpressions})}}tn.default=ln;var dn={};Object.defineProperty(dn,"__esModule",{value:!0});var hn=qe,fn=function(e){return e&&e.__esModule?e:{default:e}}(hn);class mn{constructor(e){this.set=e}static empty(){return new mn(new Set)}concat(e){return new mn((t=this.set,r=e.set,n=new Set,t.forEach((function(e){return n.add(e)})),r.forEach((function(e){return n.add(e)})),n));var t,r,n}extract(){return this.set}add(e){return this.set.add(e),this}}function yn(e){return e.some((function(e){return"use strict"===e.rawValue}))}dn.default=class extends hn.MonoidalReducer{constructor(){super(mn)}static analyze(e){return(0,fn.default)(new this,e).extract()}reduceArrowExpression(e,t){var r=t.params,n=t.body;return"FunctionBody"===e.body.type&&yn(e.body.directives)?mn.empty():super.reduceArrowExpression(e,{params:r,body:n}).add(e)}reduceClassDeclaration(){return mn.empty()}reduceClassExpression(){return mn.empty()}reduceFunctionDeclaration(e,t){var r=t.name,n=t.params,i=t.body;return yn(e.body.directives)?mn.empty():super.reduceFunctionDeclaration(e,{name:r,params:n,body:i}).add(e)}reduceFunctionExpression(e,t){var r=t.name,n=t.params,i=t.body;return yn(e.body.directives)?mn.empty():super.reduceFunctionExpression(e,{name:r,params:n,body:i}).add(e)}reduceGetter(e,t){var r=t.name,n=t.body;return yn(e.body.directives)?mn.empty():super.reduceGetter(e,{name:r,body:n}).add(e)}reduceMethod(e,t){var r=t.name,n=t.params,i=t.body;return yn(e.body.directives)?mn.empty():super.reduceMethod(e,{name:r,params:n,body:i}).add(e)}reduceScript(e,t){var r=t.directives,n=t.statements;return yn(e.directives)?mn.empty():super.reduceScript(e,{directives:r,statements:n}).add(e)}reduceSetter(e,t){var r=t.name,n=t.param,i=t.body;return yn(e.body.directives)?mn.empty():super.reduceSetter(e,{name:r,param:n,body:i}).add(e)}},Object.defineProperty(en,"__esModule",{value:!0});var En=Sn(hr.exports),Dn=qe,gn=Sn(Dn),vn=Sn(tn),An=wr,xn=Tr,Cn=fr,bn=Sn(dn);function Sn(e){return e&&e.__esModule?e:{default:e}}function _n(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);t<e.length;t++)r[t]=e[t];return r}return Array.from(e)}function Tn(e){return"FunctionDeclaration"!==e.type||e.isGenerator||e.isAsync?"LabeledStatement"===e.type?Tn(e.body):null:e.name}function Fn(e){var t=e.map(Tn).filter((function(e){return null!=e})),r=t.reduce((function(e,t){return t.name in e?++e[t.name]:e[t.name]=1,e}),Object.create(null));return t.filter((function(e){return 1===r[e.name]}))}en.default=class extends Dn.MonoidalReducer{constructor(e){super(vn.default),this.sloppySet="Script"===e.type?bn.default.analyze(e):new Set}fold(e,t){var r=this;return e.reduce((function(e,t){return r.append(e,t)}),null==t?this.identity:t)}static analyze(e){return(0,gn.default)(new this(e),e).children[0]}finishFunction(e,t,r){var n="ArrowExpression"===e.type,i=n?Cn.ScopeType.ARROW_FUNCTION:Cn.ScopeType.FUNCTION;return t.hasParameterExpressions?t.withoutParameterExpressions().concat(r.finish(e,i,{shouldResolveArguments:!1,paramsToBlockB33Hoisting:t,shouldB33:this.sloppySet.has(e)})).finish(e,Cn.ScopeType.PARAMETERS,{shouldResolveArguments:!n}):t.concat(r).finish(e,i,{shouldResolveArguments:!n,shouldB33:this.sloppySet.has(e)})}reduceArrowExpression(e,t){var r=t.params,n=t.body;return this.finishFunction(e,r,n)}reduceAssignmentExpression(e,t){var r=t.binding,n=t.expression;return super.reduceAssignmentExpression(e,{binding:r.addReferences(An.Accessibility.WRITE),expression:n})}reduceAssignmentTargetIdentifier(e){return new vn.default({atsForParent:[e]})}reduceBindingIdentifier(e){return"*default*"===e.name?new vn.default:new vn.default({bindingsForParent:[e]})}reduceBindingPropertyIdentifier(e,t){var r=t.binding,n=t.init,i=super.reduceBindingPropertyIdentifier(e,{binding:r,init:n});return n?i.withParameterExpressions():i}reduceBindingPropertyProperty(e,t){var r=t.name,n=t.binding,i=super.reduceBindingPropertyProperty(e,{name:r,binding:n});return"ComputedPropertyName"===e.name.type?i.withParameterExpressions():i}reduceBindingWithDefault(e,t){var r=t.binding,n=t.init;return super.reduceBindingWithDefault(e,{binding:r,init:n}).withParameterExpressions()}reduceBlock(e,t){var r=t.statements;return super.reduceBlock(e,{statements:r}).withPotentialVarFunctions(Fn(e.statements)).finish(e,Cn.ScopeType.BLOCK)}reduceCallExpression(e,t){var r=t.callee,n=t.arguments,i=super.reduceCallExpression(e,{callee:r,arguments:n});return"IdentifierExpression"===e.callee.type&&"eval"===e.callee.name?i.taint():i}reduceCatchClause(e,t){var r=t.binding,n=t.body;return super.reduceCatchClause(e,{binding:r.addDeclarations(xn.DeclarationType.CATCH_PARAMETER),body:n}).finish(e,Cn.ScopeType.CATCH)}reduceClassDeclaration(e,t){var r=t.name,n=t.super,i=t.elements;return super.reduceClassDeclaration(e,{name:r,super:n,elements:i}).addDeclarations(xn.DeclarationType.CLASS_NAME).finish(e,Cn.ScopeType.CLASS_NAME).concat(r.addDeclarations(xn.DeclarationType.CLASS_DECLARATION))}reduceClassExpression(e,t){var r=t.name,n=t.super,i=t.elements;return super.reduceClassExpression(e,{name:r,super:n,elements:i}).addDeclarations(xn.DeclarationType.CLASS_NAME).finish(e,Cn.ScopeType.CLASS_NAME)}reduceCompoundAssignmentExpression(e,t){var r=t.binding,n=t.expression;return super.reduceCompoundAssignmentExpression(e,{binding:r.addReferences(An.Accessibility.READWRITE),expression:n})}reduceComputedMemberExpression(e,t){var r=t.object,n=t.expression;return super.reduceComputedMemberExpression(e,{object:r,expression:n}).withParameterExpressions()}reduceForInStatement(e,t){var r=t.left,n=t.right,i=t.body;return super.reduceForInStatement(e,{left:r.addReferences(An.Accessibility.WRITE),right:n,body:i}).finish(e,Cn.ScopeType.BLOCK)}reduceForAwaitStatement(e,t){var r=t.left,n=t.right,i=t.body;return super.reduceForAwaitStatement(e,{left:r.addReferences(An.Accessibility.WRITE),right:n,body:i}).finish(e,Cn.ScopeType.BLOCK)}reduceForOfStatement(e,t){var r=t.left,n=t.right,i=t.body;return super.reduceForOfStatement(e,{left:r.addReferences(An.Accessibility.WRITE),right:n,body:i}).finish(e,Cn.ScopeType.BLOCK)}reduceForStatement(e,t){var r=t.init,n=t.test,i=t.update,a=t.body;return super.reduceForStatement(e,{init:r?r.withoutBindingsForParent():r,test:n,update:i,body:a}).finish(e,Cn.ScopeType.BLOCK)}reduceFormalParameters(e,t){var r=t.items,n=t.rest,i=n||new vn.default;return r.forEach((function(t,r){i=i.concat(t.hasParameterExpressions?t.finish(e.items[r],Cn.ScopeType.PARAMETER_EXPRESSION):t)})),i.addDeclarations(xn.DeclarationType.PARAMETER)}reduceFunctionDeclaration(e,t){var r=t.name,n=t.params,i=t.body;return r.concat(this.finishFunction(e,n,i)).addFunctionDeclaration()}reduceFunctionExpression(e,t){var r=t.name,n=t.params,i=t.body,a=this.finishFunction(e,n,i);return r?r.concat(a).addDeclarations(xn.DeclarationType.FUNCTION_NAME).finish(e,Cn.ScopeType.FUNCTION_NAME):a}reduceGetter(e,t){var r=t.name,n=t.body;return r.concat(n.finish(e,Cn.ScopeType.FUNCTION,{shouldResolveArguments:!0,shouldB33:this.sloppySet.has(e)}))}reduceIdentifierExpression(e){return new vn.default({freeIdentifiers:new En.default([[e.name,new An.Reference(e,An.Accessibility.READ)]])})}reduceIfStatement(e,t){var r=t.test,n=t.consequent,i=t.alternate,a=Tn(e.consequent);if(null!=a&&(n=n.withPotentialVarFunctions([a]).finish(e.consequent,Cn.ScopeType.BLOCK)),null!=e.alternate){var u=Tn(e.alternate);null!=u&&(i=i.withPotentialVarFunctions([u]).finish(e.alternate,Cn.ScopeType.BLOCK))}return super.reduceIfStatement(e,{test:r,consequent:n,alternate:i})}reduceImport(e,t){var r=t.moduleSpecifier,n=t.defaultBinding,i=t.namedImports;return super.reduceImport(e,{moduleSpecifier:r,defaultBinding:n,namedImports:i}).addDeclarations(xn.DeclarationType.IMPORT)}reduceMethod(e,t){var r=t.name,n=t.params,i=t.body;return r.concat(this.finishFunction(e,n,i))}reduceModule(e,t){var r=t.directives,n=t.items;return super.reduceModule(e,{directives:r,items:n}).finish(e,Cn.ScopeType.MODULE)}reduceScript(e,t){var r=t.directives,n=t.statements;return super.reduceScript(e,{directives:r,statements:n}).finish(e,Cn.ScopeType.SCRIPT,{shouldB33:!e.directives.some((function(e){return"use strict"===e.rawValue}))})}reduceSetter(e,t){var r=t.name,n=t.param,i=t.body;return n.hasParameterExpressions&&(n=n.finish(e,Cn.ScopeType.PARAMETER_EXPRESSION)),r.concat(this.finishFunction(e,n.addDeclarations(xn.DeclarationType.PARAMETER),i))}reduceSwitchStatement(e,t){var r,n=t.discriminant,i=t.cases;return this.fold(i).withPotentialVarFunctions(Fn((r=[]).concat.apply(r,_n(e.cases.map((function(e){return e.consequent})))))).finish(e,Cn.ScopeType.BLOCK).concat(n)}reduceSwitchStatementWithDefault(e,t){var r,n=t.discriminant,i=t.preDefaultCases,a=t.defaultCase,u=t.postDefaultCases,s=Fn((r=[]).concat.apply(r,_n(e.preDefaultCases.concat([e.defaultCase],e.postDefaultCases).map((function(e){return e.consequent}))))),o=i.concat([a],u);return this.fold(o).withPotentialVarFunctions(s).finish(e,Cn.ScopeType.BLOCK).concat(n)}reduceUnaryExpression(e,t){var r=t.operand;return"delete"===e.operator&&"IdentifierExpression"===e.operand.type?new vn.default({freeIdentifiers:new En.default([[e.operand.name,new An.Reference(e.operand,An.Accessibility.DELETE)]])}):super.reduceUnaryExpression(e,{operand:r})}reduceUpdateExpression(e,t){return t.operand.addReferences(An.Accessibility.READWRITE)}reduceVariableDeclaration(e,t){var r=t.declarators;return super.reduceVariableDeclaration(e,{declarators:r}).addDeclarations(xn.DeclarationType.fromVarDeclKind(e.kind),!0)}reduceVariableDeclarationStatement(e,t){return t.declaration.withoutBindingsForParent()}reduceVariableDeclarator(e,t){var r=t.binding,n=t.init,i=super.reduceVariableDeclarator(e,{binding:r,init:n});return n?i.addReferences(An.Accessibility.WRITE,!0):i}reduceWithStatement(e,t){var r=t.object,n=t.body;return super.reduceWithStatement(e,{object:r,body:n.finish(e,Cn.ScopeType.WITH)})}},function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.serialize=e.Accessibility=e.DeclarationType=e.ScopeType=e.annotate=e.ScopeLookup=void 0;var t=dr;Object.defineProperty(e,"ScopeLookup",{enumerable:!0,get:function(){return o(t).default}});var r=Ar;Object.defineProperty(e,"annotate",{enumerable:!0,get:function(){return o(r).default}});var n=fr;Object.defineProperty(e,"ScopeType",{enumerable:!0,get:function(){return n.ScopeType}});var i=Tr;Object.defineProperty(e,"DeclarationType",{enumerable:!0,get:function(){return i.DeclarationType}});var a=wr;Object.defineProperty(e,"Accessibility",{enumerable:!0,get:function(){return a.Accessibility}});var u=Ir;Object.defineProperty(e,"serialize",{enumerable:!0,get:function(){return u.serialize}}),e.default=function(e){return s.default.analyze(e)};var s=o(en);function o(e){return e&&e.__esModule?e:{default:e}}}(lr);var kn=t(lr);const Bn=(e,t)=>[...Array(t-e+1).keys()].map((t=>e+t)),wn=(e,t)=>(e=>e.map((e=>[e,Math.random()])).sort(((e,t)=>e[1]-t[1])).map((e=>e[0])))(e).slice(0,t),Nn=e=>Math.floor(Math.random()*e.length),In=e=>e[Nn(e)],On=(...e)=>e.filter((e=>null!==e)),Ln=(e,t,r)=>{const n=(e,i)=>{if(!1!==(!t||t(e,i))){const t=[e].concat(i);(e=>{switch(e.type){case"ArrayAssignmentTarget":case"ArrayBinding":return On(...e.elements,e.rest);case"ArrayExpression":return On(...e.elements);case"ArrowExpression":return[e.params,e.body];case"AssignmentExpression":case"CompoundAssignmentExpression":return[e.binding,e.expression];case"AssignmentTargetPropertyIdentifier":case"AssignmentTargetWithDefault":case"BindingPropertyIdentifier":case"BindingWithDefault":case"VariableDeclarator":return On(e.binding,e.init);case"AssignmentTargetPropertyProperty":case"BindingPropertyProperty":return[e.name,e.binding];case"AwaitExpression":case"ComputedPropertyName":case"ExpressionStatement":case"ReturnStatement":case"SpreadElement":case"SpreadProperty":case"ThrowStatement":case"YieldExpression":case"YieldGeneratorExpression":return On(e.expression);case"BinaryExpression":return[e.left,e.right];case"Block":return e.statements;case"BlockStatement":return[e.block];case"CallExpression":case"NewExpression":return[e.callee,...e.arguments];case"CatchClause":return[e.binding,e.body];case"ClassDeclaration":case"ClassExpression":return On(e.name,e.super,...e.elements);case"ClassElement":return[e.method];case"ComputedMemberAssignmentTarget":case"ComputedMemberExpression":return[e.object,e.expression];case"ConditionalExpression":case"IfStatement":return On(e.test,e.consequent,e.alternate);case"DataProperty":return[e.name,e.expression];case"DoWhileStatement":return[e.body,e.test];case"Export":case"VariableDeclarationStatement":return[e.declaration];case"ExportDefault":case"LabeledStatement":return[e.body];case"ExportFrom":case"ExportLocals":return e.namedExports;case"ExportLocalSpecifier":case"ShorthandProperty":return[e.name];case"ForAwaitStatement":case"ForInStatement":case"ForOfStatement":return[e.left,e.right,e.body];case"ForStatement":return On(e.init,e.test,e.update,e.body);case"FormalParameters":return On(...e.items,e.rest);case"FunctionBody":case"Script":return[...e.directives,...e.statements];case"FunctionDeclaration":case"FunctionExpression":case"Method":return On(e.name,e.params,e.body);case"Getter":return[e.name,e.body];case"Import":return On(e.defaultBinding,...e.namedImports);case"ImportNamespace":return On(e.defaultBinding,e.namespaceBinding);case"ImportSpecifier":return[e.binding];case"Module":return[...e.directives,...e.items];case"ObjectAssignmentTarget":case"ObjectBinding":return On(...e.properties,e.rest);case"ObjectExpression":return e.properties;case"Setter":return[e.name,e.param,e.body];case"StaticMemberAssignmentTarget":case"StaticMemberExpression":return[e.object];case"SwitchCase":return[e.test,...e.consequent];case"SwitchDefault":return e.consequent;case"SwitchStatement":return[e.discriminant,...e.cases];case"SwitchStatementWithDefault":return[e.discriminant,...e.preDefaultCases,e.defaultCase,...e.postDefaultCases];case"TemplateExpression":return On(e.tag,...e.elements);case"TryCatchStatement":return[e.body,e.catchClause];case"TryFinallyStatement":return On(e.body,e.catchClause,e.finalizer);case"UnaryExpression":case"UpdateExpression":return[e.operand];case"VariableDeclaration":return e.declarators;case"WhileStatement":return[e.test,e.body];case"WithStatement":return[e.object,e.body];default:return[]}})(e).forEach((e=>n(e,t)))}r&&r(e,i)};n(e,[])},Pn=e=>{const t=[];return Ln(e,(e=>{t.push(e)})),t},Mn=(e,t)=>Pn(e).filter((e=>((e,t)=>t.includes(e.type))(e,t))).map((e=>e)),Rn=e=>(e=>Mn(e,["LiteralBooleanExpression","LiteralNumericExpression","LiteralStringExpression"]))(e).map((e=>e.value)),jn=(e,t)=>{const r=[],n=(e=>{const t=new Map;return Ln(e,((e,r)=>((e=>["ArrowExpression","FunctionExpression"].includes(e.type))(e)&&"VariableDeclarator"===r[0].type&&"BindingIdentifier"===r[0].binding.type&&t.set(e,r[0].binding.name),!0))),t})(t),i=(e,t)=>{const a=e.variableList.filter((e=>e.declarations.length>0||e.references.length>0));if("ArrowFunction"===e.type.name&&"ArrowExpression"===e.astNode.type||"Function"===e.type.name&&"FunctionExpression"===e.astNode.type){const t=n.get(e.astNode);t&&(r.push({name:t,astNode:e.astNode,variables:a}),e.children.forEach((e=>i(e,a))))}else if("Function"===e.type.name&&"FunctionDeclaration"===e.astNode.type)r.push({name:e.astNode.name.name,astNode:e.astNode,variables:a}),e.children.forEach((e=>i(e,a)));else{const r=t.concat(a);e.children.forEach((e=>i(e,r)))}};return i(e,[]),r},Gn=e=>Mn(e,["BindingIdentifier"]).map((e=>e.name)),Wn=e=>"number"==typeof e?e:"string"==typeof e?`"${e}"`:`${e}`,Un=e=>(e=>!Array.isArray(e))(e)?Wn(e):`[${e.map((e=>Wn(e))).join(", ")}]`,Vn=e=>Pn(e).flatMap((e=>(e=>{switch(e.type){case"AwaitExpression":return["await"];case"BreakStatement":return["break"];case"CatchClause":return["catch"];case"ClassDeclaration":return["class"];case"ContinueStatement":return["continue"];case"DoWhileStatement":return["do","while"];case"ForAwaitStatement":return["for await","of"];case"ForInStatement":return["for","in"];case"ForOfStatement":return["for","of"];case"ForStatement":return["for"];case"FunctionDeclaration":return["function"];case"IfStatement":return["if"];case"ReturnStatement":return["return"];case"SwitchCase":return["case"];case"SwitchDefault":return["default"];case"SwitchStatement":case"SwitchStatementWithDefault":return["switch"];case"ThrowStatement":return["throw"];case"TryCatchStatement":return["try"];case"TryFinallyStatement":return["try","finally"];case"VariableDeclaration":return[e.kind];case"WhileStatement":return["while"];case"WithStatement":return["with"];case"YieldExpression":return["yield"];default:return[]}})(e))),Hn=(e,t,r)=>{const n=t.get(e);return r?n?n.end.line:0:n?n.start.line:0},Kn=(e,t,r,n)=>{return(i=e,Array.isArray(i)?i:[i]).map((e=>({type:t,answer:e,correct:n,info:r})));var i},Yn=(e,t,r,n)=>[Kn(e,t,r,n)],qn=(e,t,r,n)=>[()=>Kn(t(),r,n),e,!0],Xn=(...e)=>{return((e,...t)=>t.reduce(((t,[r,n,i])=>{if(void 0!==n&&i&&t.length>=n)return t;const a=((e,t,r)=>{const n=t.map((e=>r(e)));return e.filter((e=>!n.includes(r(e))))})([...new Set("function"==typeof r?r():r)],t,e);return void 0===n?t.concat(a):t.concat(wn(a,i?n-t.length:n))}),new Array))((e=>e.answer.toString()),...(t=e,t.filter((e=>void 0!==e)))).sort(((e,t)=>((e,t)=>"number"==typeof e&&"string"==typeof t?-1:"string"==typeof e&&"number"==typeof t?1:e<t?-1:e>t?1:0)(e.answer,t.answer)));var t},zn={en:{q_function_name:"Which is the name of the function?",q_function_name_line:(...e)=>`Which is the name of the function that is declared on line ${e[0]}?`,o_function_correct:"Correct, this is the name",o_function_function:'The keyword/command "function" is used when the program is about to declare a function',o_function_parameter:"This is a parameter name for a value passed as an argument when calling the function",o_function_variable:"This is a variable name used inside the function body",o_function_keyword:"This is a program keyword/command used inside the function body",o_function_literal:"This is a literal value that is used inside the function body",q_parameter_name:"Which are the parameter names of the function?",q_parameter_name_line:(...e)=>`Which are the parameter names of the function that is declared on line ${e[0]}?`,o_parameter_correct:(...e)=>e[0]>1?`Correct, this is one of the ${e[0]} parameter names for this function`:"Correct, this is the only parameter name for this function",o_parameter_function_name:"This is the name of the function that is used to call the function",q_parameter_value:(...e)=>`Which value does <em>${e[0]}</em> have when execution of <em>${e[1]}</em> starts?`,o_parameter_value_correct:"Correct, this is the value passed as an argument for the given parameter",o_parameter_value_other:"This value is passed as an argument BUT for another parameter than given in the question",o_parameter_value_random:"This is a random value which is not equal to the value initially passed as an argument for the given parameter",q_loop_end:(...e)=>`A program loop starts on line ${e[0]}. Which is the last line inside it?`,o_loop_end_correct:"Correct, this is the last line inside the loop (closing curly bracket may appear later)",o_loop_end_before:"The loop starts after this line",o_loop_end_after:"The loop ends before this line",o_loop_end_inside:"This line is inside the loop BUT it is not the last one",q_variable_write_declaration:(...e)=>`A value is assigned to variable <em>${e[0]}</em> on line ${e[1]}. On which line is <em>${e[0]}</em> declared?`,q_variable_read_declaration:(...e)=>`A value is accessed from variable <em>${e[0]}</em> on line ${e[1]}. On which line is <em>${e[0]}</em> declared?`,o_variable_declaration_correct:(...e)=>`Correct, this is the line where the variable is declared using the keyword ${e[0]}`,o_variable_declaration_reference:"This line references (reads or writes) the given variable BUT it is declared before",o_variable_declaration_random:"This is a random line that does not handle the given variable"}},$n=(e,...t)=>{const r=zn.en[e];return"function"==typeof r?r(...t):r},Jn=["Var","Const","Let"],Zn=[{type:"FunctionName",prepare:({functions:e,locations:t})=>(e||[]).map((({name:r,astNode:n,variables:i})=>()=>({question:e.length>1?$n("q_function_name_line",Hn(n,t)):$n("q_function_name"),options:Xn(Yn(r,"function_name",$n("o_function_correct"),!0),"FunctionDeclaration"===n.type?Yn("function","keyword",$n("o_function_function")):void 0,Yn(Gn(n.params),"parameter_name",$n("o_function_parameter")),qn(4,(()=>i.map((e=>e.name))),"variable_name",$n("o_function_variable")),qn(5,(()=>Vn(n)),"keyword",$n("o_function_keyword")))})))},{type:"ParameterName",prepare:({functions:e,locations:t})=>(e||[]).map((e=>({...e,params:Gn(e.astNode.params)}))).filter((({params:e})=>e.length>0)).map((({name:r,astNode:n,variables:i,params:a})=>()=>({question:e.length>1?$n("q_parameter_name_line",Hn(n,t)):$n("q_parameter_name"),options:Xn(Yn(a,"parameter_name",$n("o_parameter_correct",a.length),!0),Yn(r,"function_name",$n("o_parameter_function_name")),"FunctionDeclaration"===n.type?Yn("function","keyword",$n("o_function_function")):void 0,qn(4,(()=>i.map((e=>e.name))),"variable_name",$n("o_function_variable")),qn(5,(()=>Vn(n)),"keyword",$n("o_function_keyword")))})))},{type:"ParameterValue",prepare:({functions:e,inputs:t})=>(e||[]).map((e=>({...e,params:Gn(e.astNode.params),finputs:t.find((t=>t.functionName===e.name))?.parameters||[]}))).filter((({params:e,finputs:t})=>e.length>0&&t.length>0)).map((({name:e,astNode:t,params:r,finputs:n})=>()=>{const i=Nn(r)||0,a=(In(n)||[]).map(Un);return{question:$n("q_parameter_value",r[i],`${e}(${a.join(", ")})`),options:Xn(Yn(a[i],"parameter_value",$n("o_parameter_value_correct"),!0),Yn(a,"wrong_parameter_value",$n("o_parameter_value_other")),Yn(r[i],"parameter_name",$n("o_function_parameter")),qn(3,(()=>Rn(t).map(Un)),"literal",$n("o_function_literal")),qn(5,(()=>n.map((e=>Un(e[i])))),"random_value",$n("o_parameter_value_random")))}}))},{type:"LoopEnd",prepare:({tree:e,locations:t})=>{return(r=e,Mn(r,["ForStatement","ForInStatement","ForOfStatement","WhileStatement"])).map((e=>()=>{const r=Hn(e,t),n=Hn((e=>{if("BlockStatement"===e.type){const{statements:t}=e.block;return t[t.length-1]}return e})(e.body),t,!0);return{question:$n("q_loop_end",r),options:Xn(Yn(n,"last_line_inside_block",$n("o_loop_end_correct"),!0),Yn(r-1,"line_before_block",$n("o_loop_end_before")),Yn(n+2,"line_after_block",$n("o_loop_end_after")),qn(6,(()=>Bn(r,n-1)),"line_inside_block",$n("o_loop_end_inside")))}}));var r}},{type:"VariableDeclaration",prepare:({scope:e,locations:t})=>((e,t,r)=>e.map((e=>{const r=e.declarations.map((e=>({...e,line:t.get(e.node)?.start.line}))).filter((e=>void 0!==e.line));return{...e,declaration:r[0]}})).filter((({declaration:e})=>void 0!==e)).map((e=>{const n=((e,t,r)=>r?t.filter((({line:t})=>t!==e.line)):t)(e.declaration,e.references.map((e=>({...e,line:t.get(e.node)?.start.line}))).filter((e=>void 0!==e.line)),r);return{...e,reads:n.filter((({accessibility:e})=>e.isRead)),writes:n.filter((({accessibility:e})=>e.isWrite||e.isReadWrite))}})))(((e,t)=>{const r=[],n=e=>{void 0!==t?r.push(...e.variableList.filter((({declarations:e})=>e.length>0&&t.includes(e[0].type.name)))):r.push(...e.variableList),e.children.forEach((e=>n(e)))};return n(e),r})(e,Jn),t,!0).filter((({reads:e,writes:t})=>e.length>0||t.length>0)).map((({name:e,declaration:t,reads:r,writes:n})=>()=>{const i=n.length>0,a=In(i?n:r),u=[...new Set(r.concat(n).map((e=>e.line)))];return{question:$n(i?"q_variable_write_declaration":"q_variable_read_declaration",e,a.line),options:Xn(Yn(t.line,"declaration_line",$n("o_variable_declaration_correct",t.type.name.toLowerCase()),!0),Yn(u,"reference_line",$n("o_variable_declaration_reference")),qn(5,(()=>Bn(t.line-2,Math.max(...u)+2)),"random_line",$n("o_variable_declaration_random")))}}))}],Qn=(e,t)=>{const{tree:n,locations:i,comments:a}=r.parseScriptWithLocation(e),u=kn(n);return{tree:n,locations:i,comments:a,scope:u,functions:jn(u,n),inputs:t||[]}},ei=(e,t)=>t?e.filter((({type:e})=>t.includes(e))):e,ti=(e,t,r)=>{const n=Qn(e,r);return ei(Zn,t).flatMap((({type:e,prepare:t})=>t(n).map((t=>({type:e,generate:t}))))).map((({type:e,generate:t},r)=>({key:r,generate:t,type:e})))};e.createProgramModel=Qn,e.generate=(e,t,r)=>{const n=t||[{count:1}];let i=ti(e,(e=>{if(!e.find((e=>void 0===e.types)))return[...new Set(e.flatMap((e=>e.types||[])))]})(n),r);const a=[];return n.forEach((({count:e,fill:t,types:r,uniqueTypes:n})=>{let u=t?e-a.length:e;for(;u>0&&i.length>0;){const e=ei(i,r),t=Nn(e),s=e[t];s&&(a.push([t,{type:s.type,...s.generate()}]),i=n?i.filter((({type:e})=>e!==s.type)):i.filter((({key:e})=>e!==s.key))),u-=1}})),a.sort(((e,t)=>e[0]-t[0])).map((e=>e[1]))},e.prepare=ti}));
diff --git a/static/webdev-editor.js b/static/webdev-editor.js
index 4d1ee782288f9c134e9f6829742aaf4d384ef181..3c6244c92ec85eecd6d966c063d7a6743269897d 100644
--- a/static/webdev-editor.js
+++ b/static/webdev-editor.js
@@ -91,7 +91,7 @@ ACOSWebdev.prototype.generateQLCs = function (points) {
   var self = this;
   this.$element.find('.exercise .qlcs').html(SimpleQuizForm(
     qlcPoints,
-    qlcjs.generate(this.editor.getValue(), this.config.qlcs.request),
+    qlcjs.generate(this.editor.getValue(), this.config.qlcs.request, this.config.qlcs.input),
     (question, answer, solved, total) => {
       self.log({ question: question, answer: answer });
       var newPoints = points + Math.floor(solved / total * qlcPoints);