UNPKG

n8n-editor-ui

Version:

Workflow Editor UI for n8n

10 lines 135 kB
var o;(function(r){r.AssignmentExpression="AssignmentExpression",r.AssignmentPattern="AssignmentPattern",r.ArrayExpression="ArrayExpression",r.ArrayPattern="ArrayPattern",r.ArrowFunctionExpression="ArrowFunctionExpression",r.AwaitExpression="AwaitExpression",r.BlockStatement="BlockStatement",r.BinaryExpression="BinaryExpression",r.BreakStatement="BreakStatement",r.CallExpression="CallExpression",r.CatchClause="CatchClause",r.ChainExpression="ChainExpression",r.ClassBody="ClassBody",r.ClassDeclaration="ClassDeclaration",r.ClassExpression="ClassExpression",r.ConditionalExpression="ConditionalExpression",r.ContinueStatement="ContinueStatement",r.Decorator="Decorator",r.DoWhileStatement="DoWhileStatement",r.DebuggerStatement="DebuggerStatement",r.EmptyStatement="EmptyStatement",r.ExportAllDeclaration="ExportAllDeclaration",r.ExportDefaultDeclaration="ExportDefaultDeclaration",r.ExportNamedDeclaration="ExportNamedDeclaration",r.ExportSpecifier="ExportSpecifier",r.ExpressionStatement="ExpressionStatement",r.ForStatement="ForStatement",r.ForOfStatement="ForOfStatement",r.ForInStatement="ForInStatement",r.FunctionDeclaration="FunctionDeclaration",r.FunctionExpression="FunctionExpression",r.Identifier="Identifier",r.IfStatement="IfStatement",r.ImportAttribute="ImportAttribute",r.ImportExpression="ImportExpression",r.ImportDeclaration="ImportDeclaration",r.ImportDefaultSpecifier="ImportDefaultSpecifier",r.ImportNamespaceSpecifier="ImportNamespaceSpecifier",r.ImportSpecifier="ImportSpecifier",r.Literal="Literal",r.LabeledStatement="LabeledStatement",r.LogicalExpression="LogicalExpression",r.MemberExpression="MemberExpression",r.MetaProperty="MetaProperty",r.MethodDefinition="MethodDefinition",r.NewExpression="NewExpression",r.ObjectExpression="ObjectExpression",r.ObjectPattern="ObjectPattern",r.Program="Program",r.Property="Property",r.PrivateIdentifier="PrivateIdentifier",r.RestElement="RestElement",r.ReturnStatement="ReturnStatement",r.SequenceExpression="SequenceExpression",r.SpreadElement="SpreadElement",r.StaticBlock="StaticBlock",r.Super="Super",r.SwitchCase="SwitchCase",r.SwitchStatement="SwitchStatement",r.TaggedTemplateExpression="TaggedTemplateExpression",r.TemplateElement="TemplateElement",r.TemplateLiteral="TemplateLiteral",r.ThisExpression="ThisExpression",r.ThrowStatement="ThrowStatement",r.TryStatement="TryStatement",r.UnaryExpression="UnaryExpression",r.UpdateExpression="UpdateExpression",r.VariableDeclaration="VariableDeclaration",r.VariableDeclarator="VariableDeclarator",r.WhileStatement="WhileStatement",r.WithStatement="WithStatement",r.YieldExpression="YieldExpression"})(o||(o={}));class ue{constructor(){this.attach=!1,this.comments=[],this.stack=[],this.leading=[],this.trailing=[]}insertInnerComments(e,t){if(e.type===o.BlockStatement&&e.body.length===0){const s=[];for(let i=this.leading.length-1;i>=0;--i){const n=this.leading[i];t.end.offset>=n.start&&(s.unshift(n.comment),this.leading.splice(i,1),this.trailing.splice(i,1))}s.length&&(e.innerComments=s)}}findTrailingComments(e){let t=[];if(this.trailing.length>0){for(let i=this.trailing.length-1;i>=0;--i){const n=this.trailing[i];n.start>=e.end.offset&&t.unshift(n.comment)}return this.trailing.length=0,t}const s=this.stack[this.stack.length-1];if(s&&s.node.trailingComments){const i=s.node.trailingComments[0];i&&i.range[0]>=e.end.offset&&(t=s.node.trailingComments,delete s.node.trailingComments)}return t}findLeadingComments(e){const t=[];let s;for(;this.stack.length>0;){const i=this.stack[this.stack.length-1];if(i&&i.start>=e.start.offset)s=i.node,this.stack.pop();else break}if(s){const i=s.leadingComments?s.leadingComments.length:0;for(let n=i-1;n>=0;--n){const a=s.leadingComments[n];a.range[1]<=e.start.offset&&(t.unshift(a),s.leadingComments.splice(n,1))}return s.leadingComments&&s.leadingComments.length===0&&delete s.leadingComments,t}for(let i=this.leading.length-1;i>=0;--i){const n=this.leading[i];n.start<=e.start.offset&&(t.unshift(n.comment),this.leading.splice(i,1))}return t}visitNode(e,t){if(e.type===o.Program&&e.body.length>0)return;this.insertInnerComments(e,t);const s=this.findTrailingComments(t),i=this.findLeadingComments(t);i.length>0&&(e.leadingComments=i),s.length>0&&(e.trailingComments=s),this.stack.push({node:e,start:t.start.offset})}visitComment(e,t){const s=e.type[0]==="L"?"Line":"Block",i={type:s,value:e.value};if(e.range&&(i.range=e.range),e.loc&&(i.loc=e.loc),this.comments.push(i),this.attach){const n={comment:{type:s,value:e.value,range:[t.start.offset,t.end.offset]},start:t.start.offset};e.loc&&(n.comment.loc=e.loc),e.type=s,this.leading.push(n),this.trailing.push(n)}}visit(e,t){e.type==="LineComment"?this.visitComment(e,t):e.type==="BlockComment"?this.visitComment(e,t):this.attach&&this.visitNode(e,t)}}const G={NonAsciiIdentifierStart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEF\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7BF\uA7C2-\uA7C6\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB67\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\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-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\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[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\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]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDEC0-\uDEEB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\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\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/,NonAsciiIdentifierPart:/[\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\u0560-\u0588\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05EF-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u07FD\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D3-\u08E1\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\u09FC\u09FE\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-\u0AFF\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-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\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\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\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\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\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-\u1878\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\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CD0-\u1CD2\u1CD4-\u1CFA\u1D00-\u1DF9\u1DFB-\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-\u312F\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEF\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7BF\uA7C2-\uA7C6\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD-\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-\uAB67\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\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\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-\uDE35\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\uDD00-\uDD27\uDD30-\uDD39\uDF00-\uDF1C\uDF27\uDF30-\uDF50\uDFE0-\uDFF6]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD44-\uDD46\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDC9-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\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\uDF3B-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC5E\uDC5F\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDC00-\uDC3A\uDCA0-\uDCE9\uDCFF\uDDA0-\uDDA7\uDDAA-\uDDD7\uDDDA-\uDDE1\uDDE3\uDDE4\uDE00-\uDE3E\uDE47\uDE50-\uDE99\uDE9D\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD8E\uDD90\uDD91\uDD93-\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF6]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\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[\uDE40-\uDE7F\uDF00-\uDF4A\uDF4F-\uDF87\uDF8F-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\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]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A\uDD00-\uDD2C\uDD30-\uDD3D\uDD40-\uDD49\uDD4E\uDEC0-\uDEF9]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4B\uDD50-\uDD59]|\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\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/},p={fromCodePoint(r){return r<65536?String.fromCharCode(r):String.fromCharCode(55296+(r-65536>>10))+String.fromCharCode(56320+(r-65536&1023))},isStringWellFormedUnicode(r){for(let e=0;e<r.length;e++){let t=r.charCodeAt(e);if(t>=55296&&t<=56319){if(e===r.length-1||(e++,t=r.charCodeAt(e),t<56320&&t>57343))return!1}else if(t>=56320&&t<=57343)return!1}return!0},isWhiteSpace(r){return r===32||r===9||r===11||r===12||r===160||r>=5760&&[5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279].indexOf(r)>=0},isLineTerminator(r){return r===10||r===13||r===8232||r===8233},isIdentifierStart(r){return r===36||r===95||r>=65&&r<=90||r>=97&&r<=122||r===92||r>=128&&G.NonAsciiIdentifierStart.test(p.fromCodePoint(r))},isIdentifierPart(r){return r===36||r===95||r>=65&&r<=90||r>=97&&r<=122||r>=48&&r<=57||r===92||r>=128&&G.NonAsciiIdentifierPart.test(p.fromCodePoint(r))},isDecimalDigit(r){return r>=48&&r<=57},isDecimalDigitChar(r){return r.length===1&&p.isDecimalDigit(r.charCodeAt(0))},isHexDigit(r){return r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102},isHexDigitChar(r){return r.length===1&&p.isHexDigit(r.charCodeAt(0))},isOctalDigit(r){return r>=48&&r<=55},isOctalDigitChar(r){return r.length===1&&p.isOctalDigit(r.charCodeAt(0))}};var E;(function(r){r.JSXAttribute="JSXAttribute",r.JSXClosingElement="JSXClosingElement",r.JSXClosingFragment="JSXClosingFragment",r.JSXElement="JSXElement",r.JSXEmptyExpression="JSXEmptyExpression",r.JSXExpressionContainer="JSXExpressionContainer",r.JSXIdentifier="JSXIdentifier",r.JSXMemberExpression="JSXMemberExpression",r.JSXNamespacedName="JSXNamespacedName",r.JSXOpeningElement="JSXOpeningElement",r.JSXOpeningFragment="JSXOpeningFragment",r.JSXSpreadAttribute="JSXSpreadAttribute",r.JSXText="JSXText"})(E||(E={}));class he{constructor(e){this.type=E.JSXClosingElement,this.name=e}}class ce{constructor(){this.type=E.JSXClosingFragment}}class L{constructor(e,t,s){this.type=E.JSXElement,this.openingElement=e,this.children=t,this.closingElement=s}}class le{constructor(){this.type=E.JSXEmptyExpression}}class H{constructor(e){this.type=E.JSXExpressionContainer,this.expression=e}}class pe{constructor(e){this.type=E.JSXIdentifier,this.name=e}}class de{constructor(e,t){this.type=E.JSXMemberExpression,this.object=e,this.property=t}}class De{constructor(e,t){this.type=E.JSXAttribute,this.name=e,this.value=t}}class W{constructor(e,t){this.type=E.JSXNamespacedName,this.namespace=e,this.name=t}}class Y{constructor(e,t,s){this.type=E.JSXOpeningElement,this.name=e,this.selfClosing=t,this.attributes=s}}class me{constructor(e){this.type=E.JSXOpeningFragment,this.selfClosing=e}}class xe{constructor(e){this.type=E.JSXSpreadAttribute,this.argument=e}}class fe{constructor(e,t){this.type=E.JSXText,this.value=e,this.raw=t}}class Ee{constructor(e){this.type=o.ArrayExpression,this.elements=e}}class Ce{constructor(e){this.type=o.ArrayPattern,this.elements=e}}class Ae{constructor(e,t,s,i){this.type=o.ArrowFunctionExpression,this.id=null,this.params=e,this.body=t,this.generator=!1,this.expression=s,this.async=i}}class Fe{constructor(e,t,s){this.type=o.AssignmentExpression,this.operator=e,this.left=t,this.right=s}}class X{constructor(e,t){this.type=o.AssignmentPattern,this.left=e,this.right=t}}class ge{constructor(e,t,s,i){this.type=o.FunctionDeclaration,this.id=e,this.params=t,this.body=s,this.generator=i,this.expression=!1,this.async=!0}}class ke{constructor(e){this.type=o.AwaitExpression,this.argument=e}}class q{constructor(e,t,s){this.type=o.Literal,this.value=e,this.raw=t,this.bigint=s}}class J{constructor(e,t,s){this.type=o.BinaryExpression,this.operator=e,this.left=t,this.right=s}}class j{constructor(e){this.type=o.BlockStatement,this.body=e}}class ye{constructor(e){this.type=o.BreakStatement,this.label=e}}class we{constructor(e,t,s){this.type=o.CallExpression,this.callee=e,this.arguments=t,this.optional=s}}class Se{constructor(e,t){this.type=o.CatchClause,this.param=e,this.body=t}}class V{constructor(e){this.type=o.ChainExpression,this.expression=e}}class Be{constructor(e){this.type=o.ClassBody,this.body=e}}class be{constructor(e,t,s,i){this.type=o.ClassDeclaration,this.id=e,this.superClass=t,this.body=s,this.decorators=i}}class ve{constructor(e,t,s,i){this.type=o.ClassExpression,this.id=e,this.superClass=t,this.body=s,this.decorators=i}}class Te{constructor(e,t,s){this.type=o.ConditionalExpression,this.test=e,this.consequent=t,this.alternate=s}}class Ie{constructor(e){this.type=o.ContinueStatement,this.label=e}}class Ne{constructor(){this.type=o.DebuggerStatement}}class Pe{constructor(e){this.type=o.Decorator,this.expression=e}}class Ue{constructor(e,t){this.type=o.ExpressionStatement,this.expression=e,this.directive=t}}class ze{constructor(e,t){this.type=o.DoWhileStatement,this.body=e,this.test=t}}class I{constructor(){this.type=o.EmptyStatement}}class Le{constructor(e,t,s){this.type=o.ExportAllDeclaration,this.source=e,this.exported=t,this.assertions=s}}class N{constructor(e){this.type=o.ExportDefaultDeclaration,this.declaration=e}}class M{constructor(e,t,s,i){this.type=o.ExportNamedDeclaration,this.declaration=e,this.specifiers=t,this.source=s,this.assertions=i}}class Xe{constructor(e,t){this.type=o.ExportSpecifier,this.exported=t,this.local=e}}class O{constructor(e){this.type=o.ExpressionStatement,this.expression=e}}class Je{constructor(e,t,s){this.type=o.ForInStatement,this.left=e,this.right=t,this.body=s,this.each=!1}}class Me{constructor(e,t,s,i){this.type=o.ForOfStatement,this.await=i,this.left=e,this.right=t,this.body=s}}class Oe{constructor(e,t,s,i){this.type=o.ForStatement,this.init=e,this.test=t,this.update=s,this.body=i}}class Re{constructor(e,t,s,i){this.type=o.FunctionDeclaration,this.id=e,this.params=t,this.body=s,this.generator=i,this.expression=!1,this.async=!1}}class v{constructor(e,t,s,i,n){this.type=o.FunctionExpression,this.id=e,this.params=t,this.body=s,this.generator=i,this.expression=!1,this.async=n}}class g{constructor(e){this.type=o.Identifier,this.name=e}}class Ke{constructor(e,t,s){this.type=o.IfStatement,this.test=e,this.consequent=t,this.alternate=s}}class Ge{constructor(e,t){this.type=o.ImportAttribute,this.key=e,this.value=t}}class He{constructor(e,t){this.type=o.ImportExpression,this.source=e,this.attributes=t}}class We{constructor(e,t,s){this.type=o.ImportDeclaration,this.specifiers=e,this.source=t,this.assertions=s}}class Ye{constructor(e){this.type=o.ImportDefaultSpecifier,this.local=e}}class qe{constructor(e){this.type=o.ImportNamespaceSpecifier,this.local=e}}class je{constructor(e,t){this.type=o.ImportSpecifier,this.local=e,this.imported=t}}class Ve{constructor(e,t){this.type=o.LabeledStatement,this.label=e,this.body=t}}class B{constructor(e,t){this.type=o.Literal,this.value=e,this.raw=t}}class _{constructor(e,t,s){this.type=o.LogicalExpression,this.operator=e,this.left=t,this.right=s}}class P{constructor(e,t,s,i){this.type=o.MemberExpression,this.computed=e,this.object=t,this.property=s,this.optional=i}}class ${constructor(e,t){this.type=o.MetaProperty,this.meta=e,this.property=t}}class _e{constructor(e,t,s,i,n,a){this.type=o.MethodDefinition,this.key=e,this.computed=t,this.value=s,this.kind=i,this.static=n,this.decorators=a}}class $e{constructor(e){this.type=o.Program,this.body=e,this.sourceType="module"}}class Qe{constructor(e,t){this.type=o.NewExpression,this.callee=e,this.arguments=t}}class Ze{constructor(e){this.type=o.ObjectExpression,this.properties=e}}class et{constructor(e){this.type=o.ObjectPattern,this.properties=e}}class U{constructor(e){this.type=o.PrivateIdentifier,this.name=e}}class Q{constructor(e,t,s,i,n,a){this.type=o.Property,this.key=t,this.computed=s,this.value=i,this.kind=e,this.method=n,this.shorthand=a}}class tt{constructor(e,t,s,i,n){this.type=o.Property,this.key=e,this.computed=t,this.value=s,this.static=i,this.decorators=n}}class st{constructor(e,t,s,i){this.type=o.Literal,this.value=e,this.raw=t,this.regex={pattern:s,flags:i}}}class z{constructor(e){this.type=o.RestElement,this.argument=e}}class it{constructor(e){this.type=o.ReturnStatement,this.argument=e}}class nt{constructor(e){this.type=o.Program,this.body=e,this.sourceType="script"}}class R{constructor(e){this.type=o.SequenceExpression,this.expressions=e}}class rt{constructor(e){this.type=o.SpreadElement,this.argument=e}}class at{constructor(e){this.type=o.StaticBlock,this.body=e}}class Z{constructor(){this.type=o.Super}}class ot{constructor(e,t){this.type=o.SwitchCase,this.test=e,this.consequent=t}}class ut{constructor(e,t){this.type=o.SwitchStatement,this.discriminant=e,this.cases=t}}class ee{constructor(e,t){this.type=o.TaggedTemplateExpression,this.tag=e,this.quasi=t}}class te{constructor(e,t){this.type=o.TemplateElement,this.value=e,this.tail=t}}class ht{constructor(e,t){this.type=o.TemplateLiteral,this.quasis=e,this.expressions=t}}class ct{constructor(){this.type=o.ThisExpression}}class lt{constructor(e){this.type=o.ThrowStatement,this.argument=e}}class pt{constructor(e,t,s){this.type=o.TryStatement,this.block=e,this.handler=t,this.finalizer=s}}class dt{constructor(e,t){this.type=o.UnaryExpression,this.operator=e,this.argument=t,this.prefix=!0}}class se{constructor(e,t,s){this.type=o.UpdateExpression,this.operator=e,this.argument=t,this.prefix=s}}class w{constructor(e,t){this.type=o.VariableDeclaration,this.declarations=e,this.kind=t}}class ie{constructor(e,t){this.type=o.VariableDeclarator,this.id=e,this.init=t}}class Dt{constructor(e,t){this.type=o.WhileStatement,this.test=e,this.body=t}}class mt{constructor(e,t){this.type=o.WithStatement,this.object=e,this.body=t}}class xt{constructor(e,t){this.type=o.YieldExpression,this.argument=e,this.delegate=t}}function y(r,e){if(!r)throw new Error("ASSERT: "+e)}class ft{constructor(){this.errors=[],this.tolerant=!1}recordError(e){this.errors.push(e)}tolerate(e){if(this.tolerant)this.recordError(e);else throw e}constructError(e,t){let s=new Error(e);try{throw s}catch(i){Object.create&&Object.defineProperty&&(s=Object.create(i),Object.defineProperty(s,"column",{value:t}))}return s}createError(e,t,s,i){const n="Line "+t+": "+i,a=this.constructError(n,s);return a.index=e,a.lineNumber=t,a.description=i,a}throwError(e,t,s,i){throw this.createError(e,t,s,i)}tolerateError(e,t,s,i){const n=this.createError(e,t,s,i);if(this.tolerant)this.recordError(n);else throw n}}const u={AsyncFunctionInSingleStatementContext:"Async functions can only be declared at the top level or inside a block.",BadImportCallArity:"Unexpected token",BadGetterArity:"Getter must not have any formal parameters",BadSetterArity:"Setter must have exactly one formal parameter",BadSetterRestParameter:"Setter function argument must not be a rest parameter",CannotUseImportMetaOutsideAModule:"Cannot use 'import.meta' outside a module",ConstructorIsAsync:"Class constructor may not be an async method",ConstructorIsPrivate:"Class constructor may not be a private method",ConstructorSpecialMethod:"Class constructor may not be an accessor",DeclarationMissingInitializer:"Missing initializer in %0 declaration",DefaultRestParameter:"Unexpected token =",DefaultRestProperty:"Unexpected token =",DuplicateBinding:"Duplicate binding %0",DuplicateConstructor:"A class may only have one constructor",DuplicateParameter:"Duplicate parameter name not allowed in this context",DuplicateProtoProperty:"Duplicate __proto__ fields are not allowed in object literals",ForInOfLoopInitializer:"%0 loop variable declaration may not have an initializer",GeneratorInLegacyContext:"Generator declarations are not allowed in legacy contexts",IllegalBreak:"Illegal break statement",IllegalContinue:"Illegal continue statement",IllegalExportDeclaration:"Unexpected token",IllegalImportDeclaration:"Unexpected token",IllegalLanguageModeDirective:"Illegal 'use strict' directive in function with non-simple parameter list",IllegalReturn:"Illegal return statement",InvalidEscapedReservedWord:"Keyword must not contain escaped characters",InvalidHexEscapeSequence:"Invalid hexadecimal escape sequence",InvalidLHSInAssignment:"Invalid left-hand side in assignment",InvalidLHSInForIn:"Invalid left-hand side in for-in",InvalidLHSInForLoop:"Invalid left-hand side in for-loop",InvalidModuleSpecifier:"Unexpected token",InvalidRegExp:"Invalid regular expression",InvalidTaggedTemplateOnOptionalChain:"Invalid tagged template on optional chain",InvalidUnicodeEscapeSequence:"Invalid Unicode escape sequence",LetInLexicalBinding:"let is disallowed as a lexically bound name",MissingFromClause:"Unexpected token",MultipleDefaultsInSwitch:"More than one default clause in switch statement",NewlineAfterThrow:"Illegal newline after throw",NoAsAfterImportNamespace:"Unexpected token",NoAsAndFromEscapeSequences:"The `as` and `from` contextual keywords must not contain Unicode escape sequences.",NoCatchOrFinally:"Missing catch or finally after try",NoSemicolonAfterDecorator:"Decorators must not be followed by a semicolon.",NumericSeperatorOneUnderscore:"Numeric separator must be exactly one underscore",NumericSeperatorNotAllowedHere:"Numeric separator is not allowed here",ParameterAfterRestParameter:"Rest parameter must be last formal parameter",PropertyAfterRestProperty:"Unexpected token",Redeclaration:"%0 '%1' has already been declared",StaticPrototype:"Classes may not have static property named prototype",StrictCatchVariable:"Catch variable may not be eval or arguments in strict mode",StrictDelete:"Delete of an unqualified identifier in strict mode.",StrictFunction:"In strict mode code, functions can only be declared at top level or inside a block",StrictFunctionName:"Function name may not be eval or arguments in strict mode",StrictLHSAssignment:"Assignment to eval or arguments is not allowed in strict mode",StrictLHSPostfix:"Postfix increment/decrement may not have eval or arguments operand in strict mode",StrictLHSPrefix:"Prefix increment/decrement may not have eval or arguments operand in strict mode",StrictModeWith:"Strict mode code may not include a with statement",StrictOctalLiteral:"Octal literals are not allowed in strict mode.",StrictParamName:"Parameter name eval or arguments is not allowed in strict mode",StrictReservedWord:"Use of future reserved word in strict mode",StrictVarName:"Variable name may not be eval or arguments in strict mode",TemplateOctalLiteral:"Octal literals are not allowed in template strings.",TemplateEscape89:"\\8 and \\9 are not allowed in template strings.",UnexpectedEOS:"Unexpected end of input",UnexpectedIdentifier:"Unexpected identifier",UnexpectedNumber:"Unexpected number",UnexpectedReserved:"Unexpected reserved word",UnexpectedString:"Unexpected string",UnexpectedSuper:"'super' keyword unexpected here",UnexpectedTemplate:"Unexpected quasi %0",UnexpectedToken:"Unexpected token %0",UnexpectedTokenIllegal:"Unexpected token ILLEGAL",UnknownLabel:"Undefined label '%0'",UnterminatedRegExp:"Invalid regular expression: missing /"};function ne(r){return"0123456789abcdef".indexOf(r.toLowerCase())}function K(r){return"01234567".indexOf(r)}class Et{constructor(e,t){this.source=e,this.errorHandler=t,this.trackComment=!1,this.isModule=!1,this.length=e.length,this.index=0,this.lineNumber=e.length>0?1:0,this.lineStart=0,this.curlyStack=[]}saveState(){return{index:this.index,lineNumber:this.lineNumber,lineStart:this.lineStart,curlyStack:this.curlyStack.slice()}}restoreState(e){this.index=e.index,this.lineNumber=e.lineNumber,this.lineStart=e.lineStart,this.curlyStack=e.curlyStack}eof(){return this.index>=this.length}throwUnexpectedToken(e=u.UnexpectedTokenIllegal){return this.errorHandler.throwError(this.index,this.lineNumber,this.index-this.lineStart+1,e)}tolerateUnexpectedToken(e=u.UnexpectedTokenIllegal){this.errorHandler.tolerateError(this.index,this.lineNumber,this.index-this.lineStart+1,e)}skipSingleLineComment(e){let t=[],s,i;for(this.trackComment&&(t=[],s=this.index-e,i={start:{line:this.lineNumber,column:this.index-this.lineStart-e},end:{}});!this.eof();){const n=this.source.charCodeAt(this.index);if(++this.index,p.isLineTerminator(n)){if(this.trackComment){i.end={line:this.lineNumber,column:this.index-this.lineStart-1};const a={multiLine:!1,slice:[s+e,this.index-1],range:[s,this.index-1],loc:i};t.push(a)}return n===13&&this.source.charCodeAt(this.index)===10&&++this.index,++this.lineNumber,this.lineStart=this.index,t}}if(this.trackComment){i.end={line:this.lineNumber,column:this.index-this.lineStart};const n={multiLine:!1,slice:[s+e,this.index],range:[s,this.index],loc:i};t.push(n)}return t}skipMultiLineComment(){let e=[],t,s;for(this.trackComment&&(e=[],t=this.index-2,s={start:{line:this.lineNumber,column:this.index-this.lineStart-2},end:{}});!this.eof();){const i=this.source.charCodeAt(this.index);if(p.isLineTerminator(i))i===13&&this.source.charCodeAt(this.index+1)===10&&++this.index,++this.lineNumber,++this.index,this.lineStart=this.index;else if(i===42){if(this.source.charCodeAt(this.index+1)===47){if(this.index+=2,this.trackComment){s.end={line:this.lineNumber,column:this.index-this.lineStart};const n={multiLine:!0,slice:[t+2,this.index-2],range:[t,this.index],loc:s};e.push(n)}return e}++this.index}else++this.index}if(this.trackComment){s.end={line:this.lineNumber,column:this.index-this.lineStart};const i={multiLine:!0,slice:[t+2,this.index],range:[t,this.index],loc:s};e.push(i)}return this.tolerateUnexpectedToken(),e}scanComments(){let e;this.trackComment&&(e=[]);let t=this.index===0;for(;!this.eof();){let s=this.source.charCodeAt(this.index);if(p.isWhiteSpace(s))++this.index;else if(p.isLineTerminator(s))++this.index,s===13&&this.source.charCodeAt(this.index)===10&&++this.index,++this.lineNumber,this.lineStart=this.index,t=!0;else if(s===47)if(s=this.source.charCodeAt(this.index+1),s===47){this.index+=2;const i=this.skipSingleLineComment(2);this.trackComment&&(e=e.concat(i)),t=!0}else if(s===42){this.index+=2;const i=this.skipMultiLineComment();this.trackComment&&(e=e.concat(i))}else break;else if(t&&s===45)if(this.source.charCodeAt(this.index+1)===45&&this.source.charCodeAt(this.index+2)===62){this.index+=3;const i=this.skipSingleLineComment(3);this.trackComment&&(e=e.concat(i))}else break;else if(s===60&&!this.isModule)if(this.source.slice(this.index+1,this.index+4)==="!--"){this.index+=4;const i=this.skipSingleLineComment(4);this.trackComment&&(e=e.concat(i))}else break;else break}return e}isFutureReservedWord(e){switch(e){case"enum":case"export":case"import":case"super":return!0;default:return!1}}isStrictModeReservedWord(e){switch(e){case"implements":case"interface":case"package":case"private":case"protected":case"public":case"static":case"yield":case"let":return!0;default:return!1}}isRestrictedWord(e){return e==="eval"||e==="arguments"}isKeyword(e){switch(e.length){case 2:return e==="if"||e==="in"||e==="do";case 3:return e==="var"||e==="for"||e==="new"||e==="try"||e==="let";case 4:return e==="this"||e==="else"||e==="case"||e==="void"||e==="with"||e==="enum";case 5:return e==="while"||e==="break"||e==="catch"||e==="throw"||e==="const"||e==="yield"||e==="class"||e==="super";case 6:return e==="return"||e==="typeof"||e==="delete"||e==="switch"||e==="export"||e==="import";case 7:return e==="default"||e==="finally"||e==="extends";case 8:return e==="function"||e==="continue"||e==="debugger";case 10:return e==="instanceof";default:return!1}}codePointAt(e){let t=this.source.charCodeAt(e);if(t>=55296&&t<=56319){const s=this.source.charCodeAt(e+1);s>=56320&&s<=57343&&(t=(t-55296)*1024+s-56320+65536)}return t}scanHexEscape(e){const t=e==="u"?4:2;let s=0;for(let i=0;i<t;++i)if(!this.eof()&&p.isHexDigit(this.source.charCodeAt(this.index)))s=s*16+ne(this.source[this.index++]);else return null;return String.fromCharCode(s)}tryToScanUnicodeCodePointEscape(){let e=this.source[this.index],t=0;if(e==="}")return null;for(;!this.eof()&&(e=this.source[this.index++],!!p.isHexDigit(e.charCodeAt(0)));)t=t*16+ne(e);return t>1114111||e!=="}"?null:p.fromCodePoint(t)}scanUnicodeCodePointEscape(){const e=this.tryToScanUnicodeCodePointEscape();return e===null?this.throwUnexpectedToken():e}getIdentifier(){const e=this.index++;for(;!this.eof();){const t=this.source.charCodeAt(this.index);if(t===92)return this.index=e,this.getComplexIdentifier();if(t>=55296&&t<57343)return this.index=e,this.getComplexIdentifier();if(p.isIdentifierPart(t))++this.index;else break}return this.source.slice(e,this.index)}getComplexIdentifier(){let e=this.codePointAt(this.index),t=p.fromCodePoint(e);this.index+=t.length;let s;for(e===92&&(this.source.charCodeAt(this.index)!==117&&this.throwUnexpectedToken(),++this.index,this.source[this.index]==="{"?(++this.index,s=this.scanUnicodeCodePointEscape()):(s=this.scanHexEscape("u"),(s===null||s==="\\"||!p.isIdentifierStart(s.charCodeAt(0)))&&this.throwUnexpectedToken()),t=s);!this.eof()&&(e=this.codePointAt(this.index),!!p.isIdentifierPart(e));)s=p.fromCodePoint(e),t+=s,this.index+=s.length,e===92&&(t=t.substr(0,t.length-1),this.source.charCodeAt(this.index)!==117&&this.throwUnexpectedToken(),++this.index,this.source[this.index]==="{"?(++this.index,s=this.scanUnicodeCodePointEscape()):(s=this.scanHexEscape("u"),(s===null||s==="\\"||!p.isIdentifierPart(s.charCodeAt(0)))&&this.throwUnexpectedToken()),t+=s);return t}octalToDecimal(e){let t=e!=="0",s=K(e);return!this.eof()&&p.isOctalDigit(this.source.charCodeAt(this.index))&&(t=!0,s=s*8+K(this.source[this.index++]),"0123".indexOf(e)>=0&&!this.eof()&&p.isOctalDigit(this.source.charCodeAt(this.index))&&(s=s*8+K(this.source[this.index++]))),{code:s,octal:t}}scanIdentifier(){let e;const t=this.index,s=this.source.charCodeAt(t)===92,i=s?this.getComplexIdentifier():this.getIdentifier();if(i.length===1?e=3:this.isKeyword(i)?e=4:i==="null"?e=5:i==="true"||i==="false"?e=1:e=3,e!==3&&t+i.length!==this.index){const n=this.index;this.index=t,this.tolerateUnexpectedToken(u.InvalidEscapedReservedWord),this.index=n}return{type:e,value:i,lineNumber:this.lineNumber,lineStart:this.lineStart,start:t,end:this.index,escaped:s}}scanPunctuator(){const e=this.index;let t=this.source[this.index];switch(t){case"(":case"{":t==="{"&&this.curlyStack.push("{"),++this.index;break;case".":++this.index,this.source[this.index]==="."&&this.source[this.index+1]==="."&&(this.index+=2,t="...");break;case"}":++this.index,this.curlyStack.pop();break;case"?":++this.index,this.source[this.index]==="?"&&(++this.index,this.source[this.index]==="="?(++this.index,t="??="):t="??"),this.source[this.index]==="."&&!/^\d$/.test(this.source[this.index+1])&&(++this.index,t="?.");break;case"#":case")":case";":case",":case"[":case"]":case":":case"~":case"@":++this.index;break;default:t=this.source.substr(this.index,4),t===">>>="?this.index+=4:(t=t.substr(0,3),t==="==="||t==="!=="||t===">>>"||t==="<<="||t===">>="||t==="**="||t==="&&="||t==="||="?this.index+=3:(t=t.substr(0,2),t==="&&"||t==="||"||t==="=="||t==="!="||t==="+="||t==="-="||t==="*="||t==="/="||t==="++"||t==="--"||t==="<<"||t===">>"||t==="&="||t==="|="||t==="^="||t==="%="||t==="<="||t===">="||t==="=>"||t==="**"?this.index+=2:(t=this.source[this.index],"<>=!+-*%&|^/".indexOf(t)>=0&&++this.index)))}return this.index===e&&this.throwUnexpectedToken(),{type:7,value:t,lineNumber:this.lineNumber,lineStart:this.lineStart,start:e,end:this.index}}scanHexLiteral(e){let t=this.scanLiteralPart(p.isHexDigitChar);return t.length===0&&this.throwUnexpectedToken(),this.source[this.index]==="n"?(this.index++,{type:6,value:BigInt("0x"+t),lineNumber:this.lineNumber,lineStart:this.lineStart,start:e,end:this.index}):(p.isIdentifierStart(this.source.charCodeAt(this.index))&&this.throwUnexpectedToken(),{type:6,value:parseInt("0x"+t,16),lineNumber:this.lineNumber,lineStart:this.lineStart,start:e,end:this.index})}scanBinaryLiteral(e){let t,s=this.scanLiteralPart(i=>i==="0"||i==="1");return s.length===0&&this.throwUnexpectedToken(),this.source[this.index]==="n"?(this.index++,{type:6,value:BigInt("0b"+s),lineNumber:this.lineNumber,lineStart:this.lineStart,start:e,end:this.index}):(this.eof()||(t=this.source.charCodeAt(this.index),(p.isIdentifierStart(t)||p.isDecimalDigit(t))&&this.throwUnexpectedToken()),{type:6,value:parseInt(s,2),lineNumber:this.lineNumber,lineStart:this.lineStart,start:e,end:this.index})}scanOctalLiteral(e,t){let s="",i=!1;return p.isOctalDigit(e.charCodeAt(0))?(i=!0,s="0"+this.source[this.index++]):++this.index,s+=this.scanLiteralPart(p.isOctalDigitChar),!i&&s.length===0&&this.throwUnexpectedToken(),this.source[this.index]==="n"?(this.index++,{type:6,value:BigInt("0o"+s),lineNumber:this.lineNumber,lineStart:this.lineStart,start:t,end:this.index}):((p.isIdentifierStart(this.source.charCodeAt(this.index))||p.isDecimalDigit(this.source.charCodeAt(this.index)))&&this.throwUnexpectedToken(),{type:6,value:parseInt(s,8),octal:i,lineNumber:this.lineNumber,lineStart:this.lineStart,start:t,end:this.index})}isImplicitOctalLiteral(){for(let e=this.index+1;e<this.length;++e){const t=this.source[e];if(t==="8"||t==="9"||t==="n")return!1;if(!p.isOctalDigit(t.charCodeAt(0)))return!0}return!0}scanLiteralPart(e){let t="";for(this.source[this.index]==="_"&&this.throwUnexpectedToken(u.NumericSeperatorNotAllowedHere);this.source[this.index]&&(e(this.source[this.index])||this.source[this.index]==="_");)this.source[this.index]!=="_"&&(t+=this.source[this.index]),this.index++,this.source[this.index-1]==="_"&&this.source[this.index]==="_"&&this.throwUnexpectedToken(u.NumericSeperatorOneUnderscore);return this.source[this.index-1]==="_"&&this.throwUnexpectedToken(u.NumericSeperatorNotAllowedHere),t}scanNumericLiteral(){const e=this.index;let t=this.source[e];y(p.isDecimalDigit(t.charCodeAt(0))||t===".","Numeric literal must start with a decimal digit or a decimal point");let s="";if(t!=="."){if(s=this.source[this.index++],t=this.source[this.index],s==="0"){if(t==="x"||t==="X")return++this.index,this.scanHexLiteral(e);if(t==="b"||t==="B")return++this.index,this.scanBinaryLiteral(e);if(t==="o"||t==="O")return this.scanOctalLiteral(t,e);if(t&&p.isOctalDigit(t.charCodeAt(0))&&this.isImplicitOctalLiteral())return this.scanOctalLiteral(t,e)}this.index--,s=this.scanLiteralPart(p.isDecimalDigitChar),t=this.source[this.index]}if(t==="."&&(s+=this.source[this.index++],s+=this.scanLiteralPart(p.isDecimalDigitChar),t=this.source[this.index]),t==="e"||t==="E")s+=this.source[this.index++],t=this.source[this.index],(t==="+"||t==="-")&&(s+=this.source[this.index++]),p.isDecimalDigit(this.source.charCodeAt(this.index))?s+=this.scanLiteralPart(p.isDecimalDigitChar):this.throwUnexpectedToken();else if(t==="n")return s.length>1&&s[0]==="0"&&this.throwUnexpectedToken(),this.index++,{type:6,value:BigInt(s),lineNumber:this.lineNumber,lineStart:this.lineStart,start:e,end:this.index};return p.isIdentifierStart(this.source.charCodeAt(this.index))&&this.throwUnexpectedToken(),{type:6,value:parseFloat(s),lineNumber:this.lineNumber,lineStart:this.lineStart,start:e,end:this.index}}scanStringLiteral(){const e=this.index;let t=this.source[e];y(t==="'"||t==='"',"String literal must starts with a quote"),++this.index;let s=!1,i="";for(;!this.eof();){let n=this.source[this.index++];if(n===t){t="";break}else if(n==="\\")if(n=this.source[this.index++],!n||!p.isLineTerminator(n.charCodeAt(0)))switch(n){case"u":if(this.source[this.index]==="{")++this.index,i+=this.scanUnicodeCodePointEscape();else{const h=this.scanHexEscape(n);h===null&&this.throwUnexpectedToken(),i+=h}break;case"x":const a=this.scanHexEscape(n);a===null&&this.throwUnexpectedToken(u.InvalidHexEscapeSequence),i+=a;break;case"n":i+=`
`;break;case"r":i+="\r";break;case"t":i+="	";break;case"b":i+="\b";break;case"f":i+="\f";break;case"v":i+="\v";break;case"8":case"9":i+=n,this.tolerateUnexpectedToken();break;default:if(n&&p.isOctalDigit(n.charCodeAt(0))){const h=this.octalToDecimal(n);s=h.octal||s,i+=String.fromCharCode(h.code)}else i+=n;break}else++this.lineNumber,n==="\r"&&this.source[this.index]===`
`&&++this.index,this.lineStart=this.index;else{if(p.isLineTerminator(n.charCodeAt(0)))break;i+=n}}return t!==""&&(this.index=e,this.throwUnexpectedToken()),{type:8,value:i,octal:s,lineNumber:this.lineNumber,lineStart:this.lineStart,start:e,end:this.index}}scanTemplate(){let e="",t=!1;const s=this.index,i=this.source[s]==="`";let n=!1,a=null,h=2;for(++this.index;!this.eof();){let c=this.source[this.index++];if(c==="`"){h=1,n=!0,t=!0;break}else if(c==="$"){if(this.source[this.index]==="{"){this.curlyStack.push("${"),++this.index,t=!0;break}e+=c}else{if(a!==null)continue;if(c==="\\")if(c=this.source[this.index++],p.isLineTerminator(c.charCodeAt(0)))++this.lineNumber,c==="\r"&&this.source[this.index]===`
`&&++this.index,this.lineStart=this.index;else switch(c){case"n":e+=`
`;break;case"r":e+="\r";break;case"t":e+="	";break;case"u":if(this.source[this.index]==="{"){++this.index;const l=this.tryToScanUnicodeCodePointEscape();l===null?a="u":e+=l}else{const l=this.scanHexEscape(c);l===null?a="u":e+=l}break;case"x":const D=this.scanHexEscape(c);D===null?a="x":e+=D;break;case"b":e+="\b";break;case"f":e+="\f";break;case"v":e+="\v";break;default:c==="0"?p.isDecimalDigit(this.source.charCodeAt(this.index))?a="0":e+="\0":p.isDecimalDigitChar(c)?a=c:e+=c;break}else p.isLineTerminator(c.charCodeAt(0))?(++this.lineNumber,c==="\r"&&this.source[this.index]===`
`&&++this.index,this.lineStart=this.index,e+=`
`):e+=c}}return t||this.throwUnexpectedToken(),i||this.curlyStack.pop(),{type:10,value:this.source.slice(s+1,this.index-h),cooked:a===null?e:null,head:i,tail:n,notEscapeSequenceHead:a,lineNumber:this.lineNumber,lineStart:this.lineStart,start:s,end:this.index}}testRegExp(e,t){const s="￿";let i=e;t.indexOf("u")>=0&&(i=i.replace(/\\u\{([0-9a-fA-F]+)\}|\\u([a-fA-F0-9]{4})/g,(n,a,h)=>{const c=parseInt(a||h,16);return c>1114111&&this.throwUnexpectedToken(u.InvalidRegExp),c<=65535?String.fromCharCode(c):s}).replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,s));try{RegExp(i)}catch{this.throwUnexpectedToken(u.InvalidRegExp)}try{return new RegExp(e,t)}catch{return null}}scanRegExpBody(){let e=this.source[this.index];y(e==="/","Regular expression literal must start with a slash");let t=this.source[this.index++],s=!1,i=!1;for(;!this.eof();)if(e=this.source[this.index++],t+=e,e==="\\")e=this.source[this.index++],p.isLineTerminator(e.charCodeAt(0))&&this.throwUnexpectedToken(u.UnterminatedRegExp),t+=e;else if(p.isLineTerminator(e.charCodeAt(0)))this.throwUnexpectedToken(u.UnterminatedRegExp);else if(s)e==="]"&&(s=!1);else if(e==="/"){i=!0;break}else e==="["&&(s=!0);return i||this.throwUnexpectedToken(u.UnterminatedRegExp),t.substr(1,t.length-2)}scanRegExpFlags(){let e="",t="";for(;!this.eof();){let s=this.source[this.index];if(!p.isIdentifierPart(s.charCodeAt(0)))break;if(++this.index,s==="\\"&&!this.eof())if(s=this.source[this.index],s==="u"){++this.index;let i=this.index;const n=this.scanHexEscape("u");if(n!==null)for(t+=n,e+="\\u";i<this.index;++i)e+=this.source[i];else this.index=i,t+="u",e+="\\u";this.tolerateUnexpectedToken()}else e+="\\",this.tolerateUnexpectedToken();else t+=s,e+=s}return t}scanRegExp(){const e=this.index,t=this.scanRegExpBody(),s=this.scanRegExpFlags(),i=this.testRegExp(t,s);return{type:9,value:"",pattern:t,flags:s,regex:i,lineNumber:this.lineNumber,lineStart:this.lineStart,start:e,end:this.index}}lex(){if(this.eof())return{type:2,value:"",lineNumber:this.lineNumber,lineStart:this.lineStart,start:this.index,end:this.index};const e=this.source.charCodeAt(this.index);return p.isIdentifierStart(e)?this.scanIdentifier():e===40||e===41||e===59?this.scanPunctuator():e===39||e===34?this.scanStringLiteral():e===46?p.isDecimalDigit(this.source.charCodeAt(this.index+1))?this.scanNumericLiteral():this.scanPunctuator():p.isDecimalDigit(e)?this.scanNumericLiteral():e===96||e===125&&this.curlyStack[this.curlyStack.length-1]==="${"?this.scanTemplate():e>=55296&&e<57343&&p.isIdentifierStart(this.codePointAt(this.index))?this.scanIdentifier():this.scanPunctuator()}}const F={};F[1]="Boolean";F[2]="<end>";F[3]="Identifier";F[4]="Keyword";F[5]="Null";F[6]="Numeric";F[7]="Punctuator";F[8]="String";F[9]="RegularExpression";F[10]="Template";const k="ArrowParameterPlaceHolder";class ae{constructor(e,t={},s){this.config={range:typeof t.range=="boolean"&&t.range,loc:typeof t.loc=="boolean"&&t.loc,source:null,tokens:typeof t.tokens=="boolean"&&t.tokens,comment:typeof t.comment=="boolean"&&t.comment,tolerant:typeof t.tolerant=="boolean"&&t.tolerant},this.config.loc&&t.source&&t.source!==null&&(this.config.source=String(t.source)),this.delegate=s,this.errorHandler=new ft,this.errorHandler.tolerant=this.config.tolerant==!0,this.scanner=new Et(e,this.errorHandler),this.scanner.trackComment=this.config.comment==!0,this.operatorPrecedence={")":0,";":0,",":0,"=":0,"]":0,"??":5,"||":6,"&&":7,"|":8,"^":9,"&":10,"==":11,"!=":11,"===":11,"!==":11,"<":12,">":12,"<=":12,">=":12,"<<":13,">>":13,">>>":13,"+":14,"-":14,"*":15,"/":15,"%":15},this.lookahead={type:2,value:"",lineNumber:this.scanner.lineNumber,lineStart:0,start:0,end:0},this.hasLineTerminator=!1,this.context={isModule:!1,isAsync:!1,allowIn:!0,allowStrictDirective:!0,allowSuper:!1,allowYield:!0,firstCoverInitializedNameError:null,isAssignmentTarget:!1,isBindingElement:!1,inConstructor:!1,inFunctionBody:!1,inIteration:!1,inSwitch:!1,inClassConstructor:!1,labelSet:{},strict:!1,decorators:null},this.tokens=[],this.startMarker={index:0,line:this.scanner.lineNumber,column:0},this.lastMarker={index:0,line:this.scanner.lineNumber,column:0},this.nextToken(),this.lastMarker={index:this.scanner.index,line:this.scanner.lineNumber,column:this.scanner.index-this.scanner.lineStart}}throwError(e,...t){const s=t.slice(),i=e.replace(/%(\d)/g,(c,D)=>(y(D<s.length,"Message reference must be in range"),s[D])),n=this.lastMarker.index,a=this.lastMarker.line,h=this.lastMarker.column+1;throw this.errorHandler.createError(n,a,h,i)}tolerateError(e,...t){const s=t.slice(),i=e.replace(/%(\d)/g,(c,D)=>(y(D<s.length,"Message reference must be in range"),s[D])),n=this.lastMarker.index,a=this.scanner.lineNumber,h=this.lastMarker.column+1;this.errorHandler.tolerateError(n,a,h,i)}unexpectedTokenError(e,t){let s=t||u.UnexpectedToken,i;if(e?(t||(s=e.type===2?u.UnexpectedEOS:e.type===3?u.UnexpectedIdentifier:e.type===6?u.UnexpectedNumber:e.type===8?u.UnexpectedString:e.type===10?u.UnexpectedTemplate:u.UnexpectedToken,e.type===4&&(this.scanner.isFutureReservedWord(e.value)?s=u.UnexpectedReserved:this.context.strict&&this.scanner.isStrictModeReservedWord(e.value)&&(s=u.StrictReservedWord))),i=e.value):i="ILLEGAL",s=s.replace("%0",i),e&&typeof e.lineNumber=="number"){const n=e.start,a=e.lineNumber,h=this.lastMarker.index-this.lastMarker.column,c=e.start-h+1;return this.errorHandler.createError(n,a,c,s)}else{const n=this.lastMarker.index,a=this.lastMarker.line,h=this.lastMarker.column+1;return this.errorHandler.createError(n,a,h,s)}}throwUnexpectedToken(e,t){throw this.unexpectedTokenError(e,t)}tolerateUnexpectedToken(e,t){this.errorHandler.tolerate(this.unexpectedTokenError(e,t))}tolerateInvalidLoopStatement(){(this.matchKeyword("class")||this.matchKeyword("function"))&&this.tolerateError(u.UnexpectedToken,this.lookahead)}collectComments(){if(!this.config.comment)this.scanner.scanComments();else{const e=this.scanner.scanComments();if(e.length>0&&this.delegate)for(let t=0;t<e.length;++t){const s=e[t],i={type:s.multiLine?"BlockComment":"LineComment",value:this.scanner.source.slice(s.slice[0],s.slice[1])};this.config.range&&(i.range=s.range),this.config.loc&&(i.loc=s.loc);const n={start:{line:s.loc.start.line,column:s.loc.start.column,offset:s.range[0]},end:{line:s.loc.end.line,column:s.loc.end.column,offset:s.range[1]}};this.delegate(i,n)}}}getTokenRaw(e){return this.scanner.source.slice(e.start,e.end)}convertToken(e){const t={type:F[e.type],value:this.getTokenRaw(e)};if(this.config.range&&(t.range=[e.start,e.end]),this.config.loc&&(t.loc={start:{line:this.startMarker.line,column:this.startMarker.column},end:{line:this.scanner.lineNumber,column:this.scanner.index-this.scanner.lineStart}}),e.type===9){const s=e.pattern,i=e.flags;t.regex={pattern:s,flags:i}}return t}nextToken(){const e=this.lookahead;this.lastMarker.index=this.scanner.index,this.lastMarker.line=this.scanner.lineNumber,this.lastMarker.column=this.scanner.index-this.scanner.lineStart,this.collectComments(),this.scanner.index!==this.startMarker.index&&(this.startMarker.index=this.scanner.index,this.startMarker.line=this.scanner.lineNumber,this.startMarker.column=this.scanner.index-this.scanner.lineStart);const t=this.scanner.lex();return this.hasLineTerminator=e.lineNumber!==t.lineNumber,t&&this.context.strict&&t.type===3&&this.scanner.isStrictModeReservedWord(t.value)&&(t.type=4),this.lookahead=t,this.config.tokens&&t.type!==2&&this.tokens.push(this.convertToken(t)),e}nextRegexToken(){this.collectComments();const e=this.scanner.scanRegExp();return this.config.tokens&&(this.tokens.pop(),this.tokens.push(this.convertToken(e))),this.lookahead=e,this.nextToken(),e}createNode(){return{index:this.startMarker.index,line:this.startMarker.line,column:this.startMarker.column}}startNode(e,t=0){let s=e.start-e.lineStart,i=e.lineNumber;return s<0&&(s+=t,i--),{index:e.start,line:i,column:s}}finalize(e,t){if(this.config.range&&(t.range=[e.index,this.lastMarker.index]),this.config.loc&&(t.loc={start:{line:e.line,column:e.column},end:{line:this.lastMarker.line,column:this.lastMarker.column}},this.config.source&&(t.loc.source=this.config.source)),this.delegate){const s={start:{line:e.line,column:e.column,offset:e.index},end:{line:this.lastMarker.line,column:this.lastMarker.column,offset:this.lastMarker.index}};this.delegate(t,s)}return t}expect(e){const t=this.nextToken();(t.type!==7||t.value!==e)&&this.throwUnexpectedToken(t)}expectCommaSeparator(){if(this.config.tolerant){const e=this.lookahead;e.type===7&&e.value===","?this.nextToken():e.type===7&&e.value===";"?(this.nextToken(),this.tolerateUnexpectedToken(e)):this.tolerateUnexpectedToken(e,u.UnexpectedToken)}else this.expect(",")}expectKeyword(e){const t=this.nextToken();(t.type!==4||t.value!==e)&&this.throwUnexpectedToken(t)}match(e){return this.lookahead.type===7&&this.lookahead.value===e}matchKeyword(e){return this.lookahead.type===4&&this.lookahead.value===e}matchContextualKeyword(e){return this.lookahead.type===3&&this.lookahead.value===e}matchAssign(){if(this.lookahead.type!==7)return!1;const e=this.lookahead.value;return e==="="||e==="*="||e==="**="||e==="/="||e==="%="||e==="+="||e==="-="||e==="<<="||e===">>="||e===">>>="||e==="&="||e==="^="||e==="|="||e==="&&="||e==="||="||e==="??="}isolateCoverGrammar(e){const t=this.context.isBindingElement,s=this.context.isAssignmentTarget,i=this.context.firstCoverInitializedNameError;this.context.isBindingElement=!0,this.context.isAssignmentTarget=!0,this.context.firstCoverInitializedNameError=null;const n=e.call(this);return this.context.firstCoverInitializedNameError!==null&&this.throwUnexpectedToken(this.context.firstCoverInitializedNameError),this.context.isBindingElement=t,this.context.isAssignmentTarget=s,this.context.firstCoverInitializedNameError=i,n}inheritCoverGrammar(e){const t=this.context.isBindingElement,s=this.context.isAssignmentTarget,i=this.context.firstCoverInitializedNameError;this.context.isBindingElement=!0,this.context.isAssignmentTarget=!0,this.context.firstCoverInitializedNameError=null;const n=e.call(this);return this.context.isBindingElement=this.context.isBindingElement&&t,this.context.isAssignmentTarget=this.context.isAssignmentTarget&&s,this.context.firstCoverInitializedNameError=i||this.context.firstCoverInitializedNameError,n}consumeSemicolon(){this.match(";")?this.nextToken():this.hasLineTerminator||(this.lookahead.type!==2&&!this.match("}")&&this.throwUnexpectedToken(this.lookahead),this.lastMarker.index=this.startMarker.index,this.lastMarker.line=this.startMarker.line,this.lastMarker.column=this.startMarker.column)}parsePrimaryExpression(){const e=this.createNode();let t,s,i;switch(this.lookahead.type){case 3:(this.context.isModule||this.context.isAsync)&&this.lookahead.value==="await"&&this.tolerateUnexpectedToken(this.lookahead),t=this.matchAsyncFunction()?this.parseFunctionExpression():this.finalize(e,new g(this.nextToken().value));break;case 6:case 8:this.context.strict&&this.lookahead.octal&&this.tolerateUnexpectedToken(this.lookahead,u.StrictOctalLiteral),this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,s=this.nextToken(),i=this.getTokenRaw(s),typeof s.value=="bigint"?t=this.finalize(e,new q(s.value,i,s.value.toString())):t=this.finalize(e,new B(s.value,i));break;case 1:this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,s=this.nextToken(),i=this.getTokenRaw(s),t=this.finalize(e,new B(s.value==="true",i));break;case 5:this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,s=this.nextToken(),i=this.getTokenRaw(s),t=this.finalize(e,new B(null,i));break;case 10:t=this.parseTemplateLiteral({isTagged:!1});break;case 7:switch(this.lookahead.value){case"(":this.context.isBindingElement=!1,t=this.inheritCoverGrammar(this.parseGroupExpression);break;case"[":t=this.inheritCoverGrammar(this.parseArrayInitializer);break;case"{":t=this.inheritCoverGrammar(this.parseObjectInitializer);break;case"/":case"/=":this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,this.scanner.index=this.startMarker.index,s=this.nextRegexToken(),i=this.getTokenRaw(s),t=this.finalize(e,new st(s.regex,i,s.pattern,s.flags));break;case"#":this.nextToken(),t=this.finalize(e,new U(this.nextToken().value));break;case"@":let n=this.parseDecorators();this.context.decorators=n,this.parsePrimaryExpression(),this.context.decorators=null,t=this.finalize(e,new U(this.nextToken().value));break;default:t=this.throwUnexpectedToken(this.nextToken())}break;case 4:!this.context.strict&&this.context.allowYield&&this.matchKeyword("yield")?t=this.parseIdentifierName():!this.context.strict&&this.matchKeyword("let")?t=this.finalize(e,new g(this.nextToken().value)):(this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,this.matchKeyword("function")?t=this.parseFunctionExpression():this.matchKeyword("this")?(this.nextToken(),t=this.finalize(e,new ct)):this.matchKeyword("class")?t=this.parseClassExpression():this.matchKeyword("new")?t=this.parseNewExpression():this.matchImportCall()?t=this.parseImportCall():this.matchImportMeta()?(this.context.isModule||this.tolerateUnexpectedToken(this.lookahead,u.CannotUseImportMetaOutsideAModule),t=this.parseImportMeta()):t=this.throwUnexpectedToken(this.nextToken()));break;default:t=this.throwUnexpectedToken(this.nextToken())}return t}parseSpreadElement(){const e=this.createNode();this.expect("...");const t=this.inheritCoverGrammar(this.parseAssignmentExpression);return this.finalize(e,new rt(t))}parseArrayInitializer(){const e=this.createNode(),t=[];for(this.expect("[");!this.match("]");)if(this.match(","))this.nextToken(),t.push(null);else if(this.match("...")){const s=this.parseSpreadElement();this.match("]")||(this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,this.expect(",")),t.push(s)}else t.push(this.inheritCoverGrammar(this.parseAssignmentExpression)),this.match("]")||this.expect(",");return this.expect("]"),this.finalize(e,new Ee(t))}parsePropertyMethod(e){this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1;const t=this.context.strict,s=this.context.allowStrictDirective;this.context.allowStrictDirective=e.simple;const i=this.isolateCoverGrammar(this.parseFunctionSourceElements);return this.context.strict&&e.firstRestricted&&this.tolerateUnexpectedToken(e.firstRestricted,e.message),this.context.strict&&e.stricted&&this.tolerateUnexpectedToken(e.stricted,e.message),this.context.strict=t,this.context.allowStrictDirective=s,i}parsePropertyMethodFunction(e){const t=this.createNode(),s=this.context.allowYield;this.context.allowYield=!0;const i=this.parseFormalParameters(),n=this.parsePropertyMethod(i);return this.context.allowYield=s,this.finalize(t,new v(null,i.params,n,e,!1))}parsePropertyMethodAsyncFunction(e){const t=this.createNode(),s=this.context.allowYield,i=this.context.isAsync;this.context.allowYield=!1,this.context.isAsync=!0;const n=this.parseFormalParameters(),a=this.parsePropertyMethod(n);return this.context.allowYield=s,this.context.isAsync=i,this.finalize(t,new v(null,n.params,a,e,!0))}parseObjectPropertyKey(e=!1){const t=this.createNode(),s=this.nextToken();let i;switch(s.type){case 8:case 6:this.context.strict&&s.octal&&this.tolerateUnexpectedToken(s,u.StrictOctalLiteral);const n=this.getTokenRaw(s);typeof s.value=="bigint"?i=this.finalize(t,new q(s.value,n,s.value.toString())):i=this.finalize(t,new B(s.value,n));break;case 3:case 1:case 5:case 4:i=this.finalize(t,e?new U(s.value):new g(s.value));break;case 7:s.value==="["?(i=this.isolateCoverGrammar(this.parseAssignmentExpression),this.expect("]")):i=this.throwUnexpectedToken(s);break;default:i=this.throwUnexpectedToken(s)}return i}isPropertyKey(e,t){return e.type===o.Identifier&&e.name===t||e.type===o.Literal&&e.value===t}parseObjectProperty(e){const t=this.createNode(),s=this.lookahead;let i,n=null,a=null,h=!1,c=!1,D=!1,l=!1,d=!1;if(s.type===3){const x=s.value;this.nextToken(),h=this.match("["),l=!this.hasLineTerminator&&x==="async"&&!this.match(":")&&!this.match("(")&&!this.match(","),d=this.match("*"),d&&this.nextToken(),n=l?this.parseObjectPropertyKey():this.finalize(t,new g(x))}else this.match("*")?this.nextToken():(h=this.match("["),n=this.parseObjectPropertyKey());const m=this.qualifiedPropertyName(this.lookahead);if(s.type===3&&!l&&s.value==="get"&&m)i="get",h=this.match("["),n=this.parseObjectPropertyKey(),this.context.allowYield=!1,a=this.parseGetterMethod();else if(s.type===3&&!l&&s.value==="set"&&m)i="set",h=this.match("["),n=this.parseObjectPropertyKey(),a=this.parseSetterMethod();else if(s.type===7&&s.value==="*"&&m)i="init",h=this.match("["),n=this.parseObjectPropertyKey(),a=this.parseGeneratorMethod(!1),c=!0;else if(n||this.throwUnexpectedToken(this.lookahead),i="init",this.match(":")&&!l)!h&&this.isPropertyKey(n,"__proto__")&&(e.value&&this.tolerateError(u.DuplicateProtoProperty),e.value=!0),this.nextToken(),a=this.inheritCoverGrammar(this.parseAssignmentExpression);else if(this.match("("))a=l?this.parsePropertyMethodAsyncFunction(d):this.parsePropertyMethodFunction(d),c=!0;else if(s.type===3){const x=this.finalize(t,new g(s.value));if(this.match("=")){this.context.firstCoverInitializedNameError=this.lookahead,this.nextToken(),D=!0;const A=this.isolateCoverGrammar(this.parseAssignmentExpression);a=this.finalize(t,new X(x,A))}else D=!0,a=x}else this.throwUnexpectedToken(this.nextToken());return this.finalize(t,new Q(i,n,h,a,c,D))}parseObjectInitializer(){const e=this.createNode();this.expect("{");const t=[],s={value:!1};for(;!this.match("}");){const i=this.match("...")?this.parseSpreadElement():this.parseObjectProperty(s);t.push(i),!this.match("}")&&(!i.method||this.match(","))&&this.expectCommaSeparator()}return this.expect("}"),this.finalize(e,new Ze(t))}throwTemplateLiteralEarlyErrors(e){switch(e.notEscapeSequenceHead){case"u":return this.throwUnexpectedToken(e,u.InvalidUnicodeEscapeSequence);case"x":return this.throwUnexpectedToken(e,u.InvalidHexEscapeSequence);case"8":case"9":return this.throwUnexpectedToken(e,u.TemplateEscape89);default:return this.throwUnexpectedToken(e,u.TemplateOctalLiteral)}}parseTemplateHead(e){y(this.lookahead.head,"Template literal must start with a template head");const t=this.createNode(),s=this.nextToken();!e.isTagged&&s.notEscapeSequenceHead!==null&&this.throwTemplateLiteralEarlyErrors(s);const i=s.value,n=s.cooked;return this.finalize(t,new te({raw:i,cooked:n},s.tail))}parseTemplateElement(e){this.lookahead.type!==10&&this.throwUnexpectedToken();const t=this.createNode(),s=this.nextToken();!e.isTagged&&s.notEscapeSequenceHead!==null&&this.throwTemplateLiteralEarlyErrors(s);const i=s.value,n=s.cooked;return this.finalize(t,new te({raw:i,cooked:n},s.tail))}parseTemplateLiteral(e){const t=this.createNode(),s=[],i=[];let n=this.parseTemplateHead(e);for(i.push(n);!n.tail;)s.push(this.parseExpression()),n=this.parseTemplateElement(e),i.push(n);return this.finalize(t,new ht(i,s))}reinterpretExpressionAsPattern(e){switch(e.type){case o.Identifier:case o.MemberExpression:case o.RestElement:case o.AssignmentPattern:break;case o.SpreadElement:e.type=o.RestElement,this.reinterpretExpressionAsPattern(e.argument);break;case o.ArrayExpression:e.type=o.ArrayPattern;for(let t=0;t<e.elements.length;t++)e.elements[t]!==null&&this.reinterpretExpressionAsPattern(e.elements[t]);break;case o.ObjectExpression:e.type=o.ObjectPattern;for(let t=0;t<e.properties.length;t++){const s=e.properties[t];this.reinterpretExpressionAsPattern(s.type===o.SpreadElement?s:s.value)}break;case o.AssignmentExpression:e.type=o.AssignmentPattern,delete e.operator,this.reinterpretExpressionAsPattern(e.left);break}}parseGroupExpression(){let e;if(this.expect("("),this.match(")"))this.nextToken(),this.match("=>")||this.expect("=>"),e={type:k,params:[],async:!1};else{const t=this.lookahead,s=[];if(this.match("..."))e=this.parseRestElement(s),this.expect(")"),this.match("=>")||this.expect("=>"),e={type:k,params:[e],async:!1};else{let i=!1;if(this.context.isBindingElement=!0,e=this.inheritCoverGrammar(this.parseAssignmentExpression),this.match(",")){const n=[];for(this.context.isAssignmentTarget=!1,n.push(e);this.lookahead.type!==2&&this.match(",");){if(this.nextToken(),this.match(")")){this.nextToken();for(let a=0;a<n.length;a++)this.reinterpretExpressionAsPattern(n[a]);i=!0,e={type:k,params:n,async:!1}}else if(this.match("...")){this.context.isBindingElement||this.throwUnexpectedToken(this.lookahead),n.push(this.parseRestElement(s)),this.expect(")"),this.match("=>")||this.expect("=>"),this.context.isBindingElement=!1;for(let a=0;a<n.length;a++)this.reinterpretExpressionAsPattern(n[a]);i=!0,e={type:k,params:n,async:!1}}else n.push(this.inheritCoverGrammar(this.parseAssignmentExpression));if(i)break}i||(e=this.finalize(this.startNode(t),new R(n)))}if(!i){if(this.expect(")"),this.match("=>")&&(e.type===o.Identifier&&e.name==="yield"&&(i=!0,e={type:k,params:[e],async:!1}),!i)){if(this.context.isBindingElement||this.throwUnexpectedToken(this.lookahead),e.type===o.SequenceExpression)for(let a=0;a<e.expressions.length;a++)this.reinterpretExpressionAsPattern(e.expressions[a]);else this.reinterpretExpressionAsPattern(e);const n=e.type===o.SequenceExpression?e.expressions:[e];e={type:k,params:n,async:!1}}this.context.isBindingElement=!1}}}return e}parseArguments(){this.expect("(");const e=[];if(!this.match(")"))for(;;){const t=this.match("...")?this.parseSpreadElement():this.isolateCoverGrammar(this.parseAssignmentExpression);if(e.push(t),this.match(")")||(this.expectCommaSeparator(),this.match(")")))break}return this.expect(")"),e}isIdentifierName(e){return e.type===3||e.type===4||e.type===1||e.type===5}parseIdentifierName(e=!1){let t=!1,s=this.createNode(),i=this.nextToken();return i.value==="#"&&e&&(i=this.nextToken(),t=!0),this.isIdentifierName(i)||this.throwUnexpectedToken(i),this.finalize(s,t?new U(i.value):new g(i.value))}parseNewExpression(){const e=this.createNode(),t=this.parseIdentifierName();y(t.name==="new","New expression must start with `new`");let s;if(this.match("."))if(this.nextToken(),this.lookahead.type===3&&this.context.inFunctionBody&&this.lookahead.value==="target"){const i=this.parseIdentifierName();s=new $(t,i)}else this.throwUnexpectedToken(this.lookahead);else if(this.matchKeyword("import"))this.throwUnexpectedToken(this.lookahead);else{const i=this.isolateCoverGrammar(this.parseLeftHandSideExpression),n=this.match("(")?this.parseArguments():[];s=new Qe(i,n),this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1}return this.finalize(e,s)}parseAsyncArgument(){const e=this.parseAssignmentExpression();return this.context.firstCoverInitializedNameError=null,e}parseAsyncArguments(){this.expect("(");const e=[];if(!this.match(")"))for(;;){const t=this.match("...")?this.parseSpreadElement():this.isolateCoverGrammar(this.parseAsyncArgument);if(e.push(t),this.match(")")||(this.expectCommaSeparator(),this.match(")")))break}return this.expect(")"),e}matchImportCall(){let e=this.matchKeyword("import");if(e){const t=this.scanner.saveState();this.scanner.scanComments();const s=this.scanner.lex();this.scanner.restoreState(t),e=s.type===7&&s.value==="("}return e}parseImportCall(){const e=this.createNode();this.expectKeyword("import"),this.expect("(");const t=this.parseAssignmentExpression();let s=null;return this.match(",")&&(this.nextToken(),s=this.parseObjectInitializer()),!this.match(")")&&this.config.tolerant?this.tolerateUnexpectedToken(this.nextToken()):(this.expect(")"),this.match(";")&&this.nextToken()),this.finalize(e,new He(t,s))}matchImportMeta(){let e=this.matchKeyword("import");if(e){const t=this.scanner.saveState();this.scanner.scanComments();const s=this.scanner.lex();if(s.type===7&&s.value==="."){this.scanner.scanComments();const i=this.scanner.lex();e=i.type===3&&i.value==="meta",e&&i.end-i.start!==4&&this.tolerateUnexpectedToken(i,u.InvalidEscapedReservedWord)}else e=!1;this.scanner.restoreState(t)}return e}parseImportMeta(){const e=this.createNode(),t=this.parseIdentifierName();this.expect(".");const s=this.parseIdentifierName();return this.context.isAssignmentTarget=!1,this.finalize(e,new $(t,s))}parseLeftHandSideExpressionAllowCall(){const e=this.lookahead,t=this.matchContextualKeyword("async"),s=this.context.allowIn;this.context.allowIn=!0;let i;const n=this.matchKeyword("super");n&&this.context.inFunctionBody?(i=this.createNode(),this.nextToken(),i=this.finalize(i,new Z),!this.match("(")&&!this.match(".")&&!this.match("[")&&this.throwUnexpectedToken(this.lookahead)):i=this.inheritCoverGrammar(this.matchKeyword("new")?this.parseNewExpression:this.parsePrimaryExpression),n&&this.match("(")&&(!this.context.inClassConstructor||!this.context.allowSuper)&&this.tolerateError(u.UnexpectedSuper);let a=!1;for(;;){let h=!1;if(this.match("?.")&&(h=!0,a=!0,this.expect("?.")),this.match("(")){const c=t&&e.lineNumber===this.lookahead.lineNumber;this.context.isBindingElement=!1,this.context.isAssignmentTarget=!1;const D=c?this.parseAsyncArguments():this.parseArguments();if(i.type===o.ImportExpression&&D.length!==1&&this.tolerateError(u.BadImportCallArity),i=this.finalize(this.startNode(e),new we(i,D,h)),c&&this.match("=>")){for(let l=0;l<D.length;++l)this.reinterpretExpressionAsPattern(D[l]);i={type:k,params:D,async:!0}}}else if(this.match("[")){this.context.isBindingElement=!1,this.context.isAssignmentTarget=!h,this.expect("[");const c=this.isolateCoverGrammar(this.parseExpression);this.expect("]"),i=this.finalize(this.startNode(e),new P(!0,i,c,h))}else if(this.lookahead.type===10&&this.lookahead.head){h&&this.throwUnexpectedToken(this.lookahead),a&&this.throwError(u.InvalidTaggedTemplateOnOptionalChain);const c=this.parseTemplateLiteral({isTagged:!0});i=this.finalize(this.startNode(e),new ee(i,c))}else if(this.match(".")||h){this.context.isBindingElement=!1,this.context.isAssignmentTarget=!h,h||this.expect(".");const c=this.parseIdentifierName(!0);i=this.finalize(this.startNode(e),new P(!1,i,c,h))}else break}return this.context.allowIn=s,a?new V(i):i}parseSuper(){const e=this.createNode();return this.expectKeyword("super"),!this.match("[")&&!this.match(".")&&this.throwUnexpectedToken(this.lookahead),this.finalize(e,new Z)}parseLeftHandSideExpression(){y(this.context.allowIn,"callee of new expression always allow in keyword.");const e=this.startNode(this.lookahead);let t=this.matchKeyword("super")&&this.context.inFunctionBody?this.parseSuper():this.inheritCoverGrammar(this.matchKeyword("new")?this.parseNewExpression:this.parsePrimaryExpression),s=!1;for(;;){let i=!1;if(this.match("?.")&&(i=!0,s=!0,this.expect("?.")),this.match("[")){this.context.isBindingElement=!1,this.context.isAssignmentTarget=!i,this.expect("[");const n=this.isolateCoverGrammar(this.parseExpression);this.expect("]"),t=this.finalize(e,new P(!0,t,n,i))}else if(this.lookahead.type===10&&this.lookahead.head){i&&this.throwUnexpectedToken(this.lookahead),s&&this.throwError(u.InvalidTaggedTemplateOnOptionalChain);const n=this.parseTemplateLiteral({isTagged:!0});t=this.finalize(e,new ee(t,n))}else if(this.match(".")||i){this.context.isBindingElement=!1,this.context.isAssignmentTarget=!i,i||this.expect(".");const n=this.parseIdentifierName();t=this.finalize(e,new P(!1,t,n,i))}else break}return s?new V(t):t}parseUpdateExpression(){let e;const t=this.lookahead;if(this.match("++")||this.match("--")){const s=this.startNode(t),i=this.nextToken();e=this.inheritCoverGrammar(this.parseUnaryExpression),this.context.strict&&e.type===o.Identifier&&this.scanner.isRestrictedWord(e.name)&&this.tolerateError(u.StrictLHSPrefix),this.context.isAssignmentTarget||this.tolerateError(u.InvalidLHSInAssignment);const n=!0;e=this.finalize(s,new se(i.value,e,n)),this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1}else if(e=this.inheritCoverGrammar(this.parseLeftHandSideExpressionAllowCall),!this.hasLineTerminator&&this.lookahead.type===7&&(this.match("++")||this.match("--"))){this.context.strict&&e.type===o.Identifier&&this.scanner.isRestrictedWord(e.name)&&this.tolerateError(u.StrictLHSPostfix),this.context.isAssignmentTarget||this.tolerateError(u.InvalidLHSInAssignment),this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1;const s=this.nextToken().value,i=!1;e=this.finalize(this.startNode(t),new se(s,e,i))}return e}parseAwaitExpression(){const e=this.createNode();this.nextToken();const t=this.parseUnaryExpression();return this.finalize(e,new ke(t))}parseUnaryExpression(){let e;if(this.match("+")||this.match("-")||this.match("~")||this.match("!")||this.matchKeyword("delete")||this.matchKeyword("void")||this.matchKeyword("typeof")){const t=this.startNode(this.lookahead),s=this.nextToken();e=this.inheritCoverGrammar(this.parseUnaryExpression),e=this.finalize(t,new dt(s.value,e)),this.context.strict&&e.operator==="delete"&&e.argument.type===o.Identifier&&this.tolerateError(u.StrictDelete),this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1}else(this.context.isModule&&!this.context.inFunctionBody||this.context.isAsync)&&this.matchContextualKeyword("await")?e=this.parseAwaitExpression():e=this.parseUpdateExpression();return e}parseExponentiationExpression(){const e=this.lookahead,t=this.match("(");let s=this.inheritCoverGrammar(this.parseUnaryExpression);if((s.type!==o.UnaryExpression||t)&&this.match("**")){this.nextToken(),this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1;const n=s,a=this.isolateCoverGrammar(this.parseExponentiationExpression);s=this.finalize(this.startNode(e),new J("**",n,a))}return s}binaryPrecedence(e){const t=e.value;let s;return e.type===7?s=this.operatorPrecedence[t]||0:e.type===4?s=t==="instanceof"||this.context.allowIn&&t==="in"?12:0:s=0,s}parseBinaryExpression(){const e=this.lookahead;let t=this.inheritCoverGrammar(this.parseExponentiationExpression),s=!0,i=!0;const n=c=>{(c.value==="&&"||c.value==="||")&&(i=!1),c.value==="??"&&(s=!1)},a=this.lookahead;let h=this.binaryPrecedence(a);if(h>0){n(a),this.nextToken(),this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1;const c=[e,this.lookahead];let D=t,l=this.isolateCoverGrammar(this.parseExponentiationExpression);const d=[D,a.value,l],m=[h];for(;h=this.binaryPrecedence(this.lookahead),!(h<=0);){for((!s&&(this.lookahead.value==="&&"||this.lookahead.value==="||")||!i&&this.lookahead.value==="??")&&this.throwUnexpectedToken(this.lookahead),n(this.lookahead);d.length>2&&h<=m[m.length-1];){l=d.pop();const f=d.pop();m.pop(),D=d.pop(),c.pop();const C=c[c.length-1],b=this.startNode(C,C.lineStart),S=f==="||"||f==="&&"||f==="??";d.push(this.finalize(b,S?new _(f,D,l):new J(f,D,l)))}d.push(this.nextToken().value),m.push(h),c.push(this.lookahead),d.push(this.isolateCoverGrammar(this.parseExponentiationExpression))}let x=d.length-1;t=d[x];let A=c.pop();for(;x>1;){const f=c.pop(),C=A&&A.lineStart,b=this.startNode(f,C),S=d[x-1],oe=S==="||"||S==="&&"||S==="??";t=this.finalize(b,oe?new _(S,d[x-2],t):new J(S,d[x-2],t)),x-=2,A=f}}return t}parseConditionalExpression(){const e=this.lookahead;let t=this.inheritCoverGrammar(this.parseBinaryExpression);if(this.match("?")){this.nextToken();const s=this.context.allowIn;this.context.allowIn=!0;const i=this.isolateCoverGrammar(this.parseAssignmentExpression);this.context.allowIn=s,this.expect(":");const n=this.isolateCoverGrammar(this.parseAssignmentExpression);t=this.finalize(this.startNode(e),new Te(t,i,n)),this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1}return t}checkPatternParam(e,t){switch(t.type){case o.Identifier:this.validateParam(e,t,t.name);break;case o.RestElement:this.checkPatternParam(e,t.argument);break;case o.AssignmentPattern:this.checkPatternParam(e,t.left);break;case o.ArrayPattern:for(let s=0;s<t.elements.length;s++)t.elements[s]!==null&&this.checkPatternParam(e,t.elements[s]);break;case o.ObjectPattern:for(let s=0;s<t.properties.length;s++){const i=t.properties[s];this.checkPatternParam(e,i.type===o.RestElement?i:i.value)}break}e.simple=e.simple&&t instanceof g}reinterpretAsCoverFormalsList(e){let t=[e];const s={simple:!0,paramSet:{}};let i=!1;switch(e.type){case o.Identifier:break;case k:t=e.params,i=e.async;break;default:return null}for(let n=0;n<t.length;++n){const a=t[n];a.type===o.AssignmentPattern?a.right.type===o.YieldExpression&&(a.right.argument&&this.throwUnexpectedToken(this.lookahead),a.right.type=o.Identifier,a.right.name="yield",delete a.right.argument,delete a.right.delegate):i&&a.type===o.Identifier&&a.name==="await"&&this.throwUnexpectedToken(this.lookahead),this.checkPatternParam(s,a),t[n]=a}if(this.context.strict||!this.context.allowYield)for(let n=0;n<t.length;++n)t[n].type===o.YieldExpression&&this.throwUnexpectedToken(this.lookahead);if(s.hasDuplicateParameterNames){const n=this.context.strict?s.stricted:s.firstRestricted;this.throwUnexpectedToken(n,u.DuplicateParameter)}return{simple:s.simple,params:t,stricted:s.stricted,firstRestricted:s.firstRestricted,message:s.message}}parseAssignmentExpression(){let e;if(!this.context.allowYield&&this.matchKeyword("yield"))e=this.parseYieldExpression();else{const t=this.lookahead;let s=t;if(e=this.parseConditionalExpression(),s.type===3&&s.lineNumber===this.lookahead.lineNumber&&s.value==="async"&&(this.lookahead.type===3||this.matchKeyword("yield"))){const i=this.parsePrimaryExpression();this.reinterpretExpressionAsPattern(i),e={type:k,params:[i],async:!0}}if(e.type===k||this.match("=>")){this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1;const i=e.async,n=this.reinterpretAsCoverFormalsList(e);if(n){this.hasLineTerminator&&this.tolerateUnexpectedToken(this.lookahead),this.context.firstCoverInitializedNameError=null;const a=this.context.strict,h=this.context.allowStrictDirective;this.context.allowStrictDirective=n.simple;const c=this.context.allowYield,D=this.context.isAsync;this.context.allowYield=!0,this.context.isAsync=i;const l=this.startNode(t);this.expect("=>");let d;if(this.match("{")){const x=this.context.allowIn;this.context.allowIn=!0,d=this.parseFunctionSourceElements(),this.context.allowIn=x}else d=this.isolateCoverGrammar(this.parseAssignmentExpression);const m=d.type!==o.BlockStatement;this.context.strict&&n.firstRestricted&&this.throwUnexpectedToken(n.firstRestricted,n.message),this.context.strict&&n.stricted&&this.tolerateUnexpectedToken(n.stricted,n.message),e=this.finalize(l,new Ae(n.params,d,m,i)),this.context.strict=a,this.context.allowStrictDirective=h,this.context.allowYield=c,this.context.isAsync=D}}else if(this.matchAssign()){if(this.context.isAssignmentTarget||this.tolerateError(u.InvalidLHSInAssignment),this.context.strict&&e.type===o.Identifier){const a=e;this.scanner.isRestrictedWord(a.name)&&this.tolerateUnexpectedToken(s,u.StrictLHSAssignment),this.scanner.isStrictModeReservedWord(a.name)&&this.tolerateUnexpectedToken(s,u.StrictReservedWord)}this.match("=")?this.reinterpretExpressionAsPattern(e):(this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1),s=this.nextToken();const i=s.value,n=this.isolateCoverGrammar(this.parseAssignmentExpression);e=this.finalize(this.startNode(t),new Fe(i,e,n)),this.context.firstCoverInitializedNameError=null}}return e}parseExpression(){const e=this.lookahead;let t=this.isolateCoverGrammar(this.parseAssignmentExpression);if(this.match(",")){const s=[];for(s.push(t);this.lookahead.type!==2&&this.match(",");)this.nextToken(),s.push(this.isolateCoverGrammar(this.parseAssignmentExpression));t=this.finalize(this.startNode(e),new R(s))}return t}parseStatementListItem(){let e;if(this.context.isAssignmentTarget=!0,this.context.isBindingElement=!0,this.lookahead.type===4)switch(this.lookahead.value){case"export":this.context.isModule||this.tolerateUnexpectedToken(this.lookahead,u.IllegalExportDeclaration),e=this.parseExportDeclaration();break;case"import":this.matchImportCall()?e=this.parseExpressionStatement():this.matchImportMeta()?e=this.parseStatement():(this.context.isModule||this.tolerateUnexpectedToken(this.lookahead,u.IllegalImportDeclaration),e=this.parseImportDeclaration());break;case"const":e=this.parseLexicalDeclaration({inFor:!1});break;case"function":e=this.parseFunctionDeclaration();break;case"class":e=this.parseClassDeclaration();break;case"let":e=this.isLexicalDeclaration()?this.parseLexicalDeclaration({inFor:!1}):this.parseStatement();break;default:e=this.parseStatement();break}else e=this.parseStatement();return e}parseBlock(){const e=this.createNode();this.expect("{");const t=[];for(;!this.match("}");)t.push(this.parseStatementListItem());return this.expect("}"),this.finalize(e,new j(t))}parseLexicalBinding(e,t){const s=this.createNode(),i=[],n=this.parsePattern(i,e);this.context.strict&&n.type===o.Identifier&&this.scanner.isRestrictedWord(n.name)&&this.tolerateError(u.StrictVarName);let a=null;return e==="const"?!this.matchKeyword("in")&&!this.matchContextualKeyword("of")&&(this.match("=")?(this.nextToken(),a=this.isolateCoverGrammar(this.parseAssignmentExpression)):this.throwError(u.DeclarationMissingInitializer,"const")):(!t.inFor&&n.type!==o.Identifier||this.match("="))&&(this.expect("="),a=this.isolateCoverGrammar(this.parseAssignmentExpression)),this.finalize(s,new ie(n,a))}parseBindingList(e,t){const s=[this.parseLexicalBinding(e,t)];for(;this.match(",");)this.nextToken(),s.push(this.parseLexicalBinding(e,t));return s}isLexicalDeclaration(){const e=this.scanner.saveState();this.scanner.scanComments();const t=this.scanner.lex();return this.scanner.restoreState(e),t.type===3||t.type===7&&t.value==="["||t.type===7&&t.value==="{"||t.type===4&&t.value==="let"||t.type===4&&t.value==="yield"}parseLexicalDeclaration(e){const t=this.createNode(),s=this.nextToken().value;y(s==="let"||s==="const","Lexical declaration must be either let or const");const i=this.parseBindingList(s,e);return this.consumeSemicolon(),this.finalize(t,new w(i,s))}isInitializedProperty(){let e=this.scanner.saveState();this.scanner.scanComments();let t=this.scanner.lex();return this.scanner.restoreState(e),this.lookahead.type===3&&t.value==="="}isDeclaredProperty(){let e=this.scanner.saveState();this.scanner.scanComments();let t=this.scanner.lex();return this.scanner.restoreState(e),this.lookahead.type===3&&t.value===";"||this.lookahead.type===3&&t.lineNumber!==this.startMarker.line}parseBindingRestElement(e,t){const s=this.createNode();this.expect("...");const i=this.parsePattern(e,t);return this.finalize(s,new z(i))}parseArrayPattern(e,t){const s=this.createNode();this.expect("[");const i=[];for(;!this.match("]");)if(this.match(","))this.nextToken(),i.push(null);else{if(this.match("...")){i.push(this.parseBindingRestElement(e,t));break}else i.push(this.parsePatternWithDefault(e,t));this.match("]")||this.expect(",")}return this.expect("]"),this.finalize(s,new Ce(i))}parsePropertyPattern(e,t){const s=this.createNode();let i=!1,n=!1;const a=!1;let h,c;if(this.lookahead.type===3){const D=this.lookahead;h=this.parseVariableIdentifier();const l=this.finalize(s,new g(D.value));if(this.match("=")){e.push(D),n=!0,this.nextToken();const d=this.parseAssignmentExpression();c=this.finalize(this.startNode(D),new X(l,d))}else this.match(":")?(this.expect(":"),c=this.parsePatternWithDefault(e,t)):(e.push(D),n=!0,c=l)}else i=this.match("["),h=this.parseObjectPropertyKey(),this.expect(":"),c=this.parsePatternWithDefault(e,t);return this.finalize(s,new Q("init",h,i,c,a,n))}parseRestProperty(e){const t=this.createNode();this.expect("...");const s=this.parsePattern(e);return this.match("=")&&this.throwError(u.DefaultRestProperty),this.match("}")||this.throwError(u.PropertyAfterRestProperty),this.finalize(t,new z(s))}parseObjectPattern(e,t){const s=this.createNode(),i=[];for(this.expect("{");!this.match("}");)i.push(this.match("...")?this.parseRestProperty(e):this.parsePropertyPattern(e,t)),this.match("}")||this.expect(",");return this.expect("}"),this.finalize(s,new et(i))}parsePattern(e,t){let s;return this.match("[")?s=this.parseArrayPattern(e,t):this.match("{")?s=this.parseObjectPattern(e,t):(this.matchKeyword("let")&&(t==="const"||t==="let")&&this.tolerateUnexpectedToken(this.lookahead,u.LetInLexicalBinding),e.push(this.lookahead),s=this.parseVariableIdentifier(t)),s}parsePatternWithDefault(e,t){const s=this.lookahead;let i=this.parsePattern(e,t);if(this.match("=")){this.nextToken();const n=this.context.allowYield;this.context.allowYield=!0;const a=this.isolateCoverGrammar(this.parseAssignmentExpression);this.context.allowYield=n,i=this.finalize(this.startNode(s),new X(i,a))}return i}parseVariableIdentifier(e){const t=this.createNode(),s=this.nextToken();return s.type===4&&s.value==="yield"?this.context.strict?this.tolerateUnexpectedToken(s,u.StrictReservedWord):this.context.allowYield||this.throwUnexpectedToken(s):s.type!==3?this.context.strict&&s.type===4&&this.scanner.isStrictModeReservedWord(s.value)?this.tolerateUnexpectedToken(s,u.StrictReservedWord):(this.context.strict||s.value!=="let"||e!=="var")&&this.throwUnexpectedToken(s):(this.context.isModule||this.context.isAsync)&&s.type===3&&s.value==="await"&&this.tolerateUnexpectedToken(s),this.finalize(t,new g(s.value))}parseVariableDeclaration(e){const t=this.createNode(),s=[],i=this.parsePattern(s,"var");this.context.strict&&i.type===o.Identifier&&this.scanner.isRestrictedWord(i.name)&&this.tolerateError(u.StrictVarName);let n=null;return this.match("=")?(this.nextToken(),n=this.isolateCoverGrammar(this.parseAssignmentExpression)):i.type!==o.Identifier&&!e.inFor&&this.expect("="),this.finalize(t,new ie(i,n))}parseVariableDeclarationList(e){const t={inFor:e.inFor},s=[];for(s.push(this.parseVariableDeclaration(t));this.match(",");)this.nextToken(),s.push(this.parseVariableDeclaration(t));return s}parseVariableStatement(){const e=this.createNode();this.expectKeyword("var");const t=this.parseVariableDeclarationList({inFor:!1});return this.consumeSemicolon(),this.finalize(e,new w(t,"var"))}parseEmptyStatement(){const e=this.createNode();return this.expect(";"),this.finalize(e,new I)}parseExpressionStatement(){const e=this.createNode(),t=this.parseExpression();return this.consumeSemicolon(),this.finalize(e,new O(t))}parseIfClause(){return this.context.strict&&this.matchKeyword("function")&&this.tolerateError(u.StrictFunction),this.parseStatement()}parseIfStatement(){const e=this.createNode();let t,s=null;this.expectKeyword("if"),this.expect("(");const i=this.parseExpression();return!this.match(")")&&this.config.tolerant?(this.tolerateUnexpectedToken(this.nextToken()),t=this.finalize(this.createNode(),new I)):(this.expect(")"),t=this.parseIfClause(),this.matchKeyword("else")&&(this.nextToken(),s=this.parseIfClause())),this.finalize(e,new Ke(i,t,s))}parseDoWhileStatement(){const e=this.createNode();this.expectKeyword("do"),this.tolerateInvalidLoopStatement();const t=this.context.inIteration;this.context.inIteration=!0;const s=this.parseStatement();this.context.inIteration=t,this.expectKeyword("while"),this.expect("(");const i=this.parseExpression();return!this.match(")")&&this.config.tolerant?this.tolerateUnexpectedToken(this.nextToken()):(this.expect(")"),this.match(";")&&this.nextToken()),this.finalize(e,new ze(s,i))}parseWhileStatement(){const e=this.createNode();let t;this.expectKeyword("while"),this.expect("(");const s=this.parseExpression();if(!this.match(")")&&this.config.tolerant)this.tolerateUnexpectedToken(this.nextToken()),t=this.finalize(this.createNode(),new I);else{this.expect(")");const i=this.context.inIteration;this.context.inIteration=!0,t=this.parseStatement(),this.context.inIteration=i}return this.finalize(e,new Dt(s,t))}parseForStatement(){let e=null,t=null,s=null,i=!0,n,a,h=!1;const c=this.createNode();if(this.expectKeyword("for"),this.matchContextualKeyword("await")&&(this.context.isAsync||this.tolerateUnexpectedToken(this.lookahead),h=!0,this.nextToken()),this.expect("("),this.match(";"))this.nextToken();else if(this.matchKeyword("var")){e=this.createNode(),this.nextToken();const l=this.context.allowIn;this.context.allowIn=!1;const d=this.parseVariableDeclarationList({inFor:!0});if(this.context.allowIn=l,!h&&d.length===1&&this.matchKeyword("in")){const m=d[0];m.init&&(m.id.type===o.ArrayPattern||m.id.type===o.ObjectPattern||this.context.strict)&&this.tolerateError(u.ForInOfLoopInitializer,"for-in"),e=this.finalize(e,new w(d,"var")),this.nextToken(),n=e,a=this.parseExpression(),e=null}else d.length===1&&d[0].init===null&&this.matchContextualKeyword("of")?(e=this.finalize(e,new w(d,"var")),this.nextToken(),n=e,a=this.parseAssignmentExpression(),e=null,i=!1):(e=this.finalize(e,new w(d,"var")),this.expect(";"))}else if(this.matchKeyword("const")||this.matchKeyword("let")){e=this.createNode();const l=this.nextToken().value;if(!this.context.strict&&this.lookahead.value==="in")e=this.finalize(e,new g(l)),this.nextToken(),n=e,a=this.parseExpression(),e=null;else{const d=this.context.allowIn;this.context.allowIn=!1;const m=this.parseBindingList(l,{inFor:!0});this.context.allowIn=d,m.length===1&&m[0].init===null&&this.matchKeyword("in")?(e=this.finalize(e,new w(m,l)),this.nextToken(),n=e,a=this.parseExpression(),e=null):m.length===1&&m[0].init===null&&this.matchContextualKeyword("of")?(e=this.finalize(e,new w(m,l)),this.nextToken(),n=e,a=this.parseAssignmentExpression(),e=null,i=!1):(this.consumeSemicolon(),e=this.finalize(e,new w(m,l)))}}else{const l=this.lookahead,d=this.context.isBindingElement,m=this.context.isAssignmentTarget,x=this.context.firstCoverInitializedNameError,A=this.context.allowIn;if(this.context.allowIn=!1,e=this.inheritCoverGrammar(this.parseAssignmentExpression),this.context.allowIn=A,this.matchKeyword("in"))(!this.context.isAssignmentTarget||e.type===o.AssignmentExpression)&&this.tolerateError(u.InvalidLHSInForIn),this.nextToken(),this.reinterpretExpressionAsPattern(e),n=e,a=this.parseExpression(),e=null;else if(this.matchContextualKeyword("of"))(!this.context.isAssignmentTarget||e.type===o.AssignmentExpression)&&this.tolerateError(u.InvalidLHSInForLoop),this.nextToken(),this.reinterpretExpressionAsPattern(e),n=e,a=this.parseAssignmentExpression(),e=null,i=!1;else{if(this.context.isBindingElement=d,this.context.isAssignmentTarget=m,this.context.firstCoverInitializedNameError=x,this.match(",")){const f=[e];for(;this.match(",");)this.nextToken(),f.push(this.isolateCoverGrammar(this.parseAssignmentExpression));e=this.finalize(this.startNode(l),new R(f))}this.expect(";")}}typeof n>"u"&&(this.match(";")||(t=this.isolateCoverGrammar(this.parseExpression)),this.expect(";"),this.match(")")||(s=this.isolateCoverGrammar(this.parseExpression)));let D;if(!this.match(")")&&this.config.tolerant)this.tolerateUnexpectedToken(this.nextToken()),D=this.finalize(this.createNode(),new I);else{this.expect(")"),this.tolerateInvalidLoopStatement();const l=this.context.inIteration;this.context.inIteration=!0,D=this.isolateCoverGrammar(this.parseStatement),this.context.inIteration=l}return typeof n>"u"?this.finalize(c,new Oe(e,t,s,D)):i?this.finalize(c,new Je(n,a,D)):this.finalize(c,new Me(n,a,D,h))}parseContinueStatement(){const e=this.createNode();this.expectKeyword("continue");let t=null;if(this.lookahead.type===3&&!this.hasLineTerminator){const s=this.parseVariableIdentifier();t=s;const i="$"+s.name;Object.prototype.hasOwnProperty.call(this.context.labelSet,i)||this.throwError(u.UnknownLabel,s.name)}return this.consumeSemicolon(),t===null&&!this.context.inIteration&&this.throwError(u.IllegalContinue),this.finalize(e,new Ie(t))}parseBreakStatement(){const e=this.createNode();this.expectKeyword("break");let t=null;if(this.lookahead.type===3&&!this.hasLineTerminator){const s=this.parseVariableIdentifier(),i="$"+s.name;Object.prototype.hasOwnProperty.call(this.context.labelSet,i)||this.throwError(u.UnknownLabel,s.name),t=s}return this.consumeSemicolon(),t===null&&!this.context.inIteration&&!this.context.inSwitch&&this.throwError(u.IllegalBreak),this.finalize(e,new ye(t))}parseReturnStatement(){this.context.inFunctionBody||this.tolerateError(u.IllegalReturn);const e=this.createNode();this.expectKeyword("return");const s=!this.match(";")&&!this.match("}")&&!this.hasLineTerminator&&this.lookahead.type!==2||this.lookahead.type===8||this.lookahead.type===10?this.parseExpression():null;return this.consumeSemicolon(),this.finalize(e,new it(s))}parseWithStatement(){this.context.strict&&this.tolerateError(u.StrictModeWith);const e=this.createNode();let t;this.expectKeyword("with"),this.expect("(");const s=this.parseExpression();return!this.match(")")&&this.config.tolerant?(this.tolerateUnexpectedToken(this.nextToken()),t=this.finalize(this.createNode(),new I)):(this.expect(")"),t=this.parseStatement()),this.finalize(e,new mt(s,t))}parseSwitchCase(){const e=this.createNode();let t;this.matchKeyword("default")?(this.nextToken(),t=null):(this.expectKeyword("case"),t=this.parseExpression()),this.expect(":");const s=[];for(;!(this.match("}")||this.matchKeyword("default")||this.matchKeyword("case"));)s.push(this.parseStatementListItem());return this.finalize(e,new ot(t,s))}parseSwitchStatement(){const e=this.createNode();this.expectKeyword("switch"),this.expect("(");const t=this.parseExpression();this.expect(")");const s=this.context.inSwitch;this.context.inSwitch=!0;const i=[];let n=!1;for(this.expect("{");!this.match("}");){const a=this.parseSwitchCase();a.test===null&&(n&&this.throwError(u.MultipleDefaultsInSwitch),n=!0),i.push(a)}return this.expect("}"),this.context.inSwitch=s,this.finalize(e,new ut(t,i))}parseLabelledStatement(){const e=this.createNode(),t=this.parseExpression();let s;if(t.type===o.Identifier&&this.match(":")){this.nextToken();const i=t,n="$"+i.name;Object.prototype.hasOwnProperty.call(this.context.labelSet,n)&&this.throwError(u.Redeclaration,"Label",i.name),this.context.labelSet[n]=!0;let a;if(this.matchKeyword("class"))this.tolerateUnexpectedToken(this.lookahead),a=this.parseClassDeclaration();else if(this.matchKeyword("function")){const h=this.lookahead,c=this.parseFunctionDeclaration();this.context.strict?this.tolerateUnexpectedToken(h,u.StrictFunction):c.generator&&this.tolerateUnexpectedToken(h,u.GeneratorInLegacyContext),a=c}else a=this.parseStatement();delete this.context.labelSet[n],s=new Ve(i,a)}else this.consumeSemicolon(),s=new O(t);return this.finalize(e,s)}parseThrowStatement(){const e=this.createNode();this.expectKeyword("throw"),this.hasLineTerminator&&this.throwError(u.NewlineAfterThrow);const t=this.parseExpression();return this.consumeSemicolon(),this.finalize(e,new lt(t))}parseCatchClause(){const e=this.createNode();this.expectKeyword("catch");let t=null;if(this.match("(")){this.expect("("),this.match(")")&&this.throwUnexpectedToken(this.lookahead);const i=[];t=this.parsePattern(i);const n={};for(let a=0;a<i.length;a++){const h="$"+i[a].value;Object.prototype.hasOwnProperty.call(n,h)&&this.tolerateError(u.DuplicateBinding,i[a].value),n[h]=!0}this.context.strict&&t.type===o.Identifier&&this.scanner.isRestrictedWord(t.name)&&this.tolerateError(u.StrictCatchVariable),this.expect(")")}const s=this.parseBlock();return this.finalize(e,new Se(t,s))}parseFinallyClause(){return this.expectKeyword("finally"),this.parseBlock()}parseTryStatement(){const e=this.createNode();this.expectKeyword("try");const t=this.parseBlock(),s=this.matchKeyword("catch")?this.parseCatchClause():null,i=this.matchKeyword("finally")?this.parseFinallyClause():null;return!s&&!i&&this.throwError(u.NoCatchOrFinally),this.finalize(e,new pt(t,s,i))}parseDebuggerStatement(){const e=this.createNode();return this.expectKeyword("debugger"),this.consumeSemicolon(),this.finalize(e,new Ne)}parseStatement(){let e;switch(this.lookahead.type){case 1:case 5:case 6:case 8:case 10:case 9:e=this.parseExpressionStatement();break;case 7:const t=this.lookahead.value;t==="{"?e=this.parseBlock():t==="("?e=this.parseExpressionStatement():t===";"?e=this.parseEmptyStatement():e=this.parseExpressionStatement();break;case 3:e=this.matchAsyncFunction()?this.parseFunctionDeclaration():this.parseLabelledStatement();break;case 4:switch(this.lookahead.value){case"break":e=this.parseBreakStatement();break;case"continue":e=this.parseContinueStatement();break;case"debugger":e=this.parseDebuggerStatement();break;case"do":e=this.parseDoWhileStatement();break;case"for":e=this.parseForStatement();break;case"function":e=this.parseFunctionDeclaration();break;case"if":e=this.parseIfStatement();break;case"return":e=this.parseReturnStatement();break;case"switch":e=this.parseSwitchStatement();break;case"throw":e=this.parseThrowStatement();break;case"try":e=this.parseTryStatement();break;case"var":e=this.parseVariableStatement();break;case"while":e=this.parseWhileStatement();break;case"with":e=this.parseWithStatement();break;default:e=this.parseExpressionStatement();break}break;default:e=this.throwUnexpectedToken(this.lookahead)}return e}parseFunctionSourceElements(){const e=this.createNode();this.expect("{");const t=this.parseDirectivePrologues(),s=this.context.labelSet,i=this.context.inIteration,n=this.context.inSwitch,a=this.context.inFunctionBody;for(this.context.labelSet={},this.context.inIteration=!1,this.context.inSwitch=!1,this.context.inFunctionBody=!0;this.lookahead.type!==2&&!this.match("}");)t.push(this.parseStatementListItem());return this.expect("}"),this.context.labelSet=s,this.context.inIteration=i,this.context.inSwitch=n,this.context.inFunctionBody=a,this.finalize(e,new j(t))}validateParam(e,t,s){const i="$"+s;this.context.strict?(this.scanner.isRestrictedWord(s)&&(e.stricted=t,e.message=u.StrictParamName),Object.prototype.hasOwnProperty.call(e.paramSet,i)&&(e.stricted=t,e.hasDuplicateParameterNames=!0)):e.firstRestricted||(this.scanner.isRestrictedWord(s)?(e.firstRestricted=t,e.message=u.StrictParamName):this.scanner.isStrictModeReservedWord(s)?(e.firstRestricted=t,e.message=u.StrictReservedWord):Object.prototype.hasOwnProperty.call(e.paramSet,i)&&(e.stricted=t,e.hasDuplicateParameterNames=!0)),typeof Object.defineProperty=="function"?Object.defineProperty(e.paramSet,i,{value:!0,enumerable:!0,writable:!0,configurable:!0}):e.paramSet[i]=!0}parseRestElement(e){const t=this.createNode();this.expect("...");const s=this.parsePattern(e);return this.match("=")&&this.throwError(u.DefaultRestParameter),this.match(")")||this.throwError(u.ParameterAfterRestParameter),this.finalize(t,new z(s))}parseFormalParameter(e){const t=[],s=this.match("...")?this.parseRestElement(t):this.parsePatternWithDefault(t);for(let i=0;i<t.length;i++)this.validateParam(e,t[i],t[i].value);e.simple=e.simple&&s instanceof g,e.params.push(s)}parseFormalParameters(e){const t={simple:!0,hasDuplicateParameterNames:!1,params:[],firstRestricted:e};if(this.expect("("),!this.match(")"))for(t.paramSet={};this.lookahead.type!==2&&(this.parseFormalParameter(t),!(this.match(")")||(this.expect(","),this.match(")")))););return this.expect(")"),t.hasDuplicateParameterNames&&(this.context.strict||this.context.isAsync||!t.simple)&&this.throwError(u.DuplicateParameter),{simple:t.simple,params:t.params,stricted:t.stricted,firstRestricted:t.firstRestricted,message:t.message}}matchAsyncFunction(){let e=this.matchContextualKeyword("async");if(e){const t=this.scanner.saveState();this.scanner.scanComments();const s=this.scanner.lex();this.scanner.restoreState(t),e=t.lineNumber===s.lineNumber&&s.type===4&&s.value==="function"}return e}parseFunctionDeclaration(e){const t=this.createNode(),s=this.matchContextualKeyword("async");s&&(this.context.inIteration&&this.tolerateError(u.AsyncFunctionInSingleStatementContext),this.nextToken()),this.expectKeyword("function");const i=this.match("*");i&&this.nextToken();let n,a=null,h=null;if(!e||!this.match("(")){const C=this.lookahead;a=this.parseVariableIdentifier(),this.context.strict?this.scanner.isRestrictedWord(C.value)&&this.tolerateUnexpectedToken(C,u.StrictFunctionName):this.scanner.isRestrictedWord(C.value)?(h=C,n=u.StrictFunctionName):this.scanner.isStrictModeReservedWord(C.value)&&(h=C,n=u.StrictReservedWord)}const c=this.context.isAsync,D=this.context.allowYield;this.context.isAsync=s,this.context.allowYield=!i;const l=this.parseFormalParameters(h),d=l.params,m=l.stricted;h=l.firstRestricted,l.message&&(n=l.message);const x=this.context.strict,A=this.context.allowStrictDirective;this.context.allowStrictDirective=l.simple;const f=this.parseFunctionSourceElements();return this.context.strict&&h&&this.throwUnexpectedToken(h,n),this.context.strict&&m&&this.tolerateUnexpectedToken(m,n),this.context.strict=x,this.context.allowStrictDirective=A,this.context.isAsync=c,this.context.allowYield=D,s?this.finalize(t,new ge(a,d,f,i)):this.finalize(t,new Re(a,d,f,i))}parseFunctionExpression(){const e=this.createNode(),t=this.matchContextualKeyword("async");t&&this.nextToken(),this.expectKeyword("function");const s=this.match("*");s&&this.nextToken();let i,n=null,a;const h=this.context.isAsync,c=this.context.allowYield;if(this.context.isAsync=t,this.context.allowYield=!s,!this.match("(")){const f=this.lookahead;n=!this.context.strict&&!s&&this.matchKeyword("yield")?this.parseIdentifierName():this.parseVariableIdentifier(),this.context.strict?this.scanner.isRestrictedWord(f.value)&&this.tolerateUnexpectedToken(f,u.StrictFunctionName):this.scanner.isRestrictedWord(f.value)?(a=f,i=u.StrictFunctionName):this.scanner.isStrictModeReservedWord(f.value)&&(a=f,i=u.StrictReservedWord)}const D=this.parseFormalParameters(a),l=D.params,d=D.stricted;a=D.firstRestricted,D.message&&(i=D.message);const m=this.context.strict,x=this.context.allowStrictDirective;this.context.allowStrictDirective=D.simple;const A=this.parseFunctionSourceElements();return this.context.strict&&a&&this.throwUnexpectedToken(a,i),this.context.strict&&d&&this.tolerateUnexpectedToken(d,i),this.context.strict=m,this.context.allowStrictDirective=x,this.context.isAsync=h,this.context.allowYield=c,this.finalize(e,new v(n,l,A,s,t))}parseDirective(){const e=this.lookahead,t=this.createNode(),s=this.parseExpression(),i=s.type===o.Literal?this.getTokenRaw(e).slice(1,-1):null;return this.consumeSemicolon(),this.finalize(t,i?new Ue(s,i):new O(s))}parseDirectivePrologues(){let e=null;const t=[];for(;;){const s=this.lookahead;if(s.type!==8)break;const i=this.parseDirective();t.push(i);const n=i.directive;if(typeof n!="string")break;n==="use strict"?(this.context.strict=!0,e&&this.tolerateUnexpectedToken(e,u.StrictOctalLiteral),this.context.allowStrictDirective||this.tolerateUnexpectedToken(s,u.IllegalLanguageModeDirective)):!e&&s.octal&&(e=s)}return t}qualifiedPropertyName(e){switch(e.type){case 3:case 8:case 1:case 5:case 6:case 4:return!0;case 7:return e.value==="["||e.value==="#"}return!1}parseGetterMethod(){const e=this.createNode(),t=!1,s=this.context.allowYield;this.context.allowYield=!t;const i=this.parseFormalParameters();i.params.length>0&&this.tolerateError(u.BadGetterArity);const n=this.parsePropertyMethod(i);return this.context.allowYield=s,this.finalize(e,new v(null,i.params,n,t,!1))}parseSetterMethod(){const e=this.createNode(),t=!1,s=this.context.allowYield;this.context.allowYield=!t;const i=this.parseFormalParameters();i.params.length!==1?this.tolerateError(u.BadSetterArity):i.params[0]instanceof z&&this.tolerateError(u.BadSetterRestParameter);const n=this.parsePropertyMethod(i);return this.context.allowYield=s,this.finalize(e,new v(null,i.params,n,t,!1))}parseGeneratorMethod(e){const t=this.createNode(),s=!0,i=this.context.allowYield;this.context.allowYield=!0;const n=this.parseFormalParameters();this.context.allowYield=!1;const a=this.parsePropertyMethod(n);return this.context.allowYield=i,this.finalize(t,new v(null,n.params,a,s,e))}isStartOfExpression(){let e=!0;const t=this.lookahead.value;switch(this.lookahead.type){case 7:e=t==="["||t==="("||t==="{"||t==="+"||t==="-"||t==="!"||t==="~"||t==="++"||t==="--"||t==="/"||t==="/=";break;case 4:e=t==="class"||t==="delete"||t==="function"||t==="let"||t==="new"||t==="super"||t==="this"||t==="typeof"||t==="void"||t==="yield";break}return e}parseYieldExpression(){const e=this.createNode();this.expectKeyword("yield");let t=null,s=!1;if(!this.hasLineTerminator){const i=this.context.allowYield;this.context.allowYield=!1,s=this.match("*"),s?(this.nextToken(),t=this.parseAssignmentExpression()):this.isStartOfExpression()&&(t=this.parseAssignmentExpression()),this.context.allowYield=i}return this.finalize(e,new xt(t,s))}parseStaticBlock(){const e=this.createNode();this.expect("{");const t=[];for(;!this.match("}");)t.push(this.parseStatementListItem());return this.expect("}"),this.finalize(e,new at(t))}parseDecorator(){const e=this.createNode();this.expect("@");const t=this.context.strict,s=this.context.allowYield,i=this.context.isAsync;this.context.strict=!1,this.context.allowYield=!0,this.context.isAsync=!1;const n=this.isolateCoverGrammar(this.parseLeftHandSideExpressionAllowCall);return this.context.strict=t,this.context.allowYield=s,this.context.isAsync=i,this.match(";")&&this.throwError(u.NoSemicolonAfterDecorator),this.finalize(e,new Pe(n))}parseDecorators(){let e=null;for(;this.match("@");)e==null&&(e=[]),e.push(this.parseDecorator());return e}parseClassElement(e){let t=this.lookahead;const s=this.createNode(),i=this.context.inConstructor;let n="",a=null,h=null,c=!1,D=!1,l=!1,d=!1,m=!1,x=!1;const A=this.parseDecorators();if(A&&(t=this.lookahead),this.match("*"))this.nextToken();else{c=this.match("["),this.match("#")&&(x=!0,this.nextToken(),t=this.lookahead),a=this.parseObjectPropertyKey(x);const C=a;if(this.context.inConstructor=t.type===3&&t.value==="constructor",C.name==="static"&&(this.qualifiedPropertyName(this.lookahead)||this.match("*"))&&(t=this.lookahead,l=!0,c=this.match("["),this.match("*")?(this.nextToken(),this.match("#")&&(x=!0,this.nextToken(),t=this.lookahead)):(this.match("#")&&(x=!0,this.nextToken(),t=this.lookahead),a=this.parseObjectPropertyKey(x))),C.name==="static"&&this.match("{"))return this.parseStaticBlock();if(t.type===3&&!this.hasLineTerminator&&t.value==="async"){const b=this.lookahead.value;b!==":"&&b!=="("&&(d=!0,m=this.match("*"),m&&this.nextToken(),t=this.lookahead,c=this.match("["),this.match("*")?(this.nextToken(),this.match("#")&&(x=!0,this.nextToken())):(this.match("#")&&(x=!0,this.nextToken(),t=this.lookahead),a=this.parseObjectPropertyKey(x)),t.type===3&&t.value==="constructor"&&!l&&this.tolerateUnexpectedToken(t,u.ConstructorIsAsync))}}t.type===3&&t.value==="constructor"&&x&&this.tolerateUnexpectedToken(t,u.ConstructorIsPrivate);const f=this.qualifiedPropertyName(this.lookahead);if(t.type===3||t.type===8?t.value==="get"&&f?(n="get",this.match("#")&&(x=!0,this.nextToken(),t=this.lookahead),c=this.match("["),a=this.parseObjectPropertyKey(x),this.context.allowYield=!1,h=this.parseGetterMethod()):t.value==="set"&&f?(n="set",this.match("#")&&(x=!0,this.nextToken(),t=this.lookahead),c=this.match("["),a=this.parseObjectPropertyKey(x),h=this.parseSetterMethod()):this.match("(")||(n="property",c=!1,this.match("=")&&(this.nextToken(),h=this.isolateCoverGrammar(this.parseAssignmentExpression))):t.type===7&&t.value==="*"&&f?(n="init",c=this.match("["),a=this.parseObjectPropertyKey(x),h=this.parseGeneratorMethod(d),D=!0):t.type===7&&t.value==="["&&!this.match("(")&&(n="property",c=!0,this.match("=")&&(this.nextToken(),h=this.isolateCoverGrammar(this.parseAssignmentExpression))),!n&&a&&this.match("(")){const C=this.context.inClassConstructor;this.context.inClassConstructor=t.value==="constructor",n="init",h=d?this.parsePropertyMethodAsyncFunction(m):this.parsePropertyMethodFunction(m),this.context.inClassConstructor=C,D=!0}return n||this.throwUnexpectedToken(this.lookahead),n==="init"&&(n="method"),c||(l&&this.isPropertyKey(a,"prototype")&&this.throwUnexpectedToken(t,u.StaticPrototype),!l&&this.isPropertyKey(a,"constructor")&&((n!=="method"||!D||h&&h.generator)&&this.throwUnexpectedToken(t,u.ConstructorSpecialMethod),e.value?this.throwUnexpectedToken(t,u.DuplicateConstructor):e.value=!0,n="constructor")),this.context.inConstructor=i,n==="property"?(this.consumeSemicolon(),this.finalize(s,new tt(a,c,h,l,A))):this.finalize(s,new _e(a,c,h,n,l,A))}parseClassElementList(){const e=[],t={value:!1};for(this.expect("{");!this.match("}");)this.match(";")?this.nextToken():e.push(this.parseClassElement(t));return this.expect("}"),e}parseClassBody(){const e=this.createNode(),t=this.parseClassElementList();return this.finalize(e,new Be(t))}parseClassDeclaration(e){const t=this.createNode(),s=this.context.strict,i=this.context.allowSuper;this.context.strict=!0,this.expectKeyword("class");const n=e&&this.lookahead.type!==3?null:this.parseVariableIdentifier();let a=null;this.matchKeyword("extends")&&(this.nextToken(),a=this.isolateCoverGrammar(this.parseLeftHandSideExpressionAllowCall),this.context.allowSuper=!0);const h=this.parseClassBody();return this.context.allowSuper=i,this.context.strict=s,this.finalize(t,new be(n,a,h,this.context.decorators))}parseClassExpression(){const e=this.createNode(),t=this.context.strict;this.context.strict=!0,this.expectKeyword("class");const s=this.lookahead.type===3?this.parseVariableIdentifier():null;let i=null;this.matchKeyword("extends")&&(this.nextToken(),i=this.isolateCoverGrammar(this.parseLeftHandSideExpressionAllowCall),this.context.allowSuper=!0);const n=this.parseClassBody();return this.context.strict=t,this.finalize(e,new ve(s,i,n,this.context.decorators))}parseModule(){this.context.strict=!0,this.context.isModule=!0,this.scanner.isModule=!0;const e=this.createNode(),t=this.parseDirectivePrologues();for(;this.lookahead.type!==2;)t.push(this.parseStatementListItem());return this.finalize(e,new $e(t))}parseScript(){const e=this.createNode(),t=this.parseDirectivePrologues();for(;this.lookahead.type!==2;)t.push(this.parseStatementListItem());return this.finalize(e,new nt(t))}parseImportAttributes(){if(this.lookahead.value==="assert"){this.nextToken(),this.expect("{");const e=[];for(;!this.match("}");)e.push(this.parseImportAttribute()),this.match("}")||this.expectCommaSeparator();return this.expect("}"),e}return null}parseImportAttribute(){const e=this.createNode();this.lookahead.type!==3&&this.throwUnexpectedToken(this.nextToken());const t=this.parseIdentifierName();this.match(":")||this.throwUnexpectedToken(this.nextToken()),this.nextToken();const s=this.nextToken(),i=this.getTokenRaw(s),n=this.finalize(e,new B(s.value,i));return this.finalize(e,new Ge(t,n))}parseModuleSpecifier(){const e=this.createNode();this.lookahead.type!==8&&this.throwError(u.InvalidModuleSpecifier);const t=this.nextToken(),s=this.getTokenRaw(t);return p.isStringWellFormedUnicode(t.value)||this.throwError(u.InvalidModuleSpecifier),this.finalize(e,new B(t.value,s))}parseImportSpecifier(){const e=this.createNode();let t,s;return this.lookahead.type===3?(t=this.parseVariableIdentifier(),s=t,this.matchContextualKeyword("as")&&(this.nextToken(),s=this.parseVariableIdentifier())):(t=this.lookahead.type==8?this.parseModuleSpecifier():this.parseIdentifierName(),s=t,this.matchContextualKeyword("as")?(this.nextToken(),s=this.parseVariableIdentifier()):this.throwUnexpectedToken(this.nextToken())),this.finalize(e,new je(s,t))}parseNamedImports(){this.expect("{");const e=[];for(;!this.match("}");)e.push(this.parseImportSpecifier()),this.match("}")||this.expect(",");return this.expect("}"),e}parseImportDefaultSpecifier(){const e=this.createNode(),t=this.parseIdentifierName();return this.finalize(e,new Ye(t))}parseImportNamespaceSpecifier(){const e=this.createNode();this.expect("*"),this.matchContextualKeyword("as")||this.throwError(u.NoAsAfterImportNamespace),this.lookahead.escaped&&this.throwError(u.NoAsAndFromEscapeSequences),this.nextToken();const t=this.parseIdentifierName();return this.finalize(e,new qe(t))}parseImportDeclaration(){this.context.inFunctionBody&&this.throwError(u.IllegalImportDeclaration);const e=this.createNode();this.expectKeyword("import");let t,s=[];if(this.lookahead.type===8)t=this.parseModuleSpecifier();else{if(this.match("{")?s=s.concat(this.parseNamedImports()):this.match("*")?s.push(this.parseImportNamespaceSpecifier()):this.isIdentifierName(this.lookahead)&&!this.matchKeyword("default")?(s.push(this.parseImportDefaultSpecifier()),this.match(",")&&(this.nextToken(),this.match("*")?s.push(this.parseImportNamespaceSpecifier()):this.match("{")?s=s.concat(this.parseNamedImports()):this.throwUnexpectedToken(this.lookahead))):this.throwUnexpectedToken(this.nextToken()),!this.matchContextualKeyword("from")){const n=this.lookahead.value?u.UnexpectedToken:u.MissingFromClause;this.throwError(n,this.lookahead.value)}this.nextToken(),t=this.parseModuleSpecifier()}const i=this.parseImportAttributes();return this.consumeSemicolon(),this.finalize(e,new We(s,t,i))}parseExportSpecifier(){const e=this.createNode(),t=this.lookahead.type==8?this.parseModuleSpecifier():this.parseIdentifierName();let s=t;return this.matchContextualKeyword("as")&&(this.lookahead.escaped&&this.throwError(u.NoAsAndFromEscapeSequences),this.nextToken(),s=this.lookahead.type==8?this.parseModuleSpecifier():this.parseIdentifierName()),this.finalize(e,new Xe(t,s))}parseExportDeclaration(){this.context.inFunctionBody&&this.throwError(u.IllegalExportDeclaration);const e=this.createNode();this.expectKeyword("export");let t;if(this.matchKeyword("default"))if(this.nextToken(),this.matchKeyword("function")){const s=this.parseFunctionDeclaration(!0);t=this.finalize(e,new N(s))}else if(this.matchKeyword("class")){const s=this.parseClassDeclaration(!0);t=this.finalize(e,new N(s))}else if(this.matchContextualKeyword("async")){const s=this.matchAsyncFunction()?this.parseFunctionDeclaration(!0):this.parseAssignmentExpression();t=this.finalize(e,new N(s))}else{this.matchContextualKeyword("from")&&this.throwError(u.UnexpectedToken,this.lookahead.value);const s=this.match("{")?this.parseObjectInitializer():this.match("[")?this.parseArrayInitializer():this.parseAssignmentExpression();this.consumeSemicolon(),t=this.finalize(e,new N(s))}else if(this.match("*")){this.nextToken();let s=null;if(this.matchContextualKeyword("as")&&(this.lookahead.escaped&&this.throwError(u.NoAsAndFromEscapeSequences),this.nextToken(),s=this.lookahead.type==8?this.parseModuleSpecifier():this.parseIdentifierName()),!this.matchContextualKeyword("from")){const a=this.lookahead.value?u.UnexpectedToken:u.MissingFromClause;this.throwError(a,this.lookahead.value)}this.lookahead.escaped&&this.throwError(u.NoAsAndFromEscapeSequences),this.nextToken();const i=this.parseModuleSpecifier(),n=this.parseImportAttributes();this.consumeSemicolon(),t=this.finalize(e,new Le(i,s,n))}else if(this.lookahead.type===4){let s;switch(this.lookahead.value){case"let":case"const":s=this.parseLexicalDeclaration({inFor:!1});break;case"var":case"class":case"function":s=this.parseStatementListItem();break;default:this.throwUnexpectedToken(this.lookahead)}t=this.finalize(e,new M(s,[],null,null))}else if(this.matchAsyncFunction()){const s=this.parseFunctionDeclaration();t=this.finalize(e,new M(s,[],null,null))}else{const s=[];let i=null,n=!1,a=null;for(this.expect("{");!this.match("}");)n=n||this.matchKeyword("default"),s.push(this.parseExportSpecifier()),this.match("}")||this.expect(",");if(this.expect("}"),this.matchContextualKeyword("from"))this.lookahead.escaped&&this.throwError(u.NoAsAndFromEscapeSequences),this.nextToken(),i=this.parseModuleSpecifier(),a=this.parseImportAttributes(),this.consumeSemicolon();else if(n){const h=this.lookahead.value?u.UnexpectedToken:u.MissingFromClause;this.throwError(h,this.lookahead.value)}else a=this.parseImportAttributes(),this.consumeSemicolon();t=this.finalize(e,new M(null,s,i,a))}return t}}const re={quot:'"',amp:"&",apos:"'",gt:">",nbsp:" ",iexcl:"¡",cent:"¢",pound:"£",curren:"¤",yen:"¥",brvbar:"¦",sect:"§",uml:"¨",copy:"©",ordf:"ª",laquo:"«",not:"¬",shy:"­",reg:"®",macr:"¯",deg:"°",plusmn:"±",sup2:"²",sup3:"³",acute:"´",micro:"µ",para:"¶",middot:"·",cedil:"¸",sup1:"¹",ordm:"º",raquo:"»",frac14:"¼",frac12:"½",frac34:"¾",iquest:"¿",Agrave:"À",Aacute:"Á",Acirc:"Â",Atilde:"Ã",Auml:"Ä",Aring:"Å",AElig:"Æ",Ccedil:"Ç",Egrave:"È",Eacute:"É",Ecirc:"Ê",Euml:"Ë",Igrave:"Ì",Iacute:"Í",Icirc:"Î",Iuml:"Ï",ETH:"Ð",Ntilde:"Ñ",Ograve:"Ò",Oacute:"Ó",Ocirc:"Ô",Otilde:"Õ",Ouml:"Ö",times:"×",Oslash:"Ø",Ugrave:"Ù",Uacute:"Ú",Ucirc:"Û",Uuml:"Ü",Yacute:"Ý",THORN:"Þ",szlig:"ß",agrave:"à",aacute:"á",acirc:"â",atilde:"ã",auml:"ä",aring:"å",aelig:"æ",ccedil:"ç",egrave:"è",eacute:"é",ecirc:"ê",euml:"ë",igrave:"ì",iacute:"í",icirc:"î",iuml:"ï",eth:"ð",ntilde:"ñ",ograve:"ò",oacute:"ó",ocirc:"ô",otilde:"õ",ouml:"ö",divide:"÷",oslash:"ø",ugrave:"ù",uacute:"ú",ucirc:"û",uuml:"ü",yacute:"ý",thorn:"þ",yuml:"ÿ",OElig:"Œ",oelig:"œ",Scaron:"Š",scaron:"š",Yuml:"Ÿ",fnof:"ƒ",circ:"ˆ",tilde:"˜",Alpha:"Α",Beta:"Β",Gamma:"Γ",Delta:"Δ",Epsilon:"Ε",Zeta:"Ζ",Eta:"Η",Theta:"Θ",Iota:"Ι",Kappa:"Κ",Lambda:"Λ",Mu:"Μ",Nu:"Ν",Xi:"Ξ",Omicron:"Ο",Pi:"Π",Rho:"Ρ",Sigma:"Σ",Tau:"Τ",Upsilon:"Υ",Phi:"Φ",Chi:"Χ",Psi:"Ψ",Omega:"Ω",alpha:"α",beta:"β",gamma:"γ",delta:"δ",epsilon:"ε",zeta:"ζ",eta:"η",theta:"θ",iota:"ι",kappa:"κ",lambda:"λ",mu:"μ",nu:"ν",xi:"ξ",omicron:"ο",pi:"π",rho:"ρ",sigmaf:"ς",sigma:"σ",tau:"τ",upsilon:"υ",phi:"φ",chi:"χ",psi:"ψ",omega:"ω",thetasym:"ϑ",upsih:"ϒ",piv:"ϖ",ensp:" ",emsp:" ",thinsp:" ",zwnj:"‌",zwj:"‍",lrm:"‎",rlm:"‏",ndash:"–",mdash:"—",lsquo:"‘",rsquo:"’",sbquo:"‚",ldquo:"“",rdquo:"”",bdquo:"„",dagger:"†",Dagger:"‡",bull:"•",hellip:"…",permil:"‰",prime:"′",Prime:"″",lsaquo:"‹",rsaquo:"›",oline:"‾",frasl:"⁄",euro:"€",image:"ℑ",weierp:"℘",real:"ℜ",trade:"™",alefsym:"ℵ",larr:"←",uarr:"↑",rarr:"→",darr:"↓",harr:"↔",crarr:"↵",lArr:"⇐",uArr:"⇑",rArr:"⇒",dArr:"⇓",hArr:"⇔",forall:"∀",part:"∂",exist:"∃",empty:"∅",nabla:"∇",isin:"∈",notin:"∉",ni:"∋",prod:"∏",sum:"∑",minus:"−",lowast:"∗",radic:"√",prop:"∝",infin:"∞",ang:"∠",and:"∧",or:"∨",cap:"∩",cup:"∪",int:"∫",there4:"∴",sim:"∼",cong:"≅",asymp:"≈",ne:"≠",equiv:"≡",le:"≤",ge:"≥",sub:"⊂",sup:"⊃",nsub:"⊄",sube:"⊆",supe:"⊇",oplus:"⊕",otimes:"⊗",perp:"⊥",sdot:"⋅",lceil:"⌈",rceil:"⌉",lfloor:"⌊",rfloor:"⌋",loz:"◊",spades:"♠",clubs:"♣",hearts:"♥",diams:"♦",lang:"⟨",rang:"⟩"};F[100]="JSXIdentifier";F[101]="JSXText";function T(r){let e;switch(r.type){case E.JSXIdentifier:e=r.name;break;case E.JSXNamespacedName:const s=r;e=T(s.namespace)+":"+T(s.name);break;case E.JSXMemberExpression:const i=r;e=T(i.object)+"."+T(i.property);break}return e}class Ct extends ae{constructor(e,t,s){super(e,t,s)}parsePrimaryExpression(){return this.match("<")?this.parseJSXRoot():super.parsePrimaryExpression()}startJSX(){this.scanner.index=this.startMarker.index,this.scanner.lineNumber=this.startMarker.line,this.scanner.lineStart=this.startMarker.index-this.startMarker.column}finishJSX(){this.nextToken()}reenterJSX(){this.startJSX(),this.expectJSX("}"),this.config.tokens&&this.tokens.pop()}createJSXNode(){return this.collectComments(),{index:this.scanner.index,line:this.scanner.lineNumber,column:this.scanner.index-this.scanner.lineStart}}createJSXChildNode(){return{index:this.scanner.index,line:this.scanner.lineNumber,column:this.scanner.index-this.scanner.lineStart}}scanXHTMLEntity(e){let t="&",s=!0,i=!1,n=!1,a=!1;for(;!this.scanner.eof()&&s&&!i;){const h=this.scanner.source[this.scanner.index];if(h===e)break;if(i=h===";",t+=h,++this.scanner.index,!i)switch(t.length){case 2:n=h==="#";break;case 3:n&&(a=h==="x",s=a||p.isDecimalDigit(h.charCodeAt(0)),n=n&&!a);break;default:s=s&&!(n&&!p.isDecimalDigit(h.charCodeAt(0))),s=s&&!(a&&!p.isHexDigit(h.charCodeAt(0)));break}}if(s&&i&&t.length>2){const h=t.substr(1,t.length-2);n&&h.length>1?t=String.fromCharCode(parseInt(h.substr(1),10)):a&&h.length>2?t=String.fromCharCode(parseInt("0"+h.substr(1),16)):!n&&!a&&re[h]&&(t=re[h])}return t}lexJSX(){const e=this.scanner.source.charCodeAt(this.scanner.index);if(e===60||e===62||e===47||e===58||e===61||e===123||e===125)return{type:7,value:this.scanner.source[this.scanner.index++],lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:this.scanner.index-1,end:this.scanner.index};if(e===34||e===39){const t=this.scanner.index,s=this.scanner.source[this.scanner.index++];let i="";for(;!this.scanner.eof();){const n=this.scanner.source[this.scanner.index++];if(n===s)break;n==="&"?i+=this.scanXHTMLEntity(s):i+=n}return{type:8,value:i,lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:t,end:this.scanner.index}}if(e===46){const t=this.scanner.source.charCodeAt(this.scanner.index+1),s=this.scanner.source.charCodeAt(this.scanner.index+2),i=t===46&&s===46?"...":".",n=this.scanner.index;return this.scanner.index+=i.length,{type:7,value:i,lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:n,end:this.scanner.index}}if(e===96)return{type:10,value:"",lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:this.scanner.index,end:this.scanner.index};if(p.isIdentifierStart(e)&&e!==92){const t=this.scanner.index;for(++this.scanner.index;!this.scanner.eof();){const i=this.scanner.source.charCodeAt(this.scanner.index);if(p.isIdentifierPart(i)&&i!==92)++this.scanner.index;else if(i===45)++this.scanner.index;else break}return{type:100,value:this.scanner.source.slice(t,this.scanner.index),lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:t,end:this.scanner.index}}return this.scanner.lex()}nextJSXToken(){this.collectComments(),this.startMarker.index=this.scanner.index,this.startMarker.line=this.scanner.lineNumber,this.startMarker.column=this.scanner.index-this.scanner.lineStart;const e=this.lexJSX();return this.lastMarker.index=this.scanner.index,this.lastMarker.line=this.scanner.lineNumber,this.lastMarker.column=this.scanner.index-this.scanner.lineStart,this.config.tokens&&this.tokens.push(this.convertToken(e)),e}nextJSXText(){this.startMarker.index=this.scanner.index,this.startMarker.line=this.scanner.lineNumber,this.startMarker.column=this.scanner.index-this.scanner.lineStart;const e=this.scanner.index;let t="";for(;!this.scanner.eof();){const i=this.scanner.source[this.scanner.index];if(i==="{"||i==="<")break;++this.scanner.index,t+=i,p.isLineTerminator(i.charCodeAt(0))&&(++this.scanner.lineNumber,i==="\r"&&this.scanner.source[this.scanner.index]===`
`&&++this.scanner.index,this.scanner.lineStart=this.scanner.index)}this.lastMarker.index=this.scanner.index,this.lastMarker.line=this.scanner.lineNumber,this.lastMarker.column=this.scanner.index-this.scanner.lineStart;const s={type:101,value:t,lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:e,end:this.scanner.index};return t.length>0&&this.config.tokens&&this.tokens.push(this.convertToken(s)),s}peekJSXToken(){const e=this.scanner.saveState();this.scanner.scanComments();const t=this.lexJSX();return this.scanner.restoreState(e),t}expectJSX(e){const t=this.nextJSXToken();(t.type!==7||t.value!==e)&&this.throwUnexpectedToken(t)}matchJSX(e){const t=this.peekJSXToken();return t.type===7&&t.value===e}parseJSXIdentifier(){const e=this.createJSXNode(),t=this.nextJSXToken();return t.type!==100&&this.throwUnexpectedToken(t),this.finalize(e,new pe(t.value))}parseJSXElementName(){const e=this.createJSXNode();let t=this.parseJSXIdentifier();if(this.matchJSX(":")){const s=t;this.expectJSX(":");const i=this.parseJSXIdentifier();t=this.finalize(e,new W(s,i))}else if(this.matchJSX("."))for(;this.matchJSX(".");){const s=t;this.expectJSX(".");const i=this.parseJSXIdentifier();t=this.finalize(e,new de(s,i))}return t}parseJSXAttributeName(){const e=this.createJSXNode();let t;const s=this.parseJSXIdentifier();if(this.matchJSX(":")){const i=s;this.expectJSX(":");const n=this.parseJSXIdentifier();t=this.finalize(e,new W(i,n))}else t=s;return t}parseJSXStringLiteralAttribute(){const e=this.createJSXNode(),t=this.nextJSXToken();t.type!==8&&this.throwUnexpectedToken(t);const s=this.getTokenRaw(t);return this.finalize(e,new B(t.value,s))}parseJSXExpressionAttribute(){const e=this.createJSXNode();this.expectJSX("{"),this.finishJSX(),this.match("}")&&this.tolerateError("JSX attributes must only be assigned a non-empty expression");const t=this.parseAssignmentExpression();return this.reenterJSX(),this.finalize(e,new H(t))}parseJSXAttributeValue(){return this.matchJSX("{")?this.parseJSXExpressionAttribute():this.matchJSX("<")?this.parseJSXElement():this.parseJSXStringLiteralAttribute()}parseJSXNameValueAttribute(){const e=this.createJSXNode(),t=this.parseJSXAttributeName();let s=null;return this.matchJSX("=")&&(this.expectJSX("="),s=this.parseJSXAttributeValue()),this.finalize(e,new De(t,s))}parseJSXSpreadAttribute(){const e=this.createJSXNode();this.expectJSX("{"),this.expectJSX("..."),this.finishJSX();const t=this.parseAssignmentExpression();return this.reenterJSX(),this.finalize(e,new xe(t))}parseJSXAttributes(){const e=[];for(;!this.matchJSX("/")&&!this.matchJSX(">");){const t=this.matchJSX("{")?this.parseJSXSpreadAttribute():this.parseJSXNameValueAttribute();e.push(t)}return e}parseJSXOpeningElement(){const e=this.createJSXNode();if(this.expectJSX("<"),this.matchJSX(">"))return this.expectJSX(">"),this.finalize(e,new me(!1));const t=this.parseJSXElementName(),s=this.parseJSXAttributes(),i=this.matchJSX("/");return i&&this.expectJSX("/"),this.expectJSX(">"),this.finalize(e,new Y(t,i,s))}parseJSXBoundaryElement(){const e=this.createJSXNode();if(this.expectJSX("<"),this.matchJSX("/")){if(this.expectJSX("/"),this.matchJSX(">"))return this.expectJSX(">"),this.finalize(e,new ce);const n=this.parseJSXElementName();return this.expectJSX(">"),this.finalize(e,new he(n))}const t=this.parseJSXElementName(),s=this.parseJSXAttributes(),i=this.matchJSX("/");return i&&this.expectJSX("/"),this.expectJSX(">"),this.finalize(e,new Y(t,i,s))}parseJSXEmptyExpression(){const e=this.createJSXChildNode();return this.collectComments(),this.lastMarker.index=this.scanner.index,this.lastMarker.line=this.scanner.lineNumber,this.lastMarker.column=this.scanner.index-this.scanner.lineStart,this.finalize(e,new le)}parseJSXExpressionContainer(){const e=this.createJSXNode();this.expectJSX("{");let t;return this.matchJSX("}")?(t=this.parseJSXEmptyExpression(),this.expectJSX("}")):(this.finishJSX(),t=this.parseAssignmentExpression(),this.reenterJSX()),this.finalize(e,new H(t))}parseJSXChildren(){const e=[];for(;!this.scanner.eof();){const t=this.createJSXChildNode(),s=this.nextJSXText();if(s.start<s.end){const i=this.getTokenRaw(s),n=this.finalize(t,new fe(s.value,i));e.push(n)}if(this.scanner.source[this.scanner.index]==="{"){const i=this.parseJSXExpressionContainer();e.push(i)}else break}return e}parseComplexJSXElement(e){const t=[];for(;!this.scanner.eof();){e.children=e.children.concat(this.parseJSXChildren());const s=this.createJSXChildNode(),i=this.parseJSXBoundaryElement();if(i.type===E.JSXOpeningElement){const n=i;if(n.selfClosing){const a=this.finalize(s,new L(n,[],null));e.children.push(a)}else t.push(e),e={node:s,opening:n,closing:null,children:[]}}if(i.type===E.JSXClosingElement){e.closing=i;const n=T(e.opening.name),a=T(e.closing.name);if(n!==a&&this.tolerateError("Expected corresponding JSX closing tag for %0",n),t.length>0){const h=this.finalize(e.node,new L(e.opening,e.children,e.closing));e=t[t.length-1],e.children.push(h),t.pop()}else break}if(i.type===E.JSXClosingFragment)if(e.closing=i,e.opening.type!==E.JSXOpeningFragment)this.tolerateError("Expected corresponding JSX closing tag for jsx fragment");else break}return e}parseJSXElement(){const e=this.createJSXNode(),t=this.parseJSXOpeningElement();let s=[],i=null;if(!t.selfClosing){const n=this.parseComplexJSXElement({node:e,opening:t,closing:i,children:s});s=n.children,i=n.closing}return this.finalize(e,new L(t,s,i))}parseJSXRoot(){this.config.tokens&&this.tokens.pop(),this.startJSX();const e=this.parseJSXElement();return this.finishJSX(),e}isStartOfExpression(){return super.isStartOfExpression()||this.match("<")}}function At(r,e,t){let s=null;const i=(d,m)=>{t&&t(d,m),s&&s.visit(d,m)};let n=typeof t=="function"?i:null,a=!1;if(e){a=typeof e.comment=="boolean"&&e.comment;const d=typeof e.attachComment=="boolean"&&e.attachComment;(a||d)&&(s=new ue,s.attach=d,e.comment=!0,n=i)}let h=!1;e&&typeof e.sourceType=="string"&&(h=e.sourceType==="module");let c;e&&typeof e.jsx=="boolean"&&e.jsx?c=new Ct(r,e,n):c=new ae(r,e,n);const l=h?c.parseModule():c.parseScript();return a&&s&&(l.comments=s.comments),c.config.tokens&&(l.tokens=c.tokens),c.config.tolerant&&(l.errors=c.errorHandler.errors),l}function Ft(r,e,t){const s=e||{};return s.sourceType="script",At(r,s,t)}export{Ft as a,At as p};
//# sourceMappingURL=esprima-next-8c7e8ff9.js.map