text: (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-83b1507a"],{"0676":function(t,e){function r(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}t.exports=r},"0706":function(module,exports){var indexOf=function(t,e){if(t.indexOf)return t.indexOf(e);for(var r=0;r<t.length;r++)if(t[r]===e)return r;return-1},Object_keys=function(t){if(Object.keys)return Object.keys(t);var e=[];for(var r in t)e.push(r);return e},forEach=function(t,e){if(t.forEach)return t.forEach(e);for(var r=0;r<t.length;r++)e(t[r],r,t)},defineProp=function(){try{return Object.defineProperty({},"_",{}),function(t,e,r){Object.defineProperty(t,e,{writable:!0,enumerable:!1,configurable:!0,value:r})}}catch(t){return function(t,e,r){t[e]=r}}}(),globals=["Array","Boolean","Date","Error","EvalError","Function","Infinity","JSON","Math","NaN","Number","Object","RangeError","ReferenceError","RegExp","String","SyntaxError","TypeError","URIError","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","eval","isFinite","isNaN","parseFloat","parseInt","undefined","unescape"];function Context(){}Context.prototype={};var Script=exports.Script=function(t){if(!(this instanceof Script))return new Script(t);this.code=t};Script.prototype.runInContext=function(t){if(!(t instanceof Context))throw new TypeError("needs a 'context' argument.");var e=document.createElement("iframe");e.style||(e.style={}),e.style.display="none",document.body.appendChild(e);var r=e.contentWindow,s=r.eval,n=r.execScript;!s&&n&&(n.call(r,"null"),s=r.eval),forEach(Object_keys(t),(function(e){r[e]=t[e]})),forEach(globals,(function(e){t[e]&&(r[e]=t[e])}));var i=Object_keys(r),a=s.call(r,this.code);return forEach(Object_keys(r),(function(e){(e in t||-1===indexOf(i,e))&&(t[e]=r[e])})),forEach(globals,(function(e){e in t||defineProp(t,e,r[e])})),document.body.removeChild(e),a},Script.prototype.runInThisContext=function(){return eval(this.code)},Script.prototype.runInNewContext=function(t){var e=Script.createContext(t),r=this.runInContext(e);return t&&forEach(Object_keys(e),(function(r){t[r]=e[r]})),r},forEach(Object_keys(Script.prototype),(function(t){exports[t]=Script[t]=function(e){var r=Script(e);return r[t].apply(r,[].slice.call(arguments,1))}})),exports.isContext=function(t){return t instanceof Context},exports.createScript=function(t){return exports.Script(t)},exports.createContext=Script.createContext=function(t){var e=new Context;return"object"===typeof t&&forEach(Object_keys(t),(function(r){e[r]=t[r]})),e}},"07ac":function(t,e,r){var s=r("23e7"),n=r("6f53").values;s({target:"Object",stat:!0},{values:function(t){return n(t)}})},"0a50":function(t,e,r){"use strict";var s=r("bc76"),n=r("72a2"),i=r("77fc");function a(){this.circular=!1,this._$refs={},this._root$Ref=null}function o(t,e){var r=Object.keys(t);return e=Array.isArray(e[0])?e[0]:Array.prototype.slice.call(e),e.length>0&&e[0]&&(r=r.filter((function(r){return-1!==e.indexOf(t[r].pathType)}))),r.map((function(e){return{encoded:e,decoded:"file"===t[e].pathType?i.toFileSystemPath(e,!0):e}}))}t.exports=a,a.prototype.paths=function(t){var e=o(this._$refs,arguments);return e.map((function(t){return t.decoded}))},a.prototype.values=function(t){var e=this._$refs,r=o(e,arguments);return r.reduce((function(t,r){return t[r.decoded]=e[r.encoded].value,t}),{})},a.prototype.toJSON=a.prototype.values,a.prototype.exists=function(t,e){try{return this._resolve(t,e),!0}catch(r){return!1}},a.prototype.get=function(t,e){return this._resolve(t,e).value},a.prototype.set=function(t,e){var r=i.resolve(this._root$Ref.path,t),n=i.stripHash(r),a=this._$refs[n];if(!a)throw s('Error resolving $ref pointer "%s". \n"%s" not found.',t,n);a.set(r,e)},a.prototype._add=function(t){var e=i.stripHash(t),r=new n;return r.path=e,r.$refs=this,this._$refs[e]=r,this._root$Ref=this._root$Ref||r,r},a.prototype._resolve=function(t,e){var r=i.resolve(this._root$Ref.path,t),n=i.stripHash(r),a=this._$refs[n];if(!a)throw s('Error resolving $ref pointer "%s". \n"%s" not found.',t,n);return a.resolve(r,e,t)},a.prototype._get$Ref=function(t){t=i.resolve(this._root$Ref.path,t);var e=i.stripHash(t);return this._$refs[e]}},"11b0":function(t,e,r){function s(t){if("undefined"!==typeof Symbol&&Symbol.iterator in Object(t))return Array.from(t)}r("a4d3"),r("e01a"),r("d28b"),r("a630"),r("d3b7"),r("3ca3"),r("ddb0"),t.exports=s},"159b":function(t,e,r){var s=r("da84"),n=r("fdbc"),i=r("17c2"),a=r("9112");for(var o in n){var u=s[o],c=u&&u.prototype;if(c&&c.forEach!==i)try{a(c,"forEach",i)}catch(h){c.forEach=i}}},2236:function(t,e,r){r("277d");var s=r("5a43");function n(t){if(Array.isArray(t))return s(t)}t.exports=n},2532:function(t,e,r){"use strict";var s=r("23e7"),n=r("5a34"),i=r("1d80"),a=r("ab13");s({target:"String",proto:!0,forced:!a("includes")},{includes:function(t){return!!~String(i(this)).indexOf(n(t),arguments.length>1?arguments[1]:void 0)}})},"278c":function(t,e,r){var s=r("c135"),n=r("9b42"),i=r("6613"),a=r("c240");function o(t,e){return s(t)||n(t,e)||i(t,e)||a()}t.exports=o},"2c81":function(t,e,r){"use strict";(function(e){var r=/\.(jpeg|jpg|gif|png|bmp|ico)$/i;t.exports={order:400,allowEmpty:!0,canParse:function(t){return e.isBuffer(t.data)&&r.test(t.url)},parse:function(t){return e.isBuffer(t.data)?t.data:new e(t.data)}}}).call(this,r("b639").Buffer)},"31f3":function(t,e,r){"use strict";(function(e){r("95ed");var s=r("0a50"),n=r("b65d"),i=r("9de3"),a=r("b3fe"),o=r("8c95"),u=r("5ce6"),c=r("77fc"),h=r("bf3b"),l=r("bc76");function p(){this.schema=null,this.$refs=new s}t.exports=p,t.exports.YAML=r("87b8"),p.parse=function(t,e,r,s){var n=this,i=new n;return i.parse.apply(i,arguments)},p.prototype.parse=function(t,r,a,o){var u,p=i(arguments);if(!p.path&&!p.schema){var f=l("Expected a file path, URL, or object. Got %s",p.path||p.schema);return h(p.callback,Promise.reject(f))}this.schema=null,this.$refs=new s;var d="http";if(c.isFileSystemPath(p.path)&&(p.path=c.fromFileSystemPath(p.path),d="file"),p.path=c.resolve(c.cwd(),p.path),p.schema&&"object"===typeof p.schema){var m=this.$refs._add(p.path);m.value=p.schema,m.pathType=d,u=Promise.resolve(p.schema)}else u=n(p.path,this.$refs,p.options);var y=this;return u.then((function(t){if(!t||"object"!==typeof t||e.isBuffer(t))throw l.syntax('"%s" is not a valid JSON Schema',y.$refs._root$Ref.path||t);return y.schema=t,h(p.callback,Promise.resolve(y.schema))})).catch((function(t){return h(p.callback,Promise.reject(t))}))},p.resolve=function(t,e,r,s){var n=this,i=new n;return i.resolve.apply(i,arguments)},p.prototype.resolve=function(t,e,r,s){var n=this,o=i(arguments);return this.parse(o.path,o.schema,o.options).then((function(){return a(n,o.options)})).then((function(){return h(o.callback,Promise.resolve(n.$refs))})).catch((function(t){return h(o.callback,Promise.reject(t))}))},p.bundle=function(t,e,r,s){var n=this,i=new n;return i.bundle.apply(i,arguments)},p.prototype.bundle=function(t,e,r,s){var n=this,a=i(arguments);return this.resolve(a.path,a.schema,a.options).then((function(){return o(n,a.options),h(a.callback,Promise.resolve(n.schema))})).catch((function(t){return h(a.callback,Promise.reject(t))}))},p.dereference=function(t,e,r,s){var n=this,i=new n;return i.dereference.apply(i,arguments)},p.prototype.dereference=function(t,e,r,s){var n=this,a=i(arguments);return this.resolve(a.path,a.schema,a.options).then((function(){return u(n,a.options),h(a.callback,Promise.resolve(n.schema))})).catch((function(t){return h(a.callback,Promise.reject(t))}))}}).call(this,r("b639").Buffer)},"3f7f":function(t,e,r){"use strict";(function(e,s){var n=r("9490"),i=r("24f8"),a=r("bc76"),o=r("77fc");function u(t,e,r){return new Promise((function(n,i){t=o.parse(t),r=r||[],r.push(t.href),c(t,e).then((function(c){if(c.statusCode>=400)throw a({status:c.statusCode},"HTTP ERROR %d",c.statusCode);if(c.statusCode>=300)if(r.length>e.redirects)i(a({status:c.statusCode},"Error downloading %s. \nToo many redirects: \n  %s",r[0],r.join(" \n  ")));else{if(!c.headers.location)throw a({status:c.statusCode},"HTTP %d redirect with no location header",c.statusCode);var h=o.resolve(t,c.headers.location);u(h,e,r).then(n,i)}else n(c.body||new s(0))})).catch((function(e){i(a(e,"Error downloading",t.href))}))}))}function c(t,e){return new Promise((function(r,a){var o="https:"===t.protocol?i:n,u=o.get({hostname:t.hostname,port:t.port,path:t.path,auth:t.auth,protocol:t.protocol,headers:e.headers||{},withCredentials:e.withCredentials});"function"===typeof u.setTimeout&&u.setTimeout(e.timeout),u.on("timeout",(function(){u.abort()})),u.on("error",a),u.once("response",(function(t){t.body=new s(0),t.on("data",(function(e){t.body=s.concat([t.body,new s(e)])})),t.on("error",a),t.on("end",(function(){r(t)}))}))}))}t.exports={order:200,headers:null,timeout:5e3,redirects:5,withCredentials:!1,canRead:function(t){return o.isHttp(t.url)},read:function(t){var r=o.parse(t.url);return e.browser&&!r.protocol&&(r.protocol=o.parse(location.href).protocol),u(r,this)}}}).call(this,r("4362"),r("b639").Buffer)},"448a":function(t,e,r){var s=r("2236"),n=r("11b0"),i=r("6613"),a=r("0676");function o(t){return s(t)||n(t)||i(t)||a()}t.exports=o},"45fc":function(t,e,r){"use strict";var s=r("23e7"),n=r("b727").some,i=r("a640"),a=r("ae40"),o=i("some"),u=a("some");s({target:"Array",proto:!0,forced:!o||!u},{some:function(t){return n(this,t,arguments.length>1?arguments[1]:void 0)}})},"4fad":function(t,e,r){var s=r("23e7"),n=r("6f53").entries;s({target:"Object",stat:!0},{entries:function(t){return n(t)}})},"5a34":function(t,e,r){var s=r("44e7");t.exports=function(t){if(s(t))throw TypeError("The method doesn't accept regular expressions");return t}},"5ce6":function(t,e,r){"use strict";var s=r("72a2"),n=r("85cf"),i=r("bc76"),a=r("77fc");function o(t,e){var r=u(t.schema,t.$refs._root$Ref.path,"#",[],t.$refs,e);t.$refs.circular=r.circular,t.schema=r.value}function u(t,e,r,i,a,o){var l,p={value:t,circular:!1};return t&&"object"===typeof t&&(i.push(t),s.isAllowed$Ref(t,o)?(l=c(t,e,r,i,a,o),p.circular=l.circular,p.value=l.value):Object.keys(t).forEach((function(f){var d=n.join(e,f),m=n.join(r,f),y=t[f],D=!1;s.isAllowed$Ref(y,o)?(l=c(y,d,m,i,a,o),D=l.circular,t[f]=l.value):-1===i.indexOf(y)?(l=u(y,d,m,i,a,o),D=l.circular,t[f]=l.value):D=h(d,a,o),p.circular=p.circular||D})),i.pop()),p}function c(t,e,r,n,i,o){var c=a.resolve(e,t.$ref),l=i._resolve(c,o),p=l.circular,f=p||-1!==n.indexOf(l.value);f&&h(e,i,o);var d=s.dereference(t,l.value);if(!f){var m=u(d,l.path,r,n,i,o);f=m.circular,d=m.value}return f&&!p&&"ignore"===o.dereference.circular&&(d=t),p&&(d.$ref=r),{circular:f,value:d}}function h(t,e,r){if(e.circular=!0,!r.dereference.circular)throw i.reference("Circular $ref pointer found at %s",t);return!0}t.exports=o},"6f53":function(t,e,r){var s=r("83ab"),n=r("df75"),i=r("fc6a"),a=r("d1e7").f,o=function(t){return function(e){var r,o=i(e),u=n(o),c=u.length,h=0,l=[];while(c>h)r=u[h++],s&&!a.call(o,r)||l.push(t?[r,o[r]]:o[r]);return l}};t.exports={entries:o(!0),values:o(!1)}},"72a2":function(t,e,r){"use strict";t.exports=n;var s=r("85cf");function n(){this.path=void 0,this.value=void 0,this.$refs=void 0,this.pathType=void 0}n.prototype.exists=function(t,e){try{return this.resolve(t,e),!0}catch(r){return!1}},n.prototype.get=function(t,e){return this.resolve(t,e).value},n.prototype.resolve=function(t,e,r){var n=new s(this,t,r);return n.resolve(this.value,e)},n.prototype.set=function(t,e){var r=new s(this,t);this.value=r.set(this.value,e)},n.is$Ref=function(t){return t&&"object"===typeof t&&"string"===typeof t.$ref&&t.$ref.length>0},n.isExternal$Ref=function(t){return n.is$Ref(t)&&"#"!==t.$ref[0]},n.isAllowed$Ref=function(t,e){if(n.is$Ref(t)){if("#/"===t.$ref.substr(0,2)||"#"===t.$ref)return!0;if("#"!==t.$ref[0]&&(!e||e.resolve.external))return!0}},n.isExtended$Ref=function(t){return n.is$Ref(t)&&Object.keys(t).length>1},n.dereference=function(t,e){if(e&&"object"===typeof e&&n.isExtended$Ref(t)){var r={};return Object.keys(t).forEach((function(e){"$ref"!==e&&(r[e]=t[e])})),Object.keys(e).forEach((function(t){t in r||(r[t]=e[t])})),r}return e}},"77fc":function(t,e,r){"use strict";(function(s){var n=/^win/.test(s.platform),i=/\//g,a=/^(\w{2,}):\/\//i,o=t.exports,u=[/\?/g,"%3F",/\#/g,"%23"],c=[/\%23/g,"#",/\%24/g,"$",/\%26/g,"&",/\%2C/g,",",/\%40/g,"@"];e.parse=r("0b16").parse,e.resolve=r("0b16").resolve,e.cwd=function(){return s.browser?location.href:s.cwd()+"/"},e.getProtocol=function(t){var e=a.exec(t);if(e)return e[1].toLowerCase()},e.getExtension=function(t){var e=t.lastIndexOf(".");return e>=0?t.substr(e).toLowerCase():""},e.getHash=function(t){var e=t.indexOf("#");return e>=0?t.substr(e):"#"},e.stripHash=function(t){var e=t.indexOf("#");return e>=0&&(t=t.substr(0,e)),t},e.isHttp=function(t){var e=o.getProtocol(t);return"http"===e||"https"===e||void 0===e&&s.browser},e.isFileSystemPath=function(t){if(s.browser)return!1;var e=o.getProtocol(t);return void 0===e||"file"===e},e.fromFileSystemPath=function(t){n&&(t=t.replace(/\\/g,"/")),t=encodeURI(t);for(var e=0;e<u.length;e+=2)t=t.replace(u[e],u[e+1]);return t},e.toFileSystemPath=function(t,e){t=decodeURI(t);for(var r=0;r<c.length;r+=2)t=t.replace(c[r],c[r+1]);var s="file://"===t.substr(0,7).toLowerCase();return s&&(t="/"===t[7]?t.substr(8):t.substr(7),n&&"/"===t[1]&&(t=t[0]+":"+t.substr(1)),e?t="file:///"+t:(s=!1,t=n?t:"/"+t)),n&&!s&&(t=t.replace(i,"\\"),":\\"===t.substr(1,2)&&(t=t[0].toUpperCase()+t.substr(1))),t}}).call(this,r("4362"))},"792e":function(t,e,r){(function(t,s){var n;
  /**
   * @license
   * Lodash <https://lodash.com/>
   * Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
   * Released under MIT license <https://lodash.com/license>
   * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
   * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
   */(function(){var i,a="4.17.19",o=200,u="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",c="Expected a function",h="__lodash_hash_undefined__",l=500,p="__lodash_placeholder__",f=1,d=2,m=4,y=1,D=2,g=1,x=2,b=4,v=8,w=16,E=32,P=64,C=128,A=256,T=512,S=30,F="...",k=800,N=16,_=1,I=2,O=3,L=1/0,R=9007199254740991,B=17976931348623157e292,M=NaN,j=4294967295,U=j-1,q=j>>>1,$=[["ary",C],["bind",g],["bindKey",x],["curry",v],["curryRight",w],["flip",T],["partial",E],["partialRight",P],["rearg",A]],z="[object Arguments]",H="[object Array]",W="[object AsyncFunction]",V="[object Boolean]",K="[object Date]",J="[object DOMException]",G="[object Error]",X="[object Function]",Y="[object GeneratorFunction]",Z="[object Map]",Q="[object Number]",tt="[object Null]",et="[object Object]",rt="[object Promise]",st="[object Proxy]",nt="[object RegExp]",it="[object Set]",at="[object String]",ot="[object Symbol]",ut="[object Undefined]",ct="[object WeakMap]",ht="[object WeakSet]",lt="[object ArrayBuffer]",pt="[object DataView]",ft="[object Float32Array]",dt="[object Float64Array]",mt="[object Int8Array]",yt="[object Int16Array]",Dt="[object Int32Array]",gt="[object Uint8Array]",xt="[object Uint8ClampedArray]",bt="[object Uint16Array]",vt="[object Uint32Array]",wt=/\b__p \+= '';/g,Et=/\b(__p \+=) '' \+/g,Pt=/(__e\(.*?\)|\b__t\)) \+\n'';/g,Ct=/&(?:amp|lt|gt|quot|#39);/g,At=/[&<>"']/g,Tt=RegExp(Ct.source),St=RegExp(At.source),Ft=/<%-([\s\S]+?)%>/g,kt=/<%([\s\S]+?)%>/g,Nt=/<%=([\s\S]+?)%>/g,_t=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,It=/^\w*$/,Ot=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Lt=/[\\^$.*+?()[\]{}|]/g,Rt=RegExp(Lt.source),Bt=/^\s+|\s+$/g,Mt=/^\s+/,jt=/\s+$/,Ut=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,qt=/\{\n\/\* \[wrapped with (.+)\] \*/,$t=/,? & /,zt=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Ht=/\\(\\)?/g,Wt=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Vt=/\w*$/,Kt=/^[-+]0x[0-9a-f]+$/i,Jt=/^0b[01]+$/i,Gt=/^\[object .+?Constructor\]$/,Xt=/^0o[0-7]+$/i,Yt=/^(?:0|[1-9]\d*)$/,Zt=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Qt=/($^)/,te=/['\n\r\u2028\u2029\\]/g,ee="\\ud800-\\udfff",re="\\u0300-\\u036f",se="\\ufe20-\\ufe2f",ne="\\u20d0-\\u20ff",ie=re+se+ne,ae="\\u2700-\\u27bf",oe="a-z\\xdf-\\xf6\\xf8-\\xff",ue="\\xac\\xb1\\xd7\\xf7",ce="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",he="\\u2000-\\u206f",le=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",pe="A-Z\\xc0-\\xd6\\xd8-\\xde",fe="\\ufe0e\\ufe0f",de=ue+ce+he+le,me="['’]",ye="["+ee+"]",De="["+de+"]",ge="["+ie+"]",xe="\\d+",be="["+ae+"]",ve="["+oe+"]",we="[^"+ee+de+xe+ae+oe+pe+"]",Ee="\\ud83c[\\udffb-\\udfff]",Pe="(?:"+ge+"|"+Ee+")",Ce="[^"+ee+"]",Ae="(?:\\ud83c[\\udde6-\\uddff]){2}",Te="[\\ud800-\\udbff][\\udc00-\\udfff]",Se="["+pe+"]",Fe="\\u200d",ke="(?:"+ve+"|"+we+")",Ne="(?:"+Se+"|"+we+")",_e="(?:"+me+"(?:d|ll|m|re|s|t|ve))?",Ie="(?:"+me+"(?:D|LL|M|RE|S|T|VE))?",Oe=Pe+"?",Le="["+fe+"]?",Re="(?:"+Fe+"(?:"+[Ce,Ae,Te].join("|")+")"+Le+Oe+")*",Be="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Me="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",je=Le+Oe+Re,Ue="(?:"+[be,Ae,Te].join("|")+")"+je,qe="(?:"+[Ce+ge+"?",ge,Ae,Te,ye].join("|")+")",$e=RegExp(me,"g"),ze=RegExp(ge,"g"),He=RegExp(Ee+"(?="+Ee+")|"+qe+je,"g"),We=RegExp([Se+"?"+ve+"+"+_e+"(?="+[De,Se,"$"].join("|")+")",Ne+"+"+Ie+"(?="+[De,Se+ke,"$"].join("|")+")",Se+"?"+ke+"+"+_e,Se+"+"+Ie,Me,Be,xe,Ue].join("|"),"g"),Ve=RegExp("["+Fe+ee+ie+fe+"]"),Ke=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Je=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Ge=-1,Xe={};Xe[ft]=Xe[dt]=Xe[mt]=Xe[yt]=Xe[Dt]=Xe[gt]=Xe[xt]=Xe[bt]=Xe[vt]=!0,Xe[z]=Xe[H]=Xe[lt]=Xe[V]=Xe[pt]=Xe[K]=Xe[G]=Xe[X]=Xe[Z]=Xe[Q]=Xe[et]=Xe[nt]=Xe[it]=Xe[at]=Xe[ct]=!1;var Ye={};Ye[z]=Ye[H]=Ye[lt]=Ye[pt]=Ye[V]=Ye[K]=Ye[ft]=Ye[dt]=Ye[mt]=Ye[yt]=Ye[Dt]=Ye[Z]=Ye[Q]=Ye[et]=Ye[nt]=Ye[it]=Ye[at]=Ye[ot]=Ye[gt]=Ye[xt]=Ye[bt]=Ye[vt]=!0,Ye[G]=Ye[X]=Ye[ct]=!1;var Ze={"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss","Ā":"A","Ă":"A","Ą":"A","ā":"a","ă":"a","ą":"a","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","ć":"c","ĉ":"c","ċ":"c","č":"c","Ď":"D","Đ":"D","ď":"d","đ":"d","Ē":"E","Ĕ":"E","Ė":"E","Ę":"E","Ě":"E","ē":"e","ĕ":"e","ė":"e","ę":"e","ě":"e","Ĝ":"G","Ğ":"G","Ġ":"G","Ģ":"G","ĝ":"g","ğ":"g","ġ":"g","ģ":"g","Ĥ":"H","Ħ":"H","ĥ":"h","ħ":"h","Ĩ":"I","Ī":"I","Ĭ":"I","Į":"I","İ":"I","ĩ":"i","ī":"i","ĭ":"i","į":"i","ı":"i","Ĵ":"J","ĵ":"j","Ķ":"K","ķ":"k","ĸ":"k","Ĺ":"L","Ļ":"L","Ľ":"L","Ŀ":"L","Ł":"L","ĺ":"l","ļ":"l","ľ":"l","ŀ":"l","ł":"l","Ń":"N","Ņ":"N","Ň":"N","Ŋ":"N","ń":"n","ņ":"n","ň":"n","ŋ":"n","Ō":"O","Ŏ":"O","Ő":"O","ō":"o","ŏ":"o","ő":"o","Ŕ":"R","Ŗ":"R","Ř":"R","ŕ":"r","ŗ":"r","ř":"r","Ś":"S","Ŝ":"S","Ş":"S","Š":"S","ś":"s","ŝ":"s","ş":"s","š":"s","Ţ":"T","Ť":"T","Ŧ":"T","ţ":"t","ť":"t","ŧ":"t","Ũ":"U","Ū":"U","Ŭ":"U","Ů":"U","Ű":"U","Ų":"U","ũ":"u","ū":"u","ŭ":"u","ů":"u","ű":"u","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","Ż":"Z","Ž":"Z","ź":"z","ż":"z","ž":"z","Ĳ":"IJ","ĳ":"ij","Œ":"Oe","œ":"oe","ŉ":"'n","ſ":"s"},Qe={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},tr={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'"},er={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},rr=parseFloat,sr=parseInt,nr="object"==typeof t&&t&&t.Object===Object&&t,ir="object"==typeof self&&self&&self.Object===Object&&self,ar=nr||ir||Function("return this")(),or=e&&!e.nodeType&&e,ur=or&&"object"==typeof s&&s&&!s.nodeType&&s,cr=ur&&ur.exports===or,hr=cr&&nr.process,lr=function(){try{var t=ur&&ur.require&&ur.require("util").types;return t||hr&&hr.binding&&hr.binding("util")}catch(e){}}(),pr=lr&&lr.isArrayBuffer,fr=lr&&lr.isDate,dr=lr&&lr.isMap,mr=lr&&lr.isRegExp,yr=lr&&lr.isSet,Dr=lr&&lr.isTypedArray;function gr(t,e,r){switch(r.length){case 0:return t.call(e);case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2])}return t.apply(e,r)}function xr(t,e,r,s){var n=-1,i=null==t?0:t.length;while(++n<i){var a=t[n];e(s,a,r(a),t)}return s}function br(t,e){var r=-1,s=null==t?0:t.length;while(++r<s)if(!1===e(t[r],r,t))break;return t}function vr(t,e){var r=null==t?0:t.length;while(r--)if(!1===e(t[r],r,t))break;return t}function wr(t,e){var r=-1,s=null==t?0:t.length;while(++r<s)if(!e(t[r],r,t))return!1;return!0}function Er(t,e){var r=-1,s=null==t?0:t.length,n=0,i=[];while(++r<s){var a=t[r];e(a,r,t)&&(i[n++]=a)}return i}function Pr(t,e){var r=null==t?0:t.length;return!!r&&Rr(t,e,0)>-1}function Cr(t,e,r){var s=-1,n=null==t?0:t.length;while(++s<n)if(r(e,t[s]))return!0;return!1}function Ar(t,e){var r=-1,s=null==t?0:t.length,n=Array(s);while(++r<s)n[r]=e(t[r],r,t);return n}function Tr(t,e){var r=-1,s=e.length,n=t.length;while(++r<s)t[n+r]=e[r];return t}function Sr(t,e,r,s){var n=-1,i=null==t?0:t.length;s&&i&&(r=t[++n]);while(++n<i)r=e(r,t[n],n,t);return r}function Fr(t,e,r,s){var n=null==t?0:t.length;s&&n&&(r=t[--n]);while(n--)r=e(r,t[n],n,t);return r}function kr(t,e){var r=-1,s=null==t?0:t.length;while(++r<s)if(e(t[r],r,t))return!0;return!1}var Nr=Ur("length");function _r(t){return t.split("")}function Ir(t){return t.match(zt)||[]}function Or(t,e,r){var s;return r(t,(function(t,r,n){if(e(t,r,n))return s=r,!1})),s}function Lr(t,e,r,s){var n=t.length,i=r+(s?1:-1);while(s?i--:++i<n)if(e(t[i],i,t))return i;return-1}function Rr(t,e,r){return e===e?ls(t,e,r):Lr(t,Mr,r)}function Br(t,e,r,s){var n=r-1,i=t.length;while(++n<i)if(s(t[n],e))return n;return-1}function Mr(t){return t!==t}function jr(t,e){var r=null==t?0:t.length;return r?Hr(t,e)/r:M}function Ur(t){return function(e){return null==e?i:e[t]}}function qr(t){return function(e){return null==t?i:t[e]}}function $r(t,e,r,s,n){return n(t,(function(t,n,i){r=s?(s=!1,t):e(r,t,n,i)})),r}function zr(t,e){var r=t.length;t.sort(e);while(r--)t[r]=t[r].value;return t}function Hr(t,e){var r,s=-1,n=t.length;while(++s<n){var a=e(t[s]);a!==i&&(r=r===i?a:r+a)}return r}function Wr(t,e){var r=-1,s=Array(t);while(++r<t)s[r]=e(r);return s}function Vr(t,e){return Ar(e,(function(e){return[e,t[e]]}))}function Kr(t){return function(e){return t(e)}}function Jr(t,e){return Ar(e,(function(e){return t[e]}))}function Gr(t,e){return t.has(e)}function Xr(t,e){var r=-1,s=t.length;while(++r<s&&Rr(e,t[r],0)>-1);return r}function Yr(t,e){var r=t.length;while(r--&&Rr(e,t[r],0)>-1);return r}function Zr(t,e){var r=t.length,s=0;while(r--)t[r]===e&&++s;return s}var Qr=qr(Ze),ts=qr(Qe);function es(t){return"\\"+er[t]}function rs(t,e){return null==t?i:t[e]}function ss(t){return Ve.test(t)}function ns(t){return Ke.test(t)}function is(t){var e,r=[];while(!(e=t.next()).done)r.push(e.value);return r}function as(t){var e=-1,r=Array(t.size);return t.forEach((function(t,s){r[++e]=[s,t]})),r}function os(t,e){return function(r){return t(e(r))}}function us(t,e){var r=-1,s=t.length,n=0,i=[];while(++r<s){var a=t[r];a!==e&&a!==p||(t[r]=p,i[n++]=r)}return i}function cs(t){var e=-1,r=Array(t.size);return t.forEach((function(t){r[++e]=t})),r}function hs(t){var e=-1,r=Array(t.size);return t.forEach((function(t){r[++e]=[t,t]})),r}function ls(t,e,r){var s=r-1,n=t.length;while(++s<n)if(t[s]===e)return s;return-1}function ps(t,e,r){var s=r+1;while(s--)if(t[s]===e)return s;return s}function fs(t){return ss(t)?ys(t):Nr(t)}function ds(t){return ss(t)?Ds(t):_r(t)}var ms=qr(tr);function ys(t){var e=He.lastIndex=0;while(He.test(t))++e;return e}function Ds(t){return t.match(He)||[]}function gs(t){return t.match(We)||[]}var xs=function t(e){e=null==e?ar:bs.defaults(ar.Object(),e,bs.pick(ar,Je));var r=e.Array,s=e.Date,n=e.Error,zt=e.Function,ee=e.Math,re=e.Object,se=e.RegExp,ne=e.String,ie=e.TypeError,ae=r.prototype,oe=zt.prototype,ue=re.prototype,ce=e["__core-js_shared__"],he=oe.toString,le=ue.hasOwnProperty,pe=0,fe=function(){var t=/[^.]+$/.exec(ce&&ce.keys&&ce.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}(),de=ue.toString,me=he.call(re),ye=ar._,De=se("^"+he.call(le).replace(Lt,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),ge=cr?e.Buffer:i,xe=e.Symbol,be=e.Uint8Array,ve=ge?ge.allocUnsafe:i,we=os(re.getPrototypeOf,re),Ee=re.create,Pe=ue.propertyIsEnumerable,Ce=ae.splice,Ae=xe?xe.isConcatSpreadable:i,Te=xe?xe.iterator:i,Se=xe?xe.toStringTag:i,Fe=function(){try{var t=Ha(re,"defineProperty");return t({},"",{}),t}catch(e){}}(),ke=e.clearTimeout!==ar.clearTimeout&&e.clearTimeout,Ne=s&&s.now!==ar.Date.now&&s.now,_e=e.setTimeout!==ar.setTimeout&&e.setTimeout,Ie=ee.ceil,Oe=ee.floor,Le=re.getOwnPropertySymbols,Re=ge?ge.isBuffer:i,Be=e.isFinite,Me=ae.join,je=os(re.keys,re),Ue=ee.max,qe=ee.min,He=s.now,We=e.parseInt,Ve=ee.random,Ke=ae.reverse,Ze=Ha(e,"DataView"),Qe=Ha(e,"Map"),tr=Ha(e,"Promise"),er=Ha(e,"Set"),nr=Ha(e,"WeakMap"),ir=Ha(re,"create"),or=nr&&new nr,ur={},hr=ko(Ze),lr=ko(Qe),Nr=ko(tr),_r=ko(er),qr=ko(nr),ls=xe?xe.prototype:i,ys=ls?ls.valueOf:i,Ds=ls?ls.toString:i;function xs(t){if(Eh(t)&&!ah(t)&&!(t instanceof Ps)){if(t instanceof Es)return t;if(le.call(t,"__wrapped__"))return _o(t)}return new Es(t)}var vs=function(){function t(){}return function(e){if(!wh(e))return{};if(Ee)return Ee(e);t.prototype=e;var r=new t;return t.prototype=i,r}}();function ws(){}function Es(t,e){this.__wrapped__=t,this.__actions__=[],this.__chain__=!!e,this.__index__=0,this.__values__=i}function Ps(t){this.__wrapped__=t,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=j,this.__views__=[]}function Cs(){var t=new Ps(this.__wrapped__);return t.__actions__=ea(this.__actions__),t.__dir__=this.__dir__,t.__filtered__=this.__filtered__,t.__iteratees__=ea(this.__iteratees__),t.__takeCount__=this.__takeCount__,t.__views__=ea(this.__views__),t}function As(){if(this.__filtered__){var t=new Ps(this);t.__dir__=-1,t.__filtered__=!0}else t=this.clone(),t.__dir__*=-1;return t}function Ts(){var t=this.__wrapped__.value(),e=this.__dir__,r=ah(t),s=e<0,n=r?t.length:0,i=Ga(0,n,this.__views__),a=i.start,o=i.end,u=o-a,c=s?o:a-1,h=this.__iteratees__,l=h.length,p=0,f=qe(u,this.__takeCount__);if(!r||!s&&n==u&&f==u)return Ri(t,this.__actions__);var d=[];t:while(u--&&p<f){c+=e;var m=-1,y=t[c];while(++m<l){var D=h[m],g=D.iteratee,x=D.type,b=g(y);if(x==I)y=b;else if(!b){if(x==_)continue t;break t}}d[p++]=y}return d}function Ss(t){var e=-1,r=null==t?0:t.length;this.clear();while(++e<r){var s=t[e];this.set(s[0],s[1])}}function Fs(){this.__data__=ir?ir(null):{},this.size=0}function ks(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}function Ns(t){var e=this.__data__;if(ir){var r=e[t];return r===h?i:r}return le.call(e,t)?e[t]:i}function _s(t){var e=this.__data__;return ir?e[t]!==i:le.call(e,t)}function Is(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=ir&&e===i?h:e,this}function Os(t){var e=-1,r=null==t?0:t.length;this.clear();while(++e<r){var s=t[e];this.set(s[0],s[1])}}function Ls(){this.__data__=[],this.size=0}function Rs(t){var e=this.__data__,r=un(e,t);if(r<0)return!1;var s=e.length-1;return r==s?e.pop():Ce.call(e,r,1),--this.size,!0}function Bs(t){var e=this.__data__,r=un(e,t);return r<0?i:e[r][1]}function Ms(t){return un(this.__data__,t)>-1}function js(t,e){var r=this.__data__,s=un(r,t);return s<0?(++this.size,r.push([t,e])):r[s][1]=e,this}function Us(t){var e=-1,r=null==t?0:t.length;this.clear();while(++e<r){var s=t[e];this.set(s[0],s[1])}}function qs(){this.size=0,this.__data__={hash:new Ss,map:new(Qe||Os),string:new Ss}}function $s(t){var e=$a(this,t)["delete"](t);return this.size-=e?1:0,e}function zs(t){return $a(this,t).get(t)}function Hs(t){return $a(this,t).has(t)}function Ws(t,e){var r=$a(this,t),s=r.size;return r.set(t,e),this.size+=r.size==s?0:1,this}function Vs(t){var e=-1,r=null==t?0:t.length;this.__data__=new Us;while(++e<r)this.add(t[e])}function Ks(t){return this.__data__.set(t,h),this}function Js(t){return this.__data__.has(t)}function Gs(t){var e=this.__data__=new Os(t);this.size=e.size}function Xs(){this.__data__=new Os,this.size=0}function Ys(t){var e=this.__data__,r=e["delete"](t);return this.size=e.size,r}function Zs(t){return this.__data__.get(t)}function Qs(t){return this.__data__.has(t)}function tn(t,e){var r=this.__data__;if(r instanceof Os){var s=r.__data__;if(!Qe||s.length<o-1)return s.push([t,e]),this.size=++r.size,this;r=this.__data__=new Us(s)}return r.set(t,e),this.size=r.size,this}function en(t,e){var r=ah(t),s=!r&&ih(t),n=!r&&!s&&lh(t),i=!r&&!s&&!n&&Mh(t),a=r||s||n||i,o=a?Wr(t.length,ne):[],u=o.length;for(var c in t)!e&&!le.call(t,c)||a&&("length"==c||n&&("offset"==c||"parent"==c)||i&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||so(c,u))||o.push(c);return o}function rn(t){var e=t.length;return e?t[mi(0,e-1)]:i}function sn(t,e){return To(ea(t),dn(e,0,t.length))}function nn(t){return To(ea(t))}function an(t,e,r){(r!==i&&!rh(t[e],r)||r===i&&!(e in t))&&pn(t,e,r)}function on(t,e,r){var s=t[e];le.call(t,e)&&rh(s,r)&&(r!==i||e in t)||pn(t,e,r)}function un(t,e){var r=t.length;while(r--)if(rh(t[r][0],e))return r;return-1}function cn(t,e,r,s){return bn(t,(function(t,n,i){e(s,t,r(t),i)})),s}function hn(t,e){return t&&ra(e,bl(e),t)}function ln(t,e){return t&&ra(e,vl(e),t)}function pn(t,e,r){"__proto__"==e&&Fe?Fe(t,e,{configurable:!0,enumerable:!0,value:r,writable:!0}):t[e]=r}function fn(t,e){var s=-1,n=e.length,a=r(n),o=null==t;while(++s<n)a[s]=o?i:dl(t,e[s]);return a}function dn(t,e,r){return t===t&&(r!==i&&(t=t<=r?t:r),e!==i&&(t=t>=e?t:e)),t}function mn(t,e,r,s,n,a){var o,u=e&f,c=e&d,h=e&m;if(r&&(o=n?r(t,s,n,a):r(t)),o!==i)return o;if(!wh(t))return t;var l=ah(t);if(l){if(o=Za(t),!u)return ea(t,o)}else{var p=Ja(t),y=p==X||p==Y;if(lh(t))return Wi(t,u);if(p==et||p==z||y&&!n){if(o=c||y?{}:Qa(t),!u)return c?na(t,ln(o,t)):sa(t,hn(o,t))}else{if(!Ye[p])return n?t:{};o=to(t,p,u)}}a||(a=new Gs);var D=a.get(t);if(D)return D;a.set(t,o),Lh(t)?t.forEach((function(s){o.add(mn(s,e,r,s,t,a))})):Ph(t)&&t.forEach((function(s,n){o.set(n,mn(s,e,r,n,t,a))}));var g=h?c?Ba:Ra:c?vl:bl,x=l?i:g(t);return br(x||t,(function(s,n){x&&(n=s,s=t[n]),on(o,n,mn(s,e,r,n,t,a))})),o}function yn(t){var e=bl(t);return function(r){return Dn(r,t,e)}}function Dn(t,e,r){var s=r.length;if(null==t)return!s;t=re(t);while(s--){var n=r[s],a=e[n],o=t[n];if(o===i&&!(n in t)||!a(o))return!1}return!0}function gn(t,e,r){if("function"!=typeof t)throw new ie(c);return Eo((function(){t.apply(i,r)}),e)}function xn(t,e,r,s){var n=-1,i=Pr,a=!0,u=t.length,c=[],h=e.length;if(!u)return c;r&&(e=Ar(e,Kr(r))),s?(i=Cr,a=!1):e.length>=o&&(i=Gr,a=!1,e=new Vs(e));t:while(++n<u){var l=t[n],p=null==r?l:r(l);if(l=s||0!==l?l:0,a&&p===p){var f=h;while(f--)if(e[f]===p)continue t;c.push(l)}else i(e,p,s)||c.push(l)}return c}xs.templateSettings={escape:Ft,evaluate:kt,interpolate:Nt,variable:"",imports:{_:xs}},xs.prototype=ws.prototype,xs.prototype.constructor=xs,Es.prototype=vs(ws.prototype),Es.prototype.constructor=Es,Ps.prototype=vs(ws.prototype),Ps.prototype.constructor=Ps,Ss.prototype.clear=Fs,Ss.prototype["delete"]=ks,Ss.prototype.get=Ns,Ss.prototype.has=_s,Ss.prototype.set=Is,Os.prototype.clear=Ls,Os.prototype["delete"]=Rs,Os.prototype.get=Bs,Os.prototype.has=Ms,Os.prototype.set=js,Us.prototype.clear=qs,Us.prototype["delete"]=$s,Us.prototype.get=zs,Us.prototype.has=Hs,Us.prototype.set=Ws,Vs.prototype.add=Vs.prototype.push=Ks,Vs.prototype.has=Js,Gs.prototype.clear=Xs,Gs.prototype["delete"]=Ys,Gs.prototype.get=Zs,Gs.prototype.has=Qs,Gs.prototype.set=tn;var bn=oa(Fn),vn=oa(kn,!0);function wn(t,e){var r=!0;return bn(t,(function(t,s,n){return r=!!e(t,s,n),r})),r}function En(t,e,r){var s=-1,n=t.length;while(++s<n){var a=t[s],o=e(a);if(null!=o&&(u===i?o===o&&!Bh(o):r(o,u)))var u=o,c=a}return c}function Pn(t,e,r,s){var n=t.length;r=Vh(r),r<0&&(r=-r>n?0:n+r),s=s===i||s>n?n:Vh(s),s<0&&(s+=n),s=r>s?0:Kh(s);while(r<s)t[r++]=e;return t}function Cn(t,e){var r=[];return bn(t,(function(t,s,n){e(t,s,n)&&r.push(t)})),r}function An(t,e,r,s,n){var i=-1,a=t.length;r||(r=ro),n||(n=[]);while(++i<a){var o=t[i];e>0&&r(o)?e>1?An(o,e-1,r,s,n):Tr(n,o):s||(n[n.length]=o)}return n}var Tn=ua(),Sn=ua(!0);function Fn(t,e){return t&&Tn(t,e,bl)}function kn(t,e){return t&&Sn(t,e,bl)}function Nn(t,e){return Er(e,(function(e){return xh(t[e])}))}function _n(t,e){e=qi(e,t);var r=0,s=e.length;while(null!=t&&r<s)t=t[Fo(e[r++])];return r&&r==s?t:i}function In(t,e,r){var s=e(t);return ah(t)?s:Tr(s,r(t))}function On(t){return null==t?t===i?ut:tt:Se&&Se in re(t)?Wa(t):Do(t)}function Ln(t,e){return t>e}function Rn(t,e){return null!=t&&le.call(t,e)}function Bn(t,e){return null!=t&&e in re(t)}function Mn(t,e,r){return t>=qe(e,r)&&t<Ue(e,r)}function jn(t,e,s){var n=s?Cr:Pr,a=t[0].length,o=t.length,u=o,c=r(o),h=1/0,l=[];while(u--){var p=t[u];u&&e&&(p=Ar(p,Kr(e))),h=qe(p.length,h),c[u]=!s&&(e||a>=120&&p.length>=120)?new Vs(u&&p):i}p=t[0];var f=-1,d=c[0];t:while(++f<a&&l.length<h){var m=p[f],y=e?e(m):m;if(m=s||0!==m?m:0,!(d?Gr(d,y):n(l,y,s))){u=o;while(--u){var D=c[u];if(!(D?Gr(D,y):n(t[u],y,s)))continue t}d&&d.push(y),l.push(m)}}return l}function Un(t,e,r,s){return Fn(t,(function(t,n,i){e(s,r(t),n,i)})),s}function qn(t,e,r){e=qi(e,t),t=xo(t,e);var s=null==t?t:t[Fo(su(e))];return null==s?i:gr(s,t,r)}function $n(t){return Eh(t)&&On(t)==z}function zn(t){return Eh(t)&&On(t)==lt}function Hn(t){return Eh(t)&&On(t)==K}function Wn(t,e,r,s,n){return t===e||(null==t||null==e||!Eh(t)&&!Eh(e)?t!==t&&e!==e:Vn(t,e,r,s,Wn,n))}function Vn(t,e,r,s,n,i){var a=ah(t),o=ah(e),u=a?H:Ja(t),c=o?H:Ja(e);u=u==z?et:u,c=c==z?et:c;var h=u==et,l=c==et,p=u==c;if(p&&lh(t)){if(!lh(e))return!1;a=!0,h=!1}if(p&&!h)return i||(i=new Gs),a||Mh(t)?_a(t,e,r,s,n,i):Ia(t,e,u,r,s,n,i);if(!(r&y)){var f=h&&le.call(t,"__wrapped__"),d=l&&le.call(e,"__wrapped__");if(f||d){var m=f?t.value():t,D=d?e.value():e;return i||(i=new Gs),n(m,D,r,s,i)}}return!!p&&(i||(i=new Gs),Oa(t,e,r,s,n,i))}function Kn(t){return Eh(t)&&Ja(t)==Z}function Jn(t,e,r,s){var n=r.length,a=n,o=!s;if(null==t)return!a;t=re(t);while(n--){var u=r[n];if(o&&u[2]?u[1]!==t[u[0]]:!(u[0]in t))return!1}while(++n<a){u=r[n];var c=u[0],h=t[c],l=u[1];if(o&&u[2]){if(h===i&&!(c in t))return!1}else{var p=new Gs;if(s)var f=s(h,l,c,t,e,p);if(!(f===i?Wn(l,h,y|D,s,p):f))return!1}}return!0}function Gn(t){if(!wh(t)||uo(t))return!1;var e=xh(t)?De:Gt;return e.test(ko(t))}function Xn(t){return Eh(t)&&On(t)==nt}function Yn(t){return Eh(t)&&Ja(t)==it}function Zn(t){return Eh(t)&&vh(t.length)&&!!Xe[On(t)]}function Qn(t){return"function"==typeof t?t:null==t?Sp:"object"==typeof t?ah(t)?ii(t[0],t[1]):ni(t):qp(t)}function ti(t){if(!ho(t))return je(t);var e=[];for(var r in re(t))le.call(t,r)&&"constructor"!=r&&e.push(r);return e}function ei(t){if(!wh(t))return yo(t);var e=ho(t),r=[];for(var s in t)("constructor"!=s||!e&&le.call(t,s))&&r.push(s);return r}function ri(t,e){return t<e}function si(t,e){var s=-1,n=uh(t)?r(t.length):[];return bn(t,(function(t,r,i){n[++s]=e(t,r,i)})),n}function ni(t){var e=za(t);return 1==e.length&&e[0][2]?po(e[0][0],e[0][1]):function(r){return r===t||Jn(r,t,e)}}function ii(t,e){return io(t)&&lo(e)?po(Fo(t),e):function(r){var s=dl(r,t);return s===i&&s===e?yl(r,t):Wn(e,s,y|D)}}function ai(t,e,r,s,n){t!==e&&Tn(e,(function(a,o){if(n||(n=new Gs),wh(a))oi(t,e,o,r,ai,s,n);else{var u=s?s(vo(t,o),a,o+"",t,e,n):i;u===i&&(u=a),an(t,o,u)}}),vl)}function oi(t,e,r,s,n,a,o){var u=vo(t,r),c=vo(e,r),h=o.get(c);if(h)an(t,r,h);else{var l=a?a(u,c,r+"",t,e,o):i,p=l===i;if(p){var f=ah(c),d=!f&&lh(c),m=!f&&!d&&Mh(c);l=c,f||d||m?ah(u)?l=u:ch(u)?l=ea(u):d?(p=!1,l=Wi(c,!0)):m?(p=!1,l=Xi(c,!0)):l=[]:_h(c)||ih(c)?(l=u,ih(u)?l=Gh(u):wh(u)&&!xh(u)||(l=Qa(c))):p=!1}p&&(o.set(c,l),n(l,c,s,a,o),o["delete"](c)),an(t,r,l)}}function ui(t,e){var r=t.length;if(r)return e+=e<0?r:0,so(e,r)?t[e]:i}function ci(t,e,r){e=e.length?Ar(e,(function(t){return ah(t)?function(e){return _n(e,1===t.length?t[0]:t)}:t})):[Sp];var s=-1;e=Ar(e,Kr(qa()));var n=si(t,(function(t,r,n){var i=Ar(e,(function(e){return e(t)}));return{criteria:i,index:++s,value:t}}));return zr(n,(function(t,e){return Zi(t,e,r)}))}function hi(t,e){return li(t,e,(function(e,r){return yl(t,r)}))}function li(t,e,r){var s=-1,n=e.length,i={};while(++s<n){var a=e[s],o=_n(t,a);r(o,a)&&vi(i,qi(a,t),o)}return i}function pi(t){return function(e){return _n(e,t)}}function fi(t,e,r,s){var n=s?Br:Rr,i=-1,a=e.length,o=t;t===e&&(e=ea(e)),r&&(o=Ar(t,Kr(r)));while(++i<a){var u=0,c=e[i],h=r?r(c):c;while((u=n(o,h,u,s))>-1)o!==t&&Ce.call(o,u,1),Ce.call(t,u,1)}return t}function di(t,e){var r=t?e.length:0,s=r-1;while(r--){var n=e[r];if(r==s||n!==i){var i=n;so(n)?Ce.call(t,n,1):Ii(t,n)}}return t}function mi(t,e){return t+Oe(Ve()*(e-t+1))}function yi(t,e,s,n){var i=-1,a=Ue(Ie((e-t)/(s||1)),0),o=r(a);while(a--)o[n?a:++i]=t,t+=s;return o}function Di(t,e){var r="";if(!t||e<1||e>R)return r;do{e%2&&(r+=t),e=Oe(e/2),e&&(t+=t)}while(e);return r}function gi(t,e){return Po(go(t,e,Sp),t+"")}function xi(t){return rn(jl(t))}function bi(t,e){var r=jl(t);return To(r,dn(e,0,r.length))}function vi(t,e,r,s){if(!wh(t))return t;e=qi(e,t);var n=-1,a=e.length,o=a-1,u=t;while(null!=u&&++n<a){var c=Fo(e[n]),h=r;if("__proto__"===c||"constructor"===c||"prototype"===c)return t;if(n!=o){var l=u[c];h=s?s(l,c,u):i,h===i&&(h=wh(l)?l:so(e[n+1])?[]:{})}on(u,c,h),u=u[c]}return t}var wi=or?function(t,e){return or.set(t,e),t}:Sp,Ei=Fe?function(t,e){return Fe(t,"toString",{configurable:!0,enumerable:!1,value:Pp(e),writable:!0})}:Sp;function Pi(t){return To(jl(t))}function Ci(t,e,s){var n=-1,i=t.length;e<0&&(e=-e>i?0:i+e),s=s>i?i:s,s<0&&(s+=i),i=e>s?0:s-e>>>0,e>>>=0;var a=r(i);while(++n<i)a[n]=t[n+e];return a}function Ai(t,e){var r;return bn(t,(function(t,s,n){return r=e(t,s,n),!r})),!!r}function Ti(t,e,r){var s=0,n=null==t?s:t.length;if("number"==typeof e&&e===e&&n<=q){while(s<n){var i=s+n>>>1,a=t[i];null!==a&&!Bh(a)&&(r?a<=e:a<e)?s=i+1:n=i}return n}return Si(t,e,Sp,r)}function Si(t,e,r,s){var n=0,a=null==t?0:t.length;if(0===a)return 0;e=r(e);var o=e!==e,u=null===e,c=Bh(e),h=e===i;while(n<a){var l=Oe((n+a)/2),p=r(t[l]),f=p!==i,d=null===p,m=p===p,y=Bh(p);if(o)var D=s||m;else D=h?m&&(s||f):u?m&&f&&(s||!d):c?m&&f&&!d&&(s||!y):!d&&!y&&(s?p<=e:p<e);D?n=l+1:a=l}return qe(a,U)}function Fi(t,e){var r=-1,s=t.length,n=0,i=[];while(++r<s){var a=t[r],o=e?e(a):a;if(!r||!rh(o,u)){var u=o;i[n++]=0===a?0:a}}return i}function ki(t){return"number"==typeof t?t:Bh(t)?M:+t}function Ni(t){if("string"==typeof t)return t;if(ah(t))return Ar(t,Ni)+"";if(Bh(t))return Ds?Ds.call(t):"";var e=t+"";return"0"==e&&1/t==-L?"-0":e}function _i(t,e,r){var s=-1,n=Pr,i=t.length,a=!0,u=[],c=u;if(r)a=!1,n=Cr;else if(i>=o){var h=e?null:Aa(t);if(h)return cs(h);a=!1,n=Gr,c=new Vs}else c=e?[]:u;t:while(++s<i){var l=t[s],p=e?e(l):l;if(l=r||0!==l?l:0,a&&p===p){var f=c.length;while(f--)if(c[f]===p)continue t;e&&c.push(p),u.push(l)}else n(c,p,r)||(c!==u&&c.push(p),u.push(l))}return u}function Ii(t,e){return e=qi(e,t),t=xo(t,e),null==t||delete t[Fo(su(e))]}function Oi(t,e,r,s){return vi(t,e,r(_n(t,e)),s)}function Li(t,e,r,s){var n=t.length,i=s?n:-1;while((s?i--:++i<n)&&e(t[i],i,t));return r?Ci(t,s?0:i,s?i+1:n):Ci(t,s?i+1:0,s?n:i)}function Ri(t,e){var r=t;return r instanceof Ps&&(r=r.value()),Sr(e,(function(t,e){return e.func.apply(e.thisArg,Tr([t],e.args))}),r)}function Bi(t,e,s){var n=t.length;if(n<2)return n?_i(t[0]):[];var i=-1,a=r(n);while(++i<n){var o=t[i],u=-1;while(++u<n)u!=i&&(a[i]=xn(a[i]||o,t[u],e,s))}return _i(An(a,1),e,s)}function Mi(t,e,r){var s=-1,n=t.length,a=e.length,o={};while(++s<n){var u=s<a?e[s]:i;r(o,t[s],u)}return o}function ji(t){return ch(t)?t:[]}function Ui(t){return"function"==typeof t?t:Sp}function qi(t,e){return ah(t)?t:io(t,e)?[t]:So(Yh(t))}var $i=gi;function zi(t,e,r){var s=t.length;return r=r===i?s:r,!e&&r>=s?t:Ci(t,e,r)}var Hi=ke||function(t){return ar.clearTimeout(t)};function Wi(t,e){if(e)return t.slice();var r=t.length,s=ve?ve(r):new t.constructor(r);return t.copy(s),s}function Vi(t){var e=new t.constructor(t.byteLength);return new be(e).set(new be(t)),e}function Ki(t,e){var r=e?Vi(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.byteLength)}function Ji(t){var e=new t.constructor(t.source,Vt.exec(t));return e.lastIndex=t.lastIndex,e}function Gi(t){return ys?re(ys.call(t)):{}}function Xi(t,e){var r=e?Vi(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.length)}function Yi(t,e){if(t!==e){var r=t!==i,s=null===t,n=t===t,a=Bh(t),o=e!==i,u=null===e,c=e===e,h=Bh(e);if(!u&&!h&&!a&&t>e||a&&o&&c&&!u&&!h||s&&o&&c||!r&&c||!n)return 1;if(!s&&!a&&!h&&t<e||h&&r&&n&&!s&&!a||u&&r&&n||!o&&n||!c)return-1}return 0}function Zi(t,e,r){var s=-1,n=t.criteria,i=e.criteria,a=n.length,o=r.length;while(++s<a){var u=Yi(n[s],i[s]);if(u){if(s>=o)return u;var c=r[s];return u*("desc"==c?-1:1)}}return t.index-e.index}function Qi(t,e,s,n){var i=-1,a=t.length,o=s.length,u=-1,c=e.length,h=Ue(a-o,0),l=r(c+h),p=!n;while(++u<c)l[u]=e[u];while(++i<o)(p||i<a)&&(l[s[i]]=t[i]);while(h--)l[u++]=t[i++];return l}function ta(t,e,s,n){var i=-1,a=t.length,o=-1,u=s.length,c=-1,h=e.length,l=Ue(a-u,0),p=r(l+h),f=!n;while(++i<l)p[i]=t[i];var d=i;while(++c<h)p[d+c]=e[c];while(++o<u)(f||i<a)&&(p[d+s[o]]=t[i++]);return p}function ea(t,e){var s=-1,n=t.length;e||(e=r(n));while(++s<n)e[s]=t[s];return e}function ra(t,e,r,s){var n=!r;r||(r={});var a=-1,o=e.length;while(++a<o){var u=e[a],c=s?s(r[u],t[u],u,r,t):i;c===i&&(c=t[u]),n?pn(r,u,c):on(r,u,c)}return r}function sa(t,e){return ra(t,Va(t),e)}function na(t,e){return ra(t,Ka(t),e)}function ia(t,e){return function(r,s){var n=ah(r)?xr:cn,i=e?e():{};return n(r,t,qa(s,2),i)}}function aa(t){return gi((function(e,r){var s=-1,n=r.length,a=n>1?r[n-1]:i,o=n>2?r[2]:i;a=t.length>3&&"function"==typeof a?(n--,a):i,o&&no(r[0],r[1],o)&&(a=n<3?i:a,n=1),e=re(e);while(++s<n){var u=r[s];u&&t(e,u,s,a)}return e}))}function oa(t,e){return function(r,s){if(null==r)return r;if(!uh(r))return t(r,s);var n=r.length,i=e?n:-1,a=re(r);while(e?i--:++i<n)if(!1===s(a[i],i,a))break;return r}}function ua(t){return function(e,r,s){var n=-1,i=re(e),a=s(e),o=a.length;while(o--){var u=a[t?o:++n];if(!1===r(i[u],u,i))break}return e}}function ca(t,e,r){var s=e&g,n=pa(t);function i(){var e=this&&this!==ar&&this instanceof i?n:t;return e.apply(s?r:this,arguments)}return i}function ha(t){return function(e){e=Yh(e);var r=ss(e)?ds(e):i,s=r?r[0]:e.charAt(0),n=r?zi(r,1).join(""):e.slice(1);return s[t]()+n}}function la(t){return function(e){return Sr(xp(Vl(e).replace($e,"")),t,"")}}function pa(t){return function(){var e=arguments;switch(e.length){case 0:return new t;case 1:return new t(e[0]);case 2:return new t(e[0],e[1]);case 3:return new t(e[0],e[1],e[2]);case 4:return new t(e[0],e[1],e[2],e[3]);case 5:return new t(e[0],e[1],e[2],e[3],e[4]);case 6:return new t(e[0],e[1],e[2],e[3],e[4],e[5]);case 7:return new t(e[0],e[1],e[2],e[3],e[4],e[5],e[6])}var r=vs(t.prototype),s=t.apply(r,e);return wh(s)?s:r}}function fa(t,e,s){var n=pa(t);function a(){var o=arguments.length,u=r(o),c=o,h=Ua(a);while(c--)u[c]=arguments[c];var l=o<3&&u[0]!==h&&u[o-1]!==h?[]:us(u,h);if(o-=l.length,o<s)return Pa(t,e,ya,a.placeholder,i,u,l,i,i,s-o);var p=this&&this!==ar&&this instanceof a?n:t;return gr(p,this,u)}return a}function da(t){return function(e,r,s){var n=re(e);if(!uh(e)){var a=qa(r,3);e=bl(e),r=function(t){return a(n[t],t,n)}}var o=t(e,r,s);return o>-1?n[a?e[o]:o]:i}}function ma(t){return La((function(e){var r=e.length,s=r,n=Es.prototype.thru;t&&e.reverse();while(s--){var a=e[s];if("function"!=typeof a)throw new ie(c);if(n&&!o&&"wrapper"==ja(a))var o=new Es([],!0)}s=o?s:r;while(++s<r){a=e[s];var u=ja(a),h="wrapper"==u?Ma(a):i;o=h&&oo(h[0])&&h[1]==(C|v|E|A)&&!h[4].length&&1==h[9]?o[ja(h[0])].apply(o,h[3]):1==a.length&&oo(a)?o[u]():o.thru(a)}return function(){var t=arguments,s=t[0];if(o&&1==t.length&&ah(s))return o.plant(s).value();var n=0,i=r?e[n].apply(this,t):s;while(++n<r)i=e[n].call(this,i);return i}}))}function ya(t,e,s,n,a,o,u,c,h,l){var p=e&C,f=e&g,d=e&x,m=e&(v|w),y=e&T,D=d?i:pa(t);function b(){var i=arguments.length,g=r(i),x=i;while(x--)g[x]=arguments[x];if(m)var v=Ua(b),w=Zr(g,v);if(n&&(g=Qi(g,n,a,m)),o&&(g=ta(g,o,u,m)),i-=w,m&&i<l){var E=us(g,v);return Pa(t,e,ya,b.placeholder,s,g,E,c,h,l-i)}var P=f?s:this,C=d?P[t]:t;return i=g.length,c?g=bo(g,c):y&&i>1&&g.reverse(),p&&h<i&&(g.length=h),this&&this!==ar&&this instanceof b&&(C=D||pa(C)),C.apply(P,g)}return b}function Da(t,e){return function(r,s){return Un(r,t,e(s),{})}}function ga(t,e){return function(r,s){var n;if(r===i&&s===i)return e;if(r!==i&&(n=r),s!==i){if(n===i)return s;"string"==typeof r||"string"==typeof s?(r=Ni(r),s=Ni(s)):(r=ki(r),s=ki(s)),n=t(r,s)}return n}}function xa(t){return La((function(e){return e=Ar(e,Kr(qa())),gi((function(r){var s=this;return t(e,(function(t){return gr(t,s,r)}))}))}))}function ba(t,e){e=e===i?" ":Ni(e);var r=e.length;if(r<2)return r?Di(e,t):e;var s=Di(e,Ie(t/fs(e)));return ss(e)?zi(ds(s),0,t).join(""):s.slice(0,t)}function va(t,e,s,n){var i=e&g,a=pa(t);function o(){var e=-1,u=arguments.length,c=-1,h=n.length,l=r(h+u),p=this&&this!==ar&&this instanceof o?a:t;while(++c<h)l[c]=n[c];while(u--)l[c++]=arguments[++e];return gr(p,i?s:this,l)}return o}function wa(t){return function(e,r,s){return s&&"number"!=typeof s&&no(e,r,s)&&(r=s=i),e=Wh(e),r===i?(r=e,e=0):r=Wh(r),s=s===i?e<r?1:-1:Wh(s),yi(e,r,s,t)}}function Ea(t){return function(e,r){return"string"==typeof e&&"string"==typeof r||(e=Jh(e),r=Jh(r)),t(e,r)}}function Pa(t,e,r,s,n,a,o,u,c,h){var l=e&v,p=l?o:i,f=l?i:o,d=l?a:i,m=l?i:a;e|=l?E:P,e&=~(l?P:E),e&b||(e&=~(g|x));var y=[t,e,n,d,p,m,f,u,c,h],D=r.apply(i,y);return oo(t)&&wo(D,y),D.placeholder=s,Co(D,t,e)}function Ca(t){var e=ee[t];return function(t,r){if(t=Jh(t),r=null==r?0:qe(Vh(r),292),r&&Be(t)){var s=(Yh(t)+"e").split("e"),n=e(s[0]+"e"+(+s[1]+r));return s=(Yh(n)+"e").split("e"),+(s[0]+"e"+(+s[1]-r))}return e(t)}}var Aa=er&&1/cs(new er([,-0]))[1]==L?function(t){return new er(t)}:Rp;function Ta(t){return function(e){var r=Ja(e);return r==Z?as(e):r==it?hs(e):Vr(e,t(e))}}function Sa(t,e,r,s,n,a,o,u){var h=e&x;if(!h&&"function"!=typeof t)throw new ie(c);var l=s?s.length:0;if(l||(e&=~(E|P),s=n=i),o=o===i?o:Ue(Vh(o),0),u=u===i?u:Vh(u),l-=n?n.length:0,e&P){var p=s,f=n;s=n=i}var d=h?i:Ma(t),m=[t,e,r,s,n,p,f,a,o,u];if(d&&mo(m,d),t=m[0],e=m[1],r=m[2],s=m[3],n=m[4],u=m[9]=m[9]===i?h?0:t.length:Ue(m[9]-l,0),!u&&e&(v|w)&&(e&=~(v|w)),e&&e!=g)y=e==v||e==w?fa(t,e,u):e!=E&&e!=(g|E)||n.length?ya.apply(i,m):va(t,e,r,s);else var y=ca(t,e,r);var D=d?wi:wo;return Co(D(y,m),t,e)}function Fa(t,e,r,s){return t===i||rh(t,ue[r])&&!le.call(s,r)?e:t}function ka(t,e,r,s,n,a){return wh(t)&&wh(e)&&(a.set(e,t),ai(t,e,i,ka,a),a["delete"](e)),t}function Na(t){return _h(t)?i:t}function _a(t,e,r,s,n,a){var o=r&y,u=t.length,c=e.length;if(u!=c&&!(o&&c>u))return!1;var h=a.get(t),l=a.get(e);if(h&&l)return h==e&&l==t;var p=-1,f=!0,d=r&D?new Vs:i;a.set(t,e),a.set(e,t);while(++p<u){var m=t[p],g=e[p];if(s)var x=o?s(g,m,p,e,t,a):s(m,g,p,t,e,a);if(x!==i){if(x)continue;f=!1;break}if(d){if(!kr(e,(function(t,e){if(!Gr(d,e)&&(m===t||n(m,t,r,s,a)))return d.push(e)}))){f=!1;break}}else if(m!==g&&!n(m,g,r,s,a)){f=!1;break}}return a["delete"](t),a["delete"](e),f}function Ia(t,e,r,s,n,i,a){switch(r){case pt:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case lt:return!(t.byteLength!=e.byteLength||!i(new be(t),new be(e)));case V:case K:case Q:return rh(+t,+e);case G:return t.name==e.name&&t.message==e.message;case nt:case at:return t==e+"";case Z:var o=as;case it:var u=s&y;if(o||(o=cs),t.size!=e.size&&!u)return!1;var c=a.get(t);if(c)return c==e;s|=D,a.set(t,e);var h=_a(o(t),o(e),s,n,i,a);return a["delete"](t),h;case ot:if(ys)return ys.call(t)==ys.call(e)}return!1}function Oa(t,e,r,s,n,a){var o=r&y,u=Ra(t),c=u.length,h=Ra(e),l=h.length;if(c!=l&&!o)return!1;var p=c;while(p--){var f=u[p];if(!(o?f in e:le.call(e,f)))return!1}var d=a.get(t),m=a.get(e);if(d&&m)return d==e&&m==t;var D=!0;a.set(t,e),a.set(e,t);var g=o;while(++p<c){f=u[p];var x=t[f],b=e[f];if(s)var v=o?s(b,x,f,e,t,a):s(x,b,f,t,e,a);if(!(v===i?x===b||n(x,b,r,s,a):v)){D=!1;break}g||(g="constructor"==f)}if(D&&!g){var w=t.constructor,E=e.constructor;w==E||!("constructor"in t)||!("constructor"in e)||"function"==typeof w&&w instanceof w&&"function"==typeof E&&E instanceof E||(D=!1)}return a["delete"](t),a["delete"](e),D}function La(t){return Po(go(t,i,Vo),t+"")}function Ra(t){return In(t,bl,Va)}function Ba(t){return In(t,vl,Ka)}var Ma=or?function(t){return or.get(t)}:Rp;function ja(t){var e=t.name+"",r=ur[e],s=le.call(ur,e)?r.length:0;while(s--){var n=r[s],i=n.func;if(null==i||i==t)return n.name}return e}function Ua(t){var e=le.call(xs,"placeholder")?xs:t;return e.placeholder}function qa(){var t=xs.iteratee||Fp;return t=t===Fp?Qn:t,arguments.length?t(arguments[0],arguments[1]):t}function $a(t,e){var r=t.__data__;return ao(e)?r["string"==typeof e?"string":"hash"]:r.map}function za(t){var e=bl(t),r=e.length;while(r--){var s=e[r],n=t[s];e[r]=[s,n,lo(n)]}return e}function Ha(t,e){var r=rs(t,e);return Gn(r)?r:i}function Wa(t){var e=le.call(t,Se),r=t[Se];try{t[Se]=i;var s=!0}catch(a){}var n=de.call(t);return s&&(e?t[Se]=r:delete t[Se]),n}var Va=Le?function(t){return null==t?[]:(t=re(t),Er(Le(t),(function(e){return Pe.call(t,e)})))}:Wp,Ka=Le?function(t){var e=[];while(t)Tr(e,Va(t)),t=we(t);return e}:Wp,Ja=On;function Ga(t,e,r){var s=-1,n=r.length;while(++s<n){var i=r[s],a=i.size;switch(i.type){case"drop":t+=a;break;case"dropRight":e-=a;break;case"take":e=qe(e,t+a);break;case"takeRight":t=Ue(t,e-a);break}}return{start:t,end:e}}function Xa(t){var e=t.match(qt);return e?e[1].split($t):[]}function Ya(t,e,r){e=qi(e,t);var s=-1,n=e.length,i=!1;while(++s<n){var a=Fo(e[s]);if(!(i=null!=t&&r(t,a)))break;t=t[a]}return i||++s!=n?i:(n=null==t?0:t.length,!!n&&vh(n)&&so(a,n)&&(ah(t)||ih(t)))}function Za(t){var e=t.length,r=new t.constructor(e);return e&&"string"==typeof t[0]&&le.call(t,"index")&&(r.index=t.index,r.input=t.input),r}function Qa(t){return"function"!=typeof t.constructor||ho(t)?{}:vs(we(t))}function to(t,e,r){var s=t.constructor;switch(e){case lt:return Vi(t);case V:case K:return new s(+t);case pt:return Ki(t,r);case ft:case dt:case mt:case yt:case Dt:case gt:case xt:case bt:case vt:return Xi(t,r);case Z:return new s;case Q:case at:return new s(t);case nt:return Ji(t);case it:return new s;case ot:return Gi(t)}}function eo(t,e){var r=e.length;if(!r)return t;var s=r-1;return e[s]=(r>1?"& ":"")+e[s],e=e.join(r>2?", ":" "),t.replace(Ut,"{\n/* [wrapped with "+e+"] */\n")}function ro(t){return ah(t)||ih(t)||!!(Ae&&t&&t[Ae])}function so(t,e){var r=typeof t;return e=null==e?R:e,!!e&&("number"==r||"symbol"!=r&&Yt.test(t))&&t>-1&&t%1==0&&t<e}function no(t,e,r){if(!wh(r))return!1;var s=typeof e;return!!("number"==s?uh(r)&&so(e,r.length):"string"==s&&e in r)&&rh(r[e],t)}function io(t,e){if(ah(t))return!1;var r=typeof t;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=t&&!Bh(t))||(It.test(t)||!_t.test(t)||null!=e&&t in re(e))}function ao(t){var e=typeof t;return"string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==t:null===t}function oo(t){var e=ja(t),r=xs[e];if("function"!=typeof r||!(e in Ps.prototype))return!1;if(t===r)return!0;var s=Ma(r);return!!s&&t===s[0]}function uo(t){return!!fe&&fe in t}(Ze&&Ja(new Ze(new ArrayBuffer(1)))!=pt||Qe&&Ja(new Qe)!=Z||tr&&Ja(tr.resolve())!=rt||er&&Ja(new er)!=it||nr&&Ja(new nr)!=ct)&&(Ja=function(t){var e=On(t),r=e==et?t.constructor:i,s=r?ko(r):"";if(s)switch(s){case hr:return pt;case lr:return Z;case Nr:return rt;case _r:return it;case qr:return ct}return e});var co=ce?xh:Vp;function ho(t){var e=t&&t.constructor,r="function"==typeof e&&e.prototype||ue;return t===r}function lo(t){return t===t&&!wh(t)}function po(t,e){return function(r){return null!=r&&(r[t]===e&&(e!==i||t in re(r)))}}function fo(t){var e=Mc(t,(function(t){return r.size===l&&r.clear(),t})),r=e.cache;return e}function mo(t,e){var r=t[1],s=e[1],n=r|s,i=n<(g|x|C),a=s==C&&r==v||s==C&&r==A&&t[7].length<=e[8]||s==(C|A)&&e[7].length<=e[8]&&r==v;if(!i&&!a)return t;s&g&&(t[2]=e[2],n|=r&g?0:b);var o=e[3];if(o){var u=t[3];t[3]=u?Qi(u,o,e[4]):o,t[4]=u?us(t[3],p):e[4]}return o=e[5],o&&(u=t[5],t[5]=u?ta(u,o,e[6]):o,t[6]=u?us(t[5],p):e[6]),o=e[7],o&&(t[7]=o),s&C&&(t[8]=null==t[8]?e[8]:qe(t[8],e[8])),null==t[9]&&(t[9]=e[9]),t[0]=e[0],t[1]=n,t}function yo(t){var e=[];if(null!=t)for(var r in re(t))e.push(r);return e}function Do(t){return de.call(t)}function go(t,e,s){return e=Ue(e===i?t.length-1:e,0),function(){var n=arguments,i=-1,a=Ue(n.length-e,0),o=r(a);while(++i<a)o[i]=n[e+i];i=-1;var u=r(e+1);while(++i<e)u[i]=n[i];return u[e]=s(o),gr(t,this,u)}}function xo(t,e){return e.length<2?t:_n(t,Ci(e,0,-1))}function bo(t,e){var r=t.length,s=qe(e.length,r),n=ea(t);while(s--){var a=e[s];t[s]=so(a,r)?n[a]:i}return t}function vo(t,e){if(("constructor"!==e||"function"!==typeof t[e])&&"__proto__"!=e)return t[e]}var wo=Ao(wi),Eo=_e||function(t,e){return ar.setTimeout(t,e)},Po=Ao(Ei);function Co(t,e,r){var s=e+"";return Po(t,eo(s,No(Xa(s),r)))}function Ao(t){var e=0,r=0;return function(){var s=He(),n=N-(s-r);if(r=s,n>0){if(++e>=k)return arguments[0]}else e=0;return t.apply(i,arguments)}}function To(t,e){var r=-1,s=t.length,n=s-1;e=e===i?s:e;while(++r<e){var a=mi(r,n),o=t[a];t[a]=t[r],t[r]=o}return t.length=e,t}var So=fo((function(t){var e=[];return 46===t.charCodeAt(0)&&e.push(""),t.replace(Ot,(function(t,r,s,n){e.push(s?n.replace(Ht,"$1"):r||t)})),e}));function Fo(t){if("string"==typeof t||Bh(t))return t;var e=t+"";return"0"==e&&1/t==-L?"-0":e}function ko(t){if(null!=t){try{return he.call(t)}catch(e){}try{return t+""}catch(e){}}return""}function No(t,e){return br($,(function(r){var s="_."+r[0];e&r[1]&&!Pr(t,s)&&t.push(s)})),t.sort()}function _o(t){if(t instanceof Ps)return t.clone();var e=new Es(t.__wrapped__,t.__chain__);return e.__actions__=ea(t.__actions__),e.__index__=t.__index__,e.__values__=t.__values__,e}function Io(t,e,s){e=(s?no(t,e,s):e===i)?1:Ue(Vh(e),0);var n=null==t?0:t.length;if(!n||e<1)return[];var a=0,o=0,u=r(Ie(n/e));while(a<n)u[o++]=Ci(t,a,a+=e);return u}function Oo(t){var e=-1,r=null==t?0:t.length,s=0,n=[];while(++e<r){var i=t[e];i&&(n[s++]=i)}return n}function Lo(){var t=arguments.length;if(!t)return[];var e=r(t-1),s=arguments[0],n=t;while(n--)e[n-1]=arguments[n];return Tr(ah(s)?ea(s):[s],An(e,1))}var Ro=gi((function(t,e){return ch(t)?xn(t,An(e,1,ch,!0)):[]})),Bo=gi((function(t,e){var r=su(e);return ch(r)&&(r=i),ch(t)?xn(t,An(e,1,ch,!0),qa(r,2)):[]})),Mo=gi((function(t,e){var r=su(e);return ch(r)&&(r=i),ch(t)?xn(t,An(e,1,ch,!0),i,r):[]}));function jo(t,e,r){var s=null==t?0:t.length;return s?(e=r||e===i?1:Vh(e),Ci(t,e<0?0:e,s)):[]}function Uo(t,e,r){var s=null==t?0:t.length;return s?(e=r||e===i?1:Vh(e),e=s-e,Ci(t,0,e<0?0:e)):[]}function qo(t,e){return t&&t.length?Li(t,qa(e,3),!0,!0):[]}function $o(t,e){return t&&t.length?Li(t,qa(e,3),!0):[]}function zo(t,e,r,s){var n=null==t?0:t.length;return n?(r&&"number"!=typeof r&&no(t,e,r)&&(r=0,s=n),Pn(t,e,r,s)):[]}function Ho(t,e,r){var s=null==t?0:t.length;if(!s)return-1;var n=null==r?0:Vh(r);return n<0&&(n=Ue(s+n,0)),Lr(t,qa(e,3),n)}function Wo(t,e,r){var s=null==t?0:t.length;if(!s)return-1;var n=s-1;return r!==i&&(n=Vh(r),n=r<0?Ue(s+n,0):qe(n,s-1)),Lr(t,qa(e,3),n,!0)}function Vo(t){var e=null==t?0:t.length;return e?An(t,1):[]}function Ko(t){var e=null==t?0:t.length;return e?An(t,L):[]}function Jo(t,e){var r=null==t?0:t.length;return r?(e=e===i?1:Vh(e),An(t,e)):[]}function Go(t){var e=-1,r=null==t?0:t.length,s={};while(++e<r){var n=t[e];s[n[0]]=n[1]}return s}function Xo(t){return t&&t.length?t[0]:i}function Yo(t,e,r){var s=null==t?0:t.length;if(!s)return-1;var n=null==r?0:Vh(r);return n<0&&(n=Ue(s+n,0)),Rr(t,e,n)}function Zo(t){var e=null==t?0:t.length;return e?Ci(t,0,-1):[]}var Qo=gi((function(t){var e=Ar(t,ji);return e.length&&e[0]===t[0]?jn(e):[]})),tu=gi((function(t){var e=su(t),r=Ar(t,ji);return e===su(r)?e=i:r.pop(),r.length&&r[0]===t[0]?jn(r,qa(e,2)):[]})),eu=gi((function(t){var e=su(t),r=Ar(t,ji);return e="function"==typeof e?e:i,e&&r.pop(),r.length&&r[0]===t[0]?jn(r,i,e):[]}));function ru(t,e){return null==t?"":Me.call(t,e)}function su(t){var e=null==t?0:t.length;return e?t[e-1]:i}function nu(t,e,r){var s=null==t?0:t.length;if(!s)return-1;var n=s;return r!==i&&(n=Vh(r),n=n<0?Ue(s+n,0):qe(n,s-1)),e===e?ps(t,e,n):Lr(t,Mr,n,!0)}function iu(t,e){return t&&t.length?ui(t,Vh(e)):i}var au=gi(ou);function ou(t,e){return t&&t.length&&e&&e.length?fi(t,e):t}function uu(t,e,r){return t&&t.length&&e&&e.length?fi(t,e,qa(r,2)):t}function cu(t,e,r){return t&&t.length&&e&&e.length?fi(t,e,i,r):t}var hu=La((function(t,e){var r=null==t?0:t.length,s=fn(t,e);return di(t,Ar(e,(function(t){return so(t,r)?+t:t})).sort(Yi)),s}));function lu(t,e){var r=[];if(!t||!t.length)return r;var s=-1,n=[],i=t.length;e=qa(e,3);while(++s<i){var a=t[s];e(a,s,t)&&(r.push(a),n.push(s))}return di(t,n),r}function pu(t){return null==t?t:Ke.call(t)}function fu(t,e,r){var s=null==t?0:t.length;return s?(r&&"number"!=typeof r&&no(t,e,r)?(e=0,r=s):(e=null==e?0:Vh(e),r=r===i?s:Vh(r)),Ci(t,e,r)):[]}function du(t,e){return Ti(t,e)}function mu(t,e,r){return Si(t,e,qa(r,2))}function yu(t,e){var r=null==t?0:t.length;if(r){var s=Ti(t,e);if(s<r&&rh(t[s],e))return s}return-1}function Du(t,e){return Ti(t,e,!0)}function gu(t,e,r){return Si(t,e,qa(r,2),!0)}function xu(t,e){var r=null==t?0:t.length;if(r){var s=Ti(t,e,!0)-1;if(rh(t[s],e))return s}return-1}function bu(t){return t&&t.length?Fi(t):[]}function vu(t,e){return t&&t.length?Fi(t,qa(e,2)):[]}function wu(t){var e=null==t?0:t.length;return e?Ci(t,1,e):[]}function Eu(t,e,r){return t&&t.length?(e=r||e===i?1:Vh(e),Ci(t,0,e<0?0:e)):[]}function Pu(t,e,r){var s=null==t?0:t.length;return s?(e=r||e===i?1:Vh(e),e=s-e,Ci(t,e<0?0:e,s)):[]}function Cu(t,e){return t&&t.length?Li(t,qa(e,3),!1,!0):[]}function Au(t,e){return t&&t.length?Li(t,qa(e,3)):[]}var Tu=gi((function(t){return _i(An(t,1,ch,!0))})),Su=gi((function(t){var e=su(t);return ch(e)&&(e=i),_i(An(t,1,ch,!0),qa(e,2))})),Fu=gi((function(t){var e=su(t);return e="function"==typeof e?e:i,_i(An(t,1,ch,!0),i,e)}));function ku(t){return t&&t.length?_i(t):[]}function Nu(t,e){return t&&t.length?_i(t,qa(e,2)):[]}function _u(t,e){return e="function"==typeof e?e:i,t&&t.length?_i(t,i,e):[]}function Iu(t){if(!t||!t.length)return[];var e=0;return t=Er(t,(function(t){if(ch(t))return e=Ue(t.length,e),!0})),Wr(e,(function(e){return Ar(t,Ur(e))}))}function Ou(t,e){if(!t||!t.length)return[];var r=Iu(t);return null==e?r:Ar(r,(function(t){return gr(e,i,t)}))}var Lu=gi((function(t,e){return ch(t)?xn(t,e):[]})),Ru=gi((function(t){return Bi(Er(t,ch))})),Bu=gi((function(t){var e=su(t);return ch(e)&&(e=i),Bi(Er(t,ch),qa(e,2))})),Mu=gi((function(t){var e=su(t);return e="function"==typeof e?e:i,Bi(Er(t,ch),i,e)})),ju=gi(Iu);function Uu(t,e){return Mi(t||[],e||[],on)}function qu(t,e){return Mi(t||[],e||[],vi)}var $u=gi((function(t){var e=t.length,r=e>1?t[e-1]:i;return r="function"==typeof r?(t.pop(),r):i,Ou(t,r)}));function zu(t){var e=xs(t);return e.__chain__=!0,e}function Hu(t,e){return e(t),t}function Wu(t,e){return e(t)}var Vu=La((function(t){var e=t.length,r=e?t[0]:0,s=this.__wrapped__,n=function(e){return fn(e,t)};return!(e>1||this.__actions__.length)&&s instanceof Ps&&so(r)?(s=s.slice(r,+r+(e?1:0)),s.__actions__.push({func:Wu,args:[n],thisArg:i}),new Es(s,this.__chain__).thru((function(t){return e&&!t.length&&t.push(i),t}))):this.thru(n)}));function Ku(){return zu(this)}function Ju(){return new Es(this.value(),this.__chain__)}function Gu(){this.__values__===i&&(this.__values__=Hh(this.value()));var t=this.__index__>=this.__values__.length,e=t?i:this.__values__[this.__index__++];return{done:t,value:e}}function Xu(){return this}function Yu(t){var e,r=this;while(r instanceof ws){var s=_o(r);s.__index__=0,s.__values__=i,e?n.__wrapped__=s:e=s;var n=s;r=r.__wrapped__}return n.__wrapped__=t,e}function Zu(){var t=this.__wrapped__;if(t instanceof Ps){var e=t;return this.__actions__.length&&(e=new Ps(this)),e=e.reverse(),e.__actions__.push({func:Wu,args:[pu],thisArg:i}),new Es(e,this.__chain__)}return this.thru(pu)}function Qu(){return Ri(this.__wrapped__,this.__actions__)}var tc=ia((function(t,e,r){le.call(t,r)?++t[r]:pn(t,r,1)}));function ec(t,e,r){var s=ah(t)?wr:wn;return r&&no(t,e,r)&&(e=i),s(t,qa(e,3))}function rc(t,e){var r=ah(t)?Er:Cn;return r(t,qa(e,3))}var sc=da(Ho),nc=da(Wo);function ic(t,e){return An(dc(t,e),1)}function ac(t,e){return An(dc(t,e),L)}function oc(t,e,r){return r=r===i?1:Vh(r),An(dc(t,e),r)}function uc(t,e){var r=ah(t)?br:bn;return r(t,qa(e,3))}function cc(t,e){var r=ah(t)?vr:vn;return r(t,qa(e,3))}var hc=ia((function(t,e,r){le.call(t,r)?t[r].push(e):pn(t,r,[e])}));function lc(t,e,r,s){t=uh(t)?t:jl(t),r=r&&!s?Vh(r):0;var n=t.length;return r<0&&(r=Ue(n+r,0)),Rh(t)?r<=n&&t.indexOf(e,r)>-1:!!n&&Rr(t,e,r)>-1}var pc=gi((function(t,e,s){var n=-1,i="function"==typeof e,a=uh(t)?r(t.length):[];return bn(t,(function(t){a[++n]=i?gr(e,t,s):qn(t,e,s)})),a})),fc=ia((function(t,e,r){pn(t,r,e)}));function dc(t,e){var r=ah(t)?Ar:si;return r(t,qa(e,3))}function mc(t,e,r,s){return null==t?[]:(ah(e)||(e=null==e?[]:[e]),r=s?i:r,ah(r)||(r=null==r?[]:[r]),ci(t,e,r))}var yc=ia((function(t,e,r){t[r?0:1].push(e)}),(function(){return[[],[]]}));function Dc(t,e,r){var s=ah(t)?Sr:$r,n=arguments.length<3;return s(t,qa(e,4),r,n,bn)}function gc(t,e,r){var s=ah(t)?Fr:$r,n=arguments.length<3;return s(t,qa(e,4),r,n,vn)}function xc(t,e){var r=ah(t)?Er:Cn;return r(t,jc(qa(e,3)))}function bc(t){var e=ah(t)?rn:xi;return e(t)}function vc(t,e,r){e=(r?no(t,e,r):e===i)?1:Vh(e);var s=ah(t)?sn:bi;return s(t,e)}function wc(t){var e=ah(t)?nn:Pi;return e(t)}function Ec(t){if(null==t)return 0;if(uh(t))return Rh(t)?fs(t):t.length;var e=Ja(t);return e==Z||e==it?t.size:ti(t).length}function Pc(t,e,r){var s=ah(t)?kr:Ai;return r&&no(t,e,r)&&(e=i),s(t,qa(e,3))}var Cc=gi((function(t,e){if(null==t)return[];var r=e.length;return r>1&&no(t,e[0],e[1])?e=[]:r>2&&no(e[0],e[1],e[2])&&(e=[e[0]]),ci(t,An(e,1),[])})),Ac=Ne||function(){return ar.Date.now()};function Tc(t,e){if("function"!=typeof e)throw new ie(c);return t=Vh(t),function(){if(--t<1)return e.apply(this,arguments)}}function Sc(t,e,r){return e=r?i:e,e=t&&null==e?t.length:e,Sa(t,C,i,i,i,i,e)}function Fc(t,e){var r;if("function"!=typeof e)throw new ie(c);return t=Vh(t),function(){return--t>0&&(r=e.apply(this,arguments)),t<=1&&(e=i),r}}var kc=gi((function(t,e,r){var s=g;if(r.length){var n=us(r,Ua(kc));s|=E}return Sa(t,s,e,r,n)})),Nc=gi((function(t,e,r){var s=g|x;if(r.length){var n=us(r,Ua(Nc));s|=E}return Sa(e,s,t,r,n)}));function _c(t,e,r){e=r?i:e;var s=Sa(t,v,i,i,i,i,i,e);return s.placeholder=_c.placeholder,s}function Ic(t,e,r){e=r?i:e;var s=Sa(t,w,i,i,i,i,i,e);return s.placeholder=Ic.placeholder,s}function Oc(t,e,r){var s,n,a,o,u,h,l=0,p=!1,f=!1,d=!0;if("function"!=typeof t)throw new ie(c);function m(e){var r=s,a=n;return s=n=i,l=e,o=t.apply(a,r),o}function y(t){return l=t,u=Eo(x,e),p?m(t):o}function D(t){var r=t-h,s=t-l,n=e-r;return f?qe(n,a-s):n}function g(t){var r=t-h,s=t-l;return h===i||r>=e||r<0||f&&s>=a}function x(){var t=Ac();if(g(t))return b(t);u=Eo(x,D(t))}function b(t){return u=i,d&&s?m(t):(s=n=i,o)}function v(){u!==i&&Hi(u),l=0,s=h=n=u=i}function w(){return u===i?o:b(Ac())}function E(){var t=Ac(),r=g(t);if(s=arguments,n=this,h=t,r){if(u===i)return y(h);if(f)return Hi(u),u=Eo(x,e),m(h)}return u===i&&(u=Eo(x,e)),o}return e=Jh(e)||0,wh(r)&&(p=!!r.leading,f="maxWait"in r,a=f?Ue(Jh(r.maxWait)||0,e):a,d="trailing"in r?!!r.trailing:d),E.cancel=v,E.flush=w,E}var Lc=gi((function(t,e){return gn(t,1,e)})),Rc=gi((function(t,e,r){return gn(t,Jh(e)||0,r)}));function Bc(t){return Sa(t,T)}function Mc(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new ie(c);var r=function(){var s=arguments,n=e?e.apply(this,s):s[0],i=r.cache;if(i.has(n))return i.get(n);var a=t.apply(this,s);return r.cache=i.set(n,a)||i,a};return r.cache=new(Mc.Cache||Us),r}function jc(t){if("function"!=typeof t)throw new ie(c);return function(){var e=arguments;switch(e.length){case 0:return!t.call(this);case 1:return!t.call(this,e[0]);case 2:return!t.call(this,e[0],e[1]);case 3:return!t.call(this,e[0],e[1],e[2])}return!t.apply(this,e)}}function Uc(t){return Fc(2,t)}Mc.Cache=Us;var qc=$i((function(t,e){e=1==e.length&&ah(e[0])?Ar(e[0],Kr(qa())):Ar(An(e,1),Kr(qa()));var r=e.length;return gi((function(s){var n=-1,i=qe(s.length,r);while(++n<i)s[n]=e[n].call(this,s[n]);return gr(t,this,s)}))})),$c=gi((function(t,e){var r=us(e,Ua($c));return Sa(t,E,i,e,r)})),zc=gi((function(t,e){var r=us(e,Ua(zc));return Sa(t,P,i,e,r)})),Hc=La((function(t,e){return Sa(t,A,i,i,i,e)}));function Wc(t,e){if("function"!=typeof t)throw new ie(c);return e=e===i?e:Vh(e),gi(t,e)}function Vc(t,e){if("function"!=typeof t)throw new ie(c);return e=null==e?0:Ue(Vh(e),0),gi((function(r){var s=r[e],n=zi(r,0,e);return s&&Tr(n,s),gr(t,this,n)}))}function Kc(t,e,r){var s=!0,n=!0;if("function"!=typeof t)throw new ie(c);return wh(r)&&(s="leading"in r?!!r.leading:s,n="trailing"in r?!!r.trailing:n),Oc(t,e,{leading:s,maxWait:e,trailing:n})}function Jc(t){return Sc(t,1)}function Gc(t,e){return $c(Ui(e),t)}function Xc(){if(!arguments.length)return[];var t=arguments[0];return ah(t)?t:[t]}function Yc(t){return mn(t,m)}function Zc(t,e){return e="function"==typeof e?e:i,mn(t,m,e)}function Qc(t){return mn(t,f|m)}function th(t,e){return e="function"==typeof e?e:i,mn(t,f|m,e)}function eh(t,e){return null==e||Dn(t,e,bl(e))}function rh(t,e){return t===e||t!==t&&e!==e}var sh=Ea(Ln),nh=Ea((function(t,e){return t>=e})),ih=$n(function(){return arguments}())?$n:function(t){return Eh(t)&&le.call(t,"callee")&&!Pe.call(t,"callee")},ah=r.isArray,oh=pr?Kr(pr):zn;function uh(t){return null!=t&&vh(t.length)&&!xh(t)}function ch(t){return Eh(t)&&uh(t)}function hh(t){return!0===t||!1===t||Eh(t)&&On(t)==V}var lh=Re||Vp,ph=fr?Kr(fr):Hn;function fh(t){return Eh(t)&&1===t.nodeType&&!_h(t)}function dh(t){if(null==t)return!0;if(uh(t)&&(ah(t)||"string"==typeof t||"function"==typeof t.splice||lh(t)||Mh(t)||ih(t)))return!t.length;var e=Ja(t);if(e==Z||e==it)return!t.size;if(ho(t))return!ti(t).length;for(var r in t)if(le.call(t,r))return!1;return!0}function mh(t,e){return Wn(t,e)}function yh(t,e,r){r="function"==typeof r?r:i;var s=r?r(t,e):i;return s===i?Wn(t,e,i,r):!!s}function Dh(t){if(!Eh(t))return!1;var e=On(t);return e==G||e==J||"string"==typeof t.message&&"string"==typeof t.name&&!_h(t)}function gh(t){return"number"==typeof t&&Be(t)}function xh(t){if(!wh(t))return!1;var e=On(t);return e==X||e==Y||e==W||e==st}function bh(t){return"number"==typeof t&&t==Vh(t)}function vh(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=R}function wh(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}function Eh(t){return null!=t&&"object"==typeof t}var Ph=dr?Kr(dr):Kn;function Ch(t,e){return t===e||Jn(t,e,za(e))}function Ah(t,e,r){return r="function"==typeof r?r:i,Jn(t,e,za(e),r)}function Th(t){return Nh(t)&&t!=+t}function Sh(t){if(co(t))throw new n(u);return Gn(t)}function Fh(t){return null===t}function kh(t){return null==t}function Nh(t){return"number"==typeof t||Eh(t)&&On(t)==Q}function _h(t){if(!Eh(t)||On(t)!=et)return!1;var e=we(t);if(null===e)return!0;var r=le.call(e,"constructor")&&e.constructor;return"function"==typeof r&&r instanceof r&&he.call(r)==me}var Ih=mr?Kr(mr):Xn;function Oh(t){return bh(t)&&t>=-R&&t<=R}var Lh=yr?Kr(yr):Yn;function Rh(t){return"string"==typeof t||!ah(t)&&Eh(t)&&On(t)==at}function Bh(t){return"symbol"==typeof t||Eh(t)&&On(t)==ot}var Mh=Dr?Kr(Dr):Zn;function jh(t){return t===i}function Uh(t){return Eh(t)&&Ja(t)==ct}function qh(t){return Eh(t)&&On(t)==ht}var $h=Ea(ri),zh=Ea((function(t,e){return t<=e}));function Hh(t){if(!t)return[];if(uh(t))return Rh(t)?ds(t):ea(t);if(Te&&t[Te])return is(t[Te]());var e=Ja(t),r=e==Z?as:e==it?cs:jl;return r(t)}function Wh(t){if(!t)return 0===t?t:0;if(t=Jh(t),t===L||t===-L){var e=t<0?-1:1;return e*B}return t===t?t:0}function Vh(t){var e=Wh(t),r=e%1;return e===e?r?e-r:e:0}function Kh(t){return t?dn(Vh(t),0,j):0}function Jh(t){if("number"==typeof t)return t;if(Bh(t))return M;if(wh(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=wh(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(Bt,"");var r=Jt.test(t);return r||Xt.test(t)?sr(t.slice(2),r?2:8):Kt.test(t)?M:+t}function Gh(t){return ra(t,vl(t))}function Xh(t){return t?dn(Vh(t),-R,R):0===t?t:0}function Yh(t){return null==t?"":Ni(t)}var Zh=aa((function(t,e){if(ho(e)||uh(e))ra(e,bl(e),t);else for(var r in e)le.call(e,r)&&on(t,r,e[r])})),Qh=aa((function(t,e){ra(e,vl(e),t)})),tl=aa((function(t,e,r,s){ra(e,vl(e),t,s)})),el=aa((function(t,e,r,s){ra(e,bl(e),t,s)})),rl=La(fn);function sl(t,e){var r=vs(t);return null==e?r:hn(r,e)}var nl=gi((function(t,e){t=re(t);var r=-1,s=e.length,n=s>2?e[2]:i;n&&no(e[0],e[1],n)&&(s=1);while(++r<s){var a=e[r],o=vl(a),u=-1,c=o.length;while(++u<c){var h=o[u],l=t[h];(l===i||rh(l,ue[h])&&!le.call(t,h))&&(t[h]=a[h])}}return t})),il=gi((function(t){return t.push(i,ka),gr(Cl,i,t)}));function al(t,e){return Or(t,qa(e,3),Fn)}function ol(t,e){return Or(t,qa(e,3),kn)}function ul(t,e){return null==t?t:Tn(t,qa(e,3),vl)}function cl(t,e){return null==t?t:Sn(t,qa(e,3),vl)}function hl(t,e){return t&&Fn(t,qa(e,3))}function ll(t,e){return t&&kn(t,qa(e,3))}function pl(t){return null==t?[]:Nn(t,bl(t))}function fl(t){return null==t?[]:Nn(t,vl(t))}function dl(t,e,r){var s=null==t?i:_n(t,e);return s===i?r:s}function ml(t,e){return null!=t&&Ya(t,e,Rn)}function yl(t,e){return null!=t&&Ya(t,e,Bn)}var Dl=Da((function(t,e,r){null!=e&&"function"!=typeof e.toString&&(e=de.call(e)),t[e]=r}),Pp(Sp)),gl=Da((function(t,e,r){null!=e&&"function"!=typeof e.toString&&(e=de.call(e)),le.call(t,e)?t[e].push(r):t[e]=[r]}),qa),xl=gi(qn);function bl(t){return uh(t)?en(t):ti(t)}function vl(t){return uh(t)?en(t,!0):ei(t)}function wl(t,e){var r={};return e=qa(e,3),Fn(t,(function(t,s,n){pn(r,e(t,s,n),t)})),r}function El(t,e){var r={};return e=qa(e,3),Fn(t,(function(t,s,n){pn(r,s,e(t,s,n))})),r}var Pl=aa((function(t,e,r){ai(t,e,r)})),Cl=aa((function(t,e,r,s){ai(t,e,r,s)})),Al=La((function(t,e){var r={};if(null==t)return r;var s=!1;e=Ar(e,(function(e){return e=qi(e,t),s||(s=e.length>1),e})),ra(t,Ba(t),r),s&&(r=mn(r,f|d|m,Na));var n=e.length;while(n--)Ii(r,e[n]);return r}));function Tl(t,e){return Fl(t,jc(qa(e)))}var Sl=La((function(t,e){return null==t?{}:hi(t,e)}));function Fl(t,e){if(null==t)return{};var r=Ar(Ba(t),(function(t){return[t]}));return e=qa(e),li(t,r,(function(t,r){return e(t,r[0])}))}function kl(t,e,r){e=qi(e,t);var s=-1,n=e.length;n||(n=1,t=i);while(++s<n){var a=null==t?i:t[Fo(e[s])];a===i&&(s=n,a=r),t=xh(a)?a.call(t):a}return t}function Nl(t,e,r){return null==t?t:vi(t,e,r)}function _l(t,e,r,s){return s="function"==typeof s?s:i,null==t?t:vi(t,e,r,s)}var Il=Ta(bl),Ol=Ta(vl);function Ll(t,e,r){var s=ah(t),n=s||lh(t)||Mh(t);if(e=qa(e,4),null==r){var i=t&&t.constructor;r=n?s?new i:[]:wh(t)&&xh(i)?vs(we(t)):{}}return(n?br:Fn)(t,(function(t,s,n){return e(r,t,s,n)})),r}function Rl(t,e){return null==t||Ii(t,e)}function Bl(t,e,r){return null==t?t:Oi(t,e,Ui(r))}function Ml(t,e,r,s){return s="function"==typeof s?s:i,null==t?t:Oi(t,e,Ui(r),s)}function jl(t){return null==t?[]:Jr(t,bl(t))}function Ul(t){return null==t?[]:Jr(t,vl(t))}function ql(t,e,r){return r===i&&(r=e,e=i),r!==i&&(r=Jh(r),r=r===r?r:0),e!==i&&(e=Jh(e),e=e===e?e:0),dn(Jh(t),e,r)}function $l(t,e,r){return e=Wh(e),r===i?(r=e,e=0):r=Wh(r),t=Jh(t),Mn(t,e,r)}function zl(t,e,r){if(r&&"boolean"!=typeof r&&no(t,e,r)&&(e=r=i),r===i&&("boolean"==typeof e?(r=e,e=i):"boolean"==typeof t&&(r=t,t=i)),t===i&&e===i?(t=0,e=1):(t=Wh(t),e===i?(e=t,t=0):e=Wh(e)),t>e){var s=t;t=e,e=s}if(r||t%1||e%1){var n=Ve();return qe(t+n*(e-t+rr("1e-"+((n+"").length-1))),e)}return mi(t,e)}var Hl=la((function(t,e,r){return e=e.toLowerCase(),t+(r?Wl(e):e)}));function Wl(t){return gp(Yh(t).toLowerCase())}function Vl(t){return t=Yh(t),t&&t.replace(Zt,Qr).replace(ze,"")}function Kl(t,e,r){t=Yh(t),e=Ni(e);var s=t.length;r=r===i?s:dn(Vh(r),0,s);var n=r;return r-=e.length,r>=0&&t.slice(r,n)==e}function Jl(t){return t=Yh(t),t&&St.test(t)?t.replace(At,ts):t}function Gl(t){return t=Yh(t),t&&Rt.test(t)?t.replace(Lt,"\\$&"):t}var Xl=la((function(t,e,r){return t+(r?"-":"")+e.toLowerCase()})),Yl=la((function(t,e,r){return t+(r?" ":"")+e.toLowerCase()})),Zl=ha("toLowerCase");function Ql(t,e,r){t=Yh(t),e=Vh(e);var s=e?fs(t):0;if(!e||s>=e)return t;var n=(e-s)/2;return ba(Oe(n),r)+t+ba(Ie(n),r)}function tp(t,e,r){t=Yh(t),e=Vh(e);var s=e?fs(t):0;return e&&s<e?t+ba(e-s,r):t}function ep(t,e,r){t=Yh(t),e=Vh(e);var s=e?fs(t):0;return e&&s<e?ba(e-s,r)+t:t}function rp(t,e,r){return r||null==e?e=0:e&&(e=+e),We(Yh(t).replace(Mt,""),e||0)}function sp(t,e,r){return e=(r?no(t,e,r):e===i)?1:Vh(e),Di(Yh(t),e)}function np(){var t=arguments,e=Yh(t[0]);return t.length<3?e:e.replace(t[1],t[2])}var ip=la((function(t,e,r){return t+(r?"_":"")+e.toLowerCase()}));function ap(t,e,r){return r&&"number"!=typeof r&&no(t,e,r)&&(e=r=i),r=r===i?j:r>>>0,r?(t=Yh(t),t&&("string"==typeof e||null!=e&&!Ih(e))&&(e=Ni(e),!e&&ss(t))?zi(ds(t),0,r):t.split(e,r)):[]}var op=la((function(t,e,r){return t+(r?" ":"")+gp(e)}));function up(t,e,r){return t=Yh(t),r=null==r?0:dn(Vh(r),0,t.length),e=Ni(e),t.slice(r,r+e.length)==e}function cp(t,e,r){var s=xs.templateSettings;r&&no(t,e,r)&&(e=i),t=Yh(t),e=tl({},e,s,Fa);var n,a,o=tl({},e.imports,s.imports,Fa),u=bl(o),c=Jr(o,u),h=0,l=e.interpolate||Qt,p="__p += '",f=se((e.escape||Qt).source+"|"+l.source+"|"+(l===Nt?Wt:Qt).source+"|"+(e.evaluate||Qt).source+"|$","g"),d="//# sourceURL="+(le.call(e,"sourceURL")?(e.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++Ge+"]")+"\n";t.replace(f,(function(e,r,s,i,o,u){return s||(s=i),p+=t.slice(h,u).replace(te,es),r&&(n=!0,p+="' +\n__e("+r+") +\n'"),o&&(a=!0,p+="';\n"+o+";\n__p += '"),s&&(p+="' +\n((__t = ("+s+")) == null ? '' : __t) +\n'"),h=u+e.length,e})),p+="';\n";var m=le.call(e,"variable")&&e.variable;m||(p="with (obj) {\n"+p+"\n}\n"),p=(a?p.replace(wt,""):p).replace(Et,"$1").replace(Pt,"$1;"),p="function("+(m||"obj")+") {\n"+(m?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(n?", __e = _.escape":"")+(a?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+p+"return __p\n}";var y=bp((function(){return zt(u,d+"return "+p).apply(i,c)}));if(y.source=p,Dh(y))throw y;return y}function hp(t){return Yh(t).toLowerCase()}function lp(t){return Yh(t).toUpperCase()}function pp(t,e,r){if(t=Yh(t),t&&(r||e===i))return t.replace(Bt,"");if(!t||!(e=Ni(e)))return t;var s=ds(t),n=ds(e),a=Xr(s,n),o=Yr(s,n)+1;return zi(s,a,o).join("")}function fp(t,e,r){if(t=Yh(t),t&&(r||e===i))return t.replace(jt,"");if(!t||!(e=Ni(e)))return t;var s=ds(t),n=Yr(s,ds(e))+1;return zi(s,0,n).join("")}function dp(t,e,r){if(t=Yh(t),t&&(r||e===i))return t.replace(Mt,"");if(!t||!(e=Ni(e)))return t;var s=ds(t),n=Xr(s,ds(e));return zi(s,n).join("")}function mp(t,e){var r=S,s=F;if(wh(e)){var n="separator"in e?e.separator:n;r="length"in e?Vh(e.length):r,s="omission"in e?Ni(e.omission):s}t=Yh(t);var a=t.length;if(ss(t)){var o=ds(t);a=o.length}if(r>=a)return t;var u=r-fs(s);if(u<1)return s;var c=o?zi(o,0,u).join(""):t.slice(0,u);if(n===i)return c+s;if(o&&(u+=c.length-u),Ih(n)){if(t.slice(u).search(n)){var h,l=c;n.global||(n=se(n.source,Yh(Vt.exec(n))+"g")),n.lastIndex=0;while(h=n.exec(l))var p=h.index;c=c.slice(0,p===i?u:p)}}else if(t.indexOf(Ni(n),u)!=u){var f=c.lastIndexOf(n);f>-1&&(c=c.slice(0,f))}return c+s}function yp(t){return t=Yh(t),t&&Tt.test(t)?t.replace(Ct,ms):t}var Dp=la((function(t,e,r){return t+(r?" ":"")+e.toUpperCase()})),gp=ha("toUpperCase");function xp(t,e,r){return t=Yh(t),e=r?i:e,e===i?ns(t)?gs(t):Ir(t):t.match(e)||[]}var bp=gi((function(t,e){try{return gr(t,i,e)}catch(r){return Dh(r)?r:new n(r)}})),vp=La((function(t,e){return br(e,(function(e){e=Fo(e),pn(t,e,kc(t[e],t))})),t}));function wp(t){var e=null==t?0:t.length,r=qa();return t=e?Ar(t,(function(t){if("function"!=typeof t[1])throw new ie(c);return[r(t[0]),t[1]]})):[],gi((function(r){var s=-1;while(++s<e){var n=t[s];if(gr(n[0],this,r))return gr(n[1],this,r)}}))}function Ep(t){return yn(mn(t,f))}function Pp(t){return function(){return t}}function Cp(t,e){return null==t||t!==t?e:t}var Ap=ma(),Tp=ma(!0);function Sp(t){return t}function Fp(t){return Qn("function"==typeof t?t:mn(t,f))}function kp(t){return ni(mn(t,f))}function Np(t,e){return ii(t,mn(e,f))}var _p=gi((function(t,e){return function(r){return qn(r,t,e)}})),Ip=gi((function(t,e){return function(r){return qn(t,r,e)}}));function Op(t,e,r){var s=bl(e),n=Nn(e,s);null!=r||wh(e)&&(n.length||!s.length)||(r=e,e=t,t=this,n=Nn(e,bl(e)));var i=!(wh(r)&&"chain"in r)||!!r.chain,a=xh(t);return br(n,(function(r){var s=e[r];t[r]=s,a&&(t.prototype[r]=function(){var e=this.__chain__;if(i||e){var r=t(this.__wrapped__),n=r.__actions__=ea(this.__actions__);return n.push({func:s,args:arguments,thisArg:t}),r.__chain__=e,r}return s.apply(t,Tr([this.value()],arguments))})})),t}function Lp(){return ar._===this&&(ar._=ye),this}function Rp(){}function Bp(t){return t=Vh(t),gi((function(e){return ui(e,t)}))}var Mp=xa(Ar),jp=xa(wr),Up=xa(kr);function qp(t){return io(t)?Ur(Fo(t)):pi(t)}function $p(t){return function(e){return null==t?i:_n(t,e)}}var zp=wa(),Hp=wa(!0);function Wp(){return[]}function Vp(){return!1}function Kp(){return{}}function Jp(){return""}function Gp(){return!0}function Xp(t,e){if(t=Vh(t),t<1||t>R)return[];var r=j,s=qe(t,j);e=qa(e),t-=j;var n=Wr(s,e);while(++r<t)e(r);return n}function Yp(t){return ah(t)?Ar(t,Fo):Bh(t)?[t]:ea(So(Yh(t)))}function Zp(t){var e=++pe;return Yh(t)+e}var Qp=ga((function(t,e){return t+e}),0),tf=Ca("ceil"),ef=ga((function(t,e){return t/e}),1),rf=Ca("floor");function sf(t){return t&&t.length?En(t,Sp,Ln):i}function nf(t,e){return t&&t.length?En(t,qa(e,2),Ln):i}function af(t){return jr(t,Sp)}function of(t,e){return jr(t,qa(e,2))}function uf(t){return t&&t.length?En(t,Sp,ri):i}function cf(t,e){return t&&t.length?En(t,qa(e,2),ri):i}var hf=ga((function(t,e){return t*e}),1),lf=Ca("round"),pf=ga((function(t,e){return t-e}),0);function ff(t){return t&&t.length?Hr(t,Sp):0}function df(t,e){return t&&t.length?Hr(t,qa(e,2)):0}return xs.after=Tc,xs.ary=Sc,xs.assign=Zh,xs.assignIn=Qh,xs.assignInWith=tl,xs.assignWith=el,xs.at=rl,xs.before=Fc,xs.bind=kc,xs.bindAll=vp,xs.bindKey=Nc,xs.castArray=Xc,xs.chain=zu,xs.chunk=Io,xs.compact=Oo,xs.concat=Lo,xs.cond=wp,xs.conforms=Ep,xs.constant=Pp,xs.countBy=tc,xs.create=sl,xs.curry=_c,xs.curryRight=Ic,xs.debounce=Oc,xs.defaults=nl,xs.defaultsDeep=il,xs.defer=Lc,xs.delay=Rc,xs.difference=Ro,xs.differenceBy=Bo,xs.differenceWith=Mo,xs.drop=jo,xs.dropRight=Uo,xs.dropRightWhile=qo,xs.dropWhile=$o,xs.fill=zo,xs.filter=rc,xs.flatMap=ic,xs.flatMapDeep=ac,xs.flatMapDepth=oc,xs.flatten=Vo,xs.flattenDeep=Ko,xs.flattenDepth=Jo,xs.flip=Bc,xs.flow=Ap,xs.flowRight=Tp,xs.fromPairs=Go,xs.functions=pl,xs.functionsIn=fl,xs.groupBy=hc,xs.initial=Zo,xs.intersection=Qo,xs.intersectionBy=tu,xs.intersectionWith=eu,xs.invert=Dl,xs.invertBy=gl,xs.invokeMap=pc,xs.iteratee=Fp,xs.keyBy=fc,xs.keys=bl,xs.keysIn=vl,xs.map=dc,xs.mapKeys=wl,xs.mapValues=El,xs.matches=kp,xs.matchesProperty=Np,xs.memoize=Mc,xs.merge=Pl,xs.mergeWith=Cl,xs.method=_p,xs.methodOf=Ip,xs.mixin=Op,xs.negate=jc,xs.nthArg=Bp,xs.omit=Al,xs.omitBy=Tl,xs.once=Uc,xs.orderBy=mc,xs.over=Mp,xs.overArgs=qc,xs.overEvery=jp,xs.overSome=Up,xs.partial=$c,xs.partialRight=zc,xs.partition=yc,xs.pick=Sl,xs.pickBy=Fl,xs.property=qp,xs.propertyOf=$p,xs.pull=au,xs.pullAll=ou,xs.pullAllBy=uu,xs.pullAllWith=cu,xs.pullAt=hu,xs.range=zp,xs.rangeRight=Hp,xs.rearg=Hc,xs.reject=xc,xs.remove=lu,xs.rest=Wc,xs.reverse=pu,xs.sampleSize=vc,xs.set=Nl,xs.setWith=_l,xs.shuffle=wc,xs.slice=fu,xs.sortBy=Cc,xs.sortedUniq=bu,xs.sortedUniqBy=vu,xs.split=ap,xs.spread=Vc,xs.tail=wu,xs.take=Eu,xs.takeRight=Pu,xs.takeRightWhile=Cu,xs.takeWhile=Au,xs.tap=Hu,xs.throttle=Kc,xs.thru=Wu,xs.toArray=Hh,xs.toPairs=Il,xs.toPairsIn=Ol,xs.toPath=Yp,xs.toPlainObject=Gh,xs.transform=Ll,xs.unary=Jc,xs.union=Tu,xs.unionBy=Su,xs.unionWith=Fu,xs.uniq=ku,xs.uniqBy=Nu,xs.uniqWith=_u,xs.unset=Rl,xs.unzip=Iu,xs.unzipWith=Ou,xs.update=Bl,xs.updateWith=Ml,xs.values=jl,xs.valuesIn=Ul,xs.without=Lu,xs.words=xp,xs.wrap=Gc,xs.xor=Ru,xs.xorBy=Bu,xs.xorWith=Mu,xs.zip=ju,xs.zipObject=Uu,xs.zipObjectDeep=qu,xs.zipWith=$u,xs.entries=Il,xs.entriesIn=Ol,xs.extend=Qh,xs.extendWith=tl,Op(xs,xs),xs.add=Qp,xs.attempt=bp,xs.camelCase=Hl,xs.capitalize=Wl,xs.ceil=tf,xs.clamp=ql,xs.clone=Yc,xs.cloneDeep=Qc,xs.cloneDeepWith=th,xs.cloneWith=Zc,xs.conformsTo=eh,xs.deburr=Vl,xs.defaultTo=Cp,xs.divide=ef,xs.endsWith=Kl,xs.eq=rh,xs.escape=Jl,xs.escapeRegExp=Gl,xs.every=ec,xs.find=sc,xs.findIndex=Ho,xs.findKey=al,xs.findLast=nc,xs.findLastIndex=Wo,xs.findLastKey=ol,xs.floor=rf,xs.forEach=uc,xs.forEachRight=cc,xs.forIn=ul,xs.forInRight=cl,xs.forOwn=hl,xs.forOwnRight=ll,xs.get=dl,xs.gt=sh,xs.gte=nh,xs.has=ml,xs.hasIn=yl,xs.head=Xo,xs.identity=Sp,xs.includes=lc,xs.indexOf=Yo,xs.inRange=$l,xs.invoke=xl,xs.isArguments=ih,xs.isArray=ah,xs.isArrayBuffer=oh,xs.isArrayLike=uh,xs.isArrayLikeObject=ch,xs.isBoolean=hh,xs.isBuffer=lh,xs.isDate=ph,xs.isElement=fh,xs.isEmpty=dh,xs.isEqual=mh,xs.isEqualWith=yh,xs.isError=Dh,xs.isFinite=gh,xs.isFunction=xh,xs.isInteger=bh,xs.isLength=vh,xs.isMap=Ph,xs.isMatch=Ch,xs.isMatchWith=Ah,xs.isNaN=Th,xs.isNative=Sh,xs.isNil=kh,xs.isNull=Fh,xs.isNumber=Nh,xs.isObject=wh,xs.isObjectLike=Eh,xs.isPlainObject=_h,xs.isRegExp=Ih,xs.isSafeInteger=Oh,xs.isSet=Lh,xs.isString=Rh,xs.isSymbol=Bh,xs.isTypedArray=Mh,xs.isUndefined=jh,xs.isWeakMap=Uh,xs.isWeakSet=qh,xs.join=ru,xs.kebabCase=Xl,xs.last=su,xs.lastIndexOf=nu,xs.lowerCase=Yl,xs.lowerFirst=Zl,xs.lt=$h,xs.lte=zh,xs.max=sf,xs.maxBy=nf,xs.mean=af,xs.meanBy=of,xs.min=uf,xs.minBy=cf,xs.stubArray=Wp,xs.stubFalse=Vp,xs.stubObject=Kp,xs.stubString=Jp,xs.stubTrue=Gp,xs.multiply=hf,xs.nth=iu,xs.noConflict=Lp,xs.noop=Rp,xs.now=Ac,xs.pad=Ql,xs.padEnd=tp,xs.padStart=ep,xs.parseInt=rp,xs.random=zl,xs.reduce=Dc,xs.reduceRight=gc,xs.repeat=sp,xs.replace=np,xs.result=kl,xs.round=lf,xs.runInContext=t,xs.sample=bc,xs.size=Ec,xs.snakeCase=ip,xs.some=Pc,xs.sortedIndex=du,xs.sortedIndexBy=mu,xs.sortedIndexOf=yu,xs.sortedLastIndex=Du,xs.sortedLastIndexBy=gu,xs.sortedLastIndexOf=xu,xs.startCase=op,xs.startsWith=up,xs.subtract=pf,xs.sum=ff,xs.sumBy=df,xs.template=cp,xs.times=Xp,xs.toFinite=Wh,xs.toInteger=Vh,xs.toLength=Kh,xs.toLower=hp,xs.toNumber=Jh,xs.toSafeInteger=Xh,xs.toString=Yh,xs.toUpper=lp,xs.trim=pp,xs.trimEnd=fp,xs.trimStart=dp,xs.truncate=mp,xs.unescape=yp,xs.uniqueId=Zp,xs.upperCase=Dp,xs.upperFirst=gp,xs.each=uc,xs.eachRight=cc,xs.first=Xo,Op(xs,function(){var t={};return Fn(xs,(function(e,r){le.call(xs.prototype,r)||(t[r]=e)})),t}(),{chain:!1}),xs.VERSION=a,br(["bind","bindKey","curry","curryRight","partial","partialRight"],(function(t){xs[t].placeholder=xs})),br(["drop","take"],(function(t,e){Ps.prototype[t]=function(r){r=r===i?1:Ue(Vh(r),0);var s=this.__filtered__&&!e?new Ps(this):this.clone();return s.__filtered__?s.__takeCount__=qe(r,s.__takeCount__):s.__views__.push({size:qe(r,j),type:t+(s.__dir__<0?"Right":"")}),s},Ps.prototype[t+"Right"]=function(e){return this.reverse()[t](e).reverse()}})),br(["filter","map","takeWhile"],(function(t,e){var r=e+1,s=r==_||r==O;Ps.prototype[t]=function(t){var e=this.clone();return e.__iteratees__.push({iteratee:qa(t,3),type:r}),e.__filtered__=e.__filtered__||s,e}})),br(["head","last"],(function(t,e){var r="take"+(e?"Right":"");Ps.prototype[t]=function(){return this[r](1).value()[0]}})),br(["initial","tail"],(function(t,e){var r="drop"+(e?"":"Right");Ps.prototype[t]=function(){return this.__filtered__?new Ps(this):this[r](1)}})),Ps.prototype.compact=function(){return this.filter(Sp)},Ps.prototype.find=function(t){return this.filter(t).head()},Ps.prototype.findLast=function(t){return this.reverse().find(t)},Ps.prototype.invokeMap=gi((function(t,e){return"function"==typeof t?new Ps(this):this.map((function(r){return qn(r,t,e)}))})),Ps.prototype.reject=function(t){return this.filter(jc(qa(t)))},Ps.prototype.slice=function(t,e){t=Vh(t);var r=this;return r.__filtered__&&(t>0||e<0)?new Ps(r):(t<0?r=r.takeRight(-t):t&&(r=r.drop(t)),e!==i&&(e=Vh(e),r=e<0?r.dropRight(-e):r.take(e-t)),r)},Ps.prototype.takeRightWhile=function(t){return this.reverse().takeWhile(t).reverse()},Ps.prototype.toArray=function(){return this.take(j)},Fn(Ps.prototype,(function(t,e){var r=/^(?:filter|find|map|reject)|While$/.test(e),s=/^(?:head|last)$/.test(e),n=xs[s?"take"+("last"==e?"Right":""):e],a=s||/^find/.test(e);n&&(xs.prototype[e]=function(){var e=this.__wrapped__,o=s?[1]:arguments,u=e instanceof Ps,c=o[0],h=u||ah(e),l=function(t){var e=n.apply(xs,Tr([t],o));return s&&p?e[0]:e};h&&r&&"function"==typeof c&&1!=c.length&&(u=h=!1);var p=this.__chain__,f=!!this.__actions__.length,d=a&&!p,m=u&&!f;if(!a&&h){e=m?e:new Ps(this);var y=t.apply(e,o);return y.__actions__.push({func:Wu,args:[l],thisArg:i}),new Es(y,p)}return d&&m?t.apply(this,o):(y=this.thru(l),d?s?y.value()[0]:y.value():y)})})),br(["pop","push","shift","sort","splice","unshift"],(function(t){var e=ae[t],r=/^(?:push|sort|unshift)$/.test(t)?"tap":"thru",s=/^(?:pop|shift)$/.test(t);xs.prototype[t]=function(){var t=arguments;if(s&&!this.__chain__){var n=this.value();return e.apply(ah(n)?n:[],t)}return this[r]((function(r){return e.apply(ah(r)?r:[],t)}))}})),Fn(Ps.prototype,(function(t,e){var r=xs[e];if(r){var s=r.name+"";le.call(ur,s)||(ur[s]=[]),ur[s].push({name:e,func:r})}})),ur[ya(i,x).name]=[{name:"wrapper",func:i}],Ps.prototype.clone=Cs,Ps.prototype.reverse=As,Ps.prototype.value=Ts,xs.prototype.at=Vu,xs.prototype.chain=Ku,xs.prototype.commit=Ju,xs.prototype.next=Gu,xs.prototype.plant=Yu,xs.prototype.reverse=Zu,xs.prototype.toJSON=xs.prototype.valueOf=xs.prototype.value=Qu,xs.prototype.first=xs.prototype.head,Te&&(xs.prototype[Te]=Xu),xs},bs=xs();ar._=bs,n=function(){return bs}.call(e,r,e,s),n===i||(s.exports=n)}).call(this)}).call(this,r("c8ba"),r("62e4")(t))},"7a82":function(t,e,r){var s=r("23e7"),n=r("83ab"),i=r("9bf2");s({target:"Object",stat:!0,forced:!n,sham:!n},{defineProperty:i.f})},"83a6":function(t,e,r){"use strict";(function(e){var r=/\.(txt|htm|html|md|xml|js|min|map|css|scss|less|svg)$/i;t.exports={order:300,allowEmpty:!0,encoding:"utf8",canParse:function(t){return("string"===typeof t.data||e.isBuffer(t.data))&&r.test(t.url)},parse:function(t){if("string"===typeof t.data)return t.data;if(e.isBuffer(t.data))return t.data.toString(this.encoding);throw new Error("data is not text")}}}).call(this,r("b639").Buffer)},"85cf":function(t,e,r){"use strict";t.exports=h;var s=r("72a2"),n=r("77fc"),i=r("bc76"),a=/\//g,o=/~/g,u=/~1/g,c=/~0/g;function h(t,e,r){this.$ref=t,this.path=e,this.originalPath=r||e,this.value=void 0,this.circular=!1,this.indirections=0}function l(t,e){if(s.isAllowed$Ref(t.value,e)){var r=n.resolve(t.path,t.value.$ref);if(r!==t.path){var i=t.$ref.$refs._resolve(r,e);return t.indirections+=i.indirections+1,s.isExtended$Ref(t.value)?(t.value=s.dereference(t.value,i.value),!1):(t.$ref=i.$ref,t.path=i.path,t.value=i.value,!0)}t.circular=!0}}function p(t,e,r){if(!t.value||"object"!==typeof t.value)throw i.syntax('Error assigning $ref pointer "%s". \nCannot set "%s" of a non-object.',t.path,e);return"-"===e&&Array.isArray(t.value)?t.value.push(r):t.value[e]=r,r}h.prototype.resolve=function(t,e){var r=h.parse(this.path);this.value=t;for(var s=0;s<r.length;s++){l(this,e)&&(this.path=h.join(this.path,r.slice(s)));var n=r[s];if(void 0===this.value[n])throw i.syntax('Error resolving $ref pointer "%s". \nToken "%s" does not exist.',this.originalPath,n);this.value=this.value[n]}return l(this,e),this},h.prototype.set=function(t,e,r){var s,n=h.parse(this.path);if(0===n.length)return this.value=e,e;this.value=t;for(var i=0;i<n.length-1;i++)l(this,r),s=n[i],this.value&&void 0!==this.value[s]?this.value=this.value[s]:this.value=p(this,s,{});return l(this,r),s=n[n.length-1],p(this,s,e),t},h.parse=function(t){var e=n.getHash(t).substr(1);if(!e)return[];e=e.split("/");for(var r=0;r<e.length;r++)e[r]=decodeURIComponent(e[r].replace(u,"/").replace(c,"~"));if(""!==e[0])throw i.syntax('Invalid $ref pointer "%s". Pointers must begin with "#/"',e);return e.slice(1)},h.join=function(t,e){-1===t.indexOf("#")&&(t+="#"),e=Array.isArray(e)?e:[e];for(var r=0;r<e.length;r++){var s=e[r];t+="/"+encodeURIComponent(s.replace(o,"~0").replace(a,"~1"))}return t}},"87b8":function(t,e,r){"use strict";var s=r("651e"),n=r("bc76");t.exports={parse:function(t,e){try{return s.safeLoad(t)}catch(r){throw r instanceof Error?r:n(r,r.message)}},stringify:function(t,e,r){try{var i=("string"===typeof r?r.length:r)||2;return s.safeDump(t,{indent:i})}catch(a){throw a instanceof Error?a:n(a,a.message)}}}},"89b4":function(t,e,r){"use strict";function s(t,e,r,s){var n=t[e];if("function"===typeof n)return n.apply(t,[r,s]);if(!s){if(n instanceof RegExp)return n.test(r.url);if("string"===typeof n)return n===r.extension;if(Array.isArray(n))return-1!==n.indexOf(r.extension)}return n}e.all=function(t){return Object.keys(t).filter((function(e){return"object"===typeof t[e]})).map((function(e){return t[e].name=e,t[e]}))},e.filter=function(t,e,r){return t.filter((function(t){return!!s(t,e,r)}))},e.sort=function(t){return t.forEach((function(t){t.order=t.order||Number.MAX_SAFE_INTEGER})),t.sort((function(t,e){return t.order-e.order}))},e.run=function(t,e,r){var n,i,a=0;return new Promise((function(o,u){function c(){if(n=t[a++],!n)return u(i);try{var o=s(n,e,r,h);o&&"function"===typeof o.then?o.then(l,p):void 0!==o&&l(o)}catch(c){p(c)}}function h(t,e){t?p(t):l(e)}function l(t){o({plugin:n,result:t})}function p(t){i=t,c()}c()}))}},"8c95":function(t,e,r){"use strict";var s=r("72a2"),n=r("85cf"),i=r("77fc");function a(t,e){var r=[];o(t,"schema",t.$refs._root$Ref.path+"#","#",0,r,t.$refs,e),c(r)}function o(t,e,r,i,a,c,h,l){var p=null===e?t:t[e];if(p&&"object"===typeof p)if(s.isAllowed$Ref(p))u(t,e,r,i,a,c,h,l);else{var f=Object.keys(p).sort((function(t,e){return"definitions"===t?-1:"definitions"===e?1:t.length-e.length}));f.forEach((function(t){var e=n.join(r,t),f=n.join(i,t),d=p[t];s.isAllowed$Ref(d)?u(p,t,r,f,a,c,h,l):o(p,t,e,f,a,c,h,l)}))}}function u(t,e,r,a,u,c,p,f){var d=null===e?t:t[e],m=i.resolve(r,d.$ref),y=p._resolve(m,f),D=n.parse(a).length,g=i.stripHash(y.path),x=i.getHash(y.path),b=g!==p._root$Ref.path,v=s.isExtended$Ref(d);u+=y.indirections;var w=h(c,t,e);if(w){if(!(D<w.depth||u<w.indirections))return;l(c,w)}c.push({$ref:d,parent:t,key:e,pathFromRoot:a,depth:D,file:g,hash:x,value:y.value,circular:y.circular,extended:v,external:b,indirections:u}),o(y.value,null,y.path,a,u+1,c,p,f)}function c(t){var e,r,i;t.sort((function(t,e){if(t.file!==e.file)return t.file<e.file?-1:1;if(t.hash!==e.hash)return t.hash<e.hash?-1:1;if(t.circular!==e.circular)return t.circular?-1:1;if(t.extended!==e.extended)return t.extended?1:-1;if(t.indirections!==e.indirections)return t.indirections-e.indirections;if(t.depth!==e.depth)return t.depth-e.depth;var r=t.pathFromRoot.lastIndexOf("/definitions"),s=e.pathFromRoot.lastIndexOf("/definitions");return r!==s?s-r:t.pathFromRoot.length-e.pathFromRoot.length})),t.forEach((function(t){t.external?t.file===e&&t.hash===r?t.$ref.$ref=i:t.file===e&&0===t.hash.indexOf(r+"/")?t.$ref.$ref=n.join(i,n.parse(t.hash.replace(r,"#"))):(e=t.file,r=t.hash,i=t.pathFromRoot,t.$ref=t.parent[t.key]=s.dereference(t.$ref,t.value),t.circular&&(t.$ref.$ref=t.pathFromRoot)):t.$ref.$ref=t.hash}))}function h(t,e,r){for(var s=0;s<t.length;s++){var n=t[s];if(n.parent===e&&n.key===r)return n}}function l(t,e){var r=t.indexOf(e);t.splice(r,1)}t.exports=a},"917c":function(t,e,r){"use strict";var s=r(3),n=r("bc76"),i=r("77fc");t.exports={order:100,canRead:function(t){return i.isFileSystemPath(t.url)},read:function(t){return new Promise((function(e,r){var a;try{a=i.toFileSystemPath(t.url)}catch(o){r(n.uri(o,"Malformed URI: %s",t.url))}try{s.readFile(a,(function(t,s){t?r(n(t,'Error opening file "%s"',a)):e(s)}))}catch(o){r(n(o,'Error opening file "%s"',a))}}))}}},9523:function(t,e,r){function s(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r("7a82"),t.exports=s},"95ed":function(t,e,r){"use strict";var s=r("a385"),n=r("de09"),i=r("83a6"),a=r("2c81"),o=r("917c"),u=r("3f7f");function c(t){h(this,c.defaults),h(this,t)}function h(t,e){if(l(e))for(var r=Object.keys(e),s=0;s<r.length;s++){var n=r[s],i=e[n],a=t[n];l(i)?t[n]=h(a||{},i):void 0!==i&&(t[n]=i)}return t}function l(t){return t&&"object"===typeof t&&!Array.isArray(t)&&!(t instanceof RegExp)&&!(t instanceof Date)}t.exports=c,c.defaults={parse:{json:s,yaml:n,text:i,binary:a},resolve:{file:o,http:u,external:!0},dereference:{circular:!0}}},"9b42":function(t,e,r){function s(t,e){if("undefined"!==typeof Symbol&&Symbol.iterator in Object(t)){var r=[],s=!0,n=!1,i=void 0;try{for(var a,o=t[Symbol.iterator]();!(s=(a=o.next()).done);s=!0)if(r.push(a.value),e&&r.length===e)break}catch(u){n=!0,i=u}finally{try{s||null==o["return"]||o["return"]()}finally{if(n)throw i}}return r}}r("a4d3"),r("e01a"),r("d28b"),r("d3b7"),r("3ca3"),r("ddb0"),t.exports=s},"9de3":function(t,e,r){"use strict";var s=r("95ed");function n(t){var e,r,n,i;return t=Array.prototype.slice.call(t),"function"===typeof t[t.length-1]&&(i=t.pop()),"string"===typeof t[0]?(e=t[0],"object"===typeof t[2]?(r=t[1],n=t[2]):(r=void 0,n=t[1])):(e="",r=t[0],n=t[1]),n instanceof s||(n=new s(n)),{path:e,schema:r,options:n,callback:i}}t.exports=n},a385:function(t,e,r){"use strict";(function(e){t.exports={order:100,allowEmpty:!0,canParse:".json",parse:function(t){return new Promise((function(r,s){var n=t.data;e.isBuffer(n)&&(n=n.toString()),"string"===typeof n?0===n.trim().length?r(void 0):r(JSON.parse(n)):r(n)}))}}}).call(this,r("b639").Buffer)},a623:function(t,e,r){"use strict";var s=r("23e7"),n=r("b727").every,i=r("a640"),a=r("ae40"),o=i("every"),u=a("every");s({target:"Array",proto:!0,forced:!o||!u},{every:function(t){return n(this,t,arguments.length>1?arguments[1]:void 0)}})},ab13:function(t,e,r){var s=r("b622"),n=s("match");t.exports=function(t){var e=/./;try{"/./"[t](e)}catch(r){try{return e[n]=!1,"/./"[t](e)}catch(s){}}return!1}},b3fe:function(t,e,r){"use strict";var s=r("72a2"),n=r("85cf"),i=r("b65d"),a=r("77fc");function o(t,e){if(!e.resolve.external)return Promise.resolve();try{var r=u(t.schema,t.$refs._root$Ref.path+"#",t.$refs,e);return Promise.all(r)}catch(s){return Promise.reject(s)}}function u(t,e,r,i){var a=[];return t&&"object"===typeof t&&(s.isExternal$Ref(t)?a.push(c(t,e,r,i)):Object.keys(t).forEach((function(o){var h=n.join(e,o),l=t[o];s.isExternal$Ref(l)?a.push(c(l,h,r,i)):a=a.concat(u(l,h,r,i))}))),a}function c(t,e,r,s){var n=a.resolve(e,t.$ref),o=a.stripHash(n);return t=r._$refs[o],t?Promise.resolve(t.value):i(n,r,s).then((function(t){var e=u(t,o+"#",r,s);return Promise.all(e)}))}t.exports=o},b65d:function(t,e,r){"use strict";(function(e){var s=r("bc76"),n=r("77fc"),i=r("89b4");function a(t,e,r){try{t=n.stripHash(t);var s=e._add(t),i={url:t,extension:n.getExtension(t)};return o(i,r).then((function(t){return s.pathType=t.plugin.name,i.data=t.result,u(i,r)})).then((function(t){return s.value=t.result,t.result}))}catch(a){return Promise.reject(a)}}function o(t,e){return new Promise((function(r,n){var a=i.all(e.resolve);function o(e){!e||e instanceof SyntaxError?n(s.syntax('Unable to resolve $ref pointer "%s"',t.url)):n(e)}a=i.filter(a,"canRead",t),i.sort(a),i.run(a,"read",t).then(r,o)}))}function u(t,e){return new Promise((function(r,n){var a=i.all(e.parse),o=i.filter(a,"canParse",t),u=o.length>0?o:a;function h(e){!e.plugin.allowEmpty&&c(e.result)?n(s.syntax('Error parsing "%s" as %s. \nParsed value is empty',t.url,e.plugin.name)):r(e)}function l(e){e?(e=e instanceof Error?e:new Error(e),n(s.syntax(e,"Error parsing %s",t.url))):n(s.syntax("Unable to parse %s",t.url))}i.sort(u),i.run(u,"parse",t).then(h,l)}))}function c(t){return void 0===t||"object"===typeof t&&0===Object.keys(t).length||"string"===typeof t&&0===t.trim().length||e.isBuffer(t)&&0===t.length}t.exports=a}).call(this,r("b639").Buffer)},b8bf:function(t,e,r){var s=r("23e7"),n=r("83ab"),i=r("7c73");s({target:"Object",stat:!0,sham:!n},{create:i})},bc76:function(t,e,r){"use strict";var s=r("d15b"),n=Array.prototype.slice,i=["name","message","stack"],a=["name","message","description","number","code","fileName","lineNumber","columnNumber","sourceURL","line","column","stack"];function o(e){return function(r,s,i,a){var o=[],l="";"string"===typeof r?(o=n.call(arguments),r=s=void 0):"string"===typeof s?(o=n.call(arguments,1),s=void 0):"string"===typeof i&&(o=n.call(arguments,2)),o.length>0&&(l=t.exports.formatter.apply(null,o)),r&&r.message&&(l+=(l?" \n":"")+r.message);var p=new e(l);return u(p,r),c(p),h(p,s),p}}function u(t,e){f(t,e),h(t,e)}function c(t){t.toJSON=l,t.inspect=p}function h(t,e){if(e&&"object"===typeof e)for(var r=Object.keys(e),s=0;s<r.length;s++){var n=r[s];if(!(i.indexOf(n)>=0))try{t[n]=e[n]}catch(a){}}}function l(){var t={},e=Object.keys(this);e=e.concat(a);for(var r=0;r<e.length;r++){var s=e[r],n=this[s],i=typeof n;"undefined"!==i&&"function"!==i&&(t[s]=n)}return t}function p(){return JSON.stringify(this,null,2).replace(/\\n/g,"\n")}function f(t,e){D(t)?e?g(t,e):x(t):t.stack=e?d(t.stack,e.stack):m(t.stack)}function d(t,e){return t=m(t),t&&e?t+"\n\n"+e:t||e}function m(t){if(t){var e=t.split("\n");if(e.length<2)return t;for(var r=0;r<e.length;r++){var s=e[r];if(s.indexOf("onoFactory")>=0)return e.splice(r,1),e.join("\n")}return t}}t.exports=o(Error),t.exports.error=o(Error),t.exports.eval=o(EvalError),t.exports.range=o(RangeError),t.exports.reference=o(ReferenceError),t.exports.syntax=o(SyntaxError),t.exports.type=o(TypeError),t.exports.uri=o(URIError),t.exports.formatter=s;var y=function(){return!(!Object.getOwnPropertyDescriptor||!Object.defineProperty||"undefined"!==typeof navigator&&/Android/.test(navigator.userAgent))}();function D(t){if(!y)return!1;var e=Object.getOwnPropertyDescriptor(t,"stack");return!!e&&"function"===typeof e.get}function g(t,e){var r=Object.getOwnPropertyDescriptor(t,"stack");Object.defineProperty(t,"stack",{get:function(){return d(r.get.apply(t),e.stack)},enumerable:!1,configurable:!0})}function x(t){var e=Object.getOwnPropertyDescriptor(t,"stack");Object.defineProperty(t,"stack",{get:function(){return m(e.get.apply(t))},enumerable:!1,configurable:!0})}},c135:function(t,e,r){function s(t){if(Array.isArray(t))return t}r("277d"),t.exports=s},c240:function(t,e){function r(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}t.exports=r},c740:function(t,e,r){"use strict";var s=r("23e7"),n=r("b727").findIndex,i=r("44d2"),a=r("ae40"),o="findIndex",u=!0,c=a(o);o in[]&&Array(1)[o]((function(){u=!1})),s({target:"Array",proto:!0,forced:u||!c},{findIndex:function(t){return n(this,t,arguments.length>1?arguments[1]:void 0)}}),i(o)},caad:function(t,e,r){"use strict";var s=r("23e7"),n=r("4d64").includes,i=r("44d2"),a=r("ae40"),o=a("indexOf",{ACCESSORS:!0,1:0});s({target:"Array",proto:!0,forced:!o},{includes:function(t){return n(this,t,arguments.length>1?arguments[1]:void 0)}}),i("includes")},cc89:function(t,e,r){!function(t,r){r(e)}(0,(function(t){"use strict";var e=function(t,e){const r=new SyntaxError(t+" ("+e.start.line+":"+e.start.column+")");return r.loc=e,r};function r(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function s(t,e){return t(e={exports:{}},e.exports),e.exports}var n=Object.freeze({__proto__:null,default:{EOL:"\n"}});const i=t=>{if("string"!=typeof t)throw new TypeError("Expected a string");const e=t.match(/(?:\r?\n)/g)||[];if(0===e.length)return;const r=e.filter(t=>"\r\n"===t).length;return r>e.length-r?"\r\n":"\n"};var a=i;a.graceful=t=>"string"==typeof t&&i(t)||"\n";var o,u=(o=n)&&o.default||o,c=s((function(t,e){function r(){const t=u;return r=function(){return t},t}function s(){const t=(e=a)&&e.__esModule?e:{default:e};var e;return s=function(){return t},t}Object.defineProperty(e,"__esModule",{value:!0}),e.extract=function(t){const e=t.match(o);return e?e[0].trimLeft():""},e.strip=function(t){const e=t.match(o);return e&&e[0]?t.substring(e[0].length):t},e.parse=function(t){return d(t).pragmas},e.parseWithComments=d,e.print=function({comments:t="",pragmas:e={}}){const n=(0,s().default)(t)||r().EOL,i=Object.keys(e),a=i.map(t=>m(t,e[t])).reduce((t,e)=>t.concat(e),[]).map(t=>" * "+t+n).join("");if(!t){if(0===i.length)return"";if(1===i.length&&!Array.isArray(e[i[0]])){const t=e[i[0]];return"".concat("/**"," ").concat(m(i[0],t)[0]).concat(" */")}}const o=t.split(n).map(t=>"".concat(" *"," ").concat(t)).join(n)+n;return"/**"+n+(t?o:"")+(t&&i.length?" *"+n:"")+a+" */"};const n=/\*\/$/,i=/^\/\*\*/,o=/^\s*(\/\*\*?(.|\r?\n)*?\*\/)/,c=/(^|\s+)\/\/([^\r\n]*)/g,h=/^(\r?\n)+/,l=/(?:^|\r?\n) *(@[^\r\n]*?) *\r?\n *(?![^@\r\n]*\/\/[^]*)([^@\r\n\s][^@\r\n]+?) *\r?\n/g,p=/(?:^|\r?\n) *@(\S+) *([^\r\n]*)/g,f=/(\r?\n|^) *\* ?/g;function d(t){const e=(0,s().default)(t)||r().EOL;t=t.replace(i,"").replace(n,"").replace(f,"$1");let a="";for(;a!==t;)a=t,t=t.replace(l,"".concat(e,"$1 $2").concat(e));t=t.replace(h,"").trimRight();const o=Object.create(null),u=t.replace(p,"").replace(h,"").trimRight();let d;for(;d=p.exec(t);){const t=d[2].replace(c,"");"string"==typeof o[d[1]]||Array.isArray(o[d[1]])?o[d[1]]=[].concat(o[d[1]],t):o[d[1]]=t}return{comments:u,pragmas:o}}function m(t,e){return[].concat(e).map(e=>"@".concat(t," ").concat(e).trim())}}));r(c),c.extract,c.strip,c.parse,c.parseWithComments,c.print;var h={hasPragma:function(t){const e=Object.keys(c.parse(c.extract(t)));return e.includes("prettier")||e.includes("format")},insertPragma:function(t){const e=c.parseWithComments(c.extract(t)),r=Object.assign({format:""},e.pragmas),s=c.print({pragmas:r,comments:e.comments.replace(/^(\s+?\r?\n)+/,"")}).replace(/(\r\n|\r)/g,"\n"),n=c.strip(t);return s+(n.startsWith("\n")?"\n":"\n\n")+n}},l=t=>t[t.length-1];function p(t,e){return!(e=e||{}).ignoreDecorators&&t.declaration&&t.declaration.decorators&&t.declaration.decorators.length>0?p(t.declaration.decorators[0]):!e.ignoreDecorators&&t.decorators&&t.decorators.length>0?p(t.decorators[0]):t.__location?t.__location.startOffset:t.range?t.range[0]:"number"==typeof t.start?t.start:t.loc?t.loc.start:null}function f(t){const e=t.nodes&&l(t.nodes);if(e&&t.source&&!t.source.end&&(t=e),t.__location)return t.__location.endOffset;const r=t.range?t.range[1]:"number"==typeof t.end?t.end:null;return t.typeAnnotation?Math.max(r,f(t.typeAnnotation)):t.loc&&!r?t.loc.end:r}var d={locStart:p,locEnd:f,composeLoc:function(t,e=t){const r="number"==typeof e?e:-1,s=p(t),n=-1!==r?s+r:f(e),i=t.loc.start;return{start:s,end:n,range:[s,n],loc:{start:i,end:-1!==r?{line:i.line,column:i.column+r}:e.loc.end}}}},m=t=>"string"==typeof t?t.replace((({onlyFirst:t=!1}={})=>{const e=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(e,t?void 0:"g")})(),""):t;const y=t=>!Number.isNaN(t)&&t>=4352&&(t<=4447||9001===t||9002===t||11904<=t&&t<=12871&&12351!==t||12880<=t&&t<=19903||19968<=t&&t<=42182||43360<=t&&t<=43388||44032<=t&&t<=55203||63744<=t&&t<=64255||65040<=t&&t<=65049||65072<=t&&t<=65131||65281<=t&&t<=65376||65504<=t&&t<=65510||110592<=t&&t<=110593||127488<=t&&t<=127569||131072<=t&&t<=262141);var D=y,g=y;D.default=g;const x=t=>{if("string"!=typeof(t=t.replace(/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g,"  "))||0===t.length)return 0;t=m(t);let e=0;for(let r=0;r<t.length;r++){const s=t.codePointAt(r);s<=31||s>=127&&s<=159||s>=768&&s<=879||(s>65535&&r++,e+=D(s)?2:1)}return e};var b=x,v=x;b.default=v;const w=/[|\\{}()[\]^$+*?.-]/g;var E=t=>{if("string"!=typeof t)throw new TypeError("Expected a string");return t.replace(w,"\\$&")};const P=/[^\x20-\x7F]/;function C(t){return(e,r,s)=>{const n=s&&s.backwards;if(!1===r)return!1;const{length:i}=e;let a=r;for(;a>=0&&a<i;){const r=e.charAt(a);if(t instanceof RegExp){if(!t.test(r))return a}else if(!t.includes(r))return a;n?a--:a++}return(-1===a||a===i)&&a}}const A=C(/\s/),T=C(" \t"),S=C(",; \t"),F=C(/[^\r\n]/);function k(t,e){if(!1===e)return!1;if("/"===t.charAt(e)&&"*"===t.charAt(e+1))for(let r=e+2;r<t.length;++r)if("*"===t.charAt(r)&&"/"===t.charAt(r+1))return r+2;return e}function N(t,e){return!1!==e&&("/"===t.charAt(e)&&"/"===t.charAt(e+1)?F(t,e):e)}function _(t,e,r){const s=r&&r.backwards;if(!1===e)return!1;const n=t.charAt(e);if(s){if("\r"===t.charAt(e-1)&&"\n"===n)return e-2;if("\n"===n||"\r"===n||"\u2028"===n||"\u2029"===n)return e-1}else{if("\r"===n&&"\n"===t.charAt(e+1))return e+2;if("\n"===n||"\r"===n||"\u2028"===n||"\u2029"===n)return e+1}return e}function I(t,e,r){const s=T(t,(r=r||{}).backwards?e-1:e,r);return s!==_(t,s,r)}function O(t,e){let r=null,s=e;for(;s!==r;)r=s,s=S(t,s),s=k(t,s),s=T(t,s);return s=N(t,s),s=_(t,s),!1!==s&&I(t,s)}function L(t,e){let r=null,s=e;for(;s!==r;)r=s,s=T(t,s),s=k(t,s),s=N(t,s),s=_(t,s);return s}function R(t,e,r){return L(t,r(e))}const B={};function M(t){return B[t]}[["|>"],["??"],["||"],["&&"],["|"],["^"],["&"],["==","===","!=","!=="],["<",">","<=",">=","in","instanceof"],[">>","<<",">>>"],["+","-"],["*","/","%"],["**"]].forEach((t,e)=>{t.forEach(t=>{B[t]=e})});const j={"==":!0,"!=":!0,"===":!0,"!==":!0},U={"*":!0,"/":!0,"%":!0},q={">>":!0,">>>":!0,"<<":!0};function $(t,e,r){let s=0;for(let n=r=r||0;n<t.length;++n)"\t"===t[n]?s=s+e-s%e:s++;return s}function z(t,e){const r=t.slice(1,-1),s={quote:'"',regex:/"/g},n={quote:"'",regex:/'/g},i="'"===e?n:s,a=i===n?s:n;let o=i.quote;return(r.includes(i.quote)||r.includes(a.quote))&&(o=(r.match(i.regex)||[]).length>(r.match(a.regex)||[]).length?a.quote:i.quote),o}function H(t,e,r){const s='"'===e?"'":'"',n=t.replace(/\\([\s\S])|(['"])/g,(t,n,i)=>n===s?n:i===e?"\\"+i:i||(r&&/^[^\\nrvtbfux\r\n\u2028\u2029"'0-7]$/.test(n)?n:"\\"+n));return e+n+e}function W(t){return t&&(t.comments&&t.comments.length>0&&t.comments.some(t=>V(t)&&!t.unignore)||t.prettierIgnore)}function V(t){return"prettier-ignore"===t.value.trim()}function K(t,e){(t.comments||(t.comments=[])).push(e),e.printed=!1,"JSXText"===t.type&&(e.printed=!0)}var J={replaceEndOfLineWith:function(t,e){const r=[];for(const s of t.split("\n"))0!==r.length&&r.push(e),r.push(s);return r},getStringWidth:function(t){return t?P.test(t)?b(t):t.length:0},getMaxContinuousCount:function(t,e){const r=t.match(new RegExp("(".concat(E(e),")+"),"g"));return null===r?0:r.reduce((t,r)=>Math.max(t,r.length/e.length),0)},getMinNotPresentContinuousCount:function(t,e){const r=t.match(new RegExp("(".concat(E(e),")+"),"g"));if(null===r)return 0;const s=new Map;let n=0;for(const i of r){const t=i.length/e.length;s.set(t,!0),t>n&&(n=t)}for(let i=1;i<n;i++)if(!s.get(i))return i;return n+1},getPrecedence:M,shouldFlatten:function(t,e){return M(e)===M(t)&&"**"!==t&&(!j[t]||!j[e])&&!("%"===e&&U[t]||"%"===t&&U[e])&&(e===t||!U[e]||!U[t])&&(!q[t]||!q[e])},isBitwiseOperator:function(t){return!!q[t]||"|"===t||"^"===t||"&"===t},getPenultimate:function(t){return t.length>1?t[t.length-2]:null},getLast:l,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:L,getNextNonSpaceNonCommentCharacterIndex:R,getNextNonSpaceNonCommentCharacter:function(t,e,r){return t.charAt(R(t,e,r))},skip:C,skipWhitespace:A,skipSpaces:T,skipToLineEnd:S,skipEverythingButNewLine:F,skipInlineComment:k,skipTrailingComment:N,skipNewline:_,isNextLineEmptyAfterIndex:O,isNextLineEmpty:function(t,e,r){return O(t,r(e))},isPreviousLineEmpty:function(t,e,r){let s=r(e)-1;return s=T(t,s,{backwards:!0}),s=_(t,s,{backwards:!0}),s=T(t,s,{backwards:!0}),s!==_(t,s,{backwards:!0})},hasNewline:I,hasNewlineInRange:function(t,e,r){for(let s=e;s<r;++s)if("\n"===t.charAt(s))return!0;return!1},hasSpaces:function(t,e,r){return T(t,(r=r||{}).backwards?e-1:e,r)!==e},setLocStart:function(t,e){t.range?t.range[0]=e:t.start=e},setLocEnd:function(t,e){t.range?t.range[1]=e:t.end=e},startsWithNoLookaheadToken:function t(e,r){switch((e=function t(e){return e.left?t(e.left):e}(e)).type){case"FunctionExpression":case"ClassExpression":case"DoExpression":return r;case"ObjectExpression":return!0;case"MemberExpression":case"OptionalMemberExpression":return t(e.object,r);case"TaggedTemplateExpression":return"FunctionExpression"!==e.tag.type&&t(e.tag,r);case"CallExpression":case"OptionalCallExpression":return"FunctionExpression"!==e.callee.type&&t(e.callee,r);case"ConditionalExpression":return t(e.test,r);case"UpdateExpression":return!e.prefix&&t(e.argument,r);case"BindExpression":return e.object&&t(e.object,r);case"SequenceExpression":return t(e.expressions[0],r);case"TSAsExpression":return t(e.expression,r);default:return!1}},getAlignmentSize:$,getIndentSize:function(t,e){const r=t.lastIndexOf("\n");return-1===r?0:$(t.slice(r+1).match(/^[ \t]*/)[0],e)},getPreferredQuote:z,printString:function(t,e,r){const s=t.slice(1,-1),n=!s.includes('"')&&!s.includes("'"),i="json"===e.parser?'"':e.__isInHtmlAttribute?"'":z(t,e.singleQuote?"'":'"');return r?n?i+s+i:t:H(s,i,!("css"===e.parser||"less"===e.parser||"scss"===e.parser||e.embeddedInHtml))},printNumber:function(t){return t.toLowerCase().replace(/^([+-]?[\d.]+e)(?:\+|(-))?0*(\d)/,"$1$2$3").replace(/^([+-]?[\d.]+)e[+-]?0+$/,"$1").replace(/^([+-])?\./,"$10.").replace(/(\.\d+?)0+(?=e|$)/,"$1").replace(/\.(?=e|$)/,"")},hasIgnoreComment:function(t){return W(t.getValue())},hasNodeIgnoreComment:W,isNodeIgnoreComment:V,makeString:H,addLeadingComment:function(t,e){e.leading=!0,e.trailing=!1,K(t,e)},addDanglingComment:function(t,e){e.leading=!1,e.trailing=!1,K(t,e)},addTrailingComment:function(t,e){e.leading=!1,e.trailing=!0,K(t,e)},isWithinParentArrayProperty:function(t,e){const r=t.getValue(),s=t.getParentNode();if(null==s)return!1;if(!Array.isArray(s[e]))return!1;const n=t.getName();return s[e][n]===r}};const{getMaxContinuousCount:G,getStringWidth:X,getAlignmentSize:Y,getIndentSize:Z,skip:Q,skipWhitespace:tt,skipSpaces:et,skipNewline:rt,skipToLineEnd:st,skipEverythingButNewLine:nt,skipInlineComment:it,skipTrailingComment:at,hasNewline:ot,hasNewlineInRange:ut,hasSpaces:ct,isNextLineEmpty:ht,isNextLineEmptyAfterIndex:lt,isPreviousLineEmpty:pt,getNextNonSpaceNonCommentCharacterIndex:ft,makeString:dt,addLeadingComment:mt,addDanglingComment:yt,addTrailingComment:Dt}=J;var gt={getMaxContinuousCount:G,getStringWidth:X,getAlignmentSize:Y,getIndentSize:Z,skip:Q,skipWhitespace:tt,skipSpaces:et,skipNewline:rt,skipToLineEnd:st,skipEverythingButNewLine:nt,skipInlineComment:it,skipTrailingComment:at,hasNewline:ot,hasNewlineInRange:ut,hasSpaces:ct,isNextLineEmpty:ht,isNextLineEmptyAfterIndex:lt,isPreviousLineEmpty:pt,getNextNonSpaceNonCommentCharacterIndex:ft,makeString:dt,addLeadingComment:mt,addDanglingComment:yt,addTrailingComment:Dt};const{addLeadingComment:xt,addTrailingComment:bt,addDanglingComment:vt,getNextNonSpaceNonCommentCharacterIndex:wt}=gt;function Et(t,e){const r=t.body.filter(t=>"EmptyStatement"!==t.type);0===r.length?vt(t,e):xt(r[0],e)}function Pt(t,e){"BlockStatement"===t.type?Et(t,e):xt(t,e)}function Ct(t,e,r,s,n,i){return!(!r||"IfStatement"!==r.type||!s)&&(")"===J.getNextNonSpaceNonCommentCharacter(t,n,i.locEnd)?(bt(e,n),!0):e===r.consequent&&s===r.alternate?("BlockStatement"===e.type?bt(e,n):vt(r,n),!0):"BlockStatement"===s.type?(Et(s,n),!0):"IfStatement"===s.type?(Pt(s.consequent,n),!0):r.consequent===s&&(xt(s,n),!0))}function At(t,e,r,s,n,i){return!(!r||"WhileStatement"!==r.type||!s)&&(")"===J.getNextNonSpaceNonCommentCharacter(t,n,i.locEnd)?(bt(e,n),!0):"BlockStatement"===s.type&&(Et(s,n),!0))}function Tt(t,e,r,s){return!(!t||"TryStatement"!==t.type&&"CatchClause"!==t.type||!r)&&("CatchClause"===t.type&&e?(bt(e,s),!0):"BlockStatement"===r.type?(Et(r,s),!0):"TryStatement"===r.type?(Pt(r.finalizer,s),!0):"CatchClause"===r.type&&(Pt(r.body,s),!0))}function St(t,e,r,s){return!(!(t&&("ClassDeclaration"===t.type||"ClassExpression"===t.type)&&t.decorators&&t.decorators.length>0)||r&&"Decorator"===r.type)&&(t.decorators&&0!==t.decorators.length?bt(t.decorators[t.decorators.length-1],s):xt(t,s),!0)}function Ft(t,e,r,s,n){return(e&&r&&("Property"===e.type||"TSDeclareMethod"===e.type||"TSAbstractMethodDefinition"===e.type)&&"Identifier"===r.type&&e.key===r&&":"!==J.getNextNonSpaceNonCommentCharacter(t,r,n.locEnd)||!(!r||!e||"Decorator"!==r.type||"ClassMethod"!==e.type&&"ClassProperty"!==e.type&&"TSAbstractClassProperty"!==e.type&&"TSAbstractMethodDefinition"!==e.type&&"TSDeclareMethod"!==e.type&&"MethodDefinition"!==e.type))&&(bt(r,s),!0)}function kt(t,e,r,s,n,i){if(e&&"FunctionTypeParam"===e.type&&r&&"FunctionTypeAnnotation"===r.type&&s&&"FunctionTypeParam"!==s.type)return bt(e,n),!0;if(e&&("Identifier"===e.type||"AssignmentPattern"===e.type)&&r&&Lt(r)&&")"===J.getNextNonSpaceNonCommentCharacter(t,n,i.locEnd))return bt(e,n),!0;if(r&&"FunctionDeclaration"===r.type&&s&&"BlockStatement"===s.type){const e=(()=>{if(0!==(r.params||r.parameters).length)return J.getNextNonSpaceNonCommentCharacterIndexWithStartIndex(t,i.locEnd(J.getLast(r.params||r.parameters)));const e=J.getNextNonSpaceNonCommentCharacterIndexWithStartIndex(t,i.locEnd(r.id));return J.getNextNonSpaceNonCommentCharacterIndexWithStartIndex(t,e+1)})();if(i.locStart(n)>e)return Et(s,n),!0}return!1}function Nt(t,e){return!(!t||"ImportSpecifier"!==t.type)&&(xt(t,e),!0)}function _t(t,e){return!(!t||"LabeledStatement"!==t.type)&&(xt(t,e),!0)}function It(t,e,r,s){return e&&e.body&&0===e.body.length?(s?vt(e,r):xt(e,r),!0):!(!t||"Program"!==t.type||0!==t.body.length||!t.directives||0!==t.directives.length)&&(s?vt(t,r):xt(t,r),!0)}function Ot(t){return"Block"===t.type||"CommentBlock"===t.type}function Lt(t){return"ArrowFunctionExpression"===t.type||"FunctionExpression"===t.type||"FunctionDeclaration"===t.type||"ObjectMethod"===t.type||"ClassMethod"===t.type||"TSDeclareFunction"===t.type||"TSCallSignatureDeclaration"===t.type||"TSConstructSignatureDeclaration"===t.type||"TSConstructSignatureDeclaration"===t.type||"TSMethodSignature"===t.type||"TSConstructorType"===t.type||"TSFunctionType"===t.type||"TSDeclareMethod"===t.type}function Rt(t){return Ot(t)&&"*"===t.value[0]&&/@type\b/.test(t.value)}var Bt={handleOwnLineComment:function(t,e,r,s,n){const{precedingNode:i,enclosingNode:a,followingNode:o}=t;return kt(e,i,a,o,t,r)||function(t,e,r){return!(!t||"MemberExpression"!==t.type&&"OptionalMemberExpression"!==t.type||!e||"Identifier"!==e.type)&&(xt(t,r),!0)}(a,o,t)||Ct(e,i,a,o,t,r)||At(e,i,a,o,t,r)||Tt(a,i,o,t)||St(a,i,o,t)||Nt(a,t)||function(t,e,r){return!(!t||"ForInStatement"!==t.type&&"ForOfStatement"!==t.type)&&(xt(t,r),!0)}(a,0,t)||function(t,e,r,s){return!e||"UnionTypeAnnotation"!==e.type&&"TSUnionType"!==e.type?(r&&("UnionTypeAnnotation"===r.type||"TSUnionType"===r.type)&&J.isNodeIgnoreComment(s)&&(r.types[0].prettierIgnore=!0,s.unignore=!0),!1):(J.isNodeIgnoreComment(s)&&(r.prettierIgnore=!0,s.unignore=!0),!!t&&(bt(t,s),!0))}(i,a,o,t)||It(a,s,t,n)||function(t,e,r,s,n){return!!(r&&"ImportSpecifier"===r.type&&e&&"ImportDeclaration"===e.type&&J.hasNewline(t,n.locEnd(s)))&&(bt(r,s),!0)}(e,a,i,t,r)||function(t,e){return!(!t||"AssignmentPattern"!==t.type)&&(xt(t,e),!0)}(a,t)||Ft(e,a,i,t,r)||_t(a,t)},handleEndOfLineComment:function(t,e,r,s,n){const{precedingNode:i,enclosingNode:a,followingNode:o}=t;return function(t,e){return!(!t||!Rt(e))&&(xt(t,e),!0)}(o,t)||kt(e,i,a,o,t,r)||function(t,e,r,s,n,i){const a=e&&!J.hasNewlineInRange(n,i.locEnd(e),i.locStart(s));return!(e&&a||!t||"ConditionalExpression"!==t.type||!r)&&(xt(r,s),!0)}(a,i,o,t,e,r)||Nt(a,t)||Ct(e,i,a,o,t,r)||At(e,i,a,o,t,r)||Tt(a,i,o,t)||St(a,i,o,t)||_t(a,t)||function(t,e,r){return!!(e&&("CallExpression"===e.type||"OptionalCallExpression"===e.type)&&t&&e.callee===t&&e.arguments.length>0)&&(xt(e.arguments[0],r),!0)}(i,a,t)||function(t,e){return!(!t||"Property"!==t.type&&"ObjectProperty"!==t.type)&&(xt(t,e),!0)}(a,t)||It(a,s,t,n)||function(t,e,r){return!(!t||"TypeAlias"!==t.type)&&(xt(t,r),!0)}(a,0,t)||function(t,e,r){return!(!t||"VariableDeclarator"!==t.type&&"AssignmentExpression"!==t.type||!e||"ObjectExpression"!==e.type&&"ArrayExpression"!==e.type&&"TemplateLiteral"!==e.type&&"TaggedTemplateExpression"!==e.type&&!Ot(r))&&(xt(e,r),!0)}(a,o,t)},handleRemainingComment:function(t,e,r,s,n){const{precedingNode:i,enclosingNode:a,followingNode:o}=t;return!!(Ct(e,i,a,o,t,r)||At(e,i,a,o,t,r)||function(t,e,r){return!(!t||"ObjectProperty"!==t.type&&"Property"!==t.type||!t.shorthand||t.key!==e||"AssignmentPattern"!==t.value.type)&&(bt(t.value.left,r),!0)}(a,i,t)||function(t,e,r,s){return")"===J.getNextNonSpaceNonCommentCharacter(t,r,s.locEnd)&&(e&&(Lt(e)&&0===(e.params||e.parameters).length||("CallExpression"===e.type||"OptionalCallExpression"===e.type||"NewExpression"===e.type)&&0===e.arguments.length)?(vt(e,r),!0):!(!e||"MethodDefinition"!==e.type||0!==e.value.params.length)&&(vt(e.value,r),!0))}(e,a,t,r)||Ft(e,a,i,t,r)||It(a,s,t,n)||function(t,e,r,s){if(!e||"ArrowFunctionExpression"!==e.type)return!1;const n=wt(t,r,s.locEnd);return"=>"===t.slice(n,n+2)&&(vt(e,r),!0)}(e,a,t,r)||function(t,e,r,s,n){return"("===J.getNextNonSpaceNonCommentCharacter(t,s,n.locEnd)&&(!(!r||!e||"FunctionDeclaration"!==e.type&&"FunctionExpression"!==e.type&&"ClassMethod"!==e.type&&"MethodDefinition"!==e.type&&"ObjectMethod"!==e.type)&&(bt(r,s),!0))}(e,a,i,t,r)||function(t,e,r,s,n){return!(!e||"TSMappedType"!==e.type)&&(s&&"TSTypeParameter"===s.type&&s.name?(xt(s.name,n),!0):!(!r||"TSTypeParameter"!==r.type||!r.constraint)&&(bt(r.constraint,n),!0))}(0,a,i,o,t)||function(t,e){return!(!t||"ContinueStatement"!==t.type&&"BreakStatement"!==t.type||t.label)&&(bt(t,e),!0)}(a,t)||function(t,e,r,s,n){return!(r||!e||"TSMethodSignature"!==e.type&&"TSDeclareFunction"!==e.type&&"TSAbstractMethodDefinition"!==e.type||";"!==J.getNextNonSpaceNonCommentCharacter(t,s,n.locEnd))&&(bt(e,s),!0)}(e,a,o,t,r))},hasLeadingComment:function(t,e=(()=>!0)){return t.leadingComments?t.leadingComments.some(e):!!t.comments&&t.comments.some(t=>t.leading&&e(t))},isBlockComment:Ot,isTypeCastComment:Rt,getGapRegex:function(t){if(t&&"BinaryExpression"!==t.type&&"LogicalExpression"!==t.type)return/^[\s(&|]*$/},getCommentChildNodes:function(t,e){if(("typescript"===e.parser||"flow"===e.parser)&&"MethodDefinition"===t.type&&t.value&&"FunctionExpression"===t.value.type&&0===t.value.params.length&&!t.value.returnType&&(!t.value.typeParameters||0===t.value.typeParameters.length)&&t.value.body)return[...t.decorators||[],t.key,t.value.body]}};const{getLast:Mt,getNextNonSpaceNonCommentCharacter:jt}=J,{composeLoc:Ut,locEnd:qt}=d,{isTypeCastComment:$t}=Bt;function zt(t,e,r,s){if(!t||"object"!=typeof t)return;if(Array.isArray(t)){for(let r=0;r<t.length;r++)zt(t[r],e,t,r);return}if("string"!=typeof t.type)return;for(const i of Object.keys(t))zt(t[i],e,t,i);const n=e(t);n&&(r[s]=n)}function Ht(t){return"LogicalExpression"===t.type&&"LogicalExpression"===t.right.type&&t.operator===t.right.operator}var Wt=function(t,e){if("typescript"!==e.parser&&"flow"!==e.parser){const e=new Set;zt(t,t=>{t.leadingComments&&t.leadingComments.some($t)&&e.add(t.start)}),zt(t,t=>{if("ParenthesizedExpression"===t.type&&!e.has(t.start)){const{expression:e}=t;return e.extra||(e.extra={}),e.extra.parenthesized=!0,e.extra.parenStart=t.start,e}})}return zt(t,t=>{switch(t.type){case"LogicalExpression":if(Ht(t))return function t(e){return Ht(e)?t(Object.assign({type:"LogicalExpression",operator:e.operator,left:t(Object.assign({type:"LogicalExpression",operator:e.operator,left:e.left,right:e.right.left},Ut(e.left,e.right.left))),right:e.right.right},Ut(e))):e}(t);break;case"VariableDeclaration":{const r=Mt(t.declarations);r&&r.init&&function(t,r){";"!==e.originalText[qt(r)]&&(Array.isArray(t.range)?t.range=[t.range[0],r.range[1]]:t.end=r.end,t.loc=Object.assign({},t.loc,{end:t.loc.end}))}(t,r);break}case"TSParenthesizedType":return Object.assign({},t.typeAnnotation,{},Ut(t));case"TSUnionType":case"TSIntersectionType":if(1===t.types.length)return Object.assign({},t.types[0],{},Ut(t));break;case"TSTypeParameter":"string"==typeof t.name&&(t.name=Object.assign({type:"Identifier",name:t.name},Ut(t,t.name.length)));break;case"SequenceExpression":t.end&&t.end>Mt(t.expressions).end&&(t.end=Mt(t.expressions).end);break;case"ClassProperty":t.key&&"TSPrivateIdentifier"===t.key.type&&"?"===jt(e.originalText,t.key,qt)&&(t.optional=!0)}}),t},Vt=s((function(t,e){Object.defineProperty(e,"__esModule",{value:!0});class r{constructor(t,e={}){this.label=t,this.keyword=e.keyword,this.beforeExpr=!!e.beforeExpr,this.startsExpr=!!e.startsExpr,this.rightAssociative=!!e.rightAssociative,this.isLoop=!!e.isLoop,this.isAssign=!!e.isAssign,this.prefix=!!e.prefix,this.postfix=!!e.postfix,this.binop=null!=e.binop?e.binop:null,this.updateContext=null}}const s=new Map;function n(t,e={}){e.keyword=t;const n=new r(t,e);return s.set(t,n),n}function i(t,e){return new r(t,{beforeExpr:!0,binop:e})}const a={num:new r("num",{startsExpr:!0}),bigint:new r("bigint",{startsExpr:!0}),regexp:new r("regexp",{startsExpr:!0}),string:new r("string",{startsExpr:!0}),name:new r("name",{startsExpr:!0}),eof:new r("eof"),bracketL:new r("[",{beforeExpr:!0,startsExpr:!0}),bracketHashL:new r("#[",{beforeExpr:!0,startsExpr:!0}),bracketBarL:new r("[|",{beforeExpr:!0,startsExpr:!0}),bracketR:new r("]"),bracketBarR:new r("|]"),braceL:new r("{",{beforeExpr:!0,startsExpr:!0}),braceBarL:new r("{|",{beforeExpr:!0,startsExpr:!0}),braceHashL:new r("#{",{beforeExpr:!0,startsExpr:!0}),braceR:new r("}"),braceBarR:new r("|}"),parenL:new r("(",{beforeExpr:!0,startsExpr:!0}),parenR:new r(")"),comma:new r(",",{beforeExpr:!0}),semi:new r(";",{beforeExpr:!0}),colon:new r(":",{beforeExpr:!0}),doubleColon:new r("::",{beforeExpr:!0}),dot:new r("."),question:new r("?",{beforeExpr:!0}),questionDot:new r("?."),arrow:new r("=>",{beforeExpr:!0}),template:new r("template"),ellipsis:new r("...",{beforeExpr:!0}),backQuote:new r("`",{startsExpr:!0}),dollarBraceL:new r("${",{beforeExpr:!0,startsExpr:!0}),at:new r("@"),hash:new r("#",{startsExpr:!0}),interpreterDirective:new r("#!..."),eq:new r("=",{beforeExpr:!0,isAssign:!0}),assign:new r("_=",{beforeExpr:!0,isAssign:!0}),incDec:new r("++/--",{prefix:!0,postfix:!0,startsExpr:!0}),bang:new r("!",{beforeExpr:!0,prefix:!0,startsExpr:!0}),tilde:new r("~",{beforeExpr:!0,prefix:!0,startsExpr:!0}),pipeline:i("|>",0),nullishCoalescing:i("??",1),logicalOR:i("||",1),logicalAND:i("&&",2),bitwiseOR:i("|",3),bitwiseXOR:i("^",4),bitwiseAND:i("&",5),equality:i("==/!=/===/!==",6),relational:i("</>/<=/>=",7),bitShift:i("<</>>/>>>",8),plusMin:new r("+/-",{beforeExpr:!0,binop:9,prefix:!0,startsExpr:!0}),modulo:new r("%",{beforeExpr:!0,binop:10,startsExpr:!0}),star:i("*",10),slash:i("/",10),exponent:new r("**",{beforeExpr:!0,binop:11,rightAssociative:!0}),_break:n("break"),_case:n("case",{beforeExpr:!0}),_catch:n("catch"),_continue:n("continue"),_debugger:n("debugger"),_default:n("default",{beforeExpr:!0}),_do:n("do",{isLoop:!0,beforeExpr:!0}),_else:n("else",{beforeExpr:!0}),_finally:n("finally"),_for:n("for",{isLoop:!0}),_function:n("function",{startsExpr:!0}),_if:n("if"),_return:n("return",{beforeExpr:!0}),_switch:n("switch"),_throw:n("throw",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_try:n("try"),_var:n("var"),_const:n("const"),_while:n("while",{isLoop:!0}),_with:n("with"),_new:n("new",{beforeExpr:!0,startsExpr:!0}),_this:n("this",{startsExpr:!0}),_super:n("super",{startsExpr:!0}),_class:n("class",{startsExpr:!0}),_extends:n("extends",{beforeExpr:!0}),_export:n("export"),_import:n("import",{startsExpr:!0}),_null:n("null",{startsExpr:!0}),_true:n("true",{startsExpr:!0}),_false:n("false",{startsExpr:!0}),_in:n("in",{beforeExpr:!0,binop:7}),_instanceof:n("instanceof",{beforeExpr:!0,binop:7}),_typeof:n("typeof",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_void:n("void",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_delete:n("delete",{beforeExpr:!0,prefix:!0,startsExpr:!0})},o=/\r\n?|[\n\u2028\u2029]/,u=new RegExp(o.source,"g");function c(t){switch(t){case 10:case 13:case 8232:case 8233:return!0;default:return!1}}const h=/(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g;function l(t){switch(t){case 9:case 11:case 12:case 32:case 160:case 5760:case 8192:case 8193:case 8194:case 8195:case 8196:case 8197:case 8198:case 8199:case 8200:case 8201:case 8202:case 8239:case 8287:case 12288:case 65279:return!0;default:return!1}}class p{constructor(t,e){this.line=t,this.column=e}}class f{constructor(t,e){this.start=t,this.end=e}}function d(t){return t[t.length-1]}const m=Object.freeze({ArgumentsDisallowedInInitializer:"'arguments' is not allowed in class field initializer",AsyncFunctionInSingleStatementContext:"Async functions can only be declared at the top level or inside a block",AwaitBindingIdentifier:"Can not use 'await' as identifier inside an async function",AwaitExpressionFormalParameter:"await is not allowed in async function parameters",AwaitNotInAsyncFunction:"Can not use keyword 'await' outside an async function",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",ConstructorClassField:"Classes may not have a field named 'constructor'",ConstructorClassPrivateField:"Classes may not have a private field named '#constructor'",ConstructorIsAccessor:"Class constructor may not be an accessor",ConstructorIsAsync:"Constructor can't be an async function",ConstructorIsGenerator:"Constructor can't be a generator",DeclarationMissingInitializer:"%0 require an initialization value",DecoratorBeforeExport:"Decorators must be placed *before* the 'export' keyword. You can set the 'decoratorsBeforeExport' option to false to use the 'export @decorator class {}' syntax",DecoratorConstructor:"Decorators can't be used with a constructor. Did you mean '@dec class { ... }'?",DecoratorExportClass:"Using the export keyword between a decorator and a class is not allowed. Please use `export @dec class` instead.",DecoratorSemicolon:"Decorators must not be followed by a semicolon",DeletePrivateField:"Deleting a private field is not allowed",DestructureNamedImport:"ES2015 named imports do not destructure. Use another statement for destructuring after the import.",DuplicateConstructor:"Duplicate constructor in the same class",DuplicateDefaultExport:"Only one default export allowed per module.",DuplicateExport:"`%0` has already been exported. Exported identifiers must be unique.",DuplicateProto:"Redefinition of __proto__ property",DuplicateRegExpFlags:"Duplicate regular expression flag",ElementAfterRest:"Rest element must be last element",EscapedCharNotAnIdentifier:"Invalid Unicode escape",ForInOfLoopInitializer:"%0 loop variable declaration may not have an initializer",GeneratorInSingleStatementContext:"Generators can only be declared at the top level or inside a block",IllegalBreakContinue:"Unsyntactic %0",IllegalLanguageModeDirective:"Illegal 'use strict' directive in function with non-simple parameter list",IllegalReturn:"'return' outside of function",ImportCallArgumentTrailingComma:"Trailing comma is disallowed inside import(...) arguments",ImportCallArity:"import() requires exactly one argument",ImportCallArityLtOne:"Dynamic imports require a parameter: import('a.js')",ImportCallNotNewExpression:"Cannot use new with import(...)",ImportCallSpreadArgument:"... is not allowed in import()",ImportMetaOutsideModule:"import.meta may appear only with 'sourceType: \"module\"'",ImportOutsideModule:"'import' and 'export' may appear only with 'sourceType: \"module\"'",InvalidCodePoint:"Code point out of bounds",InvalidDigit:"Expected number in radix %0",InvalidEscapeSequence:"Bad character escape sequence",InvalidEscapeSequenceTemplate:"Invalid escape sequence in template",InvalidEscapedReservedWord:"Escape sequence in keyword %0",InvalidIdentifier:"Invalid identifier %0",InvalidLhs:"Invalid left-hand side in %0",InvalidLhsBinding:"Binding invalid left-hand side in %0",InvalidNumber:"Invalid number",InvalidOrUnexpectedToken:"Unexpected character '%0'",InvalidParenthesizedAssignment:"Invalid parenthesized assignment pattern",InvalidPrivateFieldResolution:"Private name #%0 is not defined",InvalidPropertyBindingPattern:"Binding member expression",InvalidRestAssignmentPattern:"Invalid rest operator's argument",LabelRedeclaration:"Label '%0' is already declared",LetInLexicalBinding:"'let' is not allowed to be used as a name in 'let' or 'const' declarations.",MalformedRegExpFlags:"Invalid regular expression flag",MissingClassName:"A class name is required",MissingEqInAssignment:"Only '=' operator can be used for specifying default value.",MissingUnicodeEscape:"Expecting Unicode escape sequence \\uXXXX",MixingCoalesceWithLogical:"Nullish coalescing operator(??) requires parens when mixing with logical operators",ModuleExportUndefined:"Export '%0' is not defined",MultipleDefaultsInSwitch:"Multiple default clauses",NewlineAfterThrow:"Illegal newline after throw",NoCatchOrFinally:"Missing catch or finally clause",NumberIdentifier:"Identifier directly after number",NumericSeparatorInEscapeSequence:"Numeric separators are not allowed inside unicode escape sequences or hex escape sequences",ObsoleteAwaitStar:"await* has been removed from the async functions proposal. Use Promise.all() instead.",OptionalChainingNoNew:"constructors in/after an Optional Chain are not allowed",OptionalChainingNoTemplate:"Tagged Template Literals are not allowed in optionalChain",ParamDupe:"Argument name clash",PatternHasAccessor:"Object pattern can't contain getter or setter",PatternHasMethod:"Object pattern can't contain methods",PipelineBodyNoArrow:'Unexpected arrow "=>" after pipeline body; arrow function in pipeline body must be parenthesized',PipelineBodySequenceExpression:"Pipeline body may not be a comma-separated sequence expression",PipelineHeadSequenceExpression:"Pipeline head should not be a comma-separated sequence expression",PipelineTopicUnused:"Pipeline is in topic style but does not use topic reference",PrimaryTopicNotAllowed:"Topic reference was used in a lexical context without topic binding",PrimaryTopicRequiresSmartPipeline:"Primary Topic Reference found but pipelineOperator not passed 'smart' for 'proposal' option.",PrivateNameRedeclaration:"Duplicate private name #%0",RecordExpressionBarIncorrectEndSyntaxType:"Record expressions ending with '|}' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'",RecordExpressionBarIncorrectStartSyntaxType:"Record expressions starting with '{|' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'",RecordExpressionHashIncorrectStartSyntaxType:"Record expressions starting with '#{' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'hash'",RestTrailingComma:"Unexpected trailing comma after rest element",SloppyFunction:"In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if statement",StaticPrototype:"Classes may not have static property named prototype",StrictDelete:"Deleting local variable in strict mode",StrictEvalArguments:"Assigning to '%0' in strict mode",StrictEvalArgumentsBinding:"Binding '%0' in strict mode",StrictFunction:"In strict mode code, functions can only be declared at top level or inside a block",StrictOctalLiteral:"Legacy octal literals are not allowed in strict mode",StrictWith:"'with' in strict mode",SuperNotAllowed:"super() is only valid inside a class constructor of a subclass. Maybe a typo in the method name ('constructor') or not extending another class?",SuperPrivateField:"Private fields can't be accessed on super",TrailingDecorator:"Decorators must be attached to a class element",TupleExpressionBarIncorrectEndSyntaxType:"Tuple expressions ending with '|]' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'",TupleExpressionBarIncorrectStartSyntaxType:"Tuple expressions starting with '[|' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'",TupleExpressionHashIncorrectStartSyntaxType:"Tuple expressions starting with '#[' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'hash'",UnexpectedArgumentPlaceholder:"Unexpected argument placeholder",UnexpectedAwaitAfterPipelineBody:'Unexpected "await" after pipeline body; await must have parentheses in minimal proposal',UnexpectedDigitAfterHash:"Unexpected digit after hash token",UnexpectedImportExport:"'import' and 'export' may only appear at the top level",UnexpectedKeyword:"Unexpected keyword '%0'",UnexpectedLeadingDecorator:"Leading decorators must be attached to a class declaration",UnexpectedLexicalDeclaration:"Lexical declaration cannot appear in a single-statement context",UnexpectedNewTarget:"new.target can only be used in functions",UnexpectedNumericSeparator:"A numeric separator is only allowed between two digits",UnexpectedPrivateField:"Private names can only be used as the name of a class element (i.e. class C { #p = 42; #m() {} } )\n or a property of member expression (i.e. this.#p).",UnexpectedReservedWord:"Unexpected reserved word '%0'",UnexpectedSuper:"super is only allowed in object methods and classes",UnexpectedToken:"Unexpected token '%'",UnexpectedTokenUnaryExponentiation:"Illegal expression. Wrap left hand side or entire exponentiation in parentheses.",UnsupportedBind:"Binding should be performed on object property.",UnsupportedDecoratorExport:"A decorated export must export a class declaration",UnsupportedDefaultExport:"Only expressions, functions or classes are allowed as the `default` export.",UnsupportedImport:"import can only be used in import() or import.meta",UnsupportedMetaProperty:"The only valid meta property for %0 is %0.%1",UnsupportedParameterDecorator:"Decorators cannot be used to decorate parameters",UnsupportedPropertyDecorator:"Decorators cannot be used to decorate object literal properties",UnsupportedSuper:"super can only be used with function calls (i.e. super()) or in property accesses (i.e. super.prop or super[prop])",UnterminatedComment:"Unterminated comment",UnterminatedRegExp:"Unterminated regular expression",UnterminatedString:"Unterminated string constant",UnterminatedTemplate:"Unterminated template",VarRedeclaration:"Identifier '%0' has already been declared",YieldBindingIdentifier:"Can not use 'yield' as identifier inside a generator",YieldInParameter:"yield is not allowed in generator parameters",ZeroDigitNumericSeparator:"Numeric separator can not be used after leading 0"});function y(t){return null!=t&&"Property"===t.type&&"init"===t.kind&&!1===t.method}class D{constructor(t,e,r,s){this.token=t,this.isExpr=!!e,this.preserveSpace=!!r,this.override=s}}const g={braceStatement:new D("{",!1),braceExpression:new D("{",!0),templateQuasi:new D("${",!1),parenStatement:new D("(",!1),parenExpression:new D("(",!0),template:new D("`",!0,!0,t=>t.readTmplToken()),functionExpression:new D("function",!0),functionStatement:new D("function",!1)};a.parenR.updateContext=a.braceR.updateContext=function(){if(1===this.state.context.length)return void(this.state.exprAllowed=!0);let t=this.state.context.pop();t===g.braceStatement&&"function"===this.curContext().token&&(t=this.state.context.pop()),this.state.exprAllowed=!t.isExpr},a.name.updateContext=function(t){let e=!1;t!==a.dot&&("of"===this.state.value&&!this.state.exprAllowed||"yield"===this.state.value&&this.prodParam.hasYield)&&(e=!0),this.state.exprAllowed=e,this.state.isIterator&&(this.state.isIterator=!1)},a.braceL.updateContext=function(t){this.state.context.push(this.braceIsBlock(t)?g.braceStatement:g.braceExpression),this.state.exprAllowed=!0},a.dollarBraceL.updateContext=function(){this.state.context.push(g.templateQuasi),this.state.exprAllowed=!0},a.parenL.updateContext=function(t){const e=t===a._if||t===a._for||t===a._with||t===a._while;this.state.context.push(e?g.parenStatement:g.parenExpression),this.state.exprAllowed=!0},a.incDec.updateContext=function(){},a._function.updateContext=a._class.updateContext=function(t){!t.beforeExpr||t===a.semi||t===a._else||t===a._return&&o.test(this.input.slice(this.state.lastTokEnd,this.state.start))||(t===a.colon||t===a.braceL)&&this.curContext()===g.b_stat?this.state.context.push(g.functionStatement):this.state.context.push(g.functionExpression),this.state.exprAllowed=!1},a.backQuote.updateContext=function(){this.curContext()===g.template?this.state.context.pop():this.state.context.push(g.template),this.state.exprAllowed=!1};let x="ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙՠ-ֈא-תׯ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࡠ-ࡪࢠ-ࢴࢶ-ࣇऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡೱೲഄ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄຆ-ຊຌ-ຣລວ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡸᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-ᲈᲐ-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳳᳵᳶᳺᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕ℘-ℝℤΩℨK-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〇〡-〩〱-〵〸-〼ぁ-ゖ゛-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿ㐀-䶿一-鿼ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꞿꟂ-ꟊꟵ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭩꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ﬀ-ﬆﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼＡ-Ｚａ-ｚｦ-ﾾￂ-ￇￊ-ￏￒ-ￗￚ-ￜ",b="‌‍·̀-ͯ·҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-٩ٰۖ-ۜ۟-۪ۤۧۨ-ۭ۰-۹ܑܰ-݊ަ-ް߀-߉߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛࣓-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣ०-९ঁ-ঃ়া-ৄেৈো-্ৗৢৣ০-৯৾ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑ੦-ੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣ૦-૯ૺ-૿ଁ-ଃ଼ା-ୄେୈୋ-୍୕-ୗୢୣ୦-୯ஂா-ூெ-ைொ-்ௗ௦-௯ఀ-ఄా-ౄె-ైొ-్ౕౖౢౣ౦-౯ಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣ೦-೯ഀ-ഃ഻഼ാ-ൄെ-ൈൊ-്ൗൢൣ൦-൯ඁ-ඃ්ා-ුූෘ-ෟ෦-෯ෲෳัิ-ฺ็-๎๐-๙ັິ-ຼ່-ໍ໐-໙༘༙༠-༩༹༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှ၀-၉ၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏ-ႝ፝-፟፩-፱ᜒ-᜔ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝០-៩᠋-᠍᠐-᠙ᢩᤠ-ᤫᤰ-᤻᥆-᥏᧐-᧚ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼-᪉᪐-᪙᪰-᪽ᪿᫀᬀ-ᬄ᬴-᭄᭐-᭙᭫-᭳ᮀ-ᮂᮡ-ᮭ᮰-᮹᯦-᯳ᰤ-᰷᱀-᱉᱐-᱙᳐-᳔᳒-᳨᳭᳴᳷-᳹᷀-᷹᷻-᷿‿⁀⁔⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯꘠-꘩꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧ꠬ꢀꢁꢴ-ꣅ꣐-꣙꣠-꣱ꣿ-꤉ꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀꧐-꧙ꧥ꧰-꧹ꨩ-ꨶꩃꩌꩍ꩐-꩙ꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭꯰-꯹ﬞ︀-️︠-︯︳︴﹍-﹏０-９＿";const v=new RegExp("["+x+"]"),w=new RegExp("["+x+b+"]");x=b=null;const E=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,157,310,10,21,11,7,153,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,349,41,7,1,79,28,11,0,9,21,107,20,28,22,13,52,76,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,85,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,159,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,230,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,35,56,264,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,190,0,80,921,103,110,18,195,2749,1070,4050,582,8634,568,8,30,114,29,19,47,17,3,32,20,6,18,689,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,43,8,8952,286,50,2,18,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,2357,44,11,6,17,0,370,43,1301,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42717,35,4148,12,221,3,5761,15,7472,3104,541,1507,4938],P=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,370,1,154,10,176,2,54,14,32,9,16,3,46,10,54,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,161,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,406,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,19306,9,135,4,60,6,26,9,1014,0,2,54,8,3,82,0,12,1,19628,1,5319,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,262,6,10,9,419,13,1495,6,110,6,6,9,4759,9,787719,239];function C(t,e){let r=65536;for(let s=0,n=e.length;s<n;s+=2){if(r+=e[s],r>t)return!1;if(r+=e[s+1],r>=t)return!0}return!1}function A(t){return t<65?36===t:t<=90||(t<97?95===t:t<=122||(t<=65535?t>=170&&v.test(String.fromCharCode(t)):C(t,E)))}function T(t){return t<48?36===t:t<58||!(t<65)&&(t<=90||(t<97?95===t:t<=122||(t<=65535?t>=170&&w.test(String.fromCharCode(t)):C(t,E)||C(t,P))))}const S=["implements","interface","let","package","private","protected","public","static","yield"],F=["eval","arguments"],k=new Set(["break","case","catch","continue","debugger","default","do","else","finally","for","function","if","return","switch","throw","try","var","const","while","with","new","this","super","class","extends","export","import","null","true","false","in","instanceof","typeof","void","delete"]),N=new Set(S),_=new Set(F);function I(t,e){return e&&"await"===t||"enum"===t}function O(t,e){return I(t,e)||N.has(t)}function L(t){return _.has(t)}function R(t,e){return O(t,e)||L(t)}const B=/^in(stanceof)?$/,M=new Set(["_","any","bool","boolean","empty","extends","false","interface","mixed","null","number","static","string","true","typeof","void"]),j=Object.freeze({AmbiguousConditionalArrow:"Ambiguous expression: wrap the arrow functions in parentheses to disambiguate.",AmbiguousDeclareModuleKind:"Found both `declare module.exports` and `declare export` in the same module. Modules can only have 1 since they are either an ES module or they are a CommonJS module",AssignReservedType:"Cannot overwrite reserved type %0",DeclareClassElement:"The `declare` modifier can only appear on class fields.",DeclareClassFieldInitializer:"Initializers are not allowed in fields with the `declare` modifier.",DuplicateDeclareModuleExports:"Duplicate `declare module.exports` statement",EnumBooleanMemberNotInitialized:"Boolean enum members need to be initialized. Use either `%0 = true,` or `%0 = false,` in enum `%1`.",EnumDuplicateMemberName:"Enum member names need to be unique, but the name `%0` has already been used before in enum `%1`.",EnumInconsistentMemberValues:"Enum `%0` has inconsistent member initializers. Either use no initializers, or consistently use literals (either booleans, numbers, or strings) for all member initializers.",EnumInvalidExplicitType:"Enum type `%1` is not valid. Use one of `boolean`, `number`, `string`, or `symbol` in enum `%0`.",EnumInvalidExplicitTypeUnknownSupplied:"Supplied enum type is not valid. Use one of `boolean`, `number`, `string`, or `symbol` in enum `%0`.",EnumInvalidMemberInitializerPrimaryType:"Enum `%0` has type `%2`, so the initializer of `%1` needs to be a %2 literal.",EnumInvalidMemberInitializerSymbolType:"Symbol enum members cannot be initialized. Use `%1,` in enum `%0`.",EnumInvalidMemberInitializerUnknownType:"The enum member initializer for `%1` needs to be a literal (either a boolean, number, or string) in enum `%0`.",EnumInvalidMemberName:"Enum member names cannot start with lowercase 'a' through 'z'. Instead of using `%0`, consider using `%1`, in enum `%2`.",EnumNumberMemberNotInitialized:"Number enum members need to be initialized, e.g. `%1 = 1` in enum `%0`.",EnumStringMemberInconsistentlyInitailized:"String enum members need to consistently either all use initializers, or use no initializers, in enum `%0`.",ImportTypeShorthandOnlyInPureImport:"The `type` and `typeof` keywords on named imports can only be used on regular `import` statements. It cannot be used with `import type` or `import typeof` statements",InexactInsideExact:"Explicit inexact syntax cannot appear inside an explicit exact object type",InexactInsideNonObject:"Explicit inexact syntax cannot appear in class or interface definitions",InexactVariance:"Explicit inexact syntax cannot have variance",InvalidNonTypeImportInDeclareModule:"Imports within a `declare module` body must always be `import type` or `import typeof`",MissingTypeParamDefault:"Type parameter declaration needs a default, since a preceding type parameter declaration has a default.",NestedDeclareModule:"`declare module` cannot be used inside another `declare module`",NestedFlowComment:"Cannot have a flow comment inside another flow comment",OptionalBindingPattern:"A binding pattern parameter cannot be optional in an implementation signature.",SpreadVariance:"Spread properties cannot have variance",TypeBeforeInitializer:"Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`",TypeCastInPattern:"The type cast expression is expected to be wrapped with parenthesis",UnexpectedExplicitInexactInObject:"Explicit inexact syntax must appear at the end of an inexact object",UnexpectedReservedType:"Unexpected reserved type %0",UnexpectedReservedUnderscore:"`_` is only allowed as a type argument to call or new",UnexpectedSpaceBetweenModuloChecks:"Spaces between `%` and `checks` are not allowed here.",UnexpectedSpreadType:"Spread operator cannot appear in class or interface definitions",UnexpectedSubtractionOperand:'Unexpected token, expected "number" or "bigint"',UnexpectedTokenAfterTypeParameter:"Expected an arrow function after this type parameter declaration",UnsupportedDeclareExportKind:"`declare export %0` is not supported. Use `%1` instead",UnsupportedStatementInDeclareModule:"Only declares and type imports are allowed inside declare module",UnterminatedFlowComment:"Unterminated flow-comment"});function U(t){return"type"===t.importKind||"typeof"===t.importKind}function q(t){return(t.type===a.name||!!t.type.keyword)&&"from"!==t.value}const $={const:"declare export var",let:"declare export var",type:"export type",interface:"export interface"},z=/\*?\s*@((?:no)?flow)\b/,H={quot:'"',amp:"&",apos:"'",lt:"<",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:"⌋",lang:"〈",rang:"〉",loz:"◊",spades:"♠",clubs:"♣",hearts:"♥",diams:"♦"},W=/^[\da-fA-F]+$/,V=/^\d+$/,K=Object.freeze({AttributeIsEmpty:"JSX attributes must only be assigned a non-empty expression",MissingClosingTagFragment:"Expected corresponding JSX closing tag for <>",MissingClosingTagElement:"Expected corresponding JSX closing tag for <%0>",UnsupportedJsxValue:"JSX value should be either an expression or a quoted JSX text",UnterminatedJsxContent:"Unterminated JSX contents",UnwrappedAdjacentJSXElements:"Adjacent JSX elements must be wrapped in an enclosing tag. Did you want a JSX fragment <>...</>?"});function J(t){return!!t&&("JSXOpeningFragment"===t.type||"JSXClosingFragment"===t.type)}function G(t){if("JSXIdentifier"===t.type)return t.name;if("JSXNamespacedName"===t.type)return t.namespace.name+":"+t.name.name;if("JSXMemberExpression"===t.type)return G(t.object)+"."+G(t.property);throw new Error("Node had unexpected type: "+t.type)}g.j_oTag=new D("<tag",!1),g.j_cTag=new D("</tag",!1),g.j_expr=new D("<tag>...</tag>",!0,!0),a.jsxName=new r("jsxName"),a.jsxText=new r("jsxText",{beforeExpr:!0}),a.jsxTagStart=new r("jsxTagStart",{startsExpr:!0}),a.jsxTagEnd=new r("jsxTagEnd"),a.jsxTagStart.updateContext=function(){this.state.context.push(g.j_expr),this.state.context.push(g.j_oTag),this.state.exprAllowed=!1},a.jsxTagEnd.updateContext=function(t){const e=this.state.context.pop();e===g.j_oTag&&t===a.slash||e===g.j_cTag?(this.state.context.pop(),this.state.exprAllowed=this.curContext()===g.j_expr):this.state.exprAllowed=!0};class X{constructor(t){this.var=[],this.lexical=[],this.functions=[],this.flags=t}}class Y{constructor(t,e){this.scopeStack=[],this.undefinedExports=new Map,this.undefinedPrivateNames=new Map,this.raise=t,this.inModule=e}get inFunction(){return(2&this.currentVarScope().flags)>0}get allowSuper(){return(16&this.currentThisScope().flags)>0}get allowDirectSuper(){return(32&this.currentThisScope().flags)>0}get inClass(){return(64&this.currentThisScope().flags)>0}get inNonArrowFunction(){return(2&this.currentThisScope().flags)>0}get treatFunctionsAsVar(){return this.treatFunctionsAsVarInScope(this.currentScope())}createScope(t){return new X(t)}enter(t){this.scopeStack.push(this.createScope(t))}exit(){this.scopeStack.pop()}treatFunctionsAsVarInScope(t){return!!(2&t.flags||!this.inModule&&1&t.flags)}declareName(t,e,r){let s=this.currentScope();if(8&e||16&e)this.checkRedeclarationInScope(s,t,e,r),16&e?s.functions.push(t):s.lexical.push(t),8&e&&this.maybeExportDefined(s,t);else if(4&e)for(let n=this.scopeStack.length-1;n>=0&&(s=this.scopeStack[n],this.checkRedeclarationInScope(s,t,e,r),s.var.push(t),this.maybeExportDefined(s,t),!(131&s.flags));--n);this.inModule&&1&s.flags&&this.undefinedExports.delete(t)}maybeExportDefined(t,e){this.inModule&&1&t.flags&&this.undefinedExports.delete(e)}checkRedeclarationInScope(t,e,r,s){this.isRedeclaredInScope(t,e,r)&&this.raise(s,m.VarRedeclaration,e)}isRedeclaredInScope(t,e,r){return!!(1&r)&&(8&r?t.lexical.indexOf(e)>-1||t.functions.indexOf(e)>-1||t.var.indexOf(e)>-1:16&r?t.lexical.indexOf(e)>-1||!this.treatFunctionsAsVarInScope(t)&&t.var.indexOf(e)>-1:t.lexical.indexOf(e)>-1&&!(8&t.flags&&t.lexical[0]===e)||!this.treatFunctionsAsVarInScope(t)&&t.functions.indexOf(e)>-1)}checkLocalExport(t){-1===this.scopeStack[0].lexical.indexOf(t.name)&&-1===this.scopeStack[0].var.indexOf(t.name)&&-1===this.scopeStack[0].functions.indexOf(t.name)&&this.undefinedExports.set(t.name,t.start)}currentScope(){return this.scopeStack[this.scopeStack.length-1]}currentVarScope(){for(let t=this.scopeStack.length-1;;t--){const e=this.scopeStack[t];if(131&e.flags)return e}}currentThisScope(){for(let t=this.scopeStack.length-1;;t--){const e=this.scopeStack[t];if((131&e.flags||64&e.flags)&&!(4&e.flags))return e}}}class Z extends X{constructor(...t){super(...t),this.types=[],this.enums=[],this.constEnums=[],this.classes=[],this.exportOnlyBindings=[]}}class Q extends Y{createScope(t){return new Z(t)}declareName(t,e,r){const s=this.currentScope();if(1024&e)return this.maybeExportDefined(s,t),void s.exportOnlyBindings.push(t);super.declareName(...arguments),2&e&&(1&e||(this.checkRedeclarationInScope(s,t,e,r),this.maybeExportDefined(s,t)),s.types.push(t)),256&e&&s.enums.push(t),512&e&&s.constEnums.push(t),128&e&&s.classes.push(t)}isRedeclaredInScope(t,e,r){return t.enums.indexOf(e)>-1?!(256&r)||!!(512&r)!==t.constEnums.indexOf(e)>-1:128&r&&t.classes.indexOf(e)>-1?t.lexical.indexOf(e)>-1&&!!(1&r):!!(2&r&&t.types.indexOf(e)>-1)||super.isRedeclaredInScope(...arguments)}checkLocalExport(t){-1===this.scopeStack[0].types.indexOf(t.name)&&-1===this.scopeStack[0].exportOnlyBindings.indexOf(t.name)&&super.checkLocalExport(t)}}class tt{constructor(){this.stacks=[]}enter(t){this.stacks.push(t)}exit(){this.stacks.pop()}currentFlags(){return this.stacks[this.stacks.length-1]}get hasAwait(){return(2&this.currentFlags())>0}get hasYield(){return(1&this.currentFlags())>0}get hasReturn(){return(4&this.currentFlags())>0}}function et(t,e){return(t?2:0)|(e?1:0)}function rt(t){if(null==t)throw new Error("Unexpected ".concat(t," value."));return t}function st(t){if(!t)throw new Error("Assert fail")}const nt=Object.freeze({ClassMethodHasDeclare:"Class methods cannot have the 'declare' modifier",ClassMethodHasReadonly:"Class methods cannot have the 'readonly' modifier",DeclareClassFieldHasInitializer:"'declare' class fields cannot have an initializer",DuplicateModifier:"Duplicate modifier: '%0'",EmptyHeritageClauseType:"'%0' list cannot be empty.",IndexSignatureHasAbstract:"Index signatures cannot have the 'abstract' modifier",IndexSignatureHasAccessibility:"Index signatures cannot have an accessibility modifier ('%0')",IndexSignatureHasStatic:"Index signatures cannot have the 'static' modifier",OptionalTypeBeforeRequired:"A required element cannot follow an optional element.",PatternIsOptional:"A binding pattern parameter cannot be optional in an implementation signature.",PrivateElementHasAbstract:"Private elements cannot have the 'abstract' modifier.",PrivateElementHasAccessibility:"Private elements cannot have an accessibility modifier ('%0')",TemplateTypeHasSubstitution:"Template literal types cannot have any substitution",TypeAnnotationAfterAssign:"Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`",UnexpectedReadonly:"'readonly' type modifier is only permitted on array and tuple literal types.",UnexpectedTypeAnnotation:"Did not expect a type annotation here.",UnexpectedTypeCastInParameter:"Unexpected type cast in parameter position.",UnsupportedImportTypeArgument:"Argument in a type import must be a string literal",UnsupportedParameterPropertyKind:"A parameter property may not be declared using a binding pattern.",UnsupportedSignatureParameterKind:"Name in a signature must be an Identifier, ObjectPattern or ArrayPattern, instead got %0"});function it(t,e){return t.some(t=>Array.isArray(t)?t[0]===e:t===e)}function at(t,e,r){const s=t.find(t=>Array.isArray(t)?t[0]===e:t===e);return s&&Array.isArray(s)?s[1][r]:null}a.placeholder=new r("%%",{startsExpr:!0});const ot=["minimal","smart","fsharp"],ut=["hash","bar"],ct={estree:t=>class extends t{estreeParseRegExpLiteral({pattern:t,flags:e}){let r=null;try{r=new RegExp(t,e)}catch(t){}const s=this.estreeParseLiteral(r);return s.regex={pattern:t,flags:e},s}estreeParseBigIntLiteral(t){const e="undefined"!=typeof BigInt?BigInt(t):null,r=this.estreeParseLiteral(e);return r.bigint=String(r.value||t),r}estreeParseLiteral(t){return this.parseLiteral(t,"Literal")}directiveToStmt(t){const e=t.value,r=this.startNodeAt(t.start,t.loc.start),s=this.startNodeAt(e.start,e.loc.start);return s.value=e.value,s.raw=e.extra.raw,r.expression=this.finishNodeAt(s,"Literal",e.end,e.loc.end),r.directive=e.extra.raw.slice(1,-1),this.finishNodeAt(r,"ExpressionStatement",t.end,t.loc.end)}initFunction(t,e){super.initFunction(t,e),t.expression=!1}checkDeclaration(t){y(t)?this.checkDeclaration(t.value):super.checkDeclaration(t)}checkGetterSetterParams(t){const e=t,r="get"===e.kind?0:1,s=e.start;e.value.params.length!==r?"get"===t.kind?this.raise(s,m.BadGetterArity):this.raise(s,m.BadSetterArity):"set"===e.kind&&"RestElement"===e.value.params[0].type&&this.raise(s,m.BadSetterRestParameter)}checkLVal(t,e=64,r,s,n){switch(t.type){case"ObjectPattern":t.properties.forEach(t=>{this.checkLVal("Property"===t.type?t.value:t,e,r,"object destructuring pattern",n)});break;default:super.checkLVal(t,e,r,s,n)}}checkDuplicatedProto(t,e,r){if("SpreadElement"===t.type||t.computed||t.method||t.shorthand)return;const s=t.key;"__proto__"===("Identifier"===s.type?s.name:String(s.value))&&"init"===t.kind&&(e.used&&(r&&-1===r.doubleProto?r.doubleProto=s.start:this.raise(s.start,m.DuplicateProto)),e.used=!0)}isValidDirective(t){return!("ExpressionStatement"!==t.type||"Literal"!==t.expression.type||"string"!=typeof t.expression.value||t.expression.extra&&t.expression.extra.parenthesized)}stmtToDirective(t){const e=super.stmtToDirective(t),r=t.expression.value;return e.value.value=r,e}parseBlockBody(t,e,r,s){super.parseBlockBody(t,e,r,s);const n=t.directives.map(t=>this.directiveToStmt(t));t.body=n.concat(t.body),delete t.directives}pushClassMethod(t,e,r,s,n,i){this.parseMethod(e,r,s,n,i,"ClassMethod",!0),e.typeParameters&&(e.value.typeParameters=e.typeParameters,delete e.typeParameters),t.body.push(e)}parseExprAtom(t){switch(this.state.type){case a.num:case a.string:return this.estreeParseLiteral(this.state.value);case a.regexp:return this.estreeParseRegExpLiteral(this.state.value);case a.bigint:return this.estreeParseBigIntLiteral(this.state.value);case a._null:return this.estreeParseLiteral(null);case a._true:return this.estreeParseLiteral(!0);case a._false:return this.estreeParseLiteral(!1);default:return super.parseExprAtom(t)}}parseLiteral(t,e,r,s){const n=super.parseLiteral(t,e,r,s);return n.raw=n.extra.raw,delete n.extra,n}parseFunctionBody(t,e,r=!1){super.parseFunctionBody(t,e,r),t.expression="BlockStatement"!==t.body.type}parseMethod(t,e,r,s,n,i,a=!1){let o=this.startNode();return o.kind=t.kind,o=super.parseMethod(o,e,r,s,n,i,a),o.type="FunctionExpression",delete o.kind,t.value=o,i="ClassMethod"===i?"MethodDefinition":i,this.finishNode(t,i)}parseObjectMethod(t,e,r,s,n){const i=super.parseObjectMethod(t,e,r,s,n);return i&&(i.type="Property","method"===i.kind&&(i.kind="init"),i.shorthand=!1),i}parseObjectProperty(t,e,r,s,n){const i=super.parseObjectProperty(t,e,r,s,n);return i&&(i.kind="init",i.type="Property"),i}toAssignable(t){return y(t)?(this.toAssignable(t.value),t):super.toAssignable(t)}toAssignableObjectExpressionProp(t,e){if("get"===t.kind||"set"===t.kind)throw this.raise(t.key.start,m.PatternHasAccessor);if(t.method)throw this.raise(t.key.start,m.PatternHasMethod);super.toAssignableObjectExpressionProp(t,e)}finishCallExpression(t,e){return super.finishCallExpression(t,e),"Import"===t.callee.type&&(t.type="ImportExpression",t.source=t.arguments[0],delete t.arguments,delete t.callee),t}toReferencedListDeep(t,e){t&&super.toReferencedListDeep(t,e)}parseExport(t){switch(super.parseExport(t),t.type){case"ExportAllDeclaration":t.exported=null;break;case"ExportNamedDeclaration":1===t.specifiers.length&&"ExportNamespaceSpecifier"===t.specifiers[0].type&&(t.type="ExportAllDeclaration",t.exported=t.specifiers[0].exported,delete t.specifiers)}return t}},jsx:t=>class extends t{jsxReadToken(){let t="",e=this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(this.state.start,K.UnterminatedJsxContent);const r=this.input.charCodeAt(this.state.pos);switch(r){case 60:case 123:return this.state.pos===this.state.start?60===r&&this.state.exprAllowed?(++this.state.pos,this.finishToken(a.jsxTagStart)):super.getTokenFromCode(r):(t+=this.input.slice(e,this.state.pos),this.finishToken(a.jsxText,t));case 38:t+=this.input.slice(e,this.state.pos),t+=this.jsxReadEntity(),e=this.state.pos;break;default:c(r)?(t+=this.input.slice(e,this.state.pos),t+=this.jsxReadNewLine(!0),e=this.state.pos):++this.state.pos}}}jsxReadNewLine(t){const e=this.input.charCodeAt(this.state.pos);let r;return++this.state.pos,13===e&&10===this.input.charCodeAt(this.state.pos)?(++this.state.pos,r=t?"\n":"\r\n"):r=String.fromCharCode(e),++this.state.curLine,this.state.lineStart=this.state.pos,r}jsxReadString(t){let e="",r=++this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(this.state.start,m.UnterminatedString);const s=this.input.charCodeAt(this.state.pos);if(s===t)break;38===s?(e+=this.input.slice(r,this.state.pos),e+=this.jsxReadEntity(),r=this.state.pos):c(s)?(e+=this.input.slice(r,this.state.pos),e+=this.jsxReadNewLine(!1),r=this.state.pos):++this.state.pos}return e+=this.input.slice(r,this.state.pos++),this.finishToken(a.string,e)}jsxReadEntity(){let t,e="",r=0,s=this.input[this.state.pos];const n=++this.state.pos;for(;this.state.pos<this.length&&r++<10;){if(s=this.input[this.state.pos++],";"===s){"#"===e[0]?"x"===e[1]?(e=e.substr(2),W.test(e)&&(t=String.fromCodePoint(parseInt(e,16)))):(e=e.substr(1),V.test(e)&&(t=String.fromCodePoint(parseInt(e,10)))):t=H[e];break}e+=s}return t||(this.state.pos=n,"&")}jsxReadWord(){let t;const e=this.state.pos;do{t=this.input.charCodeAt(++this.state.pos)}while(T(t)||45===t);return this.finishToken(a.jsxName,this.input.slice(e,this.state.pos))}jsxParseIdentifier(){const t=this.startNode();return this.match(a.jsxName)?t.name=this.state.value:this.state.type.keyword?t.name=this.state.type.keyword:this.unexpected(),this.next(),this.finishNode(t,"JSXIdentifier")}jsxParseNamespacedName(){const t=this.state.start,e=this.state.startLoc,r=this.jsxParseIdentifier();if(!this.eat(a.colon))return r;const s=this.startNodeAt(t,e);return s.namespace=r,s.name=this.jsxParseIdentifier(),this.finishNode(s,"JSXNamespacedName")}jsxParseElementName(){const t=this.state.start,e=this.state.startLoc;let r=this.jsxParseNamespacedName();if("JSXNamespacedName"===r.type)return r;for(;this.eat(a.dot);){const s=this.startNodeAt(t,e);s.object=r,s.property=this.jsxParseIdentifier(),r=this.finishNode(s,"JSXMemberExpression")}return r}jsxParseAttributeValue(){let t;switch(this.state.type){case a.braceL:return t=this.startNode(),this.next(),t=this.jsxParseExpressionContainer(t),"JSXEmptyExpression"===t.expression.type&&this.raise(t.start,K.AttributeIsEmpty),t;case a.jsxTagStart:case a.string:return this.parseExprAtom();default:throw this.raise(this.state.start,K.UnsupportedJsxValue)}}jsxParseEmptyExpression(){const t=this.startNodeAt(this.state.lastTokEnd,this.state.lastTokEndLoc);return this.finishNodeAt(t,"JSXEmptyExpression",this.state.start,this.state.startLoc)}jsxParseSpreadChild(t){return this.next(),t.expression=this.parseExpression(),this.expect(a.braceR),this.finishNode(t,"JSXSpreadChild")}jsxParseExpressionContainer(t){return this.match(a.braceR)?t.expression=this.jsxParseEmptyExpression():t.expression=this.parseExpression(),this.expect(a.braceR),this.finishNode(t,"JSXExpressionContainer")}jsxParseAttribute(){const t=this.startNode();return this.eat(a.braceL)?(this.expect(a.ellipsis),t.argument=this.parseMaybeAssign(),this.expect(a.braceR),this.finishNode(t,"JSXSpreadAttribute")):(t.name=this.jsxParseNamespacedName(),t.value=this.eat(a.eq)?this.jsxParseAttributeValue():null,this.finishNode(t,"JSXAttribute"))}jsxParseOpeningElementAt(t,e){const r=this.startNodeAt(t,e);return this.match(a.jsxTagEnd)?(this.expect(a.jsxTagEnd),this.finishNode(r,"JSXOpeningFragment")):(r.name=this.jsxParseElementName(),this.jsxParseOpeningElementAfterName(r))}jsxParseOpeningElementAfterName(t){const e=[];for(;!this.match(a.slash)&&!this.match(a.jsxTagEnd);)e.push(this.jsxParseAttribute());return t.attributes=e,t.selfClosing=this.eat(a.slash),this.expect(a.jsxTagEnd),this.finishNode(t,"JSXOpeningElement")}jsxParseClosingElementAt(t,e){const r=this.startNodeAt(t,e);return this.match(a.jsxTagEnd)?(this.expect(a.jsxTagEnd),this.finishNode(r,"JSXClosingFragment")):(r.name=this.jsxParseElementName(),this.expect(a.jsxTagEnd),this.finishNode(r,"JSXClosingElement"))}jsxParseElementAt(t,e){const r=this.startNodeAt(t,e),s=[],n=this.jsxParseOpeningElementAt(t,e);let i=null;if(!n.selfClosing){t:for(;;)switch(this.state.type){case a.jsxTagStart:if(t=this.state.start,e=this.state.startLoc,this.next(),this.eat(a.slash)){i=this.jsxParseClosingElementAt(t,e);break t}s.push(this.jsxParseElementAt(t,e));break;case a.jsxText:s.push(this.parseExprAtom());break;case a.braceL:{const t=this.startNode();this.next(),this.match(a.ellipsis)?s.push(this.jsxParseSpreadChild(t)):s.push(this.jsxParseExpressionContainer(t));break}default:throw this.unexpected()}J(n)&&!J(i)?this.raise(i.start,K.MissingClosingTagFragment):!J(n)&&J(i)?this.raise(i.start,K.MissingClosingTagElement,G(n.name)):J(n)||J(i)||G(i.name)!==G(n.name)&&this.raise(i.start,K.MissingClosingTagElement,G(n.name))}if(J(n)?(r.openingFragment=n,r.closingFragment=i):(r.openingElement=n,r.closingElement=i),r.children=s,this.isRelational("<"))throw this.raise(this.state.start,K.UnwrappedAdjacentJSXElements);return J(n)?this.finishNode(r,"JSXFragment"):this.finishNode(r,"JSXElement")}jsxParseElement(){const t=this.state.start,e=this.state.startLoc;return this.next(),this.jsxParseElementAt(t,e)}parseExprAtom(t){return this.match(a.jsxText)?this.parseLiteral(this.state.value,"JSXText"):this.match(a.jsxTagStart)?this.jsxParseElement():this.isRelational("<")&&33!==this.input.charCodeAt(this.state.pos)?(this.finishToken(a.jsxTagStart),this.jsxParseElement()):super.parseExprAtom(t)}getTokenFromCode(t){if(this.state.inPropertyName)return super.getTokenFromCode(t);const e=this.curContext();if(e===g.j_expr)return this.jsxReadToken();if(e===g.j_oTag||e===g.j_cTag){if(A(t))return this.jsxReadWord();if(62===t)return++this.state.pos,this.finishToken(a.jsxTagEnd);if((34===t||39===t)&&e===g.j_oTag)return this.jsxReadString(t)}return 60===t&&this.state.exprAllowed&&33!==this.input.charCodeAt(this.state.pos+1)?(++this.state.pos,this.finishToken(a.jsxTagStart)):super.getTokenFromCode(t)}updateContext(t){if(this.match(a.braceL)){const e=this.curContext();e===g.j_oTag?this.state.context.push(g.braceExpression):e===g.j_expr?this.state.context.push(g.templateQuasi):super.updateContext(t),this.state.exprAllowed=!0}else{if(!this.match(a.slash)||t!==a.jsxTagStart)return super.updateContext(t);this.state.context.length-=2,this.state.context.push(g.j_cTag),this.state.exprAllowed=!1}}},flow:t=>class extends t{constructor(t,e){super(t,e),this.flowPragma=void 0}shouldParseTypes(){return this.getPluginOption("flow","all")||"flow"===this.flowPragma}shouldParseEnums(){return!!this.getPluginOption("flow","enums")}finishToken(t,e){return t!==a.string&&t!==a.semi&&t!==a.interpreterDirective&&void 0===this.flowPragma&&(this.flowPragma=null),super.finishToken(t,e)}addComment(t){if(void 0===this.flowPragma){const e=z.exec(t.value);if(e)if("flow"===e[1])this.flowPragma="flow";else{if("noflow"!==e[1])throw new Error("Unexpected flow pragma");this.flowPragma="noflow"}}return super.addComment(t)}flowParseTypeInitialiser(t){const e=this.state.inType;this.state.inType=!0,this.expect(t||a.colon);const r=this.flowParseType();return this.state.inType=e,r}flowParsePredicate(){const t=this.startNode(),e=this.state.startLoc,r=this.state.start;this.expect(a.modulo);const s=this.state.startLoc;return this.expectContextual("checks"),e.line===s.line&&e.column===s.column-1||this.raise(r,j.UnexpectedSpaceBetweenModuloChecks),this.eat(a.parenL)?(t.value=this.parseExpression(),this.expect(a.parenR),this.finishNode(t,"DeclaredPredicate")):this.finishNode(t,"InferredPredicate")}flowParseTypeAndPredicateInitialiser(){const t=this.state.inType;this.state.inType=!0,this.expect(a.colon);let e=null,r=null;return this.match(a.modulo)?(this.state.inType=t,r=this.flowParsePredicate()):(e=this.flowParseType(),this.state.inType=t,this.match(a.modulo)&&(r=this.flowParsePredicate())),[e,r]}flowParseDeclareClass(t){return this.next(),this.flowParseInterfaceish(t,!0),this.finishNode(t,"DeclareClass")}flowParseDeclareFunction(t){this.next();const e=t.id=this.parseIdentifier(),r=this.startNode(),s=this.startNode();this.isRelational("<")?r.typeParameters=this.flowParseTypeParameterDeclaration():r.typeParameters=null,this.expect(a.parenL);const n=this.flowParseFunctionTypeParams();return r.params=n.params,r.rest=n.rest,this.expect(a.parenR),[r.returnType,t.predicate]=this.flowParseTypeAndPredicateInitialiser(),s.typeAnnotation=this.finishNode(r,"FunctionTypeAnnotation"),e.typeAnnotation=this.finishNode(s,"TypeAnnotation"),this.resetEndLocation(e),this.semicolon(),this.finishNode(t,"DeclareFunction")}flowParseDeclare(t,e){if(this.match(a._class))return this.flowParseDeclareClass(t);if(this.match(a._function))return this.flowParseDeclareFunction(t);if(this.match(a._var))return this.flowParseDeclareVariable(t);if(this.eatContextual("module"))return this.match(a.dot)?this.flowParseDeclareModuleExports(t):(e&&this.raise(this.state.lastTokStart,j.NestedDeclareModule),this.flowParseDeclareModule(t));if(this.isContextual("type"))return this.flowParseDeclareTypeAlias(t);if(this.isContextual("opaque"))return this.flowParseDeclareOpaqueType(t);if(this.isContextual("interface"))return this.flowParseDeclareInterface(t);if(this.match(a._export))return this.flowParseDeclareExportDeclaration(t,e);throw this.unexpected()}flowParseDeclareVariable(t){return this.next(),t.id=this.flowParseTypeAnnotatableIdentifier(!0),this.scope.declareName(t.id.name,5,t.id.start),this.semicolon(),this.finishNode(t,"DeclareVariable")}flowParseDeclareModule(t){this.scope.enter(0),this.match(a.string)?t.id=this.parseExprAtom():t.id=this.parseIdentifier();const e=t.body=this.startNode(),r=e.body=[];for(this.expect(a.braceL);!this.match(a.braceR);){let t=this.startNode();this.match(a._import)?(this.next(),this.isContextual("type")||this.match(a._typeof)||this.raise(this.state.lastTokStart,j.InvalidNonTypeImportInDeclareModule),this.parseImport(t)):(this.expectContextual("declare",j.UnsupportedStatementInDeclareModule),t=this.flowParseDeclare(t,!0)),r.push(t)}this.scope.exit(),this.expect(a.braceR),this.finishNode(e,"BlockStatement");let s=null,n=!1;return r.forEach(t=>{!function(t){return"DeclareExportAllDeclaration"===t.type||"DeclareExportDeclaration"===t.type&&(!t.declaration||"TypeAlias"!==t.declaration.type&&"InterfaceDeclaration"!==t.declaration.type)}(t)?"DeclareModuleExports"===t.type&&(n&&this.raise(t.start,j.DuplicateDeclareModuleExports),"ES"===s&&this.raise(t.start,j.AmbiguousDeclareModuleKind),s="CommonJS",n=!0):("CommonJS"===s&&this.raise(t.start,j.AmbiguousDeclareModuleKind),s="ES")}),t.kind=s||"CommonJS",this.finishNode(t,"DeclareModule")}flowParseDeclareExportDeclaration(t,e){if(this.expect(a._export),this.eat(a._default))return this.match(a._function)||this.match(a._class)?t.declaration=this.flowParseDeclare(this.startNode()):(t.declaration=this.flowParseType(),this.semicolon()),t.default=!0,this.finishNode(t,"DeclareExportDeclaration");if(this.match(a._const)||this.isLet()||(this.isContextual("type")||this.isContextual("interface"))&&!e){const t=this.state.value,e=$[t];throw this.raise(this.state.start,j.UnsupportedDeclareExportKind,t,e)}if(this.match(a._var)||this.match(a._function)||this.match(a._class)||this.isContextual("opaque"))return t.declaration=this.flowParseDeclare(this.startNode()),t.default=!1,this.finishNode(t,"DeclareExportDeclaration");if(this.match(a.star)||this.match(a.braceL)||this.isContextual("interface")||this.isContextual("type")||this.isContextual("opaque"))return"ExportNamedDeclaration"===(t=this.parseExport(t)).type&&(t.type="ExportDeclaration",t.default=!1,delete t.exportKind),t.type="Declare"+t.type,t;throw this.unexpected()}flowParseDeclareModuleExports(t){return this.next(),this.expectContextual("exports"),t.typeAnnotation=this.flowParseTypeAnnotation(),this.semicolon(),this.finishNode(t,"DeclareModuleExports")}flowParseDeclareTypeAlias(t){return this.next(),this.flowParseTypeAlias(t),t.type="DeclareTypeAlias",t}flowParseDeclareOpaqueType(t){return this.next(),this.flowParseOpaqueType(t,!0),t.type="DeclareOpaqueType",t}flowParseDeclareInterface(t){return this.next(),this.flowParseInterfaceish(t),this.finishNode(t,"DeclareInterface")}flowParseInterfaceish(t,e=!1){if(t.id=this.flowParseRestrictedIdentifier(!e,!0),this.scope.declareName(t.id.name,e?17:9,t.id.start),this.isRelational("<")?t.typeParameters=this.flowParseTypeParameterDeclaration():t.typeParameters=null,t.extends=[],t.implements=[],t.mixins=[],this.eat(a._extends))do{t.extends.push(this.flowParseInterfaceExtends())}while(!e&&this.eat(a.comma));if(this.isContextual("mixins")){this.next();do{t.mixins.push(this.flowParseInterfaceExtends())}while(this.eat(a.comma))}if(this.isContextual("implements")){this.next();do{t.implements.push(this.flowParseInterfaceExtends())}while(this.eat(a.comma))}t.body=this.flowParseObjectType({allowStatic:e,allowExact:!1,allowSpread:!1,allowProto:e,allowInexact:!1})}flowParseInterfaceExtends(){const t=this.startNode();return t.id=this.flowParseQualifiedTypeIdentifier(),this.isRelational("<")?t.typeParameters=this.flowParseTypeParameterInstantiation():t.typeParameters=null,this.finishNode(t,"InterfaceExtends")}flowParseInterface(t){return this.flowParseInterfaceish(t),this.finishNode(t,"InterfaceDeclaration")}checkNotUnderscore(t){"_"===t&&this.raise(this.state.start,j.UnexpectedReservedUnderscore)}checkReservedType(t,e,r){M.has(t)&&this.raise(e,r?j.AssignReservedType:j.UnexpectedReservedType,t)}flowParseRestrictedIdentifier(t,e){return this.checkReservedType(this.state.value,this.state.start,e),this.parseIdentifier(t)}flowParseTypeAlias(t){return t.id=this.flowParseRestrictedIdentifier(!1,!0),this.scope.declareName(t.id.name,9,t.id.start),this.isRelational("<")?t.typeParameters=this.flowParseTypeParameterDeclaration():t.typeParameters=null,t.right=this.flowParseTypeInitialiser(a.eq),this.semicolon(),this.finishNode(t,"TypeAlias")}flowParseOpaqueType(t,e){return this.expectContextual("type"),t.id=this.flowParseRestrictedIdentifier(!0,!0),this.scope.declareName(t.id.name,9,t.id.start),this.isRelational("<")?t.typeParameters=this.flowParseTypeParameterDeclaration():t.typeParameters=null,t.supertype=null,this.match(a.colon)&&(t.supertype=this.flowParseTypeInitialiser(a.colon)),t.impltype=null,e||(t.impltype=this.flowParseTypeInitialiser(a.eq)),this.semicolon(),this.finishNode(t,"OpaqueType")}flowParseTypeParameter(t=!1){const e=this.state.start,r=this.startNode(),s=this.flowParseVariance(),n=this.flowParseTypeAnnotatableIdentifier();return r.name=n.name,r.variance=s,r.bound=n.typeAnnotation,this.match(a.eq)?(this.eat(a.eq),r.default=this.flowParseType()):t&&this.raise(e,j.MissingTypeParamDefault),this.finishNode(r,"TypeParameter")}flowParseTypeParameterDeclaration(){const t=this.state.inType,e=this.startNode();e.params=[],this.state.inType=!0,this.isRelational("<")||this.match(a.jsxTagStart)?this.next():this.unexpected();let r=!1;do{const t=this.flowParseTypeParameter(r);e.params.push(t),t.default&&(r=!0),this.isRelational(">")||this.expect(a.comma)}while(!this.isRelational(">"));return this.expectRelational(">"),this.state.inType=t,this.finishNode(e,"TypeParameterDeclaration")}flowParseTypeParameterInstantiation(){const t=this.startNode(),e=this.state.inType;t.params=[],this.state.inType=!0,this.expectRelational("<");const r=this.state.noAnonFunctionType;for(this.state.noAnonFunctionType=!1;!this.isRelational(">");)t.params.push(this.flowParseType()),this.isRelational(">")||this.expect(a.comma);return this.state.noAnonFunctionType=r,this.expectRelational(">"),this.state.inType=e,this.finishNode(t,"TypeParameterInstantiation")}flowParseTypeParameterInstantiationCallOrNew(){const t=this.startNode(),e=this.state.inType;for(t.params=[],this.state.inType=!0,this.expectRelational("<");!this.isRelational(">");)t.params.push(this.flowParseTypeOrImplicitInstantiation()),this.isRelational(">")||this.expect(a.comma);return this.expectRelational(">"),this.state.inType=e,this.finishNode(t,"TypeParameterInstantiation")}flowParseInterfaceType(){const t=this.startNode();if(this.expectContextual("interface"),t.extends=[],this.eat(a._extends))do{t.extends.push(this.flowParseInterfaceExtends())}while(this.eat(a.comma));return t.body=this.flowParseObjectType({allowStatic:!1,allowExact:!1,allowSpread:!1,allowProto:!1,allowInexact:!1}),this.finishNode(t,"InterfaceTypeAnnotation")}flowParseObjectPropertyKey(){return this.match(a.num)||this.match(a.string)?this.parseExprAtom():this.parseIdentifier(!0)}flowParseObjectTypeIndexer(t,e,r){return t.static=e,this.lookahead().type===a.colon?(t.id=this.flowParseObjectPropertyKey(),t.key=this.flowParseTypeInitialiser()):(t.id=null,t.key=this.flowParseType()),this.expect(a.bracketR),t.value=this.flowParseTypeInitialiser(),t.variance=r,this.finishNode(t,"ObjectTypeIndexer")}flowParseObjectTypeInternalSlot(t,e){return t.static=e,t.id=this.flowParseObjectPropertyKey(),this.expect(a.bracketR),this.expect(a.bracketR),this.isRelational("<")||this.match(a.parenL)?(t.method=!0,t.optional=!1,t.value=this.flowParseObjectTypeMethodish(this.startNodeAt(t.start,t.loc.start))):(t.method=!1,this.eat(a.question)&&(t.optional=!0),t.value=this.flowParseTypeInitialiser()),this.finishNode(t,"ObjectTypeInternalSlot")}flowParseObjectTypeMethodish(t){for(t.params=[],t.rest=null,t.typeParameters=null,this.isRelational("<")&&(t.typeParameters=this.flowParseTypeParameterDeclaration()),this.expect(a.parenL);!this.match(a.parenR)&&!this.match(a.ellipsis);)t.params.push(this.flowParseFunctionTypeParam()),this.match(a.parenR)||this.expect(a.comma);return this.eat(a.ellipsis)&&(t.rest=this.flowParseFunctionTypeParam()),this.expect(a.parenR),t.returnType=this.flowParseTypeInitialiser(),this.finishNode(t,"FunctionTypeAnnotation")}flowParseObjectTypeCallProperty(t,e){const r=this.startNode();return t.static=e,t.value=this.flowParseObjectTypeMethodish(r),this.finishNode(t,"ObjectTypeCallProperty")}flowParseObjectType({allowStatic:t,allowExact:e,allowSpread:r,allowProto:s,allowInexact:n}){const i=this.state.inType;this.state.inType=!0;const o=this.startNode();let u,c;o.callProperties=[],o.properties=[],o.indexers=[],o.internalSlots=[];let h=!1;for(e&&this.match(a.braceBarL)?(this.expect(a.braceBarL),u=a.braceBarR,c=!0):(this.expect(a.braceL),u=a.braceR,c=!1),o.exact=c;!this.match(u);){let e=!1,i=null,u=null;const l=this.startNode();if(s&&this.isContextual("proto")){const e=this.lookahead();e.type!==a.colon&&e.type!==a.question&&(this.next(),i=this.state.start,t=!1)}if(t&&this.isContextual("static")){const t=this.lookahead();t.type!==a.colon&&t.type!==a.question&&(this.next(),e=!0)}const p=this.flowParseVariance();if(this.eat(a.bracketL))null!=i&&this.unexpected(i),this.eat(a.bracketL)?(p&&this.unexpected(p.start),o.internalSlots.push(this.flowParseObjectTypeInternalSlot(l,e))):o.indexers.push(this.flowParseObjectTypeIndexer(l,e,p));else if(this.match(a.parenL)||this.isRelational("<"))null!=i&&this.unexpected(i),p&&this.unexpected(p.start),o.callProperties.push(this.flowParseObjectTypeCallProperty(l,e));else{let t="init";if(this.isContextual("get")||this.isContextual("set")){const e=this.lookahead();e.type!==a.name&&e.type!==a.string&&e.type!==a.num||(t=this.state.value,this.next())}const s=this.flowParseObjectTypeProperty(l,e,i,p,t,r,null!=n?n:!c);null===s?(h=!0,u=this.state.lastTokStart):o.properties.push(s)}this.flowObjectTypeSemicolon(),!u||this.match(a.braceR)||this.match(a.braceBarR)||this.raise(u,j.UnexpectedExplicitInexactInObject)}this.expect(u),r&&(o.inexact=h);const l=this.finishNode(o,"ObjectTypeAnnotation");return this.state.inType=i,l}flowParseObjectTypeProperty(t,e,r,s,n,i,o){if(this.eat(a.ellipsis))return this.match(a.comma)||this.match(a.semi)||this.match(a.braceR)||this.match(a.braceBarR)?(i?o||this.raise(this.state.lastTokStart,j.InexactInsideExact):this.raise(this.state.lastTokStart,j.InexactInsideNonObject),s&&this.raise(s.start,j.InexactVariance),null):(i||this.raise(this.state.lastTokStart,j.UnexpectedSpreadType),null!=r&&this.unexpected(r),s&&this.raise(s.start,j.SpreadVariance),t.argument=this.flowParseType(),this.finishNode(t,"ObjectTypeSpreadProperty"));{t.key=this.flowParseObjectPropertyKey(),t.static=e,t.proto=null!=r,t.kind=n;let i=!1;return this.isRelational("<")||this.match(a.parenL)?(t.method=!0,null!=r&&this.unexpected(r),s&&this.unexpected(s.start),t.value=this.flowParseObjectTypeMethodish(this.startNodeAt(t.start,t.loc.start)),"get"!==n&&"set"!==n||this.flowCheckGetterSetterParams(t)):("init"!==n&&this.unexpected(),t.method=!1,this.eat(a.question)&&(i=!0),t.value=this.flowParseTypeInitialiser(),t.variance=s),t.optional=i,this.finishNode(t,"ObjectTypeProperty")}}flowCheckGetterSetterParams(t){const e="get"===t.kind?0:1,r=t.start;t.value.params.length+(t.value.rest?1:0)!==e&&("get"===t.kind?this.raise(r,m.BadGetterArity):this.raise(r,m.BadSetterArity)),"set"===t.kind&&t.value.rest&&this.raise(r,m.BadSetterRestParameter)}flowObjectTypeSemicolon(){this.eat(a.semi)||this.eat(a.comma)||this.match(a.braceR)||this.match(a.braceBarR)||this.unexpected()}flowParseQualifiedTypeIdentifier(t,e,r){t=t||this.state.start,e=e||this.state.startLoc;let s=r||this.flowParseRestrictedIdentifier(!0);for(;this.eat(a.dot);){const r=this.startNodeAt(t,e);r.qualification=s,r.id=this.flowParseRestrictedIdentifier(!0),s=this.finishNode(r,"QualifiedTypeIdentifier")}return s}flowParseGenericType(t,e,r){const s=this.startNodeAt(t,e);return s.typeParameters=null,s.id=this.flowParseQualifiedTypeIdentifier(t,e,r),this.isRelational("<")&&(s.typeParameters=this.flowParseTypeParameterInstantiation()),this.finishNode(s,"GenericTypeAnnotation")}flowParseTypeofType(){const t=this.startNode();return this.expect(a._typeof),t.argument=this.flowParsePrimaryType(),this.finishNode(t,"TypeofTypeAnnotation")}flowParseTupleType(){const t=this.startNode();for(t.types=[],this.expect(a.bracketL);this.state.pos<this.length&&!this.match(a.bracketR)&&(t.types.push(this.flowParseType()),!this.match(a.bracketR));)this.expect(a.comma);return this.expect(a.bracketR),this.finishNode(t,"TupleTypeAnnotation")}flowParseFunctionTypeParam(){let t=null,e=!1,r=null;const s=this.startNode(),n=this.lookahead();return n.type===a.colon||n.type===a.question?(t=this.parseIdentifier(),this.eat(a.question)&&(e=!0),r=this.flowParseTypeInitialiser()):r=this.flowParseType(),s.name=t,s.optional=e,s.typeAnnotation=r,this.finishNode(s,"FunctionTypeParam")}reinterpretTypeAsFunctionTypeParam(t){const e=this.startNodeAt(t.start,t.loc.start);return e.name=null,e.optional=!1,e.typeAnnotation=t,this.finishNode(e,"FunctionTypeParam")}flowParseFunctionTypeParams(t=[]){let e=null;for(;!this.match(a.parenR)&&!this.match(a.ellipsis);)t.push(this.flowParseFunctionTypeParam()),this.match(a.parenR)||this.expect(a.comma);return this.eat(a.ellipsis)&&(e=this.flowParseFunctionTypeParam()),{params:t,rest:e}}flowIdentToTypeAnnotation(t,e,r,s){switch(s.name){case"any":return this.finishNode(r,"AnyTypeAnnotation");case"bool":case"boolean":return this.finishNode(r,"BooleanTypeAnnotation");case"mixed":return this.finishNode(r,"MixedTypeAnnotation");case"empty":return this.finishNode(r,"EmptyTypeAnnotation");case"number":return this.finishNode(r,"NumberTypeAnnotation");case"string":return this.finishNode(r,"StringTypeAnnotation");case"symbol":return this.finishNode(r,"SymbolTypeAnnotation");default:return this.checkNotUnderscore(s.name),this.flowParseGenericType(t,e,s)}}flowParsePrimaryType(){const t=this.state.start,e=this.state.startLoc,r=this.startNode();let s,n,i=!1;const o=this.state.noAnonFunctionType;switch(this.state.type){case a.name:return this.isContextual("interface")?this.flowParseInterfaceType():this.flowIdentToTypeAnnotation(t,e,r,this.parseIdentifier());case a.braceL:return this.flowParseObjectType({allowStatic:!1,allowExact:!1,allowSpread:!0,allowProto:!1,allowInexact:!0});case a.braceBarL:return this.flowParseObjectType({allowStatic:!1,allowExact:!0,allowSpread:!0,allowProto:!1,allowInexact:!1});case a.bracketL:return this.state.noAnonFunctionType=!1,n=this.flowParseTupleType(),this.state.noAnonFunctionType=o,n;case a.relational:if("<"===this.state.value)return r.typeParameters=this.flowParseTypeParameterDeclaration(),this.expect(a.parenL),s=this.flowParseFunctionTypeParams(),r.params=s.params,r.rest=s.rest,this.expect(a.parenR),this.expect(a.arrow),r.returnType=this.flowParseType(),this.finishNode(r,"FunctionTypeAnnotation");break;case a.parenL:if(this.next(),!this.match(a.parenR)&&!this.match(a.ellipsis))if(this.match(a.name)){const t=this.lookahead().type;i=t!==a.question&&t!==a.colon}else i=!0;if(i){if(this.state.noAnonFunctionType=!1,n=this.flowParseType(),this.state.noAnonFunctionType=o,this.state.noAnonFunctionType||!(this.match(a.comma)||this.match(a.parenR)&&this.lookahead().type===a.arrow))return this.expect(a.parenR),n;this.eat(a.comma)}return s=n?this.flowParseFunctionTypeParams([this.reinterpretTypeAsFunctionTypeParam(n)]):this.flowParseFunctionTypeParams(),r.params=s.params,r.rest=s.rest,this.expect(a.parenR),this.expect(a.arrow),r.returnType=this.flowParseType(),r.typeParameters=null,this.finishNode(r,"FunctionTypeAnnotation");case a.string:return this.parseLiteral(this.state.value,"StringLiteralTypeAnnotation");case a._true:case a._false:return r.value=this.match(a._true),this.next(),this.finishNode(r,"BooleanLiteralTypeAnnotation");case a.plusMin:if("-"===this.state.value){if(this.next(),this.match(a.num))return this.parseLiteral(-this.state.value,"NumberLiteralTypeAnnotation",r.start,r.loc.start);if(this.match(a.bigint))return this.parseLiteral(-this.state.value,"BigIntLiteralTypeAnnotation",r.start,r.loc.start);throw this.raise(this.state.start,j.UnexpectedSubtractionOperand)}throw this.unexpected();case a.num:return this.parseLiteral(this.state.value,"NumberLiteralTypeAnnotation");case a.bigint:return this.parseLiteral(this.state.value,"BigIntLiteralTypeAnnotation");case a._void:return this.next(),this.finishNode(r,"VoidTypeAnnotation");case a._null:return this.next(),this.finishNode(r,"NullLiteralTypeAnnotation");case a._this:return this.next(),this.finishNode(r,"ThisTypeAnnotation");case a.star:return this.next(),this.finishNode(r,"ExistsTypeAnnotation");default:if("typeof"===this.state.type.keyword)return this.flowParseTypeofType();if(this.state.type.keyword){const t=this.state.type.label;return this.next(),super.createIdentifier(r,t)}}throw this.unexpected()}flowParsePostfixType(){const t=this.state.start,e=this.state.startLoc;let r=this.flowParsePrimaryType();for(;this.match(a.bracketL)&&!this.canInsertSemicolon();){const s=this.startNodeAt(t,e);s.elementType=r,this.expect(a.bracketL),this.expect(a.bracketR),r=this.finishNode(s,"ArrayTypeAnnotation")}return r}flowParsePrefixType(){const t=this.startNode();return this.eat(a.question)?(t.typeAnnotation=this.flowParsePrefixType(),this.finishNode(t,"NullableTypeAnnotation")):this.flowParsePostfixType()}flowParseAnonFunctionWithoutParens(){const t=this.flowParsePrefixType();if(!this.state.noAnonFunctionType&&this.eat(a.arrow)){const e=this.startNodeAt(t.start,t.loc.start);return e.params=[this.reinterpretTypeAsFunctionTypeParam(t)],e.rest=null,e.returnType=this.flowParseType(),e.typeParameters=null,this.finishNode(e,"FunctionTypeAnnotation")}return t}flowParseIntersectionType(){const t=this.startNode();this.eat(a.bitwiseAND);const e=this.flowParseAnonFunctionWithoutParens();for(t.types=[e];this.eat(a.bitwiseAND);)t.types.push(this.flowParseAnonFunctionWithoutParens());return 1===t.types.length?e:this.finishNode(t,"IntersectionTypeAnnotation")}flowParseUnionType(){const t=this.startNode();this.eat(a.bitwiseOR);const e=this.flowParseIntersectionType();for(t.types=[e];this.eat(a.bitwiseOR);)t.types.push(this.flowParseIntersectionType());return 1===t.types.length?e:this.finishNode(t,"UnionTypeAnnotation")}flowParseType(){const t=this.state.inType;this.state.inType=!0;const e=this.flowParseUnionType();return this.state.inType=t,this.state.exprAllowed=this.state.exprAllowed||this.state.noAnonFunctionType,e}flowParseTypeOrImplicitInstantiation(){if(this.state.type===a.name&&"_"===this.state.value){const t=this.state.start,e=this.state.startLoc,r=this.parseIdentifier();return this.flowParseGenericType(t,e,r)}return this.flowParseType()}flowParseTypeAnnotation(){const t=this.startNode();return t.typeAnnotation=this.flowParseTypeInitialiser(),this.finishNode(t,"TypeAnnotation")}flowParseTypeAnnotatableIdentifier(t){const e=t?this.parseIdentifier():this.flowParseRestrictedIdentifier();return this.match(a.colon)&&(e.typeAnnotation=this.flowParseTypeAnnotation(),this.resetEndLocation(e)),e}typeCastToParameter(t){return t.expression.typeAnnotation=t.typeAnnotation,this.resetEndLocation(t.expression,t.typeAnnotation.end,t.typeAnnotation.loc.end),t.expression}flowParseVariance(){let t=null;return this.match(a.plusMin)&&(t=this.startNode(),"+"===this.state.value?t.kind="plus":t.kind="minus",this.next(),this.finishNode(t,"Variance")),t}parseFunctionBody(t,e,r=!1){return e?this.forwardNoArrowParamsConversionAt(t,()=>super.parseFunctionBody(t,!0,r)):super.parseFunctionBody(t,!1,r)}parseFunctionBodyAndFinish(t,e,r=!1){if(this.match(a.colon)){const e=this.startNode();[e.typeAnnotation,t.predicate]=this.flowParseTypeAndPredicateInitialiser(),t.returnType=e.typeAnnotation?this.finishNode(e,"TypeAnnotation"):null}super.parseFunctionBodyAndFinish(t,e,r)}parseStatement(t,e){if(this.state.strict&&this.match(a.name)&&"interface"===this.state.value){const t=this.startNode();return this.next(),this.flowParseInterface(t)}if(this.shouldParseEnums()&&this.isContextual("enum")){const t=this.startNode();return this.next(),this.flowParseEnumDeclaration(t)}{const r=super.parseStatement(t,e);return void 0!==this.flowPragma||this.isValidDirective(r)||(this.flowPragma=null),r}}parseExpressionStatement(t,e){if("Identifier"===e.type)if("declare"===e.name){if(this.match(a._class)||this.match(a.name)||this.match(a._function)||this.match(a._var)||this.match(a._export))return this.flowParseDeclare(t)}else if(this.match(a.name)){if("interface"===e.name)return this.flowParseInterface(t);if("type"===e.name)return this.flowParseTypeAlias(t);if("opaque"===e.name)return this.flowParseOpaqueType(t,!1)}return super.parseExpressionStatement(t,e)}shouldParseExportDeclaration(){return this.isContextual("type")||this.isContextual("interface")||this.isContextual("opaque")||this.shouldParseEnums()&&this.isContextual("enum")||super.shouldParseExportDeclaration()}isExportDefaultSpecifier(){return(!this.match(a.name)||!("type"===this.state.value||"interface"===this.state.value||"opaque"===this.state.value||this.shouldParseEnums()&&"enum"===this.state.value))&&super.isExportDefaultSpecifier()}parseExportDefaultExpression(){if(this.shouldParseEnums()&&this.isContextual("enum")){const t=this.startNode();return this.next(),this.flowParseEnumDeclaration(t)}return super.parseExportDefaultExpression()}parseConditional(t,e,r,s,n){if(!this.match(a.question))return t;if(n){const i=this.tryParse(()=>super.parseConditional(t,e,r,s));return i.node?(i.error&&(this.state=i.failState),i.node):(n.start=i.error.pos||this.state.start,t)}this.expect(a.question);const i=this.state.clone(),o=this.state.noArrowAt,u=this.startNodeAt(r,s);let{consequent:c,failed:h}=this.tryParseConditionalConsequent(),[l,p]=this.getArrowLikeExpressions(c);if(h||p.length>0){const t=[...o];if(p.length>0){this.state=i,this.state.noArrowAt=t;for(let e=0;e<p.length;e++)t.push(p[e].start);({consequent:c,failed:h}=this.tryParseConditionalConsequent()),[l,p]=this.getArrowLikeExpressions(c)}h&&l.length>1&&this.raise(i.start,j.AmbiguousConditionalArrow),h&&1===l.length&&(this.state=i,this.state.noArrowAt=t.concat(l[0].start),({consequent:c,failed:h}=this.tryParseConditionalConsequent()))}return this.getArrowLikeExpressions(c,!0),this.state.noArrowAt=o,this.expect(a.colon),u.test=t,u.consequent=c,u.alternate=this.forwardNoArrowParamsConversionAt(u,()=>this.parseMaybeAssign(e,void 0,void 0,void 0)),this.finishNode(u,"ConditionalExpression")}tryParseConditionalConsequent(){this.state.noArrowParamsConversionAt.push(this.state.start);const t=this.parseMaybeAssign(),e=!this.match(a.colon);return this.state.noArrowParamsConversionAt.pop(),{consequent:t,failed:e}}getArrowLikeExpressions(t,e){const r=[t],s=[];for(;0!==r.length;){const t=r.pop();"ArrowFunctionExpression"===t.type?(t.typeParameters||!t.returnType?this.finishArrowValidation(t):s.push(t),r.push(t.body)):"ConditionalExpression"===t.type&&(r.push(t.consequent),r.push(t.alternate))}return e?(s.forEach(t=>this.finishArrowValidation(t)),[s,[]]):function(t,e){const r=[],s=[];for(let n=0;n<t.length;n++)(e(t[n],n,t)?r:s).push(t[n]);return[r,s]}(s,t=>t.params.every(t=>this.isAssignable(t,!0)))}finishArrowValidation(t){var e;this.toAssignableList(t.params,null==(e=t.extra)?void 0:e.trailingComma),this.scope.enter(6),super.checkParams(t,!1,!0),this.scope.exit()}forwardNoArrowParamsConversionAt(t,e){let r;return-1!==this.state.noArrowParamsConversionAt.indexOf(t.start)?(this.state.noArrowParamsConversionAt.push(this.state.start),r=e(),this.state.noArrowParamsConversionAt.pop()):r=e(),r}parseParenItem(t,e,r){if(t=super.parseParenItem(t,e,r),this.eat(a.question)&&(t.optional=!0,this.resetEndLocation(t)),this.match(a.colon)){const s=this.startNodeAt(e,r);return s.expression=t,s.typeAnnotation=this.flowParseTypeAnnotation(),this.finishNode(s,"TypeCastExpression")}return t}assertModuleNodeAllowed(t){"ImportDeclaration"===t.type&&("type"===t.importKind||"typeof"===t.importKind)||"ExportNamedDeclaration"===t.type&&"type"===t.exportKind||"ExportAllDeclaration"===t.type&&"type"===t.exportKind||super.assertModuleNodeAllowed(t)}parseExport(t){const e=super.parseExport(t);return"ExportNamedDeclaration"!==e.type&&"ExportAllDeclaration"!==e.type||(e.exportKind=e.exportKind||"value"),e}parseExportDeclaration(t){if(this.isContextual("type")){t.exportKind="type";const e=this.startNode();return this.next(),this.match(a.braceL)?(t.specifiers=this.parseExportSpecifiers(),this.parseExportFrom(t),null):this.flowParseTypeAlias(e)}if(this.isContextual("opaque")){t.exportKind="type";const e=this.startNode();return this.next(),this.flowParseOpaqueType(e,!1)}if(this.isContextual("interface")){t.exportKind="type";const e=this.startNode();return this.next(),this.flowParseInterface(e)}if(this.shouldParseEnums()&&this.isContextual("enum")){t.exportKind="value";const e=this.startNode();return this.next(),this.flowParseEnumDeclaration(e)}return super.parseExportDeclaration(t)}eatExportStar(t){return!!super.eatExportStar(...arguments)||!(!this.isContextual("type")||this.lookahead().type!==a.star)&&(t.exportKind="type",this.next(),this.next(),!0)}maybeParseExportNamespaceSpecifier(t){const e=this.state.start,r=super.maybeParseExportNamespaceSpecifier(t);return r&&"type"===t.exportKind&&this.unexpected(e),r}parseClassId(t,e,r){super.parseClassId(t,e,r),this.isRelational("<")&&(t.typeParameters=this.flowParseTypeParameterDeclaration())}parseClassMember(t,e,r,s){const n=this.state.start;if(this.isContextual("declare")){if(this.parseClassMemberFromModifier(t,e))return;e.declare=!0}super.parseClassMember(t,e,r,s),e.declare&&("ClassProperty"!==e.type&&"ClassPrivateProperty"!==e.type?this.raise(n,j.DeclareClassElement):e.value&&this.raise(e.value.start,j.DeclareClassFieldInitializer))}getTokenFromCode(t){const e=this.input.charCodeAt(this.state.pos+1);return 123===t&&124===e?this.finishOp(a.braceBarL,2):!this.state.inType||62!==t&&60!==t?function(t,e){return 64===t&&64===e}(t,e)?(this.state.isIterator=!0,super.readWord()):super.getTokenFromCode(t):this.finishOp(a.relational,1)}isAssignable(t,e){switch(t.type){case"Identifier":case"ObjectPattern":case"ArrayPattern":case"AssignmentPattern":return!0;case"ObjectExpression":{const e=t.properties.length-1;return t.properties.every((t,r)=>"ObjectMethod"!==t.type&&(r===e||"SpreadElement"===t.type)&&this.isAssignable(t))}case"ObjectProperty":return this.isAssignable(t.value);case"SpreadElement":return this.isAssignable(t.argument);case"ArrayExpression":return t.elements.every(t=>this.isAssignable(t));case"AssignmentExpression":return"="===t.operator;case"ParenthesizedExpression":case"TypeCastExpression":return this.isAssignable(t.expression);case"MemberExpression":case"OptionalMemberExpression":return!e;default:return!1}}toAssignable(t){return"TypeCastExpression"===t.type?super.toAssignable(this.typeCastToParameter(t)):super.toAssignable(t)}toAssignableList(t,e){for(let r=0;r<t.length;r++){const e=t[r];e&&"TypeCastExpression"===e.type&&(t[r]=this.typeCastToParameter(e))}return super.toAssignableList(t,e)}toReferencedList(t,e){for(let r=0;r<t.length;r++){const s=t[r];!s||"TypeCastExpression"!==s.type||s.extra&&s.extra.parenthesized||!(t.length>1)&&e||this.raise(s.typeAnnotation.start,j.TypeCastInPattern)}return t}checkLVal(t,e=64,r,s){if("TypeCastExpression"!==t.type)return super.checkLVal(t,e,r,s)}parseClassProperty(t){return this.match(a.colon)&&(t.typeAnnotation=this.flowParseTypeAnnotation()),super.parseClassProperty(t)}parseClassPrivateProperty(t){return this.match(a.colon)&&(t.typeAnnotation=this.flowParseTypeAnnotation()),super.parseClassPrivateProperty(t)}isClassMethod(){return this.isRelational("<")||super.isClassMethod()}isClassProperty(){return this.match(a.colon)||super.isClassProperty()}isNonstaticConstructor(t){return!this.match(a.colon)&&super.isNonstaticConstructor(t)}pushClassMethod(t,e,r,s,n,i){e.variance&&this.unexpected(e.variance.start),delete e.variance,this.isRelational("<")&&(e.typeParameters=this.flowParseTypeParameterDeclaration()),super.pushClassMethod(t,e,r,s,n,i)}pushClassPrivateMethod(t,e,r,s){e.variance&&this.unexpected(e.variance.start),delete e.variance,this.isRelational("<")&&(e.typeParameters=this.flowParseTypeParameterDeclaration()),super.pushClassPrivateMethod(t,e,r,s)}parseClassSuper(t){if(super.parseClassSuper(t),t.superClass&&this.isRelational("<")&&(t.superTypeParameters=this.flowParseTypeParameterInstantiation()),this.isContextual("implements")){this.next();const e=t.implements=[];do{const t=this.startNode();t.id=this.flowParseRestrictedIdentifier(!0),this.isRelational("<")?t.typeParameters=this.flowParseTypeParameterInstantiation():t.typeParameters=null,e.push(this.finishNode(t,"ClassImplements"))}while(this.eat(a.comma))}}parsePropertyName(t,e){const r=this.flowParseVariance(),s=super.parsePropertyName(t,e);return t.variance=r,s}parseObjPropValue(t,e,r,s,n,i,o,u){let c;t.variance&&this.unexpected(t.variance.start),delete t.variance,this.isRelational("<")&&(c=this.flowParseTypeParameterDeclaration(),this.match(a.parenL)||this.unexpected()),super.parseObjPropValue(t,e,r,s,n,i,o,u),c&&((t.value||t).typeParameters=c)}parseAssignableListItemTypes(t){return this.eat(a.question)&&("Identifier"!==t.type&&this.raise(t.start,j.OptionalBindingPattern),t.optional=!0),this.match(a.colon)&&(t.typeAnnotation=this.flowParseTypeAnnotation()),this.resetEndLocation(t),t}parseMaybeDefault(t,e,r){const s=super.parseMaybeDefault(t,e,r);return"AssignmentPattern"===s.type&&s.typeAnnotation&&s.right.start<s.typeAnnotation.start&&this.raise(s.typeAnnotation.start,j.TypeBeforeInitializer),s}shouldParseDefaultImport(t){return U(t)?q(this.state):super.shouldParseDefaultImport(t)}parseImportSpecifierLocal(t,e,r,s){e.local=U(t)?this.flowParseRestrictedIdentifier(!0,!0):this.parseIdentifier(),this.checkLVal(e.local,9,void 0,s),t.specifiers.push(this.finishNode(e,r))}maybeParseDefaultImportSpecifier(t){t.importKind="value";let e=null;if(this.match(a._typeof)?e="typeof":this.isContextual("type")&&(e="type"),e){const r=this.lookahead();"type"===e&&r.type===a.star&&this.unexpected(r.start),(q(r)||r.type===a.braceL||r.type===a.star)&&(this.next(),t.importKind=e)}return super.maybeParseDefaultImportSpecifier(t)}parseImportSpecifier(t){const e=this.startNode(),r=this.state.start,s=this.parseIdentifier(!0);let n=null;"type"===s.name?n="type":"typeof"===s.name&&(n="typeof");let i=!1;if(this.isContextual("as")&&!this.isLookaheadContextual("as")){const t=this.parseIdentifier(!0);null===n||this.match(a.name)||this.state.type.keyword?(e.imported=s,e.importKind=null,e.local=this.parseIdentifier()):(e.imported=t,e.importKind=n,e.local=t.__clone())}else null!==n&&(this.match(a.name)||this.state.type.keyword)?(e.imported=this.parseIdentifier(!0),e.importKind=n,this.eatContextual("as")?e.local=this.parseIdentifier():(i=!0,e.local=e.imported.__clone())):(i=!0,e.imported=s,e.importKind=null,e.local=e.imported.__clone());const o=U(t),u=U(e);o&&u&&this.raise(r,j.ImportTypeShorthandOnlyInPureImport),(o||u)&&this.checkReservedType(e.local.name,e.local.start,!0),!i||o||u||this.checkReservedWord(e.local.name,e.start,!0,!0),this.checkLVal(e.local,9,void 0,"import specifier"),t.specifiers.push(this.finishNode(e,"ImportSpecifier"))}parseFunctionParams(t,e){const r=t.kind;"get"!==r&&"set"!==r&&this.isRelational("<")&&(t.typeParameters=this.flowParseTypeParameterDeclaration()),super.parseFunctionParams(t,e)}parseVarId(t,e){super.parseVarId(t,e),this.match(a.colon)&&(t.id.typeAnnotation=this.flowParseTypeAnnotation(),this.resetEndLocation(t.id))}parseAsyncArrowFromCallExpression(t,e){if(this.match(a.colon)){const e=this.state.noAnonFunctionType;this.state.noAnonFunctionType=!0,t.returnType=this.flowParseTypeAnnotation(),this.state.noAnonFunctionType=e}return super.parseAsyncArrowFromCallExpression(t,e)}shouldParseAsyncArrow(){return this.match(a.colon)||super.shouldParseAsyncArrow()}parseMaybeAssign(t,e,r,s){let n,i=null;if(this.hasPlugin("jsx")&&(this.match(a.jsxTagStart)||this.isRelational("<"))){if(i=this.state.clone(),n=this.tryParse(()=>super.parseMaybeAssign(t,e,r,s),i),!n.error)return n.node;const{context:a}=this.state;a[a.length-1]===g.j_oTag?a.length-=2:a[a.length-1]===g.j_expr&&(a.length-=1)}if(n&&n.error||this.isRelational("<")){let a;i=i||this.state.clone();const o=this.tryParse(()=>{a=this.flowParseTypeParameterDeclaration();const n=this.forwardNoArrowParamsConversionAt(a,()=>super.parseMaybeAssign(t,e,r,s));return n.typeParameters=a,this.resetStartLocationFromNode(n,a),n},i),u=o.node&&"ArrowFunctionExpression"===o.node.type?o.node:null;if(!o.error&&u)return u;if(n&&n.node)return this.state=n.failState,n.node;if(u)return this.state=o.failState,u;if(n&&n.thrown)throw n.error;if(o.thrown)throw o.error;throw this.raise(a.start,j.UnexpectedTokenAfterTypeParameter)}return super.parseMaybeAssign(t,e,r,s)}parseArrow(t){if(this.match(a.colon)){const e=this.tryParse(()=>{const e=this.state.noAnonFunctionType;this.state.noAnonFunctionType=!0;const r=this.startNode();return[r.typeAnnotation,t.predicate]=this.flowParseTypeAndPredicateInitialiser(),this.state.noAnonFunctionType=e,this.canInsertSemicolon()&&this.unexpected(),this.match(a.arrow)||this.unexpected(),r});if(e.thrown)return null;e.error&&(this.state=e.failState),t.returnType=e.node.typeAnnotation?this.finishNode(e.node,"TypeAnnotation"):null}return super.parseArrow(t)}shouldParseArrow(){return this.match(a.colon)||super.shouldParseArrow()}setArrowFunctionParameters(t,e){-1!==this.state.noArrowParamsConversionAt.indexOf(t.start)?t.params=e:super.setArrowFunctionParameters(t,e)}checkParams(t,e,r){if(!r||-1===this.state.noArrowParamsConversionAt.indexOf(t.start))return super.checkParams(...arguments)}parseParenAndDistinguishExpression(t){return super.parseParenAndDistinguishExpression(t&&-1===this.state.noArrowAt.indexOf(this.state.start))}parseSubscripts(t,e,r,s){if("Identifier"===t.type&&"async"===t.name&&-1!==this.state.noArrowAt.indexOf(e)){this.next();const s=this.startNodeAt(e,r);s.callee=t,s.arguments=this.parseCallExpressionArguments(a.parenR,!1),t=this.finishNode(s,"CallExpression")}else if("Identifier"===t.type&&"async"===t.name&&this.isRelational("<")){const n=this.state.clone(),i=this.tryParse(t=>this.parseAsyncArrowWithTypeParameters(e,r)||t(),n);if(!i.error&&!i.aborted)return i.node;const a=this.tryParse(()=>super.parseSubscripts(t,e,r,s),n);if(a.node&&!a.error)return a.node;if(i.node)return this.state=i.failState,i.node;if(a.node)return this.state=a.failState,a.node;throw i.error||a.error}return super.parseSubscripts(t,e,r,s)}parseSubscript(t,e,r,s,n){if(this.match(a.questionDot)&&this.isLookaheadRelational("<")){if(n.optionalChainMember=!0,s)return n.stop=!0,t;this.next();const i=this.startNodeAt(e,r);return i.callee=t,i.typeArguments=this.flowParseTypeParameterInstantiation(),this.expect(a.parenL),i.arguments=this.parseCallExpressionArguments(a.parenR,!1),i.optional=!0,this.finishCallExpression(i,!0)}if(!s&&this.shouldParseTypes()&&this.isRelational("<")){const s=this.startNodeAt(e,r);s.callee=t;const i=this.tryParse(()=>(s.typeArguments=this.flowParseTypeParameterInstantiationCallOrNew(),this.expect(a.parenL),s.arguments=this.parseCallExpressionArguments(a.parenR,!1),n.optionalChainMember&&(s.optional=!1),this.finishCallExpression(s,n.optionalChainMember)));if(i.node)return i.error&&(this.state=i.failState),i.node}return super.parseSubscript(t,e,r,s,n)}parseNewArguments(t){let e=null;this.shouldParseTypes()&&this.isRelational("<")&&(e=this.tryParse(()=>this.flowParseTypeParameterInstantiationCallOrNew()).node),t.typeArguments=e,super.parseNewArguments(t)}parseAsyncArrowWithTypeParameters(t,e){const r=this.startNodeAt(t,e);if(this.parseFunctionParams(r),this.parseArrow(r))return this.parseArrowExpression(r,void 0,!0)}readToken_mult_modulo(t){const e=this.input.charCodeAt(this.state.pos+1);if(42===t&&47===e&&this.state.hasFlowComment)return this.state.hasFlowComment=!1,this.state.pos+=2,void this.nextToken();super.readToken_mult_modulo(t)}readToken_pipe_amp(t){const e=this.input.charCodeAt(this.state.pos+1);124!==t||125!==e?super.readToken_pipe_amp(t):this.finishOp(a.braceBarR,2)}parseTopLevel(t,e){const r=super.parseTopLevel(t,e);return this.state.hasFlowComment&&this.raise(this.state.pos,j.UnterminatedFlowComment),r}skipBlockComment(){if(this.hasPlugin("flowComments")&&this.skipFlowComment())return this.state.hasFlowComment&&this.unexpected(null,j.NestedFlowComment),this.hasFlowCommentCompletion(),this.state.pos+=this.skipFlowComment(),void(this.state.hasFlowComment=!0);if(this.state.hasFlowComment){const t=this.input.indexOf("*-/",this.state.pos+=2);if(-1===t)throw this.raise(this.state.pos-2,m.UnterminatedComment);this.state.pos=t+3}else super.skipBlockComment()}skipFlowComment(){const{pos:t}=this.state;let e=2;for(;[32,9].includes(this.input.charCodeAt(t+e));)e++;const r=this.input.charCodeAt(e+t),s=this.input.charCodeAt(e+t+1);return 58===r&&58===s?e+2:"flow-include"===this.input.slice(e+t,e+t+12)?e+12:58===r&&58!==s&&e}hasFlowCommentCompletion(){if(-1===this.input.indexOf("*/",this.state.pos))throw this.raise(this.state.pos,m.UnterminatedComment)}flowEnumErrorBooleanMemberNotInitialized(t,{enumName:e,memberName:r}){this.raise(t,j.EnumBooleanMemberNotInitialized,r,e)}flowEnumErrorInvalidMemberName(t,{enumName:e,memberName:r}){const s=r[0].toUpperCase()+r.slice(1);this.raise(t,j.EnumInvalidMemberName,r,s,e)}flowEnumErrorDuplicateMemberName(t,{enumName:e,memberName:r}){this.raise(t,j.EnumDuplicateMemberName,r,e)}flowEnumErrorInconsistentMemberValues(t,{enumName:e}){this.raise(t,j.EnumInconsistentMemberValues,e)}flowEnumErrorInvalidExplicitType(t,{enumName:e,suppliedType:r}){return this.raise(t,null===r?j.EnumInvalidExplicitTypeUnknownSupplied:j.EnumInvalidExplicitType,e,r)}flowEnumErrorInvalidMemberInitializer(t,{enumName:e,explicitType:r,memberName:s}){let n=null;switch(r){case"boolean":case"number":case"string":n=j.EnumInvalidMemberInitializerPrimaryType;break;case"symbol":n=j.EnumInvalidMemberInitializerSymbolType;break;default:n=j.EnumInvalidMemberInitializerUnknownType}return this.raise(t,n,e,s,r)}flowEnumErrorNumberMemberNotInitialized(t,{enumName:e,memberName:r}){this.raise(t,j.EnumNumberMemberNotInitialized,e,r)}flowEnumErrorStringMemberInconsistentlyInitailized(t,{enumName:e}){this.raise(t,j.EnumStringMemberInconsistentlyInitailized,e)}flowEnumMemberInit(){const t=this.state.start,e=()=>this.match(a.comma)||this.match(a.braceR);switch(this.state.type){case a.num:{const r=this.parseLiteral(this.state.value,"NumericLiteral");return e()?{type:"number",pos:r.start,value:r}:{type:"invalid",pos:t}}case a.string:{const r=this.parseLiteral(this.state.value,"StringLiteral");return e()?{type:"string",pos:r.start,value:r}:{type:"invalid",pos:t}}case a._true:case a._false:{const r=this.parseBooleanLiteral();return e()?{type:"boolean",pos:r.start,value:r}:{type:"invalid",pos:t}}default:return{type:"invalid",pos:t}}}flowEnumMemberRaw(){const t=this.state.start;return{id:this.parseIdentifier(!0),init:this.eat(a.eq)?this.flowEnumMemberInit():{type:"none",pos:t}}}flowEnumCheckExplicitTypeMismatch(t,e,r){const{explicitType:s}=e;null!==s&&s!==r&&this.flowEnumErrorInvalidMemberInitializer(t,e)}flowEnumMembers({enumName:t,explicitType:e}){const r=new Set,s={booleanMembers:[],numberMembers:[],stringMembers:[],defaultedMembers:[]};for(;!this.match(a.braceR);){const n=this.startNode(),{id:i,init:o}=this.flowEnumMemberRaw(),u=i.name;if(""===u)continue;/^[a-z]/.test(u)&&this.flowEnumErrorInvalidMemberName(i.start,{enumName:t,memberName:u}),r.has(u)&&this.flowEnumErrorDuplicateMemberName(i.start,{enumName:t,memberName:u}),r.add(u);const c={enumName:t,explicitType:e,memberName:u};switch(n.id=i,o.type){case"boolean":this.flowEnumCheckExplicitTypeMismatch(o.pos,c,"boolean"),n.init=o.value,s.booleanMembers.push(this.finishNode(n,"EnumBooleanMember"));break;case"number":this.flowEnumCheckExplicitTypeMismatch(o.pos,c,"number"),n.init=o.value,s.numberMembers.push(this.finishNode(n,"EnumNumberMember"));break;case"string":this.flowEnumCheckExplicitTypeMismatch(o.pos,c,"string"),n.init=o.value,s.stringMembers.push(this.finishNode(n,"EnumStringMember"));break;case"invalid":throw this.flowEnumErrorInvalidMemberInitializer(o.pos,c);case"none":switch(e){case"boolean":this.flowEnumErrorBooleanMemberNotInitialized(o.pos,c);break;case"number":this.flowEnumErrorNumberMemberNotInitialized(o.pos,c);break;default:s.defaultedMembers.push(this.finishNode(n,"EnumDefaultedMember"))}}this.match(a.braceR)||this.expect(a.comma)}return s}flowEnumStringMembers(t,e,{enumName:r}){if(0===t.length)return e;if(0===e.length)return t;if(e.length>t.length){for(let e=0;e<t.length;e++){const s=t[e];this.flowEnumErrorStringMemberInconsistentlyInitailized(s.start,{enumName:r})}return e}for(let s=0;s<e.length;s++){const t=e[s];this.flowEnumErrorStringMemberInconsistentlyInitailized(t.start,{enumName:r})}return t}flowEnumParseExplicitType({enumName:t}){if(this.eatContextual("of")){if(!this.match(a.name))throw this.flowEnumErrorInvalidExplicitType(this.state.start,{enumName:t,suppliedType:null});const{value:e}=this.state;return this.next(),"boolean"!==e&&"number"!==e&&"string"!==e&&"symbol"!==e&&this.flowEnumErrorInvalidExplicitType(this.state.start,{enumName:t,suppliedType:e}),e}return null}flowEnumBody(t,{enumName:e,nameLoc:r}){const s=this.flowEnumParseExplicitType({enumName:e});this.expect(a.braceL);const n=this.flowEnumMembers({enumName:e,explicitType:s});switch(s){case"boolean":return t.explicitType=!0,t.members=n.booleanMembers,this.expect(a.braceR),this.finishNode(t,"EnumBooleanBody");case"number":return t.explicitType=!0,t.members=n.numberMembers,this.expect(a.braceR),this.finishNode(t,"EnumNumberBody");case"string":return t.explicitType=!0,t.members=this.flowEnumStringMembers(n.stringMembers,n.defaultedMembers,{enumName:e}),this.expect(a.braceR),this.finishNode(t,"EnumStringBody");case"symbol":return t.members=n.defaultedMembers,this.expect(a.braceR),this.finishNode(t,"EnumSymbolBody");default:{const s=()=>(t.members=[],this.expect(a.braceR),this.finishNode(t,"EnumStringBody"));t.explicitType=!1;const i=n.booleanMembers.length,o=n.numberMembers.length,u=n.stringMembers.length,c=n.defaultedMembers.length;if(i||o||u||c){if(i||o){if(!o&&!u&&i>=c){for(let t=0,r=n.defaultedMembers;t<r.length;t++){const s=r[t];this.flowEnumErrorBooleanMemberNotInitialized(s.start,{enumName:e,memberName:s.id.name})}return t.members=n.booleanMembers,this.expect(a.braceR),this.finishNode(t,"EnumBooleanBody")}if(!i&&!u&&o>=c){for(let t=0,r=n.defaultedMembers;t<r.length;t++){const s=r[t];this.flowEnumErrorNumberMemberNotInitialized(s.start,{enumName:e,memberName:s.id.name})}return t.members=n.numberMembers,this.expect(a.braceR),this.finishNode(t,"EnumNumberBody")}return this.flowEnumErrorInconsistentMemberValues(r,{enumName:e}),s()}return t.members=this.flowEnumStringMembers(n.stringMembers,n.defaultedMembers,{enumName:e}),this.expect(a.braceR),this.finishNode(t,"EnumStringBody")}return s()}}}flowParseEnumDeclaration(t){const e=this.parseIdentifier();return t.id=e,t.body=this.flowEnumBody(this.startNode(),{enumName:e.name,nameLoc:e.start}),this.finishNode(t,"EnumDeclaration")}},typescript:t=>class extends t{getScopeHandler(){return Q}tsIsIdentifier(){return this.match(a.name)}tsNextTokenCanFollowModifier(){return this.next(),!(this.hasPrecedingLineBreak()||this.match(a.parenL)||this.match(a.parenR)||this.match(a.colon)||this.match(a.eq)||this.match(a.question)||this.match(a.bang))}tsParseModifier(t){if(!this.match(a.name))return;const e=this.state.value;return-1!==t.indexOf(e)&&this.tsTryParse(this.tsNextTokenCanFollowModifier.bind(this))?e:void 0}tsParseModifiers(t,e){for(;;){const r=this.state.start,s=this.tsParseModifier(e);if(!s)break;Object.hasOwnProperty.call(t,s)&&this.raise(r,nt.DuplicateModifier,s),t[s]=!0}}tsIsListTerminator(t){switch(t){case"EnumMembers":case"TypeMembers":return this.match(a.braceR);case"HeritageClauseElement":return this.match(a.braceL);case"TupleElementTypes":return this.match(a.bracketR);case"TypeParametersOrArguments":return this.isRelational(">")}throw new Error("Unreachable")}tsParseList(t,e){const r=[];for(;!this.tsIsListTerminator(t);)r.push(e());return r}tsParseDelimitedList(t,e){return rt(this.tsParseDelimitedListWorker(t,e,!0))}tsParseDelimitedListWorker(t,e,r){const s=[];for(;!this.tsIsListTerminator(t);){const n=e();if(null==n)return;if(s.push(n),!this.eat(a.comma)){if(this.tsIsListTerminator(t))break;return void(r&&this.expect(a.comma))}}return s}tsParseBracketedList(t,e,r,s){s||(r?this.expect(a.bracketL):this.expectRelational("<"));const n=this.tsParseDelimitedList(t,e);return r?this.expect(a.bracketR):this.expectRelational(">"),n}tsParseImportType(){const t=this.startNode();return this.expect(a._import),this.expect(a.parenL),this.match(a.string)||this.raise(this.state.start,nt.UnsupportedImportTypeArgument),t.argument=this.parseExprAtom(),this.expect(a.parenR),this.eat(a.dot)&&(t.qualifier=this.tsParseEntityName(!0)),this.isRelational("<")&&(t.typeParameters=this.tsParseTypeArguments()),this.finishNode(t,"TSImportType")}tsParseEntityName(t){let e=this.parseIdentifier();for(;this.eat(a.dot);){const r=this.startNodeAtNode(e);r.left=e,r.right=this.parseIdentifier(t),e=this.finishNode(r,"TSQualifiedName")}return e}tsParseTypeReference(){const t=this.startNode();return t.typeName=this.tsParseEntityName(!1),!this.hasPrecedingLineBreak()&&this.isRelational("<")&&(t.typeParameters=this.tsParseTypeArguments()),this.finishNode(t,"TSTypeReference")}tsParseThisTypePredicate(t){this.next();const e=this.startNodeAtNode(t);return e.parameterName=t,e.typeAnnotation=this.tsParseTypeAnnotation(!1),this.finishNode(e,"TSTypePredicate")}tsParseThisTypeNode(){const t=this.startNode();return this.next(),this.finishNode(t,"TSThisType")}tsParseTypeQuery(){const t=this.startNode();return this.expect(a._typeof),this.match(a._import)?t.exprName=this.tsParseImportType():t.exprName=this.tsParseEntityName(!0),this.finishNode(t,"TSTypeQuery")}tsParseTypeParameter(){const t=this.startNode();return t.name=this.parseIdentifierName(t.start),t.constraint=this.tsEatThenParseType(a._extends),t.default=this.tsEatThenParseType(a.eq),this.finishNode(t,"TSTypeParameter")}tsTryParseTypeParameters(){if(this.isRelational("<"))return this.tsParseTypeParameters()}tsParseTypeParameters(){const t=this.startNode();return this.isRelational("<")||this.match(a.jsxTagStart)?this.next():this.unexpected(),t.params=this.tsParseBracketedList("TypeParametersOrArguments",this.tsParseTypeParameter.bind(this),!1,!0),this.finishNode(t,"TSTypeParameterDeclaration")}tsTryNextParseConstantContext(){return this.lookahead().type===a._const?(this.next(),this.tsParseTypeReference()):null}tsFillSignature(t,e){const r=t===a.arrow;e.typeParameters=this.tsTryParseTypeParameters(),this.expect(a.parenL),e.parameters=this.tsParseBindingListForSignature(),(r||this.match(t))&&(e.typeAnnotation=this.tsParseTypeOrTypePredicateAnnotation(t))}tsParseBindingListForSignature(){return this.parseBindingList(a.parenR,41).map(t=>("Identifier"!==t.type&&"RestElement"!==t.type&&"ObjectPattern"!==t.type&&"ArrayPattern"!==t.type&&this.raise(t.start,nt.UnsupportedSignatureParameterKind,t.type),t))}tsParseTypeMemberSemicolon(){this.eat(a.comma)||this.semicolon()}tsParseSignatureMember(t,e){return this.tsFillSignature(a.colon,e),this.tsParseTypeMemberSemicolon(),this.finishNode(e,t)}tsIsUnambiguouslyIndexSignature(){return this.next(),this.eat(a.name)&&this.match(a.colon)}tsTryParseIndexSignature(t){if(!this.match(a.bracketL)||!this.tsLookAhead(this.tsIsUnambiguouslyIndexSignature.bind(this)))return;this.expect(a.bracketL);const e=this.parseIdentifier();e.typeAnnotation=this.tsParseTypeAnnotation(),this.resetEndLocation(e),this.expect(a.bracketR),t.parameters=[e];const r=this.tsTryParseTypeAnnotation();return r&&(t.typeAnnotation=r),this.tsParseTypeMemberSemicolon(),this.finishNode(t,"TSIndexSignature")}tsParsePropertyOrMethodSignature(t,e){this.eat(a.question)&&(t.optional=!0);const r=t;if(e||!this.match(a.parenL)&&!this.isRelational("<")){const t=r;e&&(t.readonly=!0);const s=this.tsTryParseTypeAnnotation();return s&&(t.typeAnnotation=s),this.tsParseTypeMemberSemicolon(),this.finishNode(t,"TSPropertySignature")}{const t=r;return this.tsFillSignature(a.colon,t),this.tsParseTypeMemberSemicolon(),this.finishNode(t,"TSMethodSignature")}}tsParseTypeMember(){const t=this.startNode();if(this.match(a.parenL)||this.isRelational("<"))return this.tsParseSignatureMember("TSCallSignatureDeclaration",t);if(this.match(a._new)){const e=this.startNode();return this.next(),this.match(a.parenL)||this.isRelational("<")?this.tsParseSignatureMember("TSConstructSignatureDeclaration",t):(t.key=this.createIdentifier(e,"new"),this.tsParsePropertyOrMethodSignature(t,!1))}const e=!!this.tsParseModifier(["readonly"]),r=this.tsTryParseIndexSignature(t);return r?(e&&(t.readonly=!0),r):(this.parsePropertyName(t,!1),this.tsParsePropertyOrMethodSignature(t,e))}tsParseTypeLiteral(){const t=this.startNode();return t.members=this.tsParseObjectTypeMembers(),this.finishNode(t,"TSTypeLiteral")}tsParseObjectTypeMembers(){this.expect(a.braceL);const t=this.tsParseList("TypeMembers",this.tsParseTypeMember.bind(this));return this.expect(a.braceR),t}tsIsStartOfMappedType(){return this.next(),this.eat(a.plusMin)?this.isContextual("readonly"):(this.isContextual("readonly")&&this.next(),!!this.match(a.bracketL)&&(this.next(),!!this.tsIsIdentifier()&&(this.next(),this.match(a._in))))}tsParseMappedTypeParameter(){const t=this.startNode();return t.name=this.parseIdentifierName(t.start),t.constraint=this.tsExpectThenParseType(a._in),this.finishNode(t,"TSTypeParameter")}tsParseMappedType(){const t=this.startNode();return this.expect(a.braceL),this.match(a.plusMin)?(t.readonly=this.state.value,this.next(),this.expectContextual("readonly")):this.eatContextual("readonly")&&(t.readonly=!0),this.expect(a.bracketL),t.typeParameter=this.tsParseMappedTypeParameter(),this.expect(a.bracketR),this.match(a.plusMin)?(t.optional=this.state.value,this.next(),this.expect(a.question)):this.eat(a.question)&&(t.optional=!0),t.typeAnnotation=this.tsTryParseType(),this.semicolon(),this.expect(a.braceR),this.finishNode(t,"TSMappedType")}tsParseTupleType(){const t=this.startNode();t.elementTypes=this.tsParseBracketedList("TupleElementTypes",this.tsParseTupleElementType.bind(this),!0,!1);let e=!1;return t.elementTypes.forEach(t=>{"TSOptionalType"===t.type?e=!0:e&&"TSRestType"!==t.type&&this.raise(t.start,nt.OptionalTypeBeforeRequired)}),this.finishNode(t,"TSTupleType")}tsParseTupleElementType(){if(this.match(a.ellipsis)){const t=this.startNode();return this.next(),t.typeAnnotation=this.tsParseType(),this.match(a.comma)&&93!==this.lookaheadCharCode()&&this.raiseRestNotLast(this.state.start),this.finishNode(t,"TSRestType")}const t=this.tsParseType();if(this.eat(a.question)){const e=this.startNodeAtNode(t);return e.typeAnnotation=t,this.finishNode(e,"TSOptionalType")}return t}tsParseParenthesizedType(){const t=this.startNode();return this.expect(a.parenL),t.typeAnnotation=this.tsParseType(),this.expect(a.parenR),this.finishNode(t,"TSParenthesizedType")}tsParseFunctionOrConstructorType(t){const e=this.startNode();return"TSConstructorType"===t&&this.expect(a._new),this.tsFillSignature(a.arrow,e),this.finishNode(e,t)}tsParseLiteralTypeNode(){const t=this.startNode();return t.literal=(()=>{switch(this.state.type){case a.num:case a.string:case a._true:case a._false:return this.parseExprAtom();default:throw this.unexpected()}})(),this.finishNode(t,"TSLiteralType")}tsParseTemplateLiteralType(){const t=this.startNode(),e=this.parseTemplate(!1);return e.expressions.length>0&&this.raise(e.expressions[0].start,nt.TemplateTypeHasSubstitution),t.literal=e,this.finishNode(t,"TSLiteralType")}tsParseThisTypeOrThisTypePredicate(){const t=this.tsParseThisTypeNode();return this.isContextual("is")&&!this.hasPrecedingLineBreak()?this.tsParseThisTypePredicate(t):t}tsParseNonArrayType(){switch(this.state.type){case a.name:case a._void:case a._null:{const t=this.match(a._void)?"TSVoidKeyword":this.match(a._null)?"TSNullKeyword":function(t){switch(t){case"any":return"TSAnyKeyword";case"boolean":return"TSBooleanKeyword";case"bigint":return"TSBigIntKeyword";case"never":return"TSNeverKeyword";case"number":return"TSNumberKeyword";case"object":return"TSObjectKeyword";case"string":return"TSStringKeyword";case"symbol":return"TSSymbolKeyword";case"undefined":return"TSUndefinedKeyword";case"unknown":return"TSUnknownKeyword";default:return}}(this.state.value);if(void 0!==t&&46!==this.lookaheadCharCode()){const e=this.startNode();return this.next(),this.finishNode(e,t)}return this.tsParseTypeReference()}case a.string:case a.num:case a._true:case a._false:return this.tsParseLiteralTypeNode();case a.plusMin:if("-"===this.state.value){const t=this.startNode();if(this.lookahead().type!==a.num)throw this.unexpected();return t.literal=this.parseMaybeUnary(),this.finishNode(t,"TSLiteralType")}break;case a._this:return this.tsParseThisTypeOrThisTypePredicate();case a._typeof:return this.tsParseTypeQuery();case a._import:return this.tsParseImportType();case a.braceL:return this.tsLookAhead(this.tsIsStartOfMappedType.bind(this))?this.tsParseMappedType():this.tsParseTypeLiteral();case a.bracketL:return this.tsParseTupleType();case a.parenL:return this.tsParseParenthesizedType();case a.backQuote:return this.tsParseTemplateLiteralType()}throw this.unexpected()}tsParseArrayTypeOrHigher(){let t=this.tsParseNonArrayType();for(;!this.hasPrecedingLineBreak()&&this.eat(a.bracketL);)if(this.match(a.bracketR)){const e=this.startNodeAtNode(t);e.elementType=t,this.expect(a.bracketR),t=this.finishNode(e,"TSArrayType")}else{const e=this.startNodeAtNode(t);e.objectType=t,e.indexType=this.tsParseType(),this.expect(a.bracketR),t=this.finishNode(e,"TSIndexedAccessType")}return t}tsParseTypeOperator(t){const e=this.startNode();return this.expectContextual(t),e.operator=t,e.typeAnnotation=this.tsParseTypeOperatorOrHigher(),"readonly"===t&&this.tsCheckTypeAnnotationForReadOnly(e),this.finishNode(e,"TSTypeOperator")}tsCheckTypeAnnotationForReadOnly(t){switch(t.typeAnnotation.type){case"TSTupleType":case"TSArrayType":return;default:this.raise(t.start,nt.UnexpectedReadonly)}}tsParseInferType(){const t=this.startNode();this.expectContextual("infer");const e=this.startNode();return e.name=this.parseIdentifierName(e.start),t.typeParameter=this.finishNode(e,"TSTypeParameter"),this.finishNode(t,"TSInferType")}tsParseTypeOperatorOrHigher(){const t=["keyof","unique","readonly"].find(t=>this.isContextual(t));return t?this.tsParseTypeOperator(t):this.isContextual("infer")?this.tsParseInferType():this.tsParseArrayTypeOrHigher()}tsParseUnionOrIntersectionType(t,e,r){this.eat(r);let s=e();if(this.match(r)){const n=[s];for(;this.eat(r);)n.push(e());const i=this.startNodeAtNode(s);i.types=n,s=this.finishNode(i,t)}return s}tsParseIntersectionTypeOrHigher(){return this.tsParseUnionOrIntersectionType("TSIntersectionType",this.tsParseTypeOperatorOrHigher.bind(this),a.bitwiseAND)}tsParseUnionTypeOrHigher(){return this.tsParseUnionOrIntersectionType("TSUnionType",this.tsParseIntersectionTypeOrHigher.bind(this),a.bitwiseOR)}tsIsStartOfFunctionType(){return!!this.isRelational("<")||this.match(a.parenL)&&this.tsLookAhead(this.tsIsUnambiguouslyStartOfFunctionType.bind(this))}tsSkipParameterStart(){if(this.match(a.name)||this.match(a._this))return this.next(),!0;if(this.match(a.braceL)){let t=1;for(this.next();t>0;)this.match(a.braceL)?++t:this.match(a.braceR)&&--t,this.next();return!0}if(this.match(a.bracketL)){let t=1;for(this.next();t>0;)this.match(a.bracketL)?++t:this.match(a.bracketR)&&--t,this.next();return!0}return!1}tsIsUnambiguouslyStartOfFunctionType(){if(this.next(),this.match(a.parenR)||this.match(a.ellipsis))return!0;if(this.tsSkipParameterStart()){if(this.match(a.colon)||this.match(a.comma)||this.match(a.question)||this.match(a.eq))return!0;if(this.match(a.parenR)&&(this.next(),this.match(a.arrow)))return!0}return!1}tsParseTypeOrTypePredicateAnnotation(t){return this.tsInType(()=>{const e=this.startNode();this.expect(t);const r=this.tsTryParse(this.tsParseTypePredicateAsserts.bind(this));if(r&&this.match(a._this)){let t=this.tsParseThisTypeOrThisTypePredicate();if("TSThisType"===t.type){const r=this.startNodeAtNode(e);r.parameterName=t,r.asserts=!0,t=this.finishNode(r,"TSTypePredicate")}else t.asserts=!0;return e.typeAnnotation=t,this.finishNode(e,"TSTypeAnnotation")}const s=this.tsIsIdentifier()&&this.tsTryParse(this.tsParseTypePredicatePrefix.bind(this));if(!s){if(!r)return this.tsParseTypeAnnotation(!1,e);const t=this.startNodeAtNode(e);return t.parameterName=this.parseIdentifier(),t.asserts=r,e.typeAnnotation=this.finishNode(t,"TSTypePredicate"),this.finishNode(e,"TSTypeAnnotation")}const n=this.tsParseTypeAnnotation(!1),i=this.startNodeAtNode(e);return i.parameterName=s,i.typeAnnotation=n,i.asserts=r,e.typeAnnotation=this.finishNode(i,"TSTypePredicate"),this.finishNode(e,"TSTypeAnnotation")})}tsTryParseTypeOrTypePredicateAnnotation(){return this.match(a.colon)?this.tsParseTypeOrTypePredicateAnnotation(a.colon):void 0}tsTryParseTypeAnnotation(){return this.match(a.colon)?this.tsParseTypeAnnotation():void 0}tsTryParseType(){return this.tsEatThenParseType(a.colon)}tsParseTypePredicatePrefix(){const t=this.parseIdentifier();if(this.isContextual("is")&&!this.hasPrecedingLineBreak())return this.next(),t}tsParseTypePredicateAsserts(){if(!this.match(a.name)||"asserts"!==this.state.value||this.hasPrecedingLineBreak())return!1;const t=this.state.containsEsc;return this.next(),!(!this.match(a.name)&&!this.match(a._this))&&(t&&this.raise(this.state.lastTokStart,m.InvalidEscapedReservedWord,"asserts"),!0)}tsParseTypeAnnotation(t=!0,e=this.startNode()){return this.tsInType(()=>{t&&this.expect(a.colon),e.typeAnnotation=this.tsParseType()}),this.finishNode(e,"TSTypeAnnotation")}tsParseType(){st(this.state.inType);const t=this.tsParseNonConditionalType();if(this.hasPrecedingLineBreak()||!this.eat(a._extends))return t;const e=this.startNodeAtNode(t);return e.checkType=t,e.extendsType=this.tsParseNonConditionalType(),this.expect(a.question),e.trueType=this.tsParseType(),this.expect(a.colon),e.falseType=this.tsParseType(),this.finishNode(e,"TSConditionalType")}tsParseNonConditionalType(){return this.tsIsStartOfFunctionType()?this.tsParseFunctionOrConstructorType("TSFunctionType"):this.match(a._new)?this.tsParseFunctionOrConstructorType("TSConstructorType"):this.tsParseUnionTypeOrHigher()}tsParseTypeAssertion(){const t=this.startNode(),e=this.tsTryNextParseConstantContext();return t.typeAnnotation=e||this.tsNextThenParseType(),this.expectRelational(">"),t.expression=this.parseMaybeUnary(),this.finishNode(t,"TSTypeAssertion")}tsParseHeritageClause(t){const e=this.state.start,r=this.tsParseDelimitedList("HeritageClauseElement",this.tsParseExpressionWithTypeArguments.bind(this));return r.length||this.raise(e,nt.EmptyHeritageClauseType,t),r}tsParseExpressionWithTypeArguments(){const t=this.startNode();return t.expression=this.tsParseEntityName(!1),this.isRelational("<")&&(t.typeParameters=this.tsParseTypeArguments()),this.finishNode(t,"TSExpressionWithTypeArguments")}tsParseInterfaceDeclaration(t){t.id=this.parseIdentifier(),this.checkLVal(t.id,130,void 0,"typescript interface declaration"),t.typeParameters=this.tsTryParseTypeParameters(),this.eat(a._extends)&&(t.extends=this.tsParseHeritageClause("extends"));const e=this.startNode();return e.body=this.tsInType(this.tsParseObjectTypeMembers.bind(this)),t.body=this.finishNode(e,"TSInterfaceBody"),this.finishNode(t,"TSInterfaceDeclaration")}tsParseTypeAliasDeclaration(t){return t.id=this.parseIdentifier(),this.checkLVal(t.id,2,void 0,"typescript type alias"),t.typeParameters=this.tsTryParseTypeParameters(),t.typeAnnotation=this.tsExpectThenParseType(a.eq),this.semicolon(),this.finishNode(t,"TSTypeAliasDeclaration")}tsInNoContext(t){const e=this.state.context;this.state.context=[e[0]];try{return t()}finally{this.state.context=e}}tsInType(t){const e=this.state.inType;this.state.inType=!0;try{return t()}finally{this.state.inType=e}}tsEatThenParseType(t){return this.match(t)?this.tsNextThenParseType():void 0}tsExpectThenParseType(t){return this.tsDoThenParseType(()=>this.expect(t))}tsNextThenParseType(){return this.tsDoThenParseType(()=>this.next())}tsDoThenParseType(t){return this.tsInType(()=>(t(),this.tsParseType()))}tsParseEnumMember(){const t=this.startNode();return t.id=this.match(a.string)?this.parseExprAtom():this.parseIdentifier(!0),this.eat(a.eq)&&(t.initializer=this.parseMaybeAssign()),this.finishNode(t,"TSEnumMember")}tsParseEnumDeclaration(t,e){return e&&(t.const=!0),t.id=this.parseIdentifier(),this.checkLVal(t.id,e?779:267,void 0,"typescript enum declaration"),this.expect(a.braceL),t.members=this.tsParseDelimitedList("EnumMembers",this.tsParseEnumMember.bind(this)),this.expect(a.braceR),this.finishNode(t,"TSEnumDeclaration")}tsParseModuleBlock(){const t=this.startNode();return this.scope.enter(0),this.expect(a.braceL),this.parseBlockOrModuleBlockBody(t.body=[],void 0,!0,a.braceR),this.scope.exit(),this.finishNode(t,"TSModuleBlock")}tsParseModuleOrNamespaceDeclaration(t,e=!1){if(t.id=this.parseIdentifier(),e||this.checkLVal(t.id,1024,null,"module or namespace declaration"),this.eat(a.dot)){const e=this.startNode();this.tsParseModuleOrNamespaceDeclaration(e,!0),t.body=e}else this.scope.enter(128),this.prodParam.enter(0),t.body=this.tsParseModuleBlock(),this.prodParam.exit(),this.scope.exit();return this.finishNode(t,"TSModuleDeclaration")}tsParseAmbientExternalModuleDeclaration(t){return this.isContextual("global")?(t.global=!0,t.id=this.parseIdentifier()):this.match(a.string)?t.id=this.parseExprAtom():this.unexpected(),this.match(a.braceL)?(this.scope.enter(128),this.prodParam.enter(0),t.body=this.tsParseModuleBlock(),this.prodParam.exit(),this.scope.exit()):this.semicolon(),this.finishNode(t,"TSModuleDeclaration")}tsParseImportEqualsDeclaration(t,e){return t.isExport=e||!1,t.id=this.parseIdentifier(),this.checkLVal(t.id,9,void 0,"import equals declaration"),this.expect(a.eq),t.moduleReference=this.tsParseModuleReference(),this.semicolon(),this.finishNode(t,"TSImportEqualsDeclaration")}tsIsExternalModuleReference(){return this.isContextual("require")&&40===this.lookaheadCharCode()}tsParseModuleReference(){return this.tsIsExternalModuleReference()?this.tsParseExternalModuleReference():this.tsParseEntityName(!1)}tsParseExternalModuleReference(){const t=this.startNode();if(this.expectContextual("require"),this.expect(a.parenL),!this.match(a.string))throw this.unexpected();return t.expression=this.parseExprAtom(),this.expect(a.parenR),this.finishNode(t,"TSExternalModuleReference")}tsLookAhead(t){const e=this.state.clone(),r=t();return this.state=e,r}tsTryParseAndCatch(t){const e=this.tryParse(e=>t()||e());if(!e.aborted&&e.node)return e.error&&(this.state=e.failState),e.node}tsTryParse(t){const e=this.state.clone(),r=t();return void 0!==r&&!1!==r?r:void(this.state=e)}tsTryParseDeclare(t){if(this.isLineTerminator())return;let e,r=this.state.type;switch(this.isContextual("let")&&(r=a._var,e="let"),r){case a._function:return this.parseFunctionStatement(t,!1,!0);case a._class:return t.declare=!0,this.parseClass(t,!0,!1);case a._const:if(this.match(a._const)&&this.isLookaheadContextual("enum"))return this.expect(a._const),this.expectContextual("enum"),this.tsParseEnumDeclaration(t,!0);case a._var:return e=e||this.state.value,this.parseVarStatement(t,e);case a.name:{const e=this.state.value;return"global"===e?this.tsParseAmbientExternalModuleDeclaration(t):this.tsParseDeclaration(t,e,!0)}}}tsTryParseExportDeclaration(){return this.tsParseDeclaration(this.startNode(),this.state.value,!0)}tsParseExpressionStatement(t,e){switch(e.name){case"declare":{const e=this.tsTryParseDeclare(t);if(e)return e.declare=!0,e;break}case"global":if(this.match(a.braceL)){this.scope.enter(128),this.prodParam.enter(0);const r=t;return r.global=!0,r.id=e,r.body=this.tsParseModuleBlock(),this.scope.exit(),this.prodParam.exit(),this.finishNode(r,"TSModuleDeclaration")}break;default:return this.tsParseDeclaration(t,e.name,!1)}}tsParseDeclaration(t,e,r){switch(e){case"abstract":if(this.tsCheckLineTerminatorAndMatch(a._class,r)){const e=t;return e.abstract=!0,r&&(this.next(),this.match(a._class)||this.unexpected(null,a._class)),this.parseClass(e,!0,!1)}break;case"enum":if(r||this.match(a.name))return r&&this.next(),this.tsParseEnumDeclaration(t,!1);break;case"interface":if(this.tsCheckLineTerminatorAndMatch(a.name,r))return r&&this.next(),this.tsParseInterfaceDeclaration(t);break;case"module":if(r&&this.next(),this.match(a.string))return this.tsParseAmbientExternalModuleDeclaration(t);if(this.tsCheckLineTerminatorAndMatch(a.name,r))return this.tsParseModuleOrNamespaceDeclaration(t);break;case"namespace":if(this.tsCheckLineTerminatorAndMatch(a.name,r))return r&&this.next(),this.tsParseModuleOrNamespaceDeclaration(t);break;case"type":if(this.tsCheckLineTerminatorAndMatch(a.name,r))return r&&this.next(),this.tsParseTypeAliasDeclaration(t)}}tsCheckLineTerminatorAndMatch(t,e){return(e||this.match(t))&&!this.isLineTerminator()}tsTryParseGenericAsyncArrowFunction(t,e){if(!this.isRelational("<"))return;const r=this.state.maybeInArrowParameters,s=this.state.yieldPos,n=this.state.awaitPos;this.state.maybeInArrowParameters=!0,this.state.yieldPos=-1,this.state.awaitPos=-1;const i=this.tsTryParseAndCatch(()=>{const r=this.startNodeAt(t,e);return r.typeParameters=this.tsParseTypeParameters(),super.parseFunctionParams(r),r.returnType=this.tsTryParseTypeOrTypePredicateAnnotation(),this.expect(a.arrow),r});return this.state.maybeInArrowParameters=r,this.state.yieldPos=s,this.state.awaitPos=n,i?this.parseArrowExpression(i,null,!0):void 0}tsParseTypeArguments(){const t=this.startNode();return t.params=this.tsInType(()=>this.tsInNoContext(()=>(this.expectRelational("<"),this.tsParseDelimitedList("TypeParametersOrArguments",this.tsParseType.bind(this))))),this.state.exprAllowed=!1,this.expectRelational(">"),this.finishNode(t,"TSTypeParameterInstantiation")}tsIsDeclarationStart(){if(this.match(a.name))switch(this.state.value){case"abstract":case"declare":case"enum":case"interface":case"module":case"namespace":case"type":return!0}return!1}isExportDefaultSpecifier(){return!this.tsIsDeclarationStart()&&super.isExportDefaultSpecifier()}parseAssignableListItem(t,e){const r=this.state.start,s=this.state.startLoc;let n,i=!1;t&&(n=this.parseAccessModifier(),i=!!this.tsParseModifier(["readonly"]));const a=this.parseMaybeDefault();this.parseAssignableListItemTypes(a);const o=this.parseMaybeDefault(a.start,a.loc.start,a);if(n||i){const t=this.startNodeAt(r,s);return e.length&&(t.decorators=e),n&&(t.accessibility=n),i&&(t.readonly=i),"Identifier"!==o.type&&"AssignmentPattern"!==o.type&&this.raise(t.start,nt.UnsupportedParameterPropertyKind),t.parameter=o,this.finishNode(t,"TSParameterProperty")}return e.length&&(a.decorators=e),o}parseFunctionBodyAndFinish(t,e,r=!1){this.match(a.colon)&&(t.returnType=this.tsParseTypeOrTypePredicateAnnotation(a.colon));const s="FunctionDeclaration"===e?"TSDeclareFunction":"ClassMethod"===e?"TSDeclareMethod":void 0;s&&!this.match(a.braceL)&&this.isLineTerminator()?this.finishNode(t,s):super.parseFunctionBodyAndFinish(t,e,r)}registerFunctionStatementId(t){!t.body&&t.id?this.checkLVal(t.id,1024,null,"function name"):super.registerFunctionStatementId(...arguments)}parseSubscript(t,e,r,s,n){if(!this.hasPrecedingLineBreak()&&this.match(a.bang)){this.state.exprAllowed=!1,this.next();const s=this.startNodeAt(e,r);return s.expression=t,this.finishNode(s,"TSNonNullExpression")}if(this.isRelational("<")){const i=this.tsTryParseAndCatch(()=>{if(!s&&this.atPossibleAsyncArrow(t)){const t=this.tsTryParseGenericAsyncArrowFunction(e,r);if(t)return t}const i=this.startNodeAt(e,r);i.callee=t;const o=this.tsParseTypeArguments();if(o){if(!s&&this.eat(a.parenL))return i.arguments=this.parseCallExpressionArguments(a.parenR,!1),i.typeParameters=o,this.finishCallExpression(i,n.optionalChainMember);if(this.match(a.backQuote))return this.parseTaggedTemplateExpression(e,r,t,n,o)}this.unexpected()});if(i)return i}return super.parseSubscript(t,e,r,s,n)}parseNewArguments(t){if(this.isRelational("<")){const e=this.tsTryParseAndCatch(()=>{const t=this.tsParseTypeArguments();return this.match(a.parenL)||this.unexpected(),t});e&&(t.typeParameters=e)}super.parseNewArguments(t)}parseExprOp(t,e,r,s,n){if(rt(a._in.binop)>s&&!this.hasPrecedingLineBreak()&&this.isContextual("as")){const i=this.startNodeAt(e,r);i.expression=t;const a=this.tsTryNextParseConstantContext();return i.typeAnnotation=a||this.tsNextThenParseType(),this.finishNode(i,"TSAsExpression"),this.parseExprOp(i,e,r,s,n)}return super.parseExprOp(t,e,r,s,n)}checkReservedWord(t,e,r,s){}checkDuplicateExports(){}parseImport(t){if(this.match(a.name)||this.match(a.star)||this.match(a.braceL)){const e=this.lookahead();if(this.match(a.name)&&e.type===a.eq)return this.tsParseImportEqualsDeclaration(t);!this.isContextual("type")||e.type===a.comma||e.type===a.name&&"from"===e.value?t.importKind="value":(t.importKind="type",this.next())}const e=super.parseImport(t);return"type"===e.importKind&&e.specifiers.length>1&&"ImportDefaultSpecifier"===e.specifiers[0].type&&this.raise(e.start,"A type-only import can specify a default import or named bindings, but not both."),e}parseExport(t){if(this.match(a._import))return this.expect(a._import),this.tsParseImportEqualsDeclaration(t,!0);if(this.eat(a.eq)){const e=t;return e.expression=this.parseExpression(),this.semicolon(),this.finishNode(e,"TSExportAssignment")}if(this.eatContextual("as")){const e=t;return this.expectContextual("namespace"),e.id=this.parseIdentifier(),this.semicolon(),this.finishNode(e,"TSNamespaceExportDeclaration")}return this.isContextual("type")&&this.lookahead().type===a.braceL?(this.next(),t.exportKind="type"):t.exportKind="value",super.parseExport(t)}isAbstractClass(){return this.isContextual("abstract")&&this.lookahead().type===a._class}parseExportDefaultExpression(){if(this.isAbstractClass()){const t=this.startNode();return this.next(),this.parseClass(t,!0,!0),t.abstract=!0,t}if("interface"===this.state.value){const t=this.tsParseDeclaration(this.startNode(),this.state.value,!0);if(t)return t}return super.parseExportDefaultExpression()}parseStatementContent(t,e){if(this.state.type===a._const){const t=this.lookahead();if(t.type===a.name&&"enum"===t.value){const t=this.startNode();return this.expect(a._const),this.expectContextual("enum"),this.tsParseEnumDeclaration(t,!0)}}return super.parseStatementContent(t,e)}parseAccessModifier(){return this.tsParseModifier(["public","protected","private"])}parseClassMember(t,e,r,s){this.tsParseModifiers(e,["declare"]);const n=this.parseAccessModifier();n&&(e.accessibility=n),this.tsParseModifiers(e,["declare"]),super.parseClassMember(t,e,r,s)}parseClassMemberWithIsStatic(t,e,r,s,n){this.tsParseModifiers(e,["abstract","readonly","declare"]);const i=this.tsTryParseIndexSignature(e);if(i)return t.body.push(i),e.abstract&&this.raise(e.start,nt.IndexSignatureHasAbstract),s&&this.raise(e.start,nt.IndexSignatureHasStatic),void(e.accessibility&&this.raise(e.start,nt.IndexSignatureHasAccessibility,e.accessibility));super.parseClassMemberWithIsStatic(t,e,r,s,n)}parsePostMemberNameModifiers(t){this.eat(a.question)&&(t.optional=!0),t.readonly&&this.match(a.parenL)&&this.raise(t.start,nt.ClassMethodHasReadonly),t.declare&&this.match(a.parenL)&&this.raise(t.start,nt.ClassMethodHasDeclare)}parseExpressionStatement(t,e){return("Identifier"===e.type?this.tsParseExpressionStatement(t,e):void 0)||super.parseExpressionStatement(t,e)}shouldParseExportDeclaration(){return!!this.tsIsDeclarationStart()||super.shouldParseExportDeclaration()}parseConditional(t,e,r,s,n){if(!n||!this.match(a.question))return super.parseConditional(t,e,r,s,n);const i=this.tryParse(()=>super.parseConditional(t,e,r,s));return i.node?(i.error&&(this.state=i.failState),i.node):(n.start=i.error.pos||this.state.start,t)}parseParenItem(t,e,r){if(t=super.parseParenItem(t,e,r),this.eat(a.question)&&(t.optional=!0,this.resetEndLocation(t)),this.match(a.colon)){const s=this.startNodeAt(e,r);return s.expression=t,s.typeAnnotation=this.tsParseTypeAnnotation(),this.finishNode(s,"TSTypeCastExpression")}return t}parseExportDeclaration(t){const e=this.state.start,r=this.state.startLoc,s=this.eatContextual("declare");let n;return this.match(a.name)&&(n=this.tsTryParseExportDeclaration()),n||(n=super.parseExportDeclaration(t)),n&&("TSInterfaceDeclaration"===n.type||"TSTypeAliasDeclaration"===n.type||s)&&(t.exportKind="type"),n&&s&&(this.resetStartLocation(n,e,r),n.declare=!0),n}parseClassId(t,e,r){if((!e||r)&&this.isContextual("implements"))return;super.parseClassId(t,e,r,t.declare?1024:139);const s=this.tsTryParseTypeParameters();s&&(t.typeParameters=s)}parseClassPropertyAnnotation(t){!t.optional&&this.eat(a.bang)&&(t.definite=!0);const e=this.tsTryParseTypeAnnotation();e&&(t.typeAnnotation=e)}parseClassProperty(t){return this.parseClassPropertyAnnotation(t),t.declare&&this.match(a.equal)&&this.raise(this.state.start,nt.DeclareClassFieldHasInitializer),super.parseClassProperty(t)}parseClassPrivateProperty(t){return t.abstract&&this.raise(t.start,nt.PrivateElementHasAbstract),t.accessibility&&this.raise(t.start,nt.PrivateElementHasAccessibility,t.accessibility),this.parseClassPropertyAnnotation(t),super.parseClassPrivateProperty(t)}pushClassMethod(t,e,r,s,n,i){const a=this.tsTryParseTypeParameters();a&&(e.typeParameters=a),super.pushClassMethod(t,e,r,s,n,i)}pushClassPrivateMethod(t,e,r,s){const n=this.tsTryParseTypeParameters();n&&(e.typeParameters=n),super.pushClassPrivateMethod(t,e,r,s)}parseClassSuper(t){super.parseClassSuper(t),t.superClass&&this.isRelational("<")&&(t.superTypeParameters=this.tsParseTypeArguments()),this.eatContextual("implements")&&(t.implements=this.tsParseHeritageClause("implements"))}parseObjPropValue(t,...e){const r=this.tsTryParseTypeParameters();r&&(t.typeParameters=r),super.parseObjPropValue(t,...e)}parseFunctionParams(t,e){const r=this.tsTryParseTypeParameters();r&&(t.typeParameters=r),super.parseFunctionParams(t,e)}parseVarId(t,e){super.parseVarId(t,e),"Identifier"===t.id.type&&this.eat(a.bang)&&(t.definite=!0);const r=this.tsTryParseTypeAnnotation();r&&(t.id.typeAnnotation=r,this.resetEndLocation(t.id))}parseAsyncArrowFromCallExpression(t,e){return this.match(a.colon)&&(t.returnType=this.tsParseTypeAnnotation()),super.parseAsyncArrowFromCallExpression(t,e)}parseMaybeAssign(...t){let e,r,s,n;if(this.match(a.jsxTagStart)){if(e=this.state.clone(),r=this.tryParse(()=>super.parseMaybeAssign(...t),e),!r.error)return r.node;const{context:s}=this.state;s[s.length-1]===g.j_oTag?s.length-=2:s[s.length-1]===g.j_expr&&(s.length-=1)}if(!(r&&r.error||this.isRelational("<")))return super.parseMaybeAssign(...t);e=e||this.state.clone();const i=this.tryParse(e=>{n=this.tsParseTypeParameters();const r=super.parseMaybeAssign(...t);return("ArrowFunctionExpression"!==r.type||r.extra&&r.extra.parenthesized)&&e(),n&&0!==n.params.length&&this.resetStartLocationFromNode(r,n),r.typeParameters=n,r},e);if(!i.error&&!i.aborted)return i.node;if(!r&&(st(!this.hasPlugin("jsx")),s=this.tryParse(()=>super.parseMaybeAssign(...t),e),!s.error))return s.node;if(r&&r.node)return this.state=r.failState,r.node;if(i.node)return this.state=i.failState,i.node;if(s&&s.node)return this.state=s.failState,s.node;if(r&&r.thrown)throw r.error;if(i.thrown)throw i.error;if(s&&s.thrown)throw s.error;throw r&&r.error||i.error||s&&s.error}parseMaybeUnary(t){return!this.hasPlugin("jsx")&&this.isRelational("<")?this.tsParseTypeAssertion():super.parseMaybeUnary(t)}parseArrow(t){if(this.match(a.colon)){const e=this.tryParse(t=>{const e=this.tsParseTypeOrTypePredicateAnnotation(a.colon);return!this.canInsertSemicolon()&&this.match(a.arrow)||t(),e});if(e.aborted)return;e.thrown||(e.error&&(this.state=e.failState),t.returnType=e.node)}return super.parseArrow(t)}parseAssignableListItemTypes(t){this.eat(a.question)&&("Identifier"!==t.type&&this.raise(t.start,nt.PatternIsOptional),t.optional=!0);const e=this.tsTryParseTypeAnnotation();return e&&(t.typeAnnotation=e),this.resetEndLocation(t),t}toAssignable(t){switch(t.type){case"TSTypeCastExpression":return super.toAssignable(this.typeCastToParameter(t));case"TSParameterProperty":return super.toAssignable(t);case"TSAsExpression":case"TSNonNullExpression":case"TSTypeAssertion":return t.expression=this.toAssignable(t.expression),t;default:return super.toAssignable(t)}}checkLVal(t,e=64,r,s){switch(t.type){case"TSTypeCastExpression":return;case"TSParameterProperty":return void this.checkLVal(t.parameter,e,r,"parameter property");case"TSAsExpression":case"TSNonNullExpression":case"TSTypeAssertion":return void this.checkLVal(t.expression,e,r,s);default:return void super.checkLVal(t,e,r,s)}}parseBindingAtom(){switch(this.state.type){case a._this:return this.parseIdentifier(!0);default:return super.parseBindingAtom()}}parseMaybeDecoratorArguments(t){if(this.isRelational("<")){const e=this.tsParseTypeArguments();if(this.match(a.parenL)){const r=super.parseMaybeDecoratorArguments(t);return r.typeParameters=e,r}this.unexpected(this.state.start,a.parenL)}return super.parseMaybeDecoratorArguments(t)}isClassMethod(){return this.isRelational("<")||super.isClassMethod()}isClassProperty(){return this.match(a.bang)||this.match(a.colon)||super.isClassProperty()}parseMaybeDefault(...t){const e=super.parseMaybeDefault(...t);return"AssignmentPattern"===e.type&&e.typeAnnotation&&e.right.start<e.typeAnnotation.start&&this.raise(e.typeAnnotation.start,nt.TypeAnnotationAfterAssign),e}getTokenFromCode(t){return!this.state.inType||62!==t&&60!==t?super.getTokenFromCode(t):this.finishOp(a.relational,1)}toAssignableList(t){for(let e=0;e<t.length;e++){const r=t[e];if(r)switch(r.type){case"TSTypeCastExpression":t[e]=this.typeCastToParameter(r);break;case"TSAsExpression":case"TSTypeAssertion":this.state.maybeInArrowParameters?this.raise(r.start,nt.UnexpectedTypeCastInParameter):t[e]=this.typeCastToParameter(r)}}return super.toAssignableList(...arguments)}typeCastToParameter(t){return t.expression.typeAnnotation=t.typeAnnotation,this.resetEndLocation(t.expression,t.typeAnnotation.end,t.typeAnnotation.loc.end),t.expression}toReferencedList(t,e){for(let r=0;r<t.length;r++){const e=t[r];e&&"TSTypeCastExpression"===e.type&&this.raise(e.start,nt.UnexpectedTypeAnnotation)}return t}shouldParseArrow(){return this.match(a.colon)||super.shouldParseArrow()}shouldParseAsyncArrow(){return this.match(a.colon)||super.shouldParseAsyncArrow()}canHaveLeadingDecorator(){return super.canHaveLeadingDecorator()||this.isAbstractClass()}jsxParseOpeningElementAfterName(t){if(this.isRelational("<")){const e=this.tsTryParseAndCatch(()=>this.tsParseTypeArguments());e&&(t.typeParameters=e)}return super.jsxParseOpeningElementAfterName(t)}getGetterSetterExpectedParamCount(t){const e=super.getGetterSetterExpectedParamCount(t),r=t.params[0];return r&&"Identifier"===r.type&&"this"===r.name?e+1:e}},v8intrinsic:t=>class extends t{parseV8Intrinsic(){if(this.match(a.modulo)){const t=this.state.start,e=this.startNode();if(this.eat(a.modulo),this.match(a.name)){const t=this.parseIdentifierName(this.state.start),r=this.createIdentifier(e,t);if(r.type="V8IntrinsicIdentifier",this.match(a.parenL))return r}this.unexpected(t)}}parseExprAtom(){return this.parseV8Intrinsic()||super.parseExprAtom(...arguments)}},placeholders:t=>class extends t{parsePlaceholder(t){if(this.match(a.placeholder)){const e=this.startNode();return this.next(),this.assertNoSpace("Unexpected space in placeholder."),e.name=super.parseIdentifier(!0),this.assertNoSpace("Unexpected space in placeholder."),this.expect(a.placeholder),this.finishPlaceholder(e,t)}}finishPlaceholder(t,e){const r=!(!t.expectedNode||"Placeholder"!==t.type);return t.expectedNode=e,r?t:this.finishNode(t,"Placeholder")}getTokenFromCode(t){return 37===t&&37===this.input.charCodeAt(this.state.pos+1)?this.finishOp(a.placeholder,2):super.getTokenFromCode(...arguments)}parseExprAtom(){return this.parsePlaceholder("Expression")||super.parseExprAtom(...arguments)}parseIdentifier(){return this.parsePlaceholder("Identifier")||super.parseIdentifier(...arguments)}checkReservedWord(t){void 0!==t&&super.checkReservedWord(...arguments)}parseBindingAtom(){return this.parsePlaceholder("Pattern")||super.parseBindingAtom(...arguments)}checkLVal(t){"Placeholder"!==t.type&&super.checkLVal(...arguments)}toAssignable(t){return t&&"Placeholder"===t.type&&"Expression"===t.expectedNode?(t.expectedNode="Pattern",t):super.toAssignable(...arguments)}verifyBreakContinue(t){t.label&&"Placeholder"===t.label.type||super.verifyBreakContinue(...arguments)}parseExpressionStatement(t,e){if("Placeholder"!==e.type||e.extra&&e.extra.parenthesized)return super.parseExpressionStatement(...arguments);if(this.match(a.colon)){const r=t;return r.label=this.finishPlaceholder(e,"Identifier"),this.next(),r.body=this.parseStatement("label"),this.finishNode(r,"LabeledStatement")}return this.semicolon(),t.name=e.name,this.finishPlaceholder(t,"Statement")}parseBlock(){return this.parsePlaceholder("BlockStatement")||super.parseBlock(...arguments)}parseFunctionId(){return this.parsePlaceholder("Identifier")||super.parseFunctionId(...arguments)}parseClass(t,e,r){const s=e?"ClassDeclaration":"ClassExpression";this.next(),this.takeDecorators(t);const n=this.parsePlaceholder("Identifier");if(n)if(this.match(a._extends)||this.match(a.placeholder)||this.match(a.braceL))t.id=n;else{if(r||!e)return t.id=null,t.body=this.finishPlaceholder(n,"ClassBody"),this.finishNode(t,s);this.unexpected(null,"A class name is required")}else this.parseClassId(t,e,r);return this.parseClassSuper(t),t.body=this.parsePlaceholder("ClassBody")||this.parseClassBody(!!t.superClass),this.finishNode(t,s)}parseExport(t){const e=this.parsePlaceholder("Identifier");if(!e)return super.parseExport(...arguments);if(!this.isContextual("from")&&!this.match(a.comma))return t.specifiers=[],t.source=null,t.declaration=this.finishPlaceholder(e,"Declaration"),this.finishNode(t,"ExportNamedDeclaration");this.expectPlugin("exportDefaultFrom");const r=this.startNode();return r.exported=e,t.specifiers=[this.finishNode(r,"ExportDefaultSpecifier")],super.parseExport(t)}maybeParseExportDefaultSpecifier(t){return!!(t.specifiers&&t.specifiers.length>0)||super.maybeParseExportDefaultSpecifier(...arguments)}checkExport(t){const{specifiers:e}=t;e&&e.length&&(t.specifiers=e.filter(t=>"Placeholder"===t.exported.type)),super.checkExport(t),t.specifiers=e}parseImport(t){const e=this.parsePlaceholder("Identifier");if(!e)return super.parseImport(...arguments);if(t.specifiers=[],!this.isContextual("from")&&!this.match(a.comma))return t.source=this.finishPlaceholder(e,"StringLiteral"),this.semicolon(),this.finishNode(t,"ImportDeclaration");const r=this.startNodeAtNode(e);return r.local=e,this.finishNode(r,"ImportDefaultSpecifier"),t.specifiers.push(r),this.eat(a.comma)&&(this.maybeParseStarImportSpecifier(t)||this.parseNamedImportSpecifiers(t)),this.expectContextual("from"),t.source=this.parseImportSource(),this.semicolon(),this.finishNode(t,"ImportDeclaration")}parseImportSource(){return this.parsePlaceholder("StringLiteral")||super.parseImportSource(...arguments)}}},ht=Object.keys(ct),lt={sourceType:"script",sourceFilename:void 0,startLine:1,allowAwaitOutsideFunction:!1,allowReturnOutsideFunction:!1,allowImportExportEverywhere:!1,allowSuperOutsideMethod:!1,allowUndeclaredExports:!1,plugins:[],strictMode:null,ranges:!1,tokens:!1,createParenthesizedExpressions:!1,errorRecovery:!1};class pt{constructor(){this.errors=[],this.potentialArrowAt=-1,this.noArrowAt=[],this.noArrowParamsConversionAt=[],this.inParameters=!1,this.maybeInArrowParameters=!1,this.maybeInAsyncArrowHead=!1,this.inPipeline=!1,this.inType=!1,this.noAnonFunctionType=!1,this.inPropertyName=!1,this.hasFlowComment=!1,this.isIterator=!1,this.topicContext={maxNumOfResolvableTopics:0,maxTopicIndex:null},this.soloAwait=!1,this.inFSharpPipelineDirectBody=!1,this.labels=[],this.decoratorStack=[[]],this.yieldPos=-1,this.awaitPos=-1,this.comments=[],this.trailingComments=[],this.leadingComments=[],this.commentStack=[],this.commentPreviousNode=null,this.pos=0,this.lineStart=0,this.type=a.eof,this.value=null,this.start=0,this.end=0,this.lastTokEndLoc=null,this.lastTokStartLoc=null,this.lastTokStart=0,this.lastTokEnd=0,this.context=[g.braceStatement],this.exprAllowed=!0,this.containsEsc=!1,this.octalPositions=[],this.exportedIdentifiers=[],this.tokensLength=0}init(t){this.strict=!1!==t.strictMode&&"module"===t.sourceType,this.curLine=t.startLine,this.startLoc=this.endLoc=this.curPosition()}curPosition(){return new p(this.curLine,this.pos-this.lineStart)}clone(t){const e=new pt,r=Object.keys(this);for(let s=0,n=r.length;s<n;s++){const n=r[s];let i=this[n];!t&&Array.isArray(i)&&(i=i.slice()),e[n]=i}return e}}var ft=function(t){return t>=48&&t<=57};const dt=new Set(["g","m","s","i","y","u"]),mt={decBinOct:[46,66,69,79,95,98,101,111],hex:[46,88,95,120]},yt={bin:[48,49]};yt.oct=[...yt.bin,50,51,52,53,54,55],yt.dec=[...yt.oct,56,57],yt.hex=[...yt.dec,65,66,67,68,69,70,97,98,99,100,101,102];class Dt{constructor(t){this.type=t.type,this.value=t.value,this.start=t.start,this.end=t.end,this.loc=new f(t.startLoc,t.endLoc)}}class gt{constructor(){this.shorthandAssign=-1,this.doubleProto=-1}}class xt{constructor(t,e,r){this.type="",this.start=e,this.end=0,this.loc=new f(r),t&&t.options.ranges&&(this.range=[e,0]),t&&t.filename&&(this.loc.filename=t.filename)}__clone(){const t=new xt,e=Object.keys(this);for(let r=0,s=e.length;r<s;r++){const s=e[r];"leadingComments"!==s&&"trailingComments"!==s&&"innerComments"!==s&&(t[s]=this[s])}return t}}const bt=t=>"ParenthesizedExpression"===t.type?bt(t.expression):t,vt={kind:"loop"},wt={kind:"switch"};class Et{constructor(){this.privateNames=new Set,this.loneAccessors=new Map,this.undefinedPrivateNames=new Map}}class Pt{constructor(t){this.stack=[],this.undefinedPrivateNames=new Map,this.raise=t}current(){return this.stack[this.stack.length-1]}enter(){this.stack.push(new Et)}exit(){const t=this.stack.pop(),e=this.current();for(let r=0,s=Array.from(t.undefinedPrivateNames);r<s.length;r++){const[t,n]=s[r];e?e.undefinedPrivateNames.has(t)||e.undefinedPrivateNames.set(t,n):this.raise(n,m.InvalidPrivateFieldResolution,t)}}declarePrivateName(t,e,r){const s=this.current();let n=s.privateNames.has(t);if(3&e){const r=n&&s.loneAccessors.get(t);if(r){const i=4&r,a=4&e;n=(3&r)===(3&e)||i!==a,n||s.loneAccessors.delete(t)}else n||s.loneAccessors.set(t,e)}n&&this.raise(r,m.PrivateNameRedeclaration,t),s.privateNames.add(t),s.undefinedPrivateNames.delete(t)}usePrivateName(t,e){let r;for(let s=0,n=this.stack;s<n.length;s++)if(r=n[s],r.privateNames.has(t))return;r?r.undefinedPrivateNames.set(t,e):this.raise(e,m.InvalidPrivateFieldResolution,t)}}class Ct extends class extends class extends class extends class extends class extends class extends class extends class extends class{constructor(){this.sawUnambiguousESM=!1,this.ambiguousScriptDifferentAst=!1}hasPlugin(t){return this.plugins.has(t)}getPluginOption(t,e){if(this.hasPlugin(t))return this.plugins.get(t)[e]}}{addComment(t){this.filename&&(t.loc.filename=this.filename),this.state.trailingComments.push(t),this.state.leadingComments.push(t)}adjustCommentsAfterTrailingComma(t,e,r){if(0===this.state.leadingComments.length)return;let s=null,n=e.length;for(;null===s&&n>0;)s=e[--n];if(null===s)return;for(let a=0;a<this.state.leadingComments.length;a++)this.state.leadingComments[a].end<this.state.commentPreviousNode.end&&(this.state.leadingComments.splice(a,1),a--);const i=[];for(let a=0;a<this.state.leadingComments.length;a++){const e=this.state.leadingComments[a];e.end<t.end?(i.push(e),r||(this.state.leadingComments.splice(a,1),a--)):(void 0===t.trailingComments&&(t.trailingComments=[]),t.trailingComments.push(e))}r&&(this.state.leadingComments=[]),i.length>0?s.trailingComments=i:void 0!==s.trailingComments&&(s.trailingComments=[])}processComment(t){if("Program"===t.type&&t.body.length>0)return;const e=this.state.commentStack;let r,s,n,i,a;if(this.state.trailingComments.length>0)this.state.trailingComments[0].start>=t.end?(n=this.state.trailingComments,this.state.trailingComments=[]):this.state.trailingComments.length=0;else if(e.length>0){const r=d(e);r.trailingComments&&r.trailingComments[0].start>=t.end&&(n=r.trailingComments,delete r.trailingComments)}for(e.length>0&&d(e).start>=t.start&&(r=e.pop());e.length>0&&d(e).start>=t.start;)s=e.pop();if(!s&&r&&(s=r),r)switch(t.type){case"ObjectExpression":this.adjustCommentsAfterTrailingComma(t,t.properties);break;case"ObjectPattern":this.adjustCommentsAfterTrailingComma(t,t.properties,!0);break;case"CallExpression":this.adjustCommentsAfterTrailingComma(t,t.arguments);break;case"ArrayExpression":this.adjustCommentsAfterTrailingComma(t,t.elements);break;case"ArrayPattern":this.adjustCommentsAfterTrailingComma(t,t.elements,!0)}else this.state.commentPreviousNode&&("ImportSpecifier"===this.state.commentPreviousNode.type&&"ImportSpecifier"!==t.type||"ExportSpecifier"===this.state.commentPreviousNode.type&&"ExportSpecifier"!==t.type)&&this.adjustCommentsAfterTrailingComma(t,[this.state.commentPreviousNode]);if(s){if(s.leadingComments)if(s!==t&&s.leadingComments.length>0&&d(s.leadingComments).end<=t.start)t.leadingComments=s.leadingComments,delete s.leadingComments;else for(i=s.leadingComments.length-2;i>=0;--i)if(s.leadingComments[i].end<=t.start){t.leadingComments=s.leadingComments.splice(0,i+1);break}}else if(this.state.leadingComments.length>0)if(d(this.state.leadingComments).end<=t.start){if(this.state.commentPreviousNode)for(a=0;a<this.state.leadingComments.length;a++)this.state.leadingComments[a].end<this.state.commentPreviousNode.end&&(this.state.leadingComments.splice(a,1),a--);this.state.leadingComments.length>0&&(t.leadingComments=this.state.leadingComments,this.state.leadingComments=[])}else{for(i=0;i<this.state.leadingComments.length&&!(this.state.leadingComments[i].end>t.start);i++);const e=this.state.leadingComments.slice(0,i);e.length&&(t.leadingComments=e),n=this.state.leadingComments.slice(i),0===n.length&&(n=null)}this.state.commentPreviousNode=t,n&&(n.length&&n[0].start>=t.start&&d(n).end<=t.end?t.innerComments=n:t.trailingComments=n),e.push(t)}}{getLocationForPosition(t){let e;return e=t===this.state.start?this.state.startLoc:t===this.state.lastTokStart?this.state.lastTokStartLoc:t===this.state.end?this.state.endLoc:t===this.state.lastTokEnd?this.state.lastTokEndLoc:function(t,e){let r,s=1,n=0;for(u.lastIndex=0;(r=u.exec(t))&&r.index<e;)s++,n=u.lastIndex;return new p(s,e-n)}(this.input,t),e}raise(t,e,...r){return this.raiseWithData(t,void 0,e,...r)}raiseWithData(t,e,r,...s){const n=this.getLocationForPosition(t),i=r.replace(/%(\d+)/g,(t,e)=>s[e])+" (".concat(n.line,":").concat(n.column,")");return this._raise(Object.assign({loc:n,pos:t},e),i)}_raise(t,e){const r=new SyntaxError(e);if(Object.assign(r,t),this.options.errorRecovery)return this.isLookahead||this.state.errors.push(r),r;throw r}}{constructor(t,e){super(),this.tokens=[],this.state=new pt,this.state.init(t),this.input=e,this.length=e.length,this.isLookahead=!1}pushToken(t){this.tokens.length=this.state.tokensLength,this.tokens.push(t),++this.state.tokensLength}next(){this.isLookahead||(this.checkKeywordEscapes(),this.options.tokens&&this.pushToken(new Dt(this.state))),this.state.lastTokEnd=this.state.end,this.state.lastTokStart=this.state.start,this.state.lastTokEndLoc=this.state.endLoc,this.state.lastTokStartLoc=this.state.startLoc,this.nextToken()}eat(t){return!!this.match(t)&&(this.next(),!0)}match(t){return this.state.type===t}lookahead(){const t=this.state;this.state=t.clone(!0),this.isLookahead=!0,this.next(),this.isLookahead=!1;const e=this.state;return this.state=t,e}nextTokenStart(){const t=this.state.pos;return h.lastIndex=t,t+h.exec(this.input)[0].length}lookaheadCharCode(){return this.input.charCodeAt(this.nextTokenStart())}setStrict(t){if(this.state.strict=t,this.match(a.num)||this.match(a.string)){for(this.state.pos=this.state.start;this.state.pos<this.state.lineStart;)this.state.lineStart=this.input.lastIndexOf("\n",this.state.lineStart-2)+1,--this.state.curLine;this.nextToken()}}curContext(){return this.state.context[this.state.context.length-1]}nextToken(){const t=this.curContext();if(t&&t.preserveSpace||this.skipSpace(),this.state.octalPositions=[],this.state.start=this.state.pos,this.state.startLoc=this.state.curPosition(),this.state.pos>=this.length)return void this.finishToken(a.eof);const e=null==t?void 0:t.override;e?e(this):this.getTokenFromCode(this.input.codePointAt(this.state.pos))}pushComment(t,e,r,s,n,i){const a={type:t?"CommentBlock":"CommentLine",value:e,start:r,end:s,loc:new f(n,i)};this.options.tokens&&this.pushToken(a),this.state.comments.push(a),this.addComment(a)}skipBlockComment(){const t=this.state.curPosition(),e=this.state.pos,r=this.input.indexOf("*/",this.state.pos+2);if(-1===r)throw this.raise(e,m.UnterminatedComment);let s;for(this.state.pos=r+2,u.lastIndex=e;(s=u.exec(this.input))&&s.index<this.state.pos;)++this.state.curLine,this.state.lineStart=s.index+s[0].length;this.isLookahead||this.pushComment(!0,this.input.slice(e+2,r),e,this.state.pos,t,this.state.curPosition())}skipLineComment(t){const e=this.state.pos,r=this.state.curPosition();let s=this.input.charCodeAt(this.state.pos+=t);if(this.state.pos<this.length)for(;!c(s)&&++this.state.pos<this.length;)s=this.input.charCodeAt(this.state.pos);this.isLookahead||this.pushComment(!1,this.input.slice(e+t,this.state.pos),e,this.state.pos,r,this.state.curPosition())}skipSpace(){t:for(;this.state.pos<this.length;){const t=this.input.charCodeAt(this.state.pos);switch(t){case 32:case 160:case 9:++this.state.pos;break;case 13:10===this.input.charCodeAt(this.state.pos+1)&&++this.state.pos;case 10:case 8232:case 8233:++this.state.pos,++this.state.curLine,this.state.lineStart=this.state.pos;break;case 47:switch(this.input.charCodeAt(this.state.pos+1)){case 42:this.skipBlockComment();break;case 47:this.skipLineComment(2);break;default:break t}break;default:if(!l(t))break t;++this.state.pos}}}finishToken(t,e){this.state.end=this.state.pos,this.state.endLoc=this.state.curPosition();const r=this.state.type;this.state.type=t,this.state.value=e,this.isLookahead||this.updateContext(r)}readToken_numberSign(){if(0===this.state.pos&&this.readToken_interpreter())return;const t=this.state.pos+1,e=this.input.charCodeAt(t);if(e>=48&&e<=57)throw this.raise(this.state.pos,m.UnexpectedDigitAfterHash);if(!this.hasPlugin("recordAndTuple")||123!==e&&91!==e){if(!this.hasPlugin("classPrivateProperties")&&!this.hasPlugin("classPrivateMethods")&&"smart"!==this.getPluginOption("pipelineOperator","proposal"))throw this.raise(this.state.pos,m.InvalidOrUnexpectedToken,"#");this.finishOp(a.hash,1)}else{if("hash"!==this.getPluginOption("recordAndTuple","syntaxType"))throw this.raise(this.state.pos,123===e?m.RecordExpressionHashIncorrectStartSyntaxType:m.TupleExpressionHashIncorrectStartSyntaxType);123===e?this.finishToken(a.braceHashL):this.finishToken(a.bracketHashL),this.state.pos+=2}}readToken_dot(){const t=this.input.charCodeAt(this.state.pos+1);t>=48&&t<=57?this.readNumber(!0):46===t&&46===this.input.charCodeAt(this.state.pos+2)?(this.state.pos+=3,this.finishToken(a.ellipsis)):(++this.state.pos,this.finishToken(a.dot))}readToken_slash(){if(this.state.exprAllowed&&!this.state.inType)return++this.state.pos,void this.readRegexp();61===this.input.charCodeAt(this.state.pos+1)?this.finishOp(a.assign,2):this.finishOp(a.slash,1)}readToken_interpreter(){if(0!==this.state.pos||this.length<2)return!1;let t=this.input.charCodeAt(this.state.pos+1);if(33!==t)return!1;const e=this.state.pos;for(this.state.pos+=1;!c(t)&&++this.state.pos<this.length;)t=this.input.charCodeAt(this.state.pos);const r=this.input.slice(e+2,this.state.pos);return this.finishToken(a.interpreterDirective,r),!0}readToken_mult_modulo(t){let e=42===t?a.star:a.modulo,r=1,s=this.input.charCodeAt(this.state.pos+1);const n=this.state.exprAllowed;42===t&&42===s&&(r++,s=this.input.charCodeAt(this.state.pos+2),e=a.exponent),61!==s||n||(r++,e=a.assign),this.finishOp(e,r)}readToken_pipe_amp(t){const e=this.input.charCodeAt(this.state.pos+1);if(e!==t){if(124===t){if(62===e)return void this.finishOp(a.pipeline,2);if(this.hasPlugin("recordAndTuple")&&125===e){if("bar"!==this.getPluginOption("recordAndTuple","syntaxType"))throw this.raise(this.state.pos,m.RecordExpressionBarIncorrectEndSyntaxType);return void this.finishOp(a.braceBarR,2)}if(this.hasPlugin("recordAndTuple")&&93===e){if("bar"!==this.getPluginOption("recordAndTuple","syntaxType"))throw this.raise(this.state.pos,m.TupleExpressionBarIncorrectEndSyntaxType);return void this.finishOp(a.bracketBarR,2)}}61!==e?this.finishOp(124===t?a.bitwiseOR:a.bitwiseAND,1):this.finishOp(a.assign,2)}else 61===this.input.charCodeAt(this.state.pos+2)?this.finishOp(a.assign,3):this.finishOp(124===t?a.logicalOR:a.logicalAND,2)}readToken_caret(){61===this.input.charCodeAt(this.state.pos+1)?this.finishOp(a.assign,2):this.finishOp(a.bitwiseXOR,1)}readToken_plus_min(t){const e=this.input.charCodeAt(this.state.pos+1);if(e===t)return 45!==e||this.inModule||62!==this.input.charCodeAt(this.state.pos+2)||0!==this.state.lastTokEnd&&!o.test(this.input.slice(this.state.lastTokEnd,this.state.pos))?void this.finishOp(a.incDec,2):(this.skipLineComment(3),this.skipSpace(),void this.nextToken());61===e?this.finishOp(a.assign,2):this.finishOp(a.plusMin,1)}readToken_lt_gt(t){const e=this.input.charCodeAt(this.state.pos+1);let r=1;return e===t?(r=62===t&&62===this.input.charCodeAt(this.state.pos+2)?3:2,61===this.input.charCodeAt(this.state.pos+r)?void this.finishOp(a.assign,r+1):void this.finishOp(a.bitShift,r)):33!==e||60!==t||this.inModule||45!==this.input.charCodeAt(this.state.pos+2)||45!==this.input.charCodeAt(this.state.pos+3)?(61===e&&(r=2),void this.finishOp(a.relational,r)):(this.skipLineComment(4),this.skipSpace(),void this.nextToken())}readToken_eq_excl(t){const e=this.input.charCodeAt(this.state.pos+1);if(61!==e)return 61===t&&62===e?(this.state.pos+=2,void this.finishToken(a.arrow)):void this.finishOp(61===t?a.eq:a.bang,1);this.finishOp(a.equality,61===this.input.charCodeAt(this.state.pos+2)?3:2)}readToken_question(){const t=this.input.charCodeAt(this.state.pos+1),e=this.input.charCodeAt(this.state.pos+2);63!==t||this.state.inType?46!==t||e>=48&&e<=57?(++this.state.pos,this.finishToken(a.question)):(this.state.pos+=2,this.finishToken(a.questionDot)):61===e?this.finishOp(a.assign,3):this.finishOp(a.nullishCoalescing,2)}getTokenFromCode(t){switch(t){case 46:return void this.readToken_dot();case 40:return++this.state.pos,void this.finishToken(a.parenL);case 41:return++this.state.pos,void this.finishToken(a.parenR);case 59:return++this.state.pos,void this.finishToken(a.semi);case 44:return++this.state.pos,void this.finishToken(a.comma);case 91:if(this.hasPlugin("recordAndTuple")&&124===this.input.charCodeAt(this.state.pos+1)){if("bar"!==this.getPluginOption("recordAndTuple","syntaxType"))throw this.raise(this.state.pos,m.TupleExpressionBarIncorrectStartSyntaxType);this.finishToken(a.bracketBarL),this.state.pos+=2}else++this.state.pos,this.finishToken(a.bracketL);return;case 93:return++this.state.pos,void this.finishToken(a.bracketR);case 123:if(this.hasPlugin("recordAndTuple")&&124===this.input.charCodeAt(this.state.pos+1)){if("bar"!==this.getPluginOption("recordAndTuple","syntaxType"))throw this.raise(this.state.pos,m.RecordExpressionBarIncorrectStartSyntaxType);this.finishToken(a.braceBarL),this.state.pos+=2}else++this.state.pos,this.finishToken(a.braceL);return;case 125:return++this.state.pos,void this.finishToken(a.braceR);case 58:return void(this.hasPlugin("functionBind")&&58===this.input.charCodeAt(this.state.pos+1)?this.finishOp(a.doubleColon,2):(++this.state.pos,this.finishToken(a.colon)));case 63:return void this.readToken_question();case 96:return++this.state.pos,void this.finishToken(a.backQuote);case 48:{const t=this.input.charCodeAt(this.state.pos+1);if(120===t||88===t)return void this.readRadixNumber(16);if(111===t||79===t)return void this.readRadixNumber(8);if(98===t||66===t)return void this.readRadixNumber(2)}case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return void this.readNumber(!1);case 34:case 39:return void this.readString(t);case 47:return void this.readToken_slash();case 37:case 42:return void this.readToken_mult_modulo(t);case 124:case 38:return void this.readToken_pipe_amp(t);case 94:return void this.readToken_caret();case 43:case 45:return void this.readToken_plus_min(t);case 60:case 62:return void this.readToken_lt_gt(t);case 61:case 33:return void this.readToken_eq_excl(t);case 126:return void this.finishOp(a.tilde,1);case 64:return++this.state.pos,void this.finishToken(a.at);case 35:return void this.readToken_numberSign();case 92:return void this.readWord();default:if(A(t))return void this.readWord()}throw this.raise(this.state.pos,m.InvalidOrUnexpectedToken,String.fromCodePoint(t))}finishOp(t,e){const r=this.input.slice(this.state.pos,this.state.pos+e);this.state.pos+=e,this.finishToken(t,r)}readRegexp(){const t=this.state.pos;let e,r;for(;;){if(this.state.pos>=this.length)throw this.raise(t,m.UnterminatedRegExp);const s=this.input.charAt(this.state.pos);if(o.test(s))throw this.raise(t,m.UnterminatedRegExp);if(e)e=!1;else{if("["===s)r=!0;else if("]"===s&&r)r=!1;else if("/"===s&&!r)break;e="\\"===s}++this.state.pos}const s=this.input.slice(t,this.state.pos);++this.state.pos;let n="";for(;this.state.pos<this.length;){const t=this.input[this.state.pos],e=this.input.codePointAt(this.state.pos);if(dt.has(t))n.indexOf(t)>-1&&this.raise(this.state.pos+1,m.DuplicateRegExpFlags);else{if(!T(e)&&92!==e)break;this.raise(this.state.pos+1,m.MalformedRegExpFlags)}++this.state.pos,n+=t}this.finishToken(a.regexp,{pattern:s,flags:n})}readInt(t,e,r,s=!0){const n=this.state.pos,i=16===t?mt.hex:mt.decBinOct,a=16===t?yt.hex:10===t?yt.dec:8===t?yt.oct:yt.bin;let o=!1,u=0;for(let c=0,h=null==e?1/0:e;c<h;++c){const e=this.input.charCodeAt(this.state.pos);let n;if(this.hasPlugin("numericSeparator")&&95===e){const t=this.input.charCodeAt(this.state.pos-1),e=this.input.charCodeAt(this.state.pos+1);(-1===a.indexOf(e)||i.indexOf(t)>-1||i.indexOf(e)>-1||Number.isNaN(e))&&this.raise(this.state.pos,m.UnexpectedNumericSeparator),s||this.raise(this.state.pos,m.NumericSeparatorInEscapeSequence),++this.state.pos}else{if(n=e>=97?e-97+10:e>=65?e-65+10:ft(e)?e-48:1/0,n>=t)if(this.options.errorRecovery&&n<=9)n=0,this.raise(this.state.start+c+2,m.InvalidDigit,t);else{if(!r)break;n=0,o=!0}++this.state.pos,u=u*t+n}}return this.state.pos===n||null!=e&&this.state.pos-n!==e||o?null:u}readRadixNumber(t){const e=this.state.pos;let r=!1;this.state.pos+=2;const s=this.readInt(t);if(null==s&&this.raise(this.state.start+2,m.InvalidDigit,t),110===this.input.charCodeAt(this.state.pos)&&(++this.state.pos,r=!0),A(this.input.codePointAt(this.state.pos)))throw this.raise(this.state.pos,m.NumberIdentifier);if(r){const t=this.input.slice(e,this.state.pos).replace(/[_n]/g,"");this.finishToken(a.bigint,t)}else this.finishToken(a.num,s)}readNumber(t){const e=this.state.pos;let r=!1,s=!1,n=!1;t||null!==this.readInt(10)||this.raise(e,m.InvalidNumber);let i=this.state.pos-e>=2&&48===this.input.charCodeAt(e);i&&(this.state.strict&&this.raise(e,m.StrictOctalLiteral),/[89]/.test(this.input.slice(e,this.state.pos))&&(i=!1,n=!0));let o=this.input.charCodeAt(this.state.pos);if(46!==o||i||(++this.state.pos,this.readInt(10),r=!0,o=this.input.charCodeAt(this.state.pos)),69!==o&&101!==o||i||(o=this.input.charCodeAt(++this.state.pos),43!==o&&45!==o||++this.state.pos,null===this.readInt(10)&&this.raise(e,"Invalid number"),r=!0,o=this.input.charCodeAt(this.state.pos)),this.hasPlugin("numericSeparator")&&(i||n)){const t=this.input.slice(e,this.state.pos).indexOf("_");t>0&&this.raise(t+e,m.ZeroDigitNumericSeparator)}if(110===o&&((r||i||n)&&this.raise(e,"Invalid BigIntLiteral"),++this.state.pos,s=!0),A(this.input.codePointAt(this.state.pos)))throw this.raise(this.state.pos,m.NumberIdentifier);const u=this.input.slice(e,this.state.pos).replace(/[_n]/g,"");if(s)return void this.finishToken(a.bigint,u);const c=i?parseInt(u,8):parseFloat(u);this.finishToken(a.num,c)}readCodePoint(t){let e;if(123===this.input.charCodeAt(this.state.pos)){const r=++this.state.pos;if(e=this.readHexChar(this.input.indexOf("}",this.state.pos)-this.state.pos,!0,t),++this.state.pos,null!==e&&e>1114111){if(!t)return null;this.raise(r,m.InvalidCodePoint)}}else e=this.readHexChar(4,!1,t);return e}readString(t){let e="",r=++this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(this.state.start,m.UnterminatedString);const s=this.input.charCodeAt(this.state.pos);if(s===t)break;if(92===s)e+=this.input.slice(r,this.state.pos),e+=this.readEscapedChar(!1),r=this.state.pos;else if(8232===s||8233===s)++this.state.pos,++this.state.curLine,this.state.lineStart=this.state.pos;else{if(c(s))throw this.raise(this.state.start,m.UnterminatedString);++this.state.pos}}e+=this.input.slice(r,this.state.pos++),this.finishToken(a.string,e)}readTmplToken(){let t="",e=this.state.pos,r=!1;for(;;){if(this.state.pos>=this.length)throw this.raise(this.state.start,m.UnterminatedTemplate);const s=this.input.charCodeAt(this.state.pos);if(96===s||36===s&&123===this.input.charCodeAt(this.state.pos+1))return this.state.pos===this.state.start&&this.match(a.template)?36===s?(this.state.pos+=2,void this.finishToken(a.dollarBraceL)):(++this.state.pos,void this.finishToken(a.backQuote)):(t+=this.input.slice(e,this.state.pos),void this.finishToken(a.template,r?null:t));if(92===s){t+=this.input.slice(e,this.state.pos);const s=this.readEscapedChar(!0);null===s?r=!0:t+=s,e=this.state.pos}else if(c(s)){switch(t+=this.input.slice(e,this.state.pos),++this.state.pos,s){case 13:10===this.input.charCodeAt(this.state.pos)&&++this.state.pos;case 10:t+="\n";break;default:t+=String.fromCharCode(s)}++this.state.curLine,this.state.lineStart=this.state.pos,e=this.state.pos}else++this.state.pos}}readEscapedChar(t){const e=!t,r=this.input.charCodeAt(++this.state.pos);switch(++this.state.pos,r){case 110:return"\n";case 114:return"\r";case 120:{const t=this.readHexChar(2,!1,e);return null===t?null:String.fromCharCode(t)}case 117:{const t=this.readCodePoint(e);return null===t?null:String.fromCodePoint(t)}case 116:return"\t";case 98:return"\b";case 118:return"\v";case 102:return"\f";case 13:10===this.input.charCodeAt(this.state.pos)&&++this.state.pos;case 10:this.state.lineStart=this.state.pos,++this.state.curLine;case 8232:case 8233:return"";case 56:case 57:if(t)return null;default:if(r>=48&&r<=55){const e=this.state.pos-1;let r=this.input.substr(this.state.pos-1,3).match(/^[0-7]+/)[0],s=parseInt(r,8);s>255&&(r=r.slice(0,-1),s=parseInt(r,8)),this.state.pos+=r.length-1;const n=this.input.charCodeAt(this.state.pos);if("0"!==r||56===n||57===n){if(t)return null;this.state.strict?this.raise(e,m.StrictOctalLiteral):this.state.octalPositions.push(e)}return String.fromCharCode(s)}return String.fromCharCode(r)}}readHexChar(t,e,r){const s=this.state.pos,n=this.readInt(16,t,e,!1);return null===n&&(r?this.raise(s,m.InvalidEscapeSequence):this.state.pos=s-1),n}readWord1(){let t="";this.state.containsEsc=!1;const e=this.state.pos;let r=this.state.pos;for(;this.state.pos<this.length;){const s=this.input.codePointAt(this.state.pos);if(T(s))this.state.pos+=s<=65535?1:2;else if(this.state.isIterator&&64===s)++this.state.pos;else{if(92!==s)break;{this.state.containsEsc=!0,t+=this.input.slice(r,this.state.pos);const s=this.state.pos,n=this.state.pos===e?A:T;if(117!==this.input.charCodeAt(++this.state.pos)){this.raise(this.state.pos,m.MissingUnicodeEscape);continue}++this.state.pos;const i=this.readCodePoint(!0);null!==i&&(n(i)||this.raise(s,m.EscapedCharNotAnIdentifier),t+=String.fromCodePoint(i)),r=this.state.pos}}}return t+this.input.slice(r,this.state.pos)}isIterator(t){return"@@iterator"===t||"@@asyncIterator"===t}readWord(){const t=this.readWord1(),e=s.get(t)||a.name;!this.state.isIterator||this.isIterator(t)&&this.state.inType||this.raise(this.state.pos,m.InvalidIdentifier,t),this.finishToken(e,t)}checkKeywordEscapes(){const t=this.state.type.keyword;t&&this.state.containsEsc&&this.raise(this.state.start,m.InvalidEscapedReservedWord,t)}braceIsBlock(t){const e=this.curContext();return e===g.functionExpression||e===g.functionStatement||(t!==a.colon||e!==g.braceStatement&&e!==g.braceExpression?t===a._return||t===a.name&&this.state.exprAllowed?o.test(this.input.slice(this.state.lastTokEnd,this.state.start)):t===a._else||t===a.semi||t===a.eof||t===a.parenR||t===a.arrow||(t===a.braceL?e===g.braceStatement:t!==a._var&&t!==a._const&&t!==a.name&&(t===a.relational||!this.state.exprAllowed)):!e.isExpr)}updateContext(t){const e=this.state.type;let r;!e.keyword||t!==a.dot&&t!==a.questionDot?(r=e.updateContext)?r.call(this,t):this.state.exprAllowed=e.beforeExpr:this.state.exprAllowed=!1}}{addExtra(t,e,r){t&&((t.extra=t.extra||{})[e]=r)}isRelational(t){return this.match(a.relational)&&this.state.value===t}isLookaheadRelational(t){const e=this.nextTokenStart();if(this.input.charAt(e)===t){if(e+1===this.input.length)return!0;const r=this.input.charCodeAt(e+1);return r!==t.charCodeAt(0)&&61!==r}return!1}expectRelational(t){this.isRelational(t)?this.next():this.unexpected(null,a.relational)}isContextual(t){return this.match(a.name)&&this.state.value===t&&!this.state.containsEsc}isUnparsedContextual(t,e){const r=t+e.length;return this.input.slice(t,r)===e&&(r===this.input.length||!T(this.input.charCodeAt(r)))}isLookaheadContextual(t){const e=this.nextTokenStart();return this.isUnparsedContextual(e,t)}eatContextual(t){return this.isContextual(t)&&this.eat(a.name)}expectContextual(t,e){this.eatContextual(t)||this.unexpected(null,e)}canInsertSemicolon(){return this.match(a.eof)||this.match(a.braceR)||this.hasPrecedingLineBreak()}hasPrecedingLineBreak(){return o.test(this.input.slice(this.state.lastTokEnd,this.state.start))}isLineTerminator(){return this.eat(a.semi)||this.canInsertSemicolon()}semicolon(){this.isLineTerminator()||this.unexpected(null,a.semi)}expect(t,e){this.eat(t)||this.unexpected(e,t)}assertNoSpace(t="Unexpected space."){this.state.start>this.state.lastTokEnd&&this.raise(this.state.lastTokEnd,t)}unexpected(t,e="Unexpected token"){throw"string"!=typeof e&&(e='Unexpected token, expected "'.concat(e.label,'"')),this.raise(null!=t?t:this.state.start,e)}expectPlugin(t,e){if(!this.hasPlugin(t))throw this.raiseWithData(null!=e?e:this.state.start,{missingPlugin:[t]},"This experimental syntax requires enabling the parser plugin: '".concat(t,"'"));return!0}expectOnePlugin(t,e){if(!t.some(t=>this.hasPlugin(t)))throw this.raiseWithData(null!=e?e:this.state.start,{missingPlugin:t},"This experimental syntax requires enabling one of the following parser plugin(s): '".concat(t.join(", "),"'"))}checkYieldAwaitInDefaultParams(){-1!==this.state.yieldPos&&(-1===this.state.awaitPos||this.state.yieldPos<this.state.awaitPos)&&this.raise(this.state.yieldPos,"Yield cannot be used as name inside a generator function"),-1!==this.state.awaitPos&&this.raise(this.state.awaitPos,"Await cannot be used as name inside an async function")}tryParse(t,e=this.state.clone()){const r={node:null};try{const s=t((t=null)=>{throw r.node=t,r});if(this.state.errors.length>e.errors.length){const t=this.state;return this.state=e,{node:s,error:t.errors[e.errors.length],thrown:!1,aborted:!1,failState:t}}return{node:s,error:null,thrown:!1,aborted:!1,failState:null}}catch(t){const s=this.state;if(this.state=e,t instanceof SyntaxError)return{node:null,error:t,thrown:!0,aborted:!1,failState:s};if(t===r)return{node:r.node,error:null,thrown:!1,aborted:!0,failState:s};throw t}}checkExpressionErrors(t,e){if(!t)return!1;const{shorthandAssign:r,doubleProto:s}=t;if(!e)return r>=0||s>=0;r>=0&&this.unexpected(r),s>=0&&this.raise(s,m.DuplicateProto)}}{startNode(){return new xt(this,this.state.start,this.state.startLoc)}startNodeAt(t,e){return new xt(this,t,e)}startNodeAtNode(t){return this.startNodeAt(t.start,t.loc.start)}finishNode(t,e){return this.finishNodeAt(t,e,this.state.lastTokEnd,this.state.lastTokEndLoc)}finishNodeAt(t,e,r,s){return t.type=e,t.end=r,t.loc.end=s,this.options.ranges&&(t.range[1]=r),this.processComment(t),t}resetStartLocation(t,e,r){t.start=e,t.loc.start=r,this.options.ranges&&(t.range[0]=e)}resetEndLocation(t,e=this.state.lastTokEnd,r=this.state.lastTokEndLoc){t.end=e,t.loc.end=r,this.options.ranges&&(t.range[1]=e)}resetStartLocationFromNode(t,e){this.resetStartLocation(t,e.start,e.loc.start)}}{toAssignable(t){var e,r;let s=void 0;switch(("ParenthesizedExpression"===t.type||(null==(e=t.extra)?void 0:e.parenthesized))&&(s=bt(t),"Identifier"!==s.type&&"MemberExpression"!==s.type&&this.raise(t.start,m.InvalidParenthesizedAssignment)),t.type){case"Identifier":case"ObjectPattern":case"ArrayPattern":case"AssignmentPattern":break;case"ObjectExpression":t.type="ObjectPattern";for(let e=0,r=t.properties.length,s=r-1;e<r;e++){var n;const r=t.properties[e],i=e===s;this.toAssignableObjectExpressionProp(r,i),i&&"RestElement"===r.type&&(null==(n=t.extra)?void 0:n.trailingComma)&&this.raiseRestNotLast(t.extra.trailingComma)}break;case"ObjectProperty":this.toAssignable(t.value);break;case"SpreadElement":{this.checkToRestConversion(t),t.type="RestElement";const e=t.argument;this.toAssignable(e);break}case"ArrayExpression":t.type="ArrayPattern",this.toAssignableList(t.elements,null==(r=t.extra)?void 0:r.trailingComma);break;case"AssignmentExpression":"="!==t.operator&&this.raise(t.left.end,m.MissingEqInAssignment),t.type="AssignmentPattern",delete t.operator,this.toAssignable(t.left);break;case"ParenthesizedExpression":this.toAssignable(s)}return t}toAssignableObjectExpressionProp(t,e){if("ObjectMethod"===t.type){const e="get"===t.kind||"set"===t.kind?m.PatternHasAccessor:m.PatternHasMethod;this.raise(t.key.start,e)}else"SpreadElement"!==t.type||e?this.toAssignable(t):this.raiseRestNotLast(t.start)}toAssignableList(t,e){let r=t.length;if(r){const s=t[r-1];if(s&&"RestElement"===s.type)--r;else if(s&&"SpreadElement"===s.type){s.type="RestElement";const t=s.argument;this.toAssignable(t),"Identifier"!==t.type&&"MemberExpression"!==t.type&&"ArrayPattern"!==t.type&&"ObjectPattern"!==t.type&&this.unexpected(t.start),e&&this.raiseTrailingCommaAfterRest(e),--r}}for(let s=0;s<r;s++){const e=t[s];e&&(this.toAssignable(e),"RestElement"===e.type&&this.raiseRestNotLast(e.start))}return t}toReferencedList(t,e){return t}toReferencedListDeep(t,e){this.toReferencedList(t,e);for(let r=0;r<t.length;r++){const e=t[r];e&&"ArrayExpression"===e.type&&this.toReferencedListDeep(e.elements)}}parseSpread(t,e){const r=this.startNode();return this.next(),r.argument=this.parseMaybeAssign(!1,t,void 0,e),this.finishNode(r,"SpreadElement")}parseRestBinding(){const t=this.startNode();return this.next(),t.argument=this.parseBindingAtom(),this.finishNode(t,"RestElement")}parseBindingAtom(){switch(this.state.type){case a.bracketL:{const t=this.startNode();return this.next(),t.elements=this.parseBindingList(a.bracketR,93,!0),this.finishNode(t,"ArrayPattern")}case a.braceL:return this.parseObj(a.braceR,!0)}return this.parseIdentifier()}parseBindingList(t,e,r,s){const n=[];let i=!0;for(;!this.eat(t);)if(i?i=!1:this.expect(a.comma),r&&this.match(a.comma))n.push(null);else{if(this.eat(t))break;if(this.match(a.ellipsis)){n.push(this.parseAssignableListItemTypes(this.parseRestBinding())),this.checkCommaAfterRest(e),this.expect(t);break}{const t=[];for(this.match(a.at)&&this.hasPlugin("decorators")&&this.raise(this.state.start,m.UnsupportedParameterDecorator);this.match(a.at);)t.push(this.parseDecorator());n.push(this.parseAssignableListItem(s,t))}}return n}parseAssignableListItem(t,e){const r=this.parseMaybeDefault();this.parseAssignableListItemTypes(r);const s=this.parseMaybeDefault(r.start,r.loc.start,r);return e.length&&(r.decorators=e),s}parseAssignableListItemTypes(t){return t}parseMaybeDefault(t,e,r){if(e=e||this.state.startLoc,t=t||this.state.start,r=r||this.parseBindingAtom(),!this.eat(a.eq))return r;const s=this.startNodeAt(t,e);return s.left=r,s.right=this.parseMaybeAssign(),this.finishNode(s,"AssignmentPattern")}checkLVal(t,e=64,r,s,n,i=!1){switch(t.type){case"Identifier":if(this.state.strict&&(i?R(t.name,this.inModule):L(t.name))&&this.raise(t.start,64===e?m.StrictEvalArguments:m.StrictEvalArgumentsBinding,t.name),r){const e="_".concat(t.name);r[e]?this.raise(t.start,m.ParamDupe):r[e]=!0}n&&"let"===t.name&&this.raise(t.start,m.LetInLexicalBinding),64&e||this.scope.declareName(t.name,e,t.start);break;case"MemberExpression":64!==e&&this.raise(t.start,m.InvalidPropertyBindingPattern);break;case"ObjectPattern":for(let s=0,i=t.properties;s<i.length;s++){let t=i[s];if("ObjectProperty"===t.type)t=t.value;else if("ObjectMethod"===t.type)continue;this.checkLVal(t,e,r,"object destructuring pattern",n)}break;case"ArrayPattern":for(let s=0,i=t.elements;s<i.length;s++){const t=i[s];t&&this.checkLVal(t,e,r,"array destructuring pattern",n)}break;case"AssignmentPattern":this.checkLVal(t.left,e,r,"assignment pattern");break;case"RestElement":this.checkLVal(t.argument,e,r,"rest element");break;case"ParenthesizedExpression":this.checkLVal(t.expression,e,r,"parenthesized expression");break;default:this.raise(t.start,64===e?m.InvalidLhs:m.InvalidLhsBinding,s)}}checkToRestConversion(t){"Identifier"!==t.argument.type&&"MemberExpression"!==t.argument.type&&this.raise(t.argument.start,m.InvalidRestAssignmentPattern)}checkCommaAfterRest(t){this.match(a.comma)&&(this.lookaheadCharCode()===t?this.raiseTrailingCommaAfterRest(this.state.start):this.raiseRestNotLast(this.state.start))}raiseRestNotLast(t){throw this.raise(t,m.ElementAfterRest)}raiseTrailingCommaAfterRest(t){this.raise(t,m.RestTrailingComma)}}{checkDuplicatedProto(t,e,r){if("SpreadElement"===t.type||t.computed||t.kind||t.shorthand)return;const s=t.key;"__proto__"===("Identifier"===s.type?s.name:String(s.value))&&(e.used&&(r?-1===r.doubleProto&&(r.doubleProto=s.start):this.raise(s.start,m.DuplicateProto)),e.used=!0)}getExpression(){let t=0;this.hasPlugin("topLevelAwait")&&this.inModule&&(t|=2),this.scope.enter(1),this.prodParam.enter(t),this.nextToken();const e=this.parseExpression();return this.match(a.eof)||this.unexpected(),e.comments=this.state.comments,e.errors=this.state.errors,e}parseExpression(t,e){const r=this.state.start,s=this.state.startLoc,n=this.parseMaybeAssign(t,e);if(this.match(a.comma)){const i=this.startNodeAt(r,s);for(i.expressions=[n];this.eat(a.comma);)i.expressions.push(this.parseMaybeAssign(t,e));return this.toReferencedList(i.expressions),this.finishNode(i,"SequenceExpression")}return n}parseMaybeAssign(t,e,r,s){const n=this.state.start,i=this.state.startLoc;if(this.isContextual("yield")){if(this.prodParam.hasYield){let e=this.parseYield(t);return r&&(e=r.call(this,e,n,i)),e}this.state.exprAllowed=!1}let o;e?o=!1:(e=new gt,o=!0),(this.match(a.parenL)||this.match(a.name))&&(this.state.potentialArrowAt=this.state.start);let u=this.parseMaybeConditional(t,e,s);if(r&&(u=r.call(this,u,n,i)),this.state.type.isAssign){const r=this.startNodeAt(n,i),s=this.state.value;return r.operator=s,"??="===s&&this.expectPlugin("logicalAssignment"),"||="!==s&&"&&="!==s||this.expectPlugin("logicalAssignment"),this.match(a.eq)?(r.left=this.toAssignable(u),e.doubleProto=-1):r.left=u,e.shorthandAssign>=r.left.start&&(e.shorthandAssign=-1),this.checkLVal(u,void 0,void 0,"assignment expression"),this.next(),r.right=this.parseMaybeAssign(t),this.finishNode(r,"AssignmentExpression")}return o&&this.checkExpressionErrors(e,!0),u}parseMaybeConditional(t,e,r){const s=this.state.start,n=this.state.startLoc,i=this.state.potentialArrowAt,a=this.parseExprOps(t,e);return"ArrowFunctionExpression"===a.type&&a.start===i||this.checkExpressionErrors(e,!1)?a:this.parseConditional(a,t,s,n,r)}parseConditional(t,e,r,s,n){if(this.eat(a.question)){const n=this.startNodeAt(r,s);return n.test=t,n.consequent=this.parseMaybeAssign(),this.expect(a.colon),n.alternate=this.parseMaybeAssign(e),this.finishNode(n,"ConditionalExpression")}return t}parseExprOps(t,e){const r=this.state.start,s=this.state.startLoc,n=this.state.potentialArrowAt,i=this.parseMaybeUnary(e);return"ArrowFunctionExpression"===i.type&&i.start===n||this.checkExpressionErrors(e,!1)?i:this.parseExprOp(i,r,s,-1,t)}parseExprOp(t,e,r,s,n){let i=this.state.type.binop;if(!(null==i||n&&this.match(a._in))&&i>s){const o=this.state.value;if("|>"===o&&this.state.inFSharpPipelineDirectBody)return t;const u=this.startNodeAt(e,r);u.left=t,u.operator=o,"**"!==o||"UnaryExpression"!==t.type||!this.options.createParenthesizedExpressions&&t.extra&&t.extra.parenthesized||this.raise(t.argument.start,m.UnexpectedTokenUnaryExponentiation);const c=this.state.type,h=c===a.logicalOR||c===a.logicalAND,l=c===a.nullishCoalescing;if(c===a.pipeline?(this.expectPlugin("pipelineOperator"),this.state.inPipeline=!0,this.checkPipelineAtInfixOperator(t,e)):l&&(i=a.logicalAND.binop),this.next(),c===a.pipeline&&"minimal"===this.getPluginOption("pipelineOperator","proposal")&&this.match(a.name)&&"await"===this.state.value&&this.prodParam.hasAwait)throw this.raise(this.state.start,m.UnexpectedAwaitAfterPipelineBody);u.right=this.parseExprOpRightExpr(c,i,n),this.finishNode(u,h||l?"LogicalExpression":"BinaryExpression");const p=this.state.type;if(l&&(p===a.logicalOR||p===a.logicalAND)||h&&p===a.nullishCoalescing)throw this.raise(this.state.start,m.MixingCoalesceWithLogical);return this.parseExprOp(u,e,r,s,n)}return t}parseExprOpRightExpr(t,e,r){const s=this.state.start,n=this.state.startLoc;switch(t){case a.pipeline:switch(this.getPluginOption("pipelineOperator","proposal")){case"smart":return this.withTopicPermittingContext(()=>this.parseSmartPipelineBody(this.parseExprOpBaseRightExpr(t,e,r),s,n));case"fsharp":return this.withSoloAwaitPermittingContext(()=>this.parseFSharpPipelineBody(e,r))}default:return this.parseExprOpBaseRightExpr(t,e,r)}}parseExprOpBaseRightExpr(t,e,r){const s=this.state.start,n=this.state.startLoc;return this.parseExprOp(this.parseMaybeUnary(),s,n,t.rightAssociative?e-1:e,r)}parseMaybeUnary(t){if(this.isContextual("await")&&this.isAwaitAllowed())return this.parseAwait();if(this.state.type.prefix){const e=this.startNode(),r=this.match(a.incDec);if(e.operator=this.state.value,e.prefix=!0,"throw"===e.operator&&this.expectPlugin("throwExpressions"),this.next(),e.argument=this.parseMaybeUnary(),this.checkExpressionErrors(t,!0),r)this.checkLVal(e.argument,void 0,void 0,"prefix operation");else if(this.state.strict&&"delete"===e.operator){const t=e.argument;"Identifier"===t.type?this.raise(e.start,m.StrictDelete):"MemberExpression"===t.type&&"PrivateName"===t.property.type&&this.raise(e.start,m.DeletePrivateField)}return this.finishNode(e,r?"UpdateExpression":"UnaryExpression")}const e=this.state.start,r=this.state.startLoc;let s=this.parseExprSubscripts(t);if(this.checkExpressionErrors(t,!1))return s;for(;this.state.type.postfix&&!this.canInsertSemicolon();){const t=this.startNodeAt(e,r);t.operator=this.state.value,t.prefix=!1,t.argument=s,this.checkLVal(s,void 0,void 0,"postfix operation"),this.next(),s=this.finishNode(t,"UpdateExpression")}return s}parseExprSubscripts(t){const e=this.state.start,r=this.state.startLoc,s=this.state.potentialArrowAt,n=this.parseExprAtom(t);return"ArrowFunctionExpression"===n.type&&n.start===s?n:this.parseSubscripts(n,e,r)}parseSubscripts(t,e,r,s){const n={optionalChainMember:!1,maybeAsyncArrow:this.atPossibleAsyncArrow(t),stop:!1};do{const i=this.state.maybeInAsyncArrowHead;n.maybeAsyncArrow&&(this.state.maybeInAsyncArrowHead=!0),t=this.parseSubscript(t,e,r,s,n),n.maybeAsyncArrow=!1,this.state.maybeInAsyncArrowHead=i}while(!n.stop);return t}parseSubscript(t,e,r,s,n){if(!s&&this.eat(a.doubleColon)){const i=this.startNodeAt(e,r);return i.object=t,i.callee=this.parseNoCallExpr(),n.stop=!0,this.parseSubscripts(this.finishNode(i,"BindExpression"),e,r,s)}let i=!1;if(this.match(a.questionDot)){if(n.optionalChainMember=i=!0,s&&40===this.lookaheadCharCode())return n.stop=!0,t;this.next()}const o=this.eat(a.bracketL);if(i&&!this.match(a.parenL)&&!this.match(a.backQuote)||o||this.eat(a.dot)){const s=this.startNodeAt(e,r);return s.object=t,s.property=o?this.parseExpression():i?this.parseIdentifier(!0):this.parseMaybePrivateName(!0),s.computed=o,"PrivateName"===s.property.type&&("Super"===s.object.type&&this.raise(e,m.SuperPrivateField),this.classScope.usePrivateName(s.property.id.name,s.property.start)),o&&this.expect(a.bracketR),n.optionalChainMember?(s.optional=i,this.finishNode(s,"OptionalMemberExpression")):this.finishNode(s,"MemberExpression")}if(!s&&this.match(a.parenL)){const s=this.state.maybeInArrowParameters,o=this.state.yieldPos,u=this.state.awaitPos;this.state.maybeInArrowParameters=!0,this.state.yieldPos=-1,this.state.awaitPos=-1,this.next();let c=this.startNodeAt(e,r);return c.callee=t,i?(c.optional=!0,c.arguments=this.parseCallExpressionArguments(a.parenR,!1)):c.arguments=this.parseCallExpressionArguments(a.parenR,n.maybeAsyncArrow,"Import"===t.type,"Super"!==t.type,c),this.finishCallExpression(c,n.optionalChainMember),n.maybeAsyncArrow&&this.shouldParseAsyncArrow()&&!i?(n.stop=!0,c=this.parseAsyncArrowFromCallExpression(this.startNodeAt(e,r),c),this.checkYieldAwaitInDefaultParams(),this.state.yieldPos=o,this.state.awaitPos=u):(this.toReferencedListDeep(c.arguments),-1!==o&&(this.state.yieldPos=o),(this.isAwaitAllowed()||s)&&-1===u||(this.state.awaitPos=u)),this.state.maybeInArrowParameters=s,c}return this.match(a.backQuote)?this.parseTaggedTemplateExpression(e,r,t,n):(n.stop=!0,t)}parseTaggedTemplateExpression(t,e,r,s,n){const i=this.startNodeAt(t,e);return i.tag=r,i.quasi=this.parseTemplate(!0),n&&(i.typeParameters=n),s.optionalChainMember&&this.raise(t,m.OptionalChainingNoTemplate),this.finishNode(i,"TaggedTemplateExpression")}atPossibleAsyncArrow(t){return"Identifier"===t.type&&"async"===t.name&&this.state.lastTokEnd===t.end&&!this.canInsertSemicolon()&&t.end-t.start==5&&t.start===this.state.potentialArrowAt}finishCallExpression(t,e){if("Import"===t.callee.type)if(1!==t.arguments.length)this.raise(t.start,m.ImportCallArity);else{const e=t.arguments[0];e&&"SpreadElement"===e.type&&this.raise(e.start,m.ImportCallSpreadArgument)}return this.finishNode(t,e?"OptionalCallExpression":"CallExpression")}parseCallExpressionArguments(t,e,r,s,n){const i=[];let o,u=!0;const c=this.state.inFSharpPipelineDirectBody;for(this.state.inFSharpPipelineDirectBody=!1;!this.eat(t);){if(u)u=!1;else if(this.expect(a.comma),this.match(t)){r&&this.raise(this.state.lastTokStart,m.ImportCallArgumentTrailingComma),n&&this.addExtra(n,"trailingComma",this.state.lastTokStart),this.next();break}this.match(a.parenL)&&!o&&(o=this.state.start),i.push(this.parseExprListItem(!1,e?new gt:void 0,e?{start:0}:void 0,s))}return e&&o&&this.shouldParseAsyncArrow()&&this.unexpected(),this.state.inFSharpPipelineDirectBody=c,i}shouldParseAsyncArrow(){return this.match(a.arrow)&&!this.canInsertSemicolon()}parseAsyncArrowFromCallExpression(t,e){var r;return this.expect(a.arrow),this.parseArrowExpression(t,e.arguments,!0,null==(r=e.extra)?void 0:r.trailingComma),t}parseNoCallExpr(){const t=this.state.start,e=this.state.startLoc;return this.parseSubscripts(this.parseExprAtom(),t,e,!0)}parseExprAtom(t){this.state.type===a.slash&&this.readRegexp();const e=this.state.potentialArrowAt===this.state.start;let r;switch(this.state.type){case a._super:return r=this.startNode(),this.next(),!this.match(a.parenL)||this.scope.allowDirectSuper||this.options.allowSuperOutsideMethod?this.scope.allowSuper||this.options.allowSuperOutsideMethod||this.raise(r.start,m.UnexpectedSuper):this.raise(r.start,m.SuperNotAllowed),this.match(a.parenL)||this.match(a.bracketL)||this.match(a.dot)||this.raise(r.start,m.UnsupportedSuper),this.finishNode(r,"Super");case a._import:return r=this.startNode(),this.next(),this.match(a.dot)?this.parseImportMetaProperty(r):(this.match(a.parenL)||this.raise(this.state.lastTokStart,m.UnsupportedImport),this.finishNode(r,"Import"));case a._this:return r=this.startNode(),this.next(),this.finishNode(r,"ThisExpression");case a.name:{r=this.startNode();const t=this.state.containsEsc,s=this.parseIdentifier();if(!t&&"async"===s.name&&this.match(a._function)&&!this.canInsertSemicolon()){const t=this.state.context.length-1;if(this.state.context[t]!==g.functionStatement)throw new Error("Internal error");return this.state.context[t]=g.functionExpression,this.next(),this.parseFunction(r,void 0,!0)}if(e&&!t&&"async"===s.name&&this.match(a.name)&&!this.canInsertSemicolon()){const t=this.state.maybeInArrowParameters,e=this.state.maybeInAsyncArrowHead,s=this.state.yieldPos,n=this.state.awaitPos;this.state.maybeInArrowParameters=!0,this.state.maybeInAsyncArrowHead=!0,this.state.yieldPos=-1,this.state.awaitPos=-1;const i=[this.parseIdentifier()];return this.expect(a.arrow),this.checkYieldAwaitInDefaultParams(),this.state.maybeInArrowParameters=t,this.state.maybeInAsyncArrowHead=e,this.state.yieldPos=s,this.state.awaitPos=n,this.parseArrowExpression(r,i,!0),r}return e&&this.match(a.arrow)&&!this.canInsertSemicolon()?(this.next(),this.parseArrowExpression(r,[s],!1),r):s}case a._do:{this.expectPlugin("doExpressions");const t=this.startNode();this.next();const e=this.state.labels;return this.state.labels=[],t.body=this.parseBlock(),this.state.labels=e,this.finishNode(t,"DoExpression")}case a.regexp:{const t=this.state.value;return r=this.parseLiteral(t.value,"RegExpLiteral"),r.pattern=t.pattern,r.flags=t.flags,r}case a.num:return this.parseLiteral(this.state.value,"NumericLiteral");case a.bigint:return this.parseLiteral(this.state.value,"BigIntLiteral");case a.string:return this.parseLiteral(this.state.value,"StringLiteral");case a._null:return r=this.startNode(),this.next(),this.finishNode(r,"NullLiteral");case a._true:case a._false:return this.parseBooleanLiteral();case a.parenL:return this.parseParenAndDistinguishExpression(e);case a.bracketBarL:case a.bracketHashL:{this.expectPlugin("recordAndTuple");const e=this.state.inFSharpPipelineDirectBody,s=this.state.type===a.bracketBarL?a.bracketBarR:a.bracketR;return this.state.inFSharpPipelineDirectBody=!1,r=this.startNode(),this.next(),r.elements=this.parseExprList(s,!0,t,r),this.state.inFSharpPipelineDirectBody=e,this.finishNode(r,"TupleExpression")}case a.bracketL:{const e=this.state.inFSharpPipelineDirectBody;return this.state.inFSharpPipelineDirectBody=!1,r=this.startNode(),this.next(),r.elements=this.parseExprList(a.bracketR,!0,t,r),this.state.maybeInArrowParameters||this.toReferencedList(r.elements),this.state.inFSharpPipelineDirectBody=e,this.finishNode(r,"ArrayExpression")}case a.braceBarL:case a.braceHashL:{this.expectPlugin("recordAndTuple");const e=this.state.inFSharpPipelineDirectBody,r=this.state.type===a.braceBarL?a.braceBarR:a.braceR;this.state.inFSharpPipelineDirectBody=!1;const s=this.parseObj(r,!1,!0,t);return this.state.inFSharpPipelineDirectBody=e,s}case a.braceL:{const e=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!1;const r=this.parseObj(a.braceR,!1,!1,t);return this.state.inFSharpPipelineDirectBody=e,r}case a._function:return this.parseFunctionExpression();case a.at:this.parseDecorators();case a._class:return r=this.startNode(),this.takeDecorators(r),this.parseClass(r,!1);case a._new:return this.parseNew();case a.backQuote:return this.parseTemplate(!1);case a.doubleColon:{r=this.startNode(),this.next(),r.object=null;const t=r.callee=this.parseNoCallExpr();if("MemberExpression"===t.type)return this.finishNode(r,"BindExpression");throw this.raise(t.start,m.UnsupportedBind)}case a.hash:if(this.state.inPipeline)return r=this.startNode(),"smart"!==this.getPluginOption("pipelineOperator","proposal")&&this.raise(r.start,m.PrimaryTopicRequiresSmartPipeline),this.next(),this.primaryTopicReferenceIsAllowedInCurrentTopicContext()||this.raise(r.start,m.PrimaryTopicNotAllowed),this.registerTopicReference(),this.finishNode(r,"PipelinePrimaryTopicReference");default:throw this.unexpected()}}parseBooleanLiteral(){const t=this.startNode();return t.value=this.match(a._true),this.next(),this.finishNode(t,"BooleanLiteral")}parseMaybePrivateName(t){if(this.match(a.hash)){this.expectOnePlugin(["classPrivateProperties","classPrivateMethods"]),t||this.raise(this.state.pos,m.UnexpectedPrivateField);const e=this.startNode();return this.next(),this.assertNoSpace("Unexpected space between # and identifier"),e.id=this.parseIdentifier(!0),this.finishNode(e,"PrivateName")}return this.parseIdentifier(!0)}parseFunctionExpression(){const t=this.startNode();let e=this.startNode();return this.next(),e=this.createIdentifier(e,"function"),this.prodParam.hasYield&&this.eat(a.dot)?this.parseMetaProperty(t,e,"sent"):this.parseFunction(t)}parseMetaProperty(t,e,r){t.meta=e,"function"===e.name&&"sent"===r&&(this.isContextual(r)?this.expectPlugin("functionSent"):this.hasPlugin("functionSent")||this.unexpected());const s=this.state.containsEsc;return t.property=this.parseIdentifier(!0),(t.property.name!==r||s)&&this.raise(t.property.start,m.UnsupportedMetaProperty,e.name,r),this.finishNode(t,"MetaProperty")}parseImportMetaProperty(t){const e=this.createIdentifier(this.startNodeAtNode(t),"import");return this.expect(a.dot),this.isContextual("meta")?(this.expectPlugin("importMeta"),this.inModule||this.raiseWithData(e.start,{code:"BABEL_PARSER_SOURCETYPE_MODULE_REQUIRED"},m.ImportMetaOutsideModule),this.sawUnambiguousESM=!0):this.hasPlugin("importMeta")||this.raise(e.start,m.ImportCallArityLtOne),this.parseMetaProperty(t,e,"meta")}parseLiteral(t,e,r,s){r=r||this.state.start,s=s||this.state.startLoc;const n=this.startNodeAt(r,s);return this.addExtra(n,"rawValue",t),this.addExtra(n,"raw",this.input.slice(r,this.state.end)),n.value=t,this.next(),this.finishNode(n,e)}parseParenAndDistinguishExpression(t){const e=this.state.start,r=this.state.startLoc;let s;this.expect(a.parenL);const n=this.state.maybeInArrowParameters,i=this.state.yieldPos,o=this.state.awaitPos,u=this.state.inFSharpPipelineDirectBody;this.state.maybeInArrowParameters=!0,this.state.yieldPos=-1,this.state.awaitPos=-1,this.state.inFSharpPipelineDirectBody=!1;const c=this.state.start,h=this.state.startLoc,l=[],p=new gt,f={start:0};let d,m,y=!0;for(;!this.match(a.parenR);){if(y)y=!1;else if(this.expect(a.comma,f.start||null),this.match(a.parenR)){m=this.state.start;break}if(this.match(a.ellipsis)){const t=this.state.start,e=this.state.startLoc;d=this.state.start,l.push(this.parseParenItem(this.parseRestBinding(),t,e)),this.checkCommaAfterRest(41);break}l.push(this.parseMaybeAssign(!1,p,this.parseParenItem,f))}const D=this.state.start,g=this.state.startLoc;this.expect(a.parenR),this.state.maybeInArrowParameters=n,this.state.inFSharpPipelineDirectBody=u;let x=this.startNodeAt(e,r);if(t&&this.shouldParseArrow()&&(x=this.parseArrow(x))){this.isAwaitAllowed()||this.state.maybeInAsyncArrowHead||(this.state.awaitPos=o),this.checkYieldAwaitInDefaultParams(),this.state.yieldPos=i,this.state.awaitPos=o;for(let t=0;t<l.length;t++){const e=l[t];e.extra&&e.extra.parenthesized&&this.unexpected(e.extra.parenStart)}return this.parseArrowExpression(x,l,!1),x}if(-1!==i&&(this.state.yieldPos=i),-1!==o&&(this.state.awaitPos=o),l.length||this.unexpected(this.state.lastTokStart),m&&this.unexpected(m),d&&this.unexpected(d),this.checkExpressionErrors(p,!0),f.start&&this.unexpected(f.start),this.toReferencedListDeep(l,!0),l.length>1?(s=this.startNodeAt(c,h),s.expressions=l,this.finishNodeAt(s,"SequenceExpression",D,g)):s=l[0],!this.options.createParenthesizedExpressions)return this.addExtra(s,"parenthesized",!0),this.addExtra(s,"parenStart",e),s;const b=this.startNodeAt(e,r);return b.expression=s,this.finishNode(b,"ParenthesizedExpression"),b}shouldParseArrow(){return!this.canInsertSemicolon()}parseArrow(t){if(this.eat(a.arrow))return t}parseParenItem(t,e,r){return t}parseNew(){const t=this.startNode();let e=this.startNode();if(this.next(),e=this.createIdentifier(e,"new"),this.eat(a.dot)){const r=this.parseMetaProperty(t,e,"target");if(!this.scope.inNonArrowFunction&&!this.scope.inClass){let t=m.UnexpectedNewTarget;this.hasPlugin("classProperties")&&(t+=" or class properties"),this.raise(r.start,t)}return r}return t.callee=this.parseNoCallExpr(),"Import"===t.callee.type?this.raise(t.callee.start,m.ImportCallNotNewExpression):"OptionalMemberExpression"===t.callee.type||"OptionalCallExpression"===t.callee.type?this.raise(this.state.lastTokEnd,m.OptionalChainingNoNew):this.eat(a.questionDot)&&this.raise(this.state.start,m.OptionalChainingNoNew),this.parseNewArguments(t),this.finishNode(t,"NewExpression")}parseNewArguments(t){if(this.eat(a.parenL)){const e=this.parseExprList(a.parenR);this.toReferencedList(e),t.arguments=e}else t.arguments=[]}parseTemplateElement(t){const e=this.startNode();return null===this.state.value&&(t||this.raise(this.state.start+1,m.InvalidEscapeSequenceTemplate)),e.value={raw:this.input.slice(this.state.start,this.state.end).replace(/\r\n?/g,"\n"),cooked:this.state.value},this.next(),e.tail=this.match(a.backQuote),this.finishNode(e,"TemplateElement")}parseTemplate(t){const e=this.startNode();this.next(),e.expressions=[];let r=this.parseTemplateElement(t);for(e.quasis=[r];!r.tail;)this.expect(a.dollarBraceL),e.expressions.push(this.parseExpression()),this.expect(a.braceR),e.quasis.push(r=this.parseTemplateElement(t));return this.next(),this.finishNode(e,"TemplateLiteral")}parseObj(t,e,r,s){const n=Object.create(null);let i=!0;const o=this.startNode();for(o.properties=[],this.next();!this.eat(t);){if(i)i=!1;else if(this.expect(a.comma),this.match(t)){this.addExtra(o,"trailingComma",this.state.lastTokStart),this.next();break}const r=this.parseObjectMember(e,s);e||this.checkDuplicatedProto(r,n,s),r.shorthand&&this.addExtra(r,"shorthand",!0),o.properties.push(r)}let u="ObjectExpression";return e?u="ObjectPattern":r&&(u="RecordExpression"),this.finishNode(o,u)}isAsyncProp(t){return!t.computed&&"Identifier"===t.key.type&&"async"===t.key.name&&(this.match(a.name)||this.match(a.num)||this.match(a.string)||this.match(a.bracketL)||this.state.type.keyword||this.match(a.star))&&!this.hasPrecedingLineBreak()}parseObjectMember(t,e){let r=[];if(this.match(a.at))for(this.hasPlugin("decorators")&&this.raise(this.state.start,m.UnsupportedPropertyDecorator);this.match(a.at);)r.push(this.parseDecorator());const s=this.startNode();let n,i,o=!1,u=!1;if(this.match(a.ellipsis))return r.length&&this.unexpected(),t?(this.next(),s.argument=this.parseIdentifier(),this.checkCommaAfterRest(125),this.finishNode(s,"RestElement")):this.parseSpread();r.length&&(s.decorators=r,r=[]),s.method=!1,(t||e)&&(n=this.state.start,i=this.state.startLoc),t||(o=this.eat(a.star));const c=this.state.containsEsc;return this.parsePropertyName(s,!1),t||c||o||!this.isAsyncProp(s)?u=!1:(u=!0,o=this.eat(a.star),this.parsePropertyName(s,!1)),this.parseObjPropValue(s,n,i,o,u,t,e,c),s}isGetterOrSetterMethod(t,e){return!e&&!t.computed&&"Identifier"===t.key.type&&("get"===t.key.name||"set"===t.key.name)&&(this.match(a.string)||this.match(a.num)||this.match(a.bracketL)||this.match(a.name)||!!this.state.type.keyword)}getGetterSetterExpectedParamCount(t){return"get"===t.kind?0:1}checkGetterSetterParams(t){const e=this.getGetterSetterExpectedParamCount(t),r=t.start;t.params.length!==e&&("get"===t.kind?this.raise(r,m.BadGetterArity):this.raise(r,m.BadSetterArity)),"set"===t.kind&&"RestElement"===t.params[t.params.length-1].type&&this.raise(r,m.BadSetterRestParameter)}parseObjectMethod(t,e,r,s,n){return r||e||this.match(a.parenL)?(s&&this.unexpected(),t.kind="method",t.method=!0,this.parseMethod(t,e,r,!1,!1,"ObjectMethod")):!n&&this.isGetterOrSetterMethod(t,s)?((e||r)&&this.unexpected(),t.kind=t.key.name,this.parsePropertyName(t,!1),this.parseMethod(t,!1,!1,!1,!1,"ObjectMethod"),this.checkGetterSetterParams(t),t):void 0}parseObjectProperty(t,e,r,s,n){return t.shorthand=!1,this.eat(a.colon)?(t.value=s?this.parseMaybeDefault(this.state.start,this.state.startLoc):this.parseMaybeAssign(!1,n),this.finishNode(t,"ObjectProperty")):t.computed||"Identifier"!==t.key.type?void 0:(this.checkReservedWord(t.key.name,t.key.start,!0,!0),s?t.value=this.parseMaybeDefault(e,r,t.key.__clone()):this.match(a.eq)&&n?(-1===n.shorthandAssign&&(n.shorthandAssign=this.state.start),t.value=this.parseMaybeDefault(e,r,t.key.__clone())):t.value=t.key.__clone(),t.shorthand=!0,this.finishNode(t,"ObjectProperty"))}parseObjPropValue(t,e,r,s,n,i,a,o){const u=this.parseObjectMethod(t,s,n,i,o)||this.parseObjectProperty(t,e,r,i,a);return u||this.unexpected(),u}parsePropertyName(t,e){if(this.eat(a.bracketL))t.computed=!0,t.key=this.parseMaybeAssign(),this.expect(a.bracketR);else{const r=this.state.inPropertyName;this.state.inPropertyName=!0,t.key=this.match(a.num)||this.match(a.string)||this.match(a.bigint)?this.parseExprAtom():this.parseMaybePrivateName(e),"PrivateName"!==t.key.type&&(t.computed=!1),this.state.inPropertyName=r}return t.key}initFunction(t,e){t.id=null,t.generator=!1,t.async=!!e}parseMethod(t,e,r,s,n,i,a=!1){const o=this.state.yieldPos,u=this.state.awaitPos;this.state.yieldPos=-1,this.state.awaitPos=-1,this.initFunction(t,r),t.generator=!!e;const c=s;return this.scope.enter(18|(a?64:0)|(n?32:0)),this.prodParam.enter(et(r,t.generator)),this.parseFunctionParams(t,c),this.parseFunctionBodyAndFinish(t,i,!0),this.prodParam.exit(),this.scope.exit(),this.state.yieldPos=o,this.state.awaitPos=u,t}parseArrowExpression(t,e,r,s){this.scope.enter(6),this.prodParam.enter(et(r,!1)),this.initFunction(t,r);const n=this.state.maybeInArrowParameters,i=this.state.yieldPos,a=this.state.awaitPos;return e&&(this.state.maybeInArrowParameters=!0,this.setArrowFunctionParameters(t,e,s)),this.state.maybeInArrowParameters=!1,this.state.yieldPos=-1,this.state.awaitPos=-1,this.parseFunctionBody(t,!0),this.prodParam.exit(),this.scope.exit(),this.state.maybeInArrowParameters=n,this.state.yieldPos=i,this.state.awaitPos=a,this.finishNode(t,"ArrowFunctionExpression")}setArrowFunctionParameters(t,e,r){t.params=this.toAssignableList(e,r)}parseFunctionBodyAndFinish(t,e,r=!1){this.parseFunctionBody(t,!1,r),this.finishNode(t,e)}parseFunctionBody(t,e,r=!1){const s=e&&!this.match(a.braceL),n=this.state.inParameters;if(this.state.inParameters=!1,s)t.body=this.parseMaybeAssign(),this.checkParams(t,!1,e,!1);else{const s=this.state.strict,n=this.state.labels;this.state.labels=[],this.prodParam.enter(4|this.prodParam.currentFlags()),t.body=this.parseBlock(!0,!1,n=>{const i=!this.isSimpleParamList(t.params);if(n&&i){const e="method"!==t.kind&&"constructor"!==t.kind||!t.key?t.start:t.key.end;this.raise(e,m.IllegalLanguageModeDirective)}const a=!s&&this.state.strict;this.checkParams(t,!(this.state.strict||e||r||i),e,a),this.state.strict&&t.id&&this.checkLVal(t.id,65,void 0,"function name",void 0,a)}),this.prodParam.exit(),this.state.labels=n}this.state.inParameters=n}isSimpleParamList(t){for(let e=0,r=t.length;e<r;e++)if("Identifier"!==t[e].type)return!1;return!0}checkParams(t,e,r,s=!0){const n=Object.create(null);for(let i=0;i<t.params.length;i++)this.checkLVal(t.params[i],5,e?null:n,"function parameter list",void 0,s)}parseExprList(t,e,r,s){const n=[];let i=!0;for(;!this.eat(t);){if(i)i=!1;else if(this.expect(a.comma),this.match(t)){s&&this.addExtra(s,"trailingComma",this.state.lastTokStart),this.next();break}n.push(this.parseExprListItem(e,r))}return n}parseExprListItem(t,e,r,s){let n;if(t&&this.match(a.comma))n=null;else if(this.match(a.ellipsis)){const t=this.state.start,s=this.state.startLoc;n=this.parseParenItem(this.parseSpread(e,r),t,s)}else if(this.match(a.question)){this.expectPlugin("partialApplication"),s||this.raise(this.state.start,m.UnexpectedArgumentPlaceholder);const t=this.startNode();this.next(),n=this.finishNode(t,"ArgumentPlaceholder")}else n=this.parseMaybeAssign(!1,e,this.parseParenItem,r);return n}parseIdentifier(t){const e=this.startNode(),r=this.parseIdentifierName(e.start,t);return this.createIdentifier(e,r)}createIdentifier(t,e){return t.name=e,t.loc.identifierName=e,this.finishNode(t,"Identifier")}parseIdentifierName(t,e){let r;if(this.match(a.name))r=this.state.value;else{if(!this.state.type.keyword)throw this.unexpected();r=this.state.type.keyword,"class"!==r&&"function"!==r||this.state.lastTokEnd===this.state.lastTokStart+1&&46===this.input.charCodeAt(this.state.lastTokStart)||this.state.context.pop()}return e?this.state.type=a.name:this.checkReservedWord(r,this.state.start,!!this.state.type.keyword,!1),this.next(),r}checkReservedWord(t,e,r,s){if(this.prodParam.hasYield&&"yield"===t)this.raise(e,m.YieldBindingIdentifier);else{if("await"===t){if(this.prodParam.hasAwait)return void this.raise(e,m.AwaitBindingIdentifier);-1===this.state.awaitPos&&(this.state.maybeInAsyncArrowHead||this.isAwaitAllowed())&&(this.state.awaitPos=this.state.start)}!this.scope.inClass||this.scope.inNonArrowFunction||"arguments"!==t?r&&function(t){return k.has(t)}(t)?this.raise(e,m.UnexpectedKeyword,t):(this.state.strict?s?R:O:I)(t,this.inModule)&&(this.prodParam.hasAwait||"await"!==t?this.raise(e,m.UnexpectedReservedWord,t):this.raise(e,m.AwaitNotInAsyncFunction)):this.raise(e,m.ArgumentsDisallowedInInitializer)}}isAwaitAllowed(){return this.scope.inFunction?this.prodParam.hasAwait:!!this.options.allowAwaitOutsideFunction||!!this.hasPlugin("topLevelAwait")&&this.inModule&&this.prodParam.hasAwait}parseAwait(){const t=this.startNode();return this.next(),this.state.inParameters?this.raise(t.start,m.AwaitExpressionFormalParameter):-1===this.state.awaitPos&&(this.state.awaitPos=t.start),this.eat(a.star)&&this.raise(t.start,m.ObsoleteAwaitStar),this.scope.inFunction||this.options.allowAwaitOutsideFunction||(this.hasPrecedingLineBreak()||this.match(a.plusMin)||this.match(a.parenL)||this.match(a.bracketL)||this.match(a.backQuote)||this.match(a.regexp)||this.match(a.slash)||this.hasPlugin("v8intrinsic")&&this.match(a.modulo)?this.ambiguousScriptDifferentAst=!0:this.sawUnambiguousESM=!0),this.state.soloAwait||(t.argument=this.parseMaybeUnary()),this.finishNode(t,"AwaitExpression")}parseYield(t){const e=this.startNode();return this.state.inParameters?this.raise(e.start,m.YieldInParameter):-1===this.state.yieldPos&&(this.state.yieldPos=e.start),this.next(),this.match(a.semi)||!this.match(a.star)&&!this.state.type.startsExpr||this.hasPrecedingLineBreak()?(e.delegate=!1,e.argument=null):(e.delegate=this.eat(a.star),e.argument=this.parseMaybeAssign(t)),this.finishNode(e,"YieldExpression")}checkPipelineAtInfixOperator(t,e){"smart"===this.getPluginOption("pipelineOperator","proposal")&&"SequenceExpression"===t.type&&this.raise(e,m.PipelineHeadSequenceExpression)}parseSmartPipelineBody(t,e,r){const s=this.checkSmartPipelineBodyStyle(t);return this.checkSmartPipelineBodyEarlyErrors(t,s,e),this.parseSmartPipelineBodyInStyle(t,s,e,r)}checkSmartPipelineBodyEarlyErrors(t,e,r){if(this.match(a.arrow))throw this.raise(this.state.start,m.PipelineBodyNoArrow);"PipelineTopicExpression"===e&&"SequenceExpression"===t.type&&this.raise(r,m.PipelineBodySequenceExpression)}parseSmartPipelineBodyInStyle(t,e,r,s){const n=this.startNodeAt(r,s);switch(e){case"PipelineBareFunction":n.callee=t;break;case"PipelineBareConstructor":n.callee=t.callee;break;case"PipelineBareAwaitedFunction":n.callee=t.argument;break;case"PipelineTopicExpression":this.topicReferenceWasUsedInCurrentTopicContext()||this.raise(r,m.PipelineTopicUnused),n.expression=t;break;default:throw new Error("Internal @babel/parser error: Unknown pipeline style (".concat(e,")"))}return this.finishNode(n,e)}checkSmartPipelineBodyStyle(t){return t.type,this.isSimpleReference(t)?"PipelineBareFunction":"PipelineTopicExpression"}isSimpleReference(t){switch(t.type){case"MemberExpression":return!t.computed&&this.isSimpleReference(t.object);case"Identifier":return!0;default:return!1}}withTopicPermittingContext(t){const e=this.state.topicContext;this.state.topicContext={maxNumOfResolvableTopics:1,maxTopicIndex:null};try{return t()}finally{this.state.topicContext=e}}withTopicForbiddingContext(t){const e=this.state.topicContext;this.state.topicContext={maxNumOfResolvableTopics:0,maxTopicIndex:null};try{return t()}finally{this.state.topicContext=e}}withSoloAwaitPermittingContext(t){const e=this.state.soloAwait;this.state.soloAwait=!0;try{return t()}finally{this.state.soloAwait=e}}registerTopicReference(){this.state.topicContext.maxTopicIndex=0}primaryTopicReferenceIsAllowedInCurrentTopicContext(){return this.state.topicContext.maxNumOfResolvableTopics>=1}topicReferenceWasUsedInCurrentTopicContext(){return null!=this.state.topicContext.maxTopicIndex&&this.state.topicContext.maxTopicIndex>=0}parseFSharpPipelineBody(t,e){const r=this.state.start,s=this.state.startLoc;this.state.potentialArrowAt=this.state.start;const n=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!0;const i=this.parseExprOp(this.parseMaybeUnary(),r,s,t,e);return this.state.inFSharpPipelineDirectBody=n,i}}{parseTopLevel(t,e){if(e.sourceType=this.options.sourceType,e.interpreter=this.parseInterpreterDirective(),this.parseBlockBody(e,!0,!0,a.eof),this.inModule&&!this.options.allowUndeclaredExports&&this.scope.undefinedExports.size>0)for(let r=0,s=Array.from(this.scope.undefinedExports);r<s.length;r++){const[t]=s[r],e=this.scope.undefinedExports.get(t);this.raise(e,m.ModuleExportUndefined,t)}return t.program=this.finishNode(e,"Program"),t.comments=this.state.comments,this.options.tokens&&(t.tokens=this.tokens),this.finishNode(t,"File")}stmtToDirective(t){const e=t.expression,r=this.startNodeAt(e.start,e.loc.start),s=this.startNodeAt(t.start,t.loc.start),n=this.input.slice(e.start,e.end),i=r.value=n.slice(1,-1);return this.addExtra(r,"raw",n),this.addExtra(r,"rawValue",i),s.value=this.finishNodeAt(r,"DirectiveLiteral",e.end,e.loc.end),this.finishNodeAt(s,"Directive",t.end,t.loc.end)}parseInterpreterDirective(){if(!this.match(a.interpreterDirective))return null;const t=this.startNode();return t.value=this.state.value,this.next(),this.finishNode(t,"InterpreterDirective")}isLet(t){if(!this.isContextual("let"))return!1;const e=this.nextTokenStart(),r=this.input.charCodeAt(e);if(91===r)return!0;if(t)return!1;if(123===r)return!0;if(A(r)){let t=e+1;for(;T(this.input.charCodeAt(t));)++t;const r=this.input.slice(e,t);if(!B.test(r))return!0}return!1}parseStatement(t,e){return this.match(a.at)&&this.parseDecorators(!0),this.parseStatementContent(t,e)}parseStatementContent(t,e){let r=this.state.type;const s=this.startNode();let n;switch(this.isLet(t)&&(r=a._var,n="let"),r){case a._break:case a._continue:return this.parseBreakContinueStatement(s,r.keyword);case a._debugger:return this.parseDebuggerStatement(s);case a._do:return this.parseDoStatement(s);case a._for:return this.parseForStatement(s);case a._function:if(46===this.lookaheadCharCode())break;return t&&(this.state.strict?this.raise(this.state.start,m.StrictFunction):"if"!==t&&"label"!==t&&this.raise(this.state.start,m.SloppyFunction)),this.parseFunctionStatement(s,!1,!t);case a._class:return t&&this.unexpected(),this.parseClass(s,!0);case a._if:return this.parseIfStatement(s);case a._return:return this.parseReturnStatement(s);case a._switch:return this.parseSwitchStatement(s);case a._throw:return this.parseThrowStatement(s);case a._try:return this.parseTryStatement(s);case a._const:case a._var:return n=n||this.state.value,t&&"var"!==n&&this.raise(this.state.start,m.UnexpectedLexicalDeclaration),this.parseVarStatement(s,n);case a._while:return this.parseWhileStatement(s);case a._with:return this.parseWithStatement(s);case a.braceL:return this.parseBlock();case a.semi:return this.parseEmptyStatement(s);case a._export:case a._import:{const t=this.lookaheadCharCode();if(40===t||46===t)break;let n;return this.options.allowImportExportEverywhere||e||this.raise(this.state.start,m.UnexpectedImportExport),this.next(),r===a._import?(n=this.parseImport(s),"ImportDeclaration"!==n.type||n.importKind&&"value"!==n.importKind||(this.sawUnambiguousESM=!0)):(n=this.parseExport(s),("ExportNamedDeclaration"!==n.type||n.exportKind&&"value"!==n.exportKind)&&("ExportAllDeclaration"!==n.type||n.exportKind&&"value"!==n.exportKind)&&"ExportDefaultDeclaration"!==n.type||(this.sawUnambiguousESM=!0)),this.assertModuleNodeAllowed(s),n}default:if(this.isAsyncFunction())return t&&this.raise(this.state.start,m.AsyncFunctionInSingleStatementContext),this.next(),this.parseFunctionStatement(s,!0,!t)}const i=this.state.value,o=this.parseExpression();return r===a.name&&"Identifier"===o.type&&this.eat(a.colon)?this.parseLabeledStatement(s,i,o,t):this.parseExpressionStatement(s,o)}assertModuleNodeAllowed(t){this.options.allowImportExportEverywhere||this.inModule||this.raiseWithData(t.start,{code:"BABEL_PARSER_SOURCETYPE_MODULE_REQUIRED"},m.ImportOutsideModule)}takeDecorators(t){const e=this.state.decoratorStack[this.state.decoratorStack.length-1];e.length&&(t.decorators=e,this.resetStartLocationFromNode(t,e[0]),this.state.decoratorStack[this.state.decoratorStack.length-1]=[])}canHaveLeadingDecorator(){return this.match(a._class)}parseDecorators(t){const e=this.state.decoratorStack[this.state.decoratorStack.length-1];for(;this.match(a.at);){const t=this.parseDecorator();e.push(t)}if(this.match(a._export))t||this.unexpected(),this.hasPlugin("decorators")&&!this.getPluginOption("decorators","decoratorsBeforeExport")&&this.raise(this.state.start,m.DecoratorExportClass);else if(!this.canHaveLeadingDecorator())throw this.raise(this.state.start,m.UnexpectedLeadingDecorator)}parseDecorator(){this.expectOnePlugin(["decorators-legacy","decorators"]);const t=this.startNode();if(this.next(),this.hasPlugin("decorators")){this.state.decoratorStack.push([]);const e=this.state.start,r=this.state.startLoc;let s;if(this.eat(a.parenL))s=this.parseExpression(),this.expect(a.parenR);else for(s=this.parseIdentifier(!1);this.eat(a.dot);){const t=this.startNodeAt(e,r);t.object=s,t.property=this.parseIdentifier(!0),t.computed=!1,s=this.finishNode(t,"MemberExpression")}t.expression=this.parseMaybeDecoratorArguments(s),this.state.decoratorStack.pop()}else t.expression=this.parseExprSubscripts();return this.finishNode(t,"Decorator")}parseMaybeDecoratorArguments(t){if(this.eat(a.parenL)){const e=this.startNodeAtNode(t);return e.callee=t,e.arguments=this.parseCallExpressionArguments(a.parenR,!1),this.toReferencedList(e.arguments),this.finishNode(e,"CallExpression")}return t}parseBreakContinueStatement(t,e){const r="break"===e;return this.next(),this.isLineTerminator()?t.label=null:(t.label=this.parseIdentifier(),this.semicolon()),this.verifyBreakContinue(t,e),this.finishNode(t,r?"BreakStatement":"ContinueStatement")}verifyBreakContinue(t,e){const r="break"===e;let s;for(s=0;s<this.state.labels.length;++s){const e=this.state.labels[s];if(null==t.label||e.name===t.label.name){if(null!=e.kind&&(r||"loop"===e.kind))break;if(t.label&&r)break}}s===this.state.labels.length&&this.raise(t.start,m.IllegalBreakContinue,e)}parseDebuggerStatement(t){return this.next(),this.semicolon(),this.finishNode(t,"DebuggerStatement")}parseHeaderExpression(){this.expect(a.parenL);const t=this.parseExpression();return this.expect(a.parenR),t}parseDoStatement(t){return this.next(),this.state.labels.push(vt),t.body=this.withTopicForbiddingContext(()=>this.parseStatement("do")),this.state.labels.pop(),this.expect(a._while),t.test=this.parseHeaderExpression(),this.eat(a.semi),this.finishNode(t,"DoWhileStatement")}parseForStatement(t){this.next(),this.state.labels.push(vt);let e=-1;if(this.isAwaitAllowed()&&this.eatContextual("await")&&(e=this.state.lastTokStart),this.scope.enter(0),this.expect(a.parenL),this.match(a.semi))return e>-1&&this.unexpected(e),this.parseFor(t,null);const r=this.isLet();if(this.match(a._var)||this.match(a._const)||r){const s=this.startNode(),n=r?"let":this.state.value;return this.next(),this.parseVar(s,!0,n),this.finishNode(s,"VariableDeclaration"),(this.match(a._in)||this.isContextual("of"))&&1===s.declarations.length?this.parseForIn(t,s,e):(e>-1&&this.unexpected(e),this.parseFor(t,s))}const s=new gt,n=this.parseExpression(!0,s);if(this.match(a._in)||this.isContextual("of")){this.toAssignable(n);const r=this.isContextual("of")?"for-of statement":"for-in statement";return this.checkLVal(n,void 0,void 0,r),this.parseForIn(t,n,e)}return this.checkExpressionErrors(s,!0),e>-1&&this.unexpected(e),this.parseFor(t,n)}parseFunctionStatement(t,e,r){return this.next(),this.parseFunction(t,1|(r?0:2),e)}parseIfStatement(t){return this.next(),t.test=this.parseHeaderExpression(),t.consequent=this.parseStatement("if"),t.alternate=this.eat(a._else)?this.parseStatement("if"):null,this.finishNode(t,"IfStatement")}parseReturnStatement(t){return this.prodParam.hasReturn||this.options.allowReturnOutsideFunction||this.raise(this.state.start,m.IllegalReturn),this.next(),this.isLineTerminator()?t.argument=null:(t.argument=this.parseExpression(),this.semicolon()),this.finishNode(t,"ReturnStatement")}parseSwitchStatement(t){this.next(),t.discriminant=this.parseHeaderExpression();const e=t.cases=[];let r,s;for(this.expect(a.braceL),this.state.labels.push(wt),this.scope.enter(0);!this.match(a.braceR);)if(this.match(a._case)||this.match(a._default)){const t=this.match(a._case);r&&this.finishNode(r,"SwitchCase"),e.push(r=this.startNode()),r.consequent=[],this.next(),t?r.test=this.parseExpression():(s&&this.raise(this.state.lastTokStart,m.MultipleDefaultsInSwitch),s=!0,r.test=null),this.expect(a.colon)}else r?r.consequent.push(this.parseStatement(null)):this.unexpected();return this.scope.exit(),r&&this.finishNode(r,"SwitchCase"),this.next(),this.state.labels.pop(),this.finishNode(t,"SwitchStatement")}parseThrowStatement(t){return this.next(),o.test(this.input.slice(this.state.lastTokEnd,this.state.start))&&this.raise(this.state.lastTokEnd,m.NewlineAfterThrow),t.argument=this.parseExpression(),this.semicolon(),this.finishNode(t,"ThrowStatement")}parseTryStatement(t){if(this.next(),t.block=this.parseBlock(),t.handler=null,this.match(a._catch)){const e=this.startNode();if(this.next(),this.match(a.parenL)){this.expect(a.parenL),e.param=this.parseBindingAtom();const t="Identifier"===e.param.type;this.scope.enter(t?8:0),this.checkLVal(e.param,9,null,"catch clause"),this.expect(a.parenR)}else e.param=null,this.scope.enter(0);e.body=this.withTopicForbiddingContext(()=>this.parseBlock(!1,!1)),this.scope.exit(),t.handler=this.finishNode(e,"CatchClause")}return t.finalizer=this.eat(a._finally)?this.parseBlock():null,t.handler||t.finalizer||this.raise(t.start,m.NoCatchOrFinally),this.finishNode(t,"TryStatement")}parseVarStatement(t,e){return this.next(),this.parseVar(t,!1,e),this.semicolon(),this.finishNode(t,"VariableDeclaration")}parseWhileStatement(t){return this.next(),t.test=this.parseHeaderExpression(),this.state.labels.push(vt),t.body=this.withTopicForbiddingContext(()=>this.parseStatement("while")),this.state.labels.pop(),this.finishNode(t,"WhileStatement")}parseWithStatement(t){return this.state.strict&&this.raise(this.state.start,m.StrictWith),this.next(),t.object=this.parseHeaderExpression(),t.body=this.withTopicForbiddingContext(()=>this.parseStatement("with")),this.finishNode(t,"WithStatement")}parseEmptyStatement(t){return this.next(),this.finishNode(t,"EmptyStatement")}parseLabeledStatement(t,e,r,s){for(let i=0,a=this.state.labels;i<a.length;i++)a[i].name===e&&this.raise(r.start,m.LabelRedeclaration,e);const n=this.state.type.isLoop?"loop":this.match(a._switch)?"switch":null;for(let i=this.state.labels.length-1;i>=0;i--){const e=this.state.labels[i];if(e.statementStart!==t.start)break;e.statementStart=this.state.start,e.kind=n}return this.state.labels.push({name:e,kind:n,statementStart:this.state.start}),t.body=this.parseStatement(s?-1===s.indexOf("label")?s+"label":s:"label"),this.state.labels.pop(),t.label=r,this.finishNode(t,"LabeledStatement")}parseExpressionStatement(t,e){return t.expression=e,this.semicolon(),this.finishNode(t,"ExpressionStatement")}parseBlock(t=!1,e=!0,r){const s=this.startNode();return this.expect(a.braceL),e&&this.scope.enter(0),this.parseBlockBody(s,t,!1,a.braceR,r),e&&this.scope.exit(),this.finishNode(s,"BlockStatement")}isValidDirective(t){return"ExpressionStatement"===t.type&&"StringLiteral"===t.expression.type&&!t.expression.extra.parenthesized}parseBlockBody(t,e,r,s,n){const i=t.body=[],a=t.directives=[];this.parseBlockOrModuleBlockBody(i,e?a:void 0,r,s,n)}parseBlockOrModuleBlockBody(t,e,r,s,n){const i=[],a=this.state.strict;let o=!1,u=!1;for(;!this.match(s);){!u&&this.state.octalPositions.length&&i.push(...this.state.octalPositions);const s=this.parseStatement(null,r);if(e&&!u&&this.isValidDirective(s)){const t=this.stmtToDirective(s);e.push(t),o||"use strict"!==t.value.value||(o=!0,this.setStrict(!0))}else u=!0,t.push(s)}if(this.state.strict&&i.length)for(let c=0;c<i.length;c++){const t=i[c];this.raise(t,m.StrictOctalLiteral)}n&&n.call(this,o),a||this.setStrict(!1),this.next()}parseFor(t,e){return t.init=e,this.expect(a.semi),t.test=this.match(a.semi)?null:this.parseExpression(),this.expect(a.semi),t.update=this.match(a.parenR)?null:this.parseExpression(),this.expect(a.parenR),t.body=this.withTopicForbiddingContext(()=>this.parseStatement("for")),this.scope.exit(),this.state.labels.pop(),this.finishNode(t,"ForStatement")}parseForIn(t,e,r){const s=this.match(a._in);return this.next(),s?r>-1&&this.unexpected(r):t.await=r>-1,"VariableDeclaration"!==e.type||null==e.declarations[0].init||s&&!this.state.strict&&"var"===e.kind&&"Identifier"===e.declarations[0].id.type?"AssignmentPattern"===e.type&&this.raise(e.start,m.InvalidLhs,"for-loop"):this.raise(e.start,m.ForInOfLoopInitializer,s?"for-in":"for-of"),t.left=e,t.right=s?this.parseExpression():this.parseMaybeAssign(),this.expect(a.parenR),t.body=this.withTopicForbiddingContext(()=>this.parseStatement("for")),this.scope.exit(),this.state.labels.pop(),this.finishNode(t,s?"ForInStatement":"ForOfStatement")}parseVar(t,e,r){const s=t.declarations=[],n=this.hasPlugin("typescript");for(t.kind=r;;){const t=this.startNode();if(this.parseVarId(t,r),this.eat(a.eq)?t.init=this.parseMaybeAssign(e):("const"!==r||this.match(a._in)||this.isContextual("of")?"Identifier"===t.id.type||e&&(this.match(a._in)||this.isContextual("of"))||this.raise(this.state.lastTokEnd,m.DeclarationMissingInitializer,"Complex binding patterns"):n||this.unexpected(),t.init=null),s.push(this.finishNode(t,"VariableDeclarator")),!this.eat(a.comma))break}return t}parseVarId(t,e){t.id=this.parseBindingAtom(),this.checkLVal(t.id,"var"===e?5:9,void 0,"variable declaration","var"!==e)}parseFunction(t,e=0,r=!1){const s=1&e,n=2&e,i=!(!s||4&e);this.initFunction(t,r),this.match(a.star)&&n&&this.raise(this.state.start,m.GeneratorInSingleStatementContext),t.generator=this.eat(a.star),s&&(t.id=this.parseFunctionId(i));const o=this.state.maybeInArrowParameters,u=this.state.yieldPos,c=this.state.awaitPos;return this.state.maybeInArrowParameters=!1,this.state.yieldPos=-1,this.state.awaitPos=-1,this.scope.enter(2),this.prodParam.enter(et(r,t.generator)),s||(t.id=this.parseFunctionId()),this.parseFunctionParams(t),this.withTopicForbiddingContext(()=>{this.parseFunctionBodyAndFinish(t,s?"FunctionDeclaration":"FunctionExpression")}),this.prodParam.exit(),this.scope.exit(),s&&!n&&this.registerFunctionStatementId(t),this.state.maybeInArrowParameters=o,this.state.yieldPos=u,this.state.awaitPos=c,t}parseFunctionId(t){return t||this.match(a.name)?this.parseIdentifier():null}parseFunctionParams(t,e){const r=this.state.inParameters;this.state.inParameters=!0,this.expect(a.parenL),t.params=this.parseBindingList(a.parenR,41,!1,e),this.state.inParameters=r,this.checkYieldAwaitInDefaultParams()}registerFunctionStatementId(t){t.id&&this.scope.declareName(t.id.name,this.state.strict||t.generator||t.async?this.scope.treatFunctionsAsVar?5:9:17,t.id.start)}parseClass(t,e,r){this.next(),this.takeDecorators(t);const s=this.state.strict;return this.state.strict=!0,this.parseClassId(t,e,r),this.parseClassSuper(t),t.body=this.parseClassBody(!!t.superClass,s),this.state.strict=s,this.finishNode(t,e?"ClassDeclaration":"ClassExpression")}isClassProperty(){return this.match(a.eq)||this.match(a.semi)||this.match(a.braceR)}isClassMethod(){return this.match(a.parenL)}isNonstaticConstructor(t){return!(t.computed||t.static||"constructor"!==t.key.name&&"constructor"!==t.key.value)}parseClassBody(t,e){this.classScope.enter();const r={hadConstructor:!1};let s=[];const n=this.startNode();if(n.body=[],this.expect(a.braceL),this.withTopicForbiddingContext(()=>{for(;!this.match(a.braceR);){if(this.eat(a.semi)){if(s.length>0)throw this.raise(this.state.lastTokEnd,m.DecoratorSemicolon);continue}if(this.match(a.at)){s.push(this.parseDecorator());continue}const e=this.startNode();s.length&&(e.decorators=s,this.resetStartLocationFromNode(e,s[0]),s=[]),this.parseClassMember(n,e,r,t),"constructor"===e.kind&&e.decorators&&e.decorators.length>0&&this.raise(e.start,m.DecoratorConstructor)}}),e||(this.state.strict=!1),this.next(),s.length)throw this.raise(this.state.start,m.TrailingDecorator);return this.classScope.exit(),this.finishNode(n,"ClassBody")}parseClassMemberFromModifier(t,e){const r=this.state.containsEsc,s=this.parseIdentifier(!0);if(this.isClassMethod()){const r=e;return r.kind="method",r.computed=!1,r.key=s,r.static=!1,this.pushClassMethod(t,r,!1,!1,!1,!1),!0}if(this.isClassProperty()){const r=e;return r.computed=!1,r.key=s,r.static=!1,t.body.push(this.parseClassProperty(r)),!0}if(r)throw this.unexpected();return!1}parseClassMember(t,e,r,s){const n=this.isContextual("static");n&&this.parseClassMemberFromModifier(t,e)||this.parseClassMemberWithIsStatic(t,e,r,n,s)}parseClassMemberWithIsStatic(t,e,r,s,n){const i=e,o=e,u=e,c=e,h=i,l=i;if(e.static=s,this.eat(a.star))return h.kind="method",this.parseClassPropertyName(h),"PrivateName"===h.key.type?void this.pushClassPrivateMethod(t,o,!0,!1):(this.isNonstaticConstructor(i)&&this.raise(i.key.start,m.ConstructorIsGenerator),void this.pushClassMethod(t,i,!0,!1,!1,!1));const p=this.state.containsEsc,f=this.parseClassPropertyName(e),d="PrivateName"===f.type,y="Identifier"===f.type,D=this.state.start;if(this.parsePostMemberNameModifiers(l),this.isClassMethod()){if(h.kind="method",d)return void this.pushClassPrivateMethod(t,o,!1,!1);const e=this.isNonstaticConstructor(i);let s=!1;e&&(i.kind="constructor",r.hadConstructor&&!this.hasPlugin("typescript")&&this.raise(f.start,m.DuplicateConstructor),r.hadConstructor=!0,s=n),this.pushClassMethod(t,i,!1,!1,e,s)}else if(this.isClassProperty())d?this.pushClassPrivateProperty(t,c):this.pushClassProperty(t,u);else if(!y||"async"!==f.name||p||this.isLineTerminator())!y||"get"!==f.name&&"set"!==f.name||p||this.match(a.star)&&this.isLineTerminator()?this.isLineTerminator()?d?this.pushClassPrivateProperty(t,c):this.pushClassProperty(t,u):this.unexpected():(h.kind=f.name,this.parseClassPropertyName(i),"PrivateName"===h.key.type?this.pushClassPrivateMethod(t,o,!1,!1):(this.isNonstaticConstructor(i)&&this.raise(i.key.start,m.ConstructorIsAccessor),this.pushClassMethod(t,i,!1,!1,!1,!1)),this.checkGetterSetterParams(i));else{const e=this.eat(a.star);l.optional&&this.unexpected(D),h.kind="method",this.parseClassPropertyName(h),this.parsePostMemberNameModifiers(l),"PrivateName"===h.key.type?this.pushClassPrivateMethod(t,o,e,!0):(this.isNonstaticConstructor(i)&&this.raise(i.key.start,m.ConstructorIsAsync),this.pushClassMethod(t,i,e,!0,!1,!1))}}parseClassPropertyName(t){const e=this.parsePropertyName(t,!0);return t.computed||!t.static||"prototype"!==e.name&&"prototype"!==e.value||this.raise(e.start,m.StaticPrototype),"PrivateName"===e.type&&"constructor"===e.id.name&&this.raise(e.start,m.ConstructorClassPrivateField),e}pushClassProperty(t,e){e.computed||"constructor"!==e.key.name&&"constructor"!==e.key.value||this.raise(e.key.start,m.ConstructorClassField),t.body.push(this.parseClassProperty(e))}pushClassPrivateProperty(t,e){this.expectPlugin("classPrivateProperties",e.key.start);const r=this.parseClassPrivateProperty(e);t.body.push(r),this.classScope.declarePrivateName(r.key.id.name,0,r.key.start)}pushClassMethod(t,e,r,s,n,i){t.body.push(this.parseMethod(e,r,s,n,i,"ClassMethod",!0))}pushClassPrivateMethod(t,e,r,s){this.expectPlugin("classPrivateMethods",e.key.start);const n=this.parseMethod(e,r,s,!1,!1,"ClassPrivateMethod",!0);t.body.push(n);const i="get"===n.kind?n.static?6:2:"set"===n.kind?n.static?5:1:0;this.classScope.declarePrivateName(n.key.id.name,i,n.key.start)}parsePostMemberNameModifiers(t){}parseAccessModifier(){}parseClassPrivateProperty(t){return this.scope.enter(80),this.prodParam.enter(0),t.value=this.eat(a.eq)?this.parseMaybeAssign():null,this.semicolon(),this.prodParam.exit(),this.scope.exit(),this.finishNode(t,"ClassPrivateProperty")}parseClassProperty(t){return t.typeAnnotation||this.expectPlugin("classProperties"),this.scope.enter(80),this.prodParam.enter(0),this.match(a.eq)?(this.expectPlugin("classProperties"),this.next(),t.value=this.parseMaybeAssign()):t.value=null,this.semicolon(),this.prodParam.exit(),this.scope.exit(),this.finishNode(t,"ClassProperty")}parseClassId(t,e,r,s=139){this.match(a.name)?(t.id=this.parseIdentifier(),e&&this.checkLVal(t.id,s,void 0,"class name")):r||!e?t.id=null:this.unexpected(null,m.MissingClassName)}parseClassSuper(t){t.superClass=this.eat(a._extends)?this.parseExprSubscripts():null}parseExport(t){const e=this.maybeParseExportDefaultSpecifier(t),r=!e||this.eat(a.comma),s=r&&this.eatExportStar(t),n=s&&this.maybeParseExportNamespaceSpecifier(t),i=r&&(!n||this.eat(a.comma)),o=e||s;if(s&&!n)return e&&this.unexpected(),this.parseExportFrom(t,!0),this.finishNode(t,"ExportAllDeclaration");const u=this.maybeParseExportNamedSpecifiers(t);if(e&&r&&!s&&!u||n&&i&&!u)throw this.unexpected(null,a.braceL);let c;if(o||u?(c=!1,this.parseExportFrom(t,o)):c=this.maybeParseExportDeclaration(t),o||u||c)return this.checkExport(t,!0,!1,!!t.source),this.finishNode(t,"ExportNamedDeclaration");if(this.eat(a._default))return t.declaration=this.parseExportDefaultExpression(),this.checkExport(t,!0,!0),this.finishNode(t,"ExportDefaultDeclaration");throw this.unexpected(null,a.braceL)}eatExportStar(t){return this.eat(a.star)}maybeParseExportDefaultSpecifier(t){if(this.isExportDefaultSpecifier()){this.expectPlugin("exportDefaultFrom");const e=this.startNode();return e.exported=this.parseIdentifier(!0),t.specifiers=[this.finishNode(e,"ExportDefaultSpecifier")],!0}return!1}maybeParseExportNamespaceSpecifier(t){if(this.isContextual("as")){t.specifiers||(t.specifiers=[]);const e=this.startNodeAt(this.state.lastTokStart,this.state.lastTokStartLoc);return this.next(),e.exported=this.parseIdentifier(!0),t.specifiers.push(this.finishNode(e,"ExportNamespaceSpecifier")),!0}return!1}maybeParseExportNamedSpecifiers(t){return!!this.match(a.braceL)&&(t.specifiers||(t.specifiers=[]),t.specifiers.push(...this.parseExportSpecifiers()),t.source=null,t.declaration=null,!0)}maybeParseExportDeclaration(t){if(this.shouldParseExportDeclaration()){if(this.isContextual("async")){const t=this.nextTokenStart();this.isUnparsedContextual(t,"function")||this.unexpected(t,a._function)}return t.specifiers=[],t.source=null,t.declaration=this.parseExportDeclaration(t),!0}return!1}isAsyncFunction(){if(!this.isContextual("async"))return!1;const t=this.nextTokenStart();return!o.test(this.input.slice(this.state.pos,t))&&this.isUnparsedContextual(t,"function")}parseExportDefaultExpression(){const t=this.startNode(),e=this.isAsyncFunction();if(this.match(a._function)||e)return this.next(),e&&this.next(),this.parseFunction(t,5,e);if(this.match(a._class))return this.parseClass(t,!0,!0);if(this.match(a.at))return this.hasPlugin("decorators")&&this.getPluginOption("decorators","decoratorsBeforeExport")&&this.raise(this.state.start,m.DecoratorBeforeExport),this.parseDecorators(!1),this.parseClass(t,!0,!0);if(this.match(a._const)||this.match(a._var)||this.isLet())throw this.raise(this.state.start,m.UnsupportedDefaultExport);{const t=this.parseMaybeAssign();return this.semicolon(),t}}parseExportDeclaration(t){return this.parseStatement(null)}isExportDefaultSpecifier(){if(this.match(a.name))return"async"!==this.state.value&&"let"!==this.state.value;if(!this.match(a._default))return!1;const t=this.nextTokenStart();return 44===this.input.charCodeAt(t)||this.isUnparsedContextual(t,"from")}parseExportFrom(t,e){this.eatContextual("from")?(t.source=this.parseImportSource(),this.checkExport(t)):e?this.unexpected():t.source=null,this.semicolon()}shouldParseExportDeclaration(){if(this.match(a.at)&&(this.expectOnePlugin(["decorators","decorators-legacy"]),this.hasPlugin("decorators"))){if(!this.getPluginOption("decorators","decoratorsBeforeExport"))return!0;this.unexpected(this.state.start,m.DecoratorBeforeExport)}return"var"===this.state.type.keyword||"const"===this.state.type.keyword||"function"===this.state.type.keyword||"class"===this.state.type.keyword||this.isLet()||this.isAsyncFunction()}checkExport(t,e,r,s){if(e)if(r)this.checkDuplicateExports(t,"default");else if(t.specifiers&&t.specifiers.length)for(let n=0,i=t.specifiers;n<i.length;n++){const t=i[n];this.checkDuplicateExports(t,t.exported.name),!s&&t.local&&(this.checkReservedWord(t.local.name,t.local.start,!0,!1),this.scope.checkLocalExport(t.local))}else if(t.declaration)if("FunctionDeclaration"===t.declaration.type||"ClassDeclaration"===t.declaration.type){const e=t.declaration.id;if(!e)throw new Error("Assertion failure");this.checkDuplicateExports(t,e.name)}else if("VariableDeclaration"===t.declaration.type)for(let n=0,i=t.declaration.declarations;n<i.length;n++){const t=i[n];this.checkDeclaration(t.id)}if(this.state.decoratorStack[this.state.decoratorStack.length-1].length){const e=t.declaration&&("ClassDeclaration"===t.declaration.type||"ClassExpression"===t.declaration.type);if(!t.declaration||!e)throw this.raise(t.start,m.UnsupportedDecoratorExport);this.takeDecorators(t.declaration)}}checkDeclaration(t){if("Identifier"===t.type)this.checkDuplicateExports(t,t.name);else if("ObjectPattern"===t.type)for(let e=0,r=t.properties;e<r.length;e++){const t=r[e];this.checkDeclaration(t)}else if("ArrayPattern"===t.type)for(let e=0,r=t.elements;e<r.length;e++){const t=r[e];t&&this.checkDeclaration(t)}else"ObjectProperty"===t.type?this.checkDeclaration(t.value):"RestElement"===t.type?this.checkDeclaration(t.argument):"AssignmentPattern"===t.type&&this.checkDeclaration(t.left)}checkDuplicateExports(t,e){this.state.exportedIdentifiers.indexOf(e)>-1&&this.raise(t.start,"default"===e?m.DuplicateDefaultExport:m.DuplicateExport,e),this.state.exportedIdentifiers.push(e)}parseExportSpecifiers(){const t=[];let e=!0;for(this.expect(a.braceL);!this.eat(a.braceR);){if(e)e=!1;else if(this.expect(a.comma),this.eat(a.braceR))break;const r=this.startNode();r.local=this.parseIdentifier(!0),r.exported=this.eatContextual("as")?this.parseIdentifier(!0):r.local.__clone(),t.push(this.finishNode(r,"ExportSpecifier"))}return t}parseImport(t){if(t.specifiers=[],!this.match(a.string)){const e=!this.maybeParseDefaultImportSpecifier(t)||this.eat(a.comma),r=e&&this.maybeParseStarImportSpecifier(t);e&&!r&&this.parseNamedImportSpecifiers(t),this.expectContextual("from")}return t.source=this.parseImportSource(),this.semicolon(),this.finishNode(t,"ImportDeclaration")}parseImportSource(){return this.match(a.string)||this.unexpected(),this.parseExprAtom()}shouldParseDefaultImport(t){return this.match(a.name)}parseImportSpecifierLocal(t,e,r,s){e.local=this.parseIdentifier(),this.checkLVal(e.local,9,void 0,s),t.specifiers.push(this.finishNode(e,r))}maybeParseDefaultImportSpecifier(t){return!!this.shouldParseDefaultImport(t)&&(this.parseImportSpecifierLocal(t,this.startNode(),"ImportDefaultSpecifier","default import specifier"),!0)}maybeParseStarImportSpecifier(t){if(this.match(a.star)){const e=this.startNode();return this.next(),this.expectContextual("as"),this.parseImportSpecifierLocal(t,e,"ImportNamespaceSpecifier","import namespace specifier"),!0}return!1}parseNamedImportSpecifiers(t){let e=!0;for(this.expect(a.braceL);!this.eat(a.braceR);){if(e)e=!1;else{if(this.eat(a.colon))throw this.raise(this.state.start,m.DestructureNamedImport);if(this.expect(a.comma),this.eat(a.braceR))break}this.parseImportSpecifier(t)}}parseImportSpecifier(t){const e=this.startNode();e.imported=this.parseIdentifier(!0),this.eatContextual("as")?e.local=this.parseIdentifier():(this.checkReservedWord(e.imported.name,e.start,!0,!0),e.local=e.imported.__clone()),this.checkLVal(e.local,9,void 0,"import specifier"),t.specifiers.push(this.finishNode(e,"ImportSpecifier"))}}{constructor(t,e){super(t=function(t){const e={};for(let r=0,s=Object.keys(lt);r<s.length;r++){const n=s[r];e[n]=t&&null!=t[n]?t[n]:lt[n]}return e}(t),e);const r=this.getScopeHandler();this.options=t,this.inModule="module"===this.options.sourceType,this.scope=new r(this.raise.bind(this),this.inModule),this.prodParam=new tt,this.classScope=new Pt(this.raise.bind(this)),this.plugins=function(t){const e=new Map;for(let r=0;r<t.length;r++){const s=t[r],[n,i]=Array.isArray(s)?s:[s,{}];e.has(n)||e.set(n,i||{})}return e}(this.options.plugins),this.filename=t.sourceFilename}getScopeHandler(){return Y}parse(){let t=0;this.hasPlugin("topLevelAwait")&&this.inModule&&(t|=2),this.scope.enter(1),this.prodParam.enter(t);const e=this.startNode(),r=this.startNode();return this.nextToken(),e.errors=null,this.parseTopLevel(e,r),e.errors=this.state.errors,e}}function At(t,e){let r=Ct;return t&&t.plugins&&(function(t){if(it(t,"decorators")){if(it(t,"decorators-legacy"))throw new Error("Cannot use the decorators and decorators-legacy plugin together");const e=at(t,"decorators","decoratorsBeforeExport");if(null==e)throw new Error("The 'decorators' plugin requires a 'decoratorsBeforeExport' option, whose value must be a boolean. If you are migrating from Babylon/Babel 6 or want to use the old decorators proposal, you should use the 'decorators-legacy' plugin instead of 'decorators'.");if("boolean"!=typeof e)throw new Error("'decoratorsBeforeExport' must be a boolean.")}if(it(t,"flow")&&it(t,"typescript"))throw new Error("Cannot combine flow and typescript plugins.");if(it(t,"placeholders")&&it(t,"v8intrinsic"))throw new Error("Cannot combine placeholders and v8intrinsic plugins.");if(it(t,"pipelineOperator")&&!ot.includes(at(t,"pipelineOperator","proposal")))throw new Error("'pipelineOperator' requires 'proposal' option whose value should be one of: "+ot.map(t=>"'".concat(t,"'")).join(", "));if(it(t,"recordAndTuple")&&!ut.includes(at(t,"recordAndTuple","syntaxType")))throw new Error("'recordAndTuple' requires 'syntaxType' option whose value should be one of: "+ut.map(t=>"'".concat(t,"'")).join(", "))}(t.plugins),r=function(t){const e=ht.filter(e=>it(t,e)),r=e.join("/");let s=Tt[r];if(!s){s=Ct;for(let t=0;t<e.length;t++){const r=e[t];s=ct[r](s)}Tt[r]=s}return s}(t.plugins)),new r(t,e)}const Tt={};e.parse=function(t,e){if(!e||"unambiguous"!==e.sourceType)return At(e,t).parse();e=Object.assign({},e);try{e.sourceType="module";const r=At(e,t),s=r.parse();if(r.sawUnambiguousESM)return s;if(r.ambiguousScriptDifferentAst)try{return e.sourceType="script",At(e,t).parse()}catch(t){}else s.program.sourceType="script";return s}catch(r){try{return e.sourceType="script",At(e,t).parse()}catch(t){}throw r}},e.parseExpression=function(t,e){const r=At(e,t);return r.options.strictMode&&(r.state.strict=!0),r.getExpression()},e.tokTypes=a}));r(Vt),Vt.parse,Vt.parseExpression,Vt.tokTypes;const{hasPragma:Kt}=h;function Jt(t=[]){return{sourceType:"module",allowAwaitOutsideFunction:!0,allowImportExportEverywhere:!0,allowReturnOutsideFunction:!0,allowSuperOutsideMethod:!0,allowUndeclaredExports:!0,errorRecovery:!0,createParenthesizedExpressions:!0,plugins:["doExpressions","objectRestSpread","classProperties","exportDefaultFrom","exportNamespaceFrom","asyncGenerators","functionBind","functionSent","dynamicImport","numericSeparator","importMeta","optionalCatchBinding","optionalChaining","classPrivateProperties",["pipelineOperator",{proposal:"minimal"}],"nullishCoalescingOperator","bigInt","throwExpressions","logicalAssignment","classPrivateMethods","v8intrinsic","partialApplication",["decorators",{decoratorsBeforeExport:!1}],...t]}}function Gt(t,...r){return(s,n,i)=>{const a=Vt;let o;try{o=function(t,e){let r;for(let s=0;s<e.length;s++)try{return t(e[s])}catch(t){r||(r=t)}throw r}(e=>a[t](s,e),r.map(Jt))}catch(t){throw e(t.message.replace(/ \(.*\)/,""),{start:{line:t.loc.line,column:t.loc.column+1}})}return delete o.tokens,Wt(o,Object.assign({},i,{originalText:s}))}}const Xt=Gt("parse",["jsx","flow"]),Yt=Gt("parse",["jsx",["flow",{all:!0,enums:!0}]]),Zt=Gt("parse",["jsx","typescript"],["typescript"]),Qt=Gt("parseExpression",["jsx"]);function te(t,r){switch(t.type){case"ArrayExpression":return t.elements.forEach(s);case"ObjectExpression":return t.properties.forEach(s);case"ObjectProperty":if(t.computed)throw n("computed");if(t.shorthand)throw n("shorthand");return[t.key,t.value].forEach(s);case"UnaryExpression":switch(t.operator){case"+":case"-":return s(t.argument);default:throw n("operator")}case"Identifier":if(r&&"ObjectProperty"===r.type&&r.key===t)return;throw n();case"NullLiteral":case"BooleanLiteral":case"NumericLiteral":case"StringLiteral":return;default:throw n()}function s(e){return te(e,t)}function n(r){const s=r?"".concat(t.type," with ").concat(r,"=").concat(JSON.stringify(t[r])):t.type;return e("".concat(s," is not allowed in JSON."),{start:{line:t.loc.start.line,column:t.loc.start.column+1}})}}const ee=Object.assign({parse:Xt,astFormat:"estree",hasPragma:Kt},d),re=Object.assign({},ee,{parse:Yt}),se=Object.assign({},ee,{parse:Zt}),ne=Object.assign({},ee,{parse:Qt});var ie={parsers:{babel:ee,"babel-flow":re,"babel-ts":se,json:Object.assign({},ne,{hasPragma:()=>!0}),json5:ne,"json-stringify":Object.assign({parse:function(t,e,r){const s=Qt(t,e,r);return s.comments.forEach(te),te(s),s},astFormat:"estree-json"},d),__js_expression:ne,__vue_expression:ne,__vue_event_binding:ee}},ae=ie.parsers;t.default=ie,t.parsers=ae,Object.defineProperty(t,"__esModule",{value:!0})}))},d15b:function(t,e){function r(t){var e=/(%?)(%([jds]))/g,r=Array.prototype.slice.call(arguments,1);return r.length&&(t=t.replace(e,(function(t,e,s,n){var i=r.shift();switch(n){case"s":i=""+i;break;case"d":i=Number(i);break;case"j":i=JSON.stringify(i);break}return e?(r.unshift(i),t):i}))),r.length&&(t+=" "+r.join(" ")),t=t.replace(/%{2,2}/g,"%"),""+t}t.exports=r},de09:function(t,e,r){"use strict";(function(e){var s=r("87b8");t.exports={order:200,allowEmpty:!0,canParse:[".yaml",".yml",".json"],parse:function(t){return new Promise((function(r,n){var i=t.data;e.isBuffer(i)&&(i=i.toString()),r("string"===typeof i?s.parse(i):i)}))}}}).call(this,r("b639").Buffer)},e08d:function(t,e,r){(function(e){(function(e,s){t.exports=s(r("31f3"),r("e491"))})(0,(function(t,r){t=t&&Object.prototype.hasOwnProperty.call(t,"default")?t["default"]:t;var s=function(){this.data={}};s.prototype.unregister=function(t){t?delete this.data[t]:this.data={}},s.prototype.register=function(t,e){this.data[t]=e},s.prototype.registerMany=function(t){var e=this;Object.keys(t).forEach((function(r){e.data[r]=t[r]}))},s.prototype.get=function(t){var e=this.data[t];return e},s.prototype.list=function(){return this.data};var n={defaultInvalidTypeProduct:null,defaultRandExpMax:10,ignoreProperties:[],ignoreMissingRefs:!1,failOnInvalidTypes:!0,failOnInvalidFormat:!0,alwaysFakeOptionals:!1,optionalsProbability:!1,fixedProbabilities:!1,useExamplesValue:!1,useDefaultValue:!1,requiredOnly:!1,minItems:0,maxItems:null,minLength:0,maxLength:null,resolveJsonPath:!1,reuseProperties:!1,fillProperties:!0,replaceEmptyByRandomValue:!1};n.random=Math.random;var i=function(t){function e(){t.call(this),this.data=Object.assign({},n),this._defaults=n}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={defaults:{configurable:!0}};return r.defaults.get=function(){return Object.assign({},this._defaults)},Object.defineProperties(e.prototype,r),e}(s),a=new i;function o(t,e){return"string"===typeof t?"undefined"!==typeof e?a.register(t,e):a.get(t):a.registerMany(t)}o.getDefaults=function(){return a.defaults};var u=["integer","number","string","boolean","null"],c=["array","object"].concat(u),h=2524608e6,l=-1e8,p=1e8,f=-100,d=100,m={SCALAR_TYPES:u,ALL_TYPES:c,MIN_NUMBER:f,MAX_NUMBER:d,MIN_INTEGER:l,MAX_INTEGER:p,MOST_NEAR_DATETIME:h};function y(t,e){return e={exports:{}},t(e,e.exports),e.exports}var D={ROOT:0,GROUP:1,POSITION:2,SET:3,RANGE:4,REPETITION:5,REFERENCE:6,CHAR:7};const g=()=>[{type:D.RANGE,from:48,to:57}],x=()=>[{type:D.CHAR,value:95},{type:D.RANGE,from:97,to:122},{type:D.RANGE,from:65,to:90}].concat(g()),b=()=>[{type:D.CHAR,value:9},{type:D.CHAR,value:10},{type:D.CHAR,value:11},{type:D.CHAR,value:12},{type:D.CHAR,value:13},{type:D.CHAR,value:32},{type:D.CHAR,value:160},{type:D.CHAR,value:5760},{type:D.RANGE,from:8192,to:8202},{type:D.CHAR,value:8232},{type:D.CHAR,value:8233},{type:D.CHAR,value:8239},{type:D.CHAR,value:8287},{type:D.CHAR,value:12288},{type:D.CHAR,value:65279}],v=()=>[{type:D.CHAR,value:10},{type:D.CHAR,value:13},{type:D.CHAR,value:8232},{type:D.CHAR,value:8233}];var w=()=>({type:D.SET,set:x(),not:!1}),E=()=>({type:D.SET,set:x(),not:!0}),P=()=>({type:D.SET,set:g(),not:!1}),C=()=>({type:D.SET,set:g(),not:!0}),A=()=>({type:D.SET,set:b(),not:!1}),T=()=>({type:D.SET,set:b(),not:!0}),S=()=>({type:D.SET,set:v(),not:!0}),F={words:w,notWords:E,ints:P,notInts:C,whitespace:A,notWhitespace:T,anyChar:S},k=y((function(t,e){const r="@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^ ?",s={0:0,t:9,n:10,v:11,f:12,r:13};e.strToChars=function(t){var e=/(\[\\b\])|(\\)?\\(?:u([A-F0-9]{4})|x([A-F0-9]{2})|(0?[0-7]{2})|c([@A-Z[\\\]^?])|([0tnvfr]))/g;return t=t.replace(e,(function(t,e,n,i,a,o,u,c){if(n)return t;var h=e?8:i?parseInt(i,16):a?parseInt(a,16):o?parseInt(o,8):u?r.indexOf(u):s[c],l=String.fromCharCode(h);return/[[\]{}^$.|?*+()]/.test(l)&&(l="\\"+l),l})),t},e.tokenizeClass=(t,r)=>{var s,n,i=[],a=/\\(?:(w)|(d)|(s)|(W)|(D)|(S))|((?:(?:\\)(.)|([^\]\\]))-(?:\\)?([^\]]))|(\])|(?:\\)?([^])/g;while(null!=(s=a.exec(t)))if(s[1])i.push(F.words());else if(s[2])i.push(F.ints());else if(s[3])i.push(F.whitespace());else if(s[4])i.push(F.notWords());else if(s[5])i.push(F.notInts());else if(s[6])i.push(F.notWhitespace());else if(s[7])i.push({type:D.RANGE,from:(s[8]||s[9]).charCodeAt(0),to:s[10].charCodeAt(0)});else{if(!(n=s[12]))return[i,a.lastIndex];i.push({type:D.CHAR,value:n.charCodeAt(0)})}e.error(r,"Unterminated character class")},e.error=(t,e)=>{throw new SyntaxError("Invalid regular expression: /"+t+"/: "+e)}})),N=(k.strToChars,k.tokenizeClass,k.error,()=>({type:D.POSITION,value:"b"})),_=()=>({type:D.POSITION,value:"B"}),I=()=>({type:D.POSITION,value:"^"}),O=()=>({type:D.POSITION,value:"$"}),L={wordBoundary:N,nonWordBoundary:_,begin:I,end:O},R=t=>{var e,r,s=0,n={type:D.ROOT,stack:[]},i=n,a=n.stack,o=[],u=e=>{k.error(t,"Nothing to repeat at column "+(e-1))},c=k.strToChars(t);e=c.length;while(s<e)switch(r=c[s++],r){case"\\":switch(r=c[s++],r){case"b":a.push(L.wordBoundary());break;case"B":a.push(L.nonWordBoundary());break;case"w":a.push(F.words());break;case"W":a.push(F.notWords());break;case"d":a.push(F.ints());break;case"D":a.push(F.notInts());break;case"s":a.push(F.whitespace());break;case"S":a.push(F.notWhitespace());break;default:/\d/.test(r)?a.push({type:D.REFERENCE,value:parseInt(r,10)}):a.push({type:D.CHAR,value:r.charCodeAt(0)})}break;case"^":a.push(L.begin());break;case"$":a.push(L.end());break;case"[":var h;"^"===c[s]?(h=!0,s++):h=!1;var l=k.tokenizeClass(c.slice(s),t);s+=l[1],a.push({type:D.SET,set:l[0],not:h});break;case".":a.push(F.anyChar());break;case"(":var p={type:D.GROUP,stack:[],remember:!0};r=c[s],"?"===r&&(r=c[s+1],s+=2,"="===r?p.followedBy=!0:"!"===r?p.notFollowedBy=!0:":"!==r&&k.error(t,`Invalid group, character '${r}' after '?' at column `+(s-1)),p.remember=!1),a.push(p),o.push(i),i=p,a=p.stack;break;case")":0===o.length&&k.error(t,"Unmatched ) at column "+(s-1)),i=o.pop(),a=i.options?i.options[i.options.length-1]:i.stack;break;case"|":i.options||(i.options=[i.stack],delete i.stack);var f=[];i.options.push(f),a=f;break;case"{":var d,m,y=/^(\d+)(,(\d+)?)?\}/.exec(c.slice(s));null!==y?(0===a.length&&u(s),d=parseInt(y[1],10),m=y[2]?y[3]?parseInt(y[3],10):1/0:d,s+=y[0].length,a.push({type:D.REPETITION,min:d,max:m,value:a.pop()})):a.push({type:D.CHAR,value:123});break;case"?":0===a.length&&u(s),a.push({type:D.REPETITION,min:0,max:1,value:a.pop()});break;case"+":0===a.length&&u(s),a.push({type:D.REPETITION,min:1,max:1/0,value:a.pop()});break;case"*":0===a.length&&u(s),a.push({type:D.REPETITION,min:0,max:1/0,value:a.pop()});break;default:a.push({type:D.CHAR,value:r.charCodeAt(0)})}return 0!==o.length&&k.error(t,"Unterminated group"),n},B=D;R.types=B;class M{constructor(t,e){this.low=t,this.high=e,this.length=1+e-t}overlaps(t){return!(this.high<t.low||this.low>t.high)}touches(t){return!(this.high+1<t.low||this.low-1>t.high)}add(t){return new M(Math.min(this.low,t.low),Math.max(this.high,t.high))}subtract(t){return t.low<=this.low&&t.high>=this.high?[]:t.low>this.low&&t.high<this.high?[new M(this.low,t.low-1),new M(t.high+1,this.high)]:t.low<=this.low?[new M(t.high+1,this.high)]:[new M(this.low,t.low-1)]}toString(){return this.low==this.high?this.low.toString():this.low+"-"+this.high}}class j{constructor(t,e){this.ranges=[],this.length=0,null!=t&&this.add(t,e)}_update_length(){this.length=this.ranges.reduce((t,e)=>t+e.length,0)}add(t,e){var r=t=>{var e=0;while(e<this.ranges.length&&!t.touches(this.ranges[e]))e++;var r=this.ranges.slice(0,e);while(e<this.ranges.length&&t.touches(this.ranges[e]))t=t.add(this.ranges[e]),e++;r.push(t),this.ranges=r.concat(this.ranges.slice(e)),this._update_length()};return t instanceof j?t.ranges.forEach(r):(null==e&&(e=t),r(new M(t,e))),this}subtract(t,e){var r=t=>{var e=0;while(e<this.ranges.length&&!t.overlaps(this.ranges[e]))e++;var r=this.ranges.slice(0,e);while(e<this.ranges.length&&t.overlaps(this.ranges[e]))r=r.concat(this.ranges[e].subtract(t)),e++;this.ranges=r.concat(this.ranges.slice(e)),this._update_length()};return t instanceof j?t.ranges.forEach(r):(null==e&&(e=t),r(new M(t,e))),this}intersect(t,e){var r=[],s=t=>{var e=0;while(e<this.ranges.length&&!t.overlaps(this.ranges[e]))e++;while(e<this.ranges.length&&t.overlaps(this.ranges[e])){var s=Math.max(this.ranges[e].low,t.low),n=Math.min(this.ranges[e].high,t.high);r.push(new M(s,n)),e++}};return t instanceof j?t.ranges.forEach(s):(null==e&&(e=t),s(new M(t,e))),this.ranges=r,this._update_length(),this}index(t){var e=0;while(e<this.ranges.length&&this.ranges[e].length<=t)t-=this.ranges[e].length,e++;return this.ranges[e].low+t}toString(){return"[ "+this.ranges.join(", ")+" ]"}clone(){return new j(this)}numbers(){return this.ranges.reduce((t,e)=>{var r=e.low;while(r<=e.high)t.push(r),r++;return t},[])}subranges(){return this.ranges.map(t=>({low:t.low,high:t.high,length:1+t.high-t.low}))}}var U=j;const q=R.types;var $=class t{constructor(t,e){if(this._setDefaults(t),t instanceof RegExp)this.ignoreCase=t.ignoreCase,this.multiline=t.multiline,t=t.source;else{if("string"!==typeof t)throw new Error("Expected a regexp or string");this.ignoreCase=e&&-1!==e.indexOf("i"),this.multiline=e&&-1!==e.indexOf("m")}this.tokens=R(t)}_setDefaults(e){this.max=null!=e.max?e.max:null!=t.prototype.max?t.prototype.max:100,this.defaultRange=e.defaultRange?e.defaultRange:this.defaultRange.clone(),e.randInt&&(this.randInt=e.randInt)}gen(){return this._gen(this.tokens,[])}_gen(t,e){var r,s,n,i,a;switch(t.type){case q.ROOT:case q.GROUP:if(t.followedBy||t.notFollowedBy)return"";for(t.remember&&void 0===t.groupNumber&&(t.groupNumber=e.push(null)-1),r=t.options?this._randSelect(t.options):t.stack,s="",i=0,a=r.length;i<a;i++)s+=this._gen(r[i],e);return t.remember&&(e[t.groupNumber]=s),s;case q.POSITION:return"";case q.SET:var o=this._expand(t);return o.length?String.fromCharCode(this._randSelect(o)):"";case q.REPETITION:for(n=this.randInt(t.min,t.max===1/0?t.min+this.max:t.max),s="",i=0;i<n;i++)s+=this._gen(t.value,e);return s;case q.REFERENCE:return e[t.value-1]||"";case q.CHAR:var u=this.ignoreCase&&this._randBool()?this._toOtherCase(t.value):t.value;return String.fromCharCode(u)}}_toOtherCase(t){return t+(97<=t&&t<=122?-32:65<=t&&t<=90?32:0)}_randBool(){return!this.randInt(0,1)}_randSelect(t){return t instanceof U?t.index(this.randInt(0,t.length-1)):t[this.randInt(0,t.length-1)]}_expand(t){if(t.type===R.types.CHAR)return new U(t.value);if(t.type===R.types.RANGE)return new U(t.from,t.to);{let e=new U;for(let r=0;r<t.set.length;r++){let s=this._expand(t.set[r]);if(e.add(s),this.ignoreCase)for(let t=0;t<s.length;t++){let r=s.index(t),n=this._toOtherCase(r);r!==n&&e.add(n)}}return t.not?this.defaultRange.clone().subtract(e):this.defaultRange.clone().intersect(e)}}randInt(t,e){return t+Math.floor(Math.random()*(1+e-t))}get defaultRange(){return this._range=this._range||new U(32,126)}set defaultRange(t){this._range=t}static randexp(e,r){var s;return"string"===typeof e&&(e=new RegExp(e,r)),void 0===e._randexp?(s=new t(e,r),e._randexp=s):(s=e._randexp,s._setDefaults(e)),s.gen()}static sugar(){RegExp.prototype.gen=function(){return t.randexp(this)}}};function z(t,e){return t="undefined"===typeof t?m.MIN_INTEGER:t,e="undefined"===typeof e?m.MAX_INTEGER:e,Math.floor(o("random")()*(e-t+1))+t}function H(t){$.prototype.max=o("defaultRandExpMax"),$.prototype.randInt=function(t,e){return t+Math.floor(o("random")()*(e-t+1))};var e=new $(t);return e.gen()}function W(t){return t[Math.floor(o("random")()*t.length)]}function V(t){for(var e,r,s=t.length,n=t.slice();s>0;)r=Math.floor(o("random")()*s),s-=1,e=n[s],n[s]=n[r],n[r]=e;return n}function K(t,e){return o("random")()*(e-t)+t}function J(t,e,r,s,n){return void 0===n&&(n=!1),r="undefined"===typeof r?m.MIN_NUMBER:r,s="undefined"===typeof s?m.MAX_NUMBER:s,t="undefined"===typeof t?r:t,e="undefined"===typeof e?s:e,e<t&&(e+=t),n?K(t,e):z(t,e)}function G(t){switch(t){case"seconds":return 60*J(0,60);case"minutes":return 612*J(15,50);case"hours":return 36123*J(12,72);case"days":return 86412345*J(7,30);case"weeks":return 604812345*J(4,52);case"months":return 2592012345*J(2,13);case"years":return 31104012345*J(1,20)}}function X(t){if(t)return G(t);var e=new Date,r=J(-1e3,m.MOST_NEAR_DATETIME);return e.setTime(e.getTime()-r),e}var Y={pick:W,date:X,shuffle:V,number:J,randexp:H};function Z(t,e){var r=e.split(".");while(r.length){var s=r.shift();if(!t[s])break;t=t[s]}return t}function Q(t){var e=[],r=arguments.length-1;while(r-- >0)e[r]=arguments[r+1];return e.filter((function(e){return"undefined"!==typeof t[e]})).length>0}function tt(t,e,r){var s={};switch(t||e.type){case"integer":case"number":if("undefined"!==typeof e.minimum&&(s.minimum=e.minimum),"undefined"!==typeof e.maximum&&(s.maximum=e.maximum),e.enum){var n=Math.max(s.minimum||0,0),i=Math.min(s.maximum||1/0,1/0);e.exclusiveMinimum&&n===e.minimum&&(n+=e.multipleOf||1),e.exclusiveMaximum&&i===e.maximum&&(i-=e.multipleOf||1),(n||i!==1/0)&&(e.enum=e.enum.filter((function(t){return t>=n&&t<=i})))}break;case"string":s.minLength=o("minLength")||0,s.maxLength=o("maxLength")||Number.MAX_SAFE_INTEGER,"undefined"!==typeof e.minLength&&(s.minLength=Math.max(s.minLength,e.minLength)),"undefined"!==typeof e.maxLength&&(s.maxLength=Math.min(s.maxLength,e.maxLength));break}var a=r(s);if(null===a||void 0===a)return null;switch(t||e.type){case"number":a=parseFloat(a);break;case"integer":a=parseInt(a,10);break;case"boolean":a=!!a;break;case"string":a=String(a);var u,c=Math.max(s.minLength||0,0),h=Math.min(s.maxLength||1/0,1/0);while(a.length<c)if(u=a,e.pattern?a+=Y.randexp(e.pattern):a+=""+Y.pick([" ","/","_","-","+","=","@","^"])+a,a===u)break;switch(a.length>h&&(a=a.substr(0,h)),e.format){case"date-time":case"datetime":a=new Date(a).toISOString().replace(/([0-9])0+Z$/,"$1Z");break;case"date":a=new Date(a).toISOString().substr(0,10);break;case"time":a=new Date("1969-01-01 "+a).toISOString().substr(11);break}break}return a}function et(t,e){return Object.keys(e).forEach((function(r){"object"!==typeof e[r]||null===e[r]?t[r]=e[r]:Array.isArray(e[r])?(t[r]=t[r]||[],e[r].forEach((function(e){Array.isArray(t[r])&&-1===t[r].indexOf(e)&&t[r].push(e)}))):"object"!==typeof t[r]||null===t[r]||Array.isArray(t[r])?t[r]=et({},e[r]):t[r]=et(t[r],e[r])})),t}function rt(t,e){if(void 0===e&&(e=new Map),!t||"object"!==typeof t)return t;if(e.has(t))return e.get(t);if(Array.isArray(t)){var r=[];return e.set(t,r),r.push.apply(r,t.map((function(t){return rt(t,e)}))),r}var s={};return e.set(t,s),Object.keys(t).reduce((function(r,s){return r[s]=rt(t[s],e),r}),s)}function st(t){var e=JSON.stringify(t),r=JSON.stringify(t,null,2);return e.length>400?r.substr(0,400)+"...":r}function nt(){return Y.pick([!1,!0,null,-1,NaN,Math.PI,1/0,void 0,[],{},Math.random(),Math.random().toString(36).substr(2)])}function it(t,e){var r=et({},e);if("undefined"!==typeof t.minimum&&(r.maximum=t.minimum,r.exclusiveMaximum=!0),"undefined"!==typeof t.maximum&&(r.minimum=t.maximum>r.maximum?0:t.maximum,r.exclusiveMinimum=!0),"undefined"!==typeof t.minLength&&(r.maxLength=t.minLength),"undefined"!==typeof t.maxLength&&(r.minLength=t.maxLength>r.maxLength?0:t.maxLength),t.type)r.type=Y.pick(m.SCALAR_TYPES.filter((function(e){var r=Array.isArray(t.type)?t.type:[t.type];return r.every((function(t){return"number"===e||"integer"===e?"number"!==t&&"integer"!==t:e!==t}))})));else if(t.enum){var s;do{s=nt()}while(-1!==t.enum.indexOf(s));r.enum=[s]}return t.required&&r.properties&&t.required.forEach((function(t){delete r.properties[t]})),r}function at(t,e){return!e.every((function(e){return"undefined"!==typeof e.minimum&&t>=e.minimum||"undefined"!==typeof e.maximum&&t<=e.maximum}))}function ot(t){return-1!==["enum","const","default","examples","required","definitions"].indexOf(t)}function ut(t,e){var r={};return Object.keys(t).forEach((function(s){-1===e.indexOf(s)&&(Array.isArray(t[s])?r[s]=t[s].slice():r[s]=t[s]instanceof Object?et({},t[s]):t[s])})),r}function ct(t,e){return Array.isArray(t)?t.map((function(t){return ct(t,e)})):("string"===typeof t&&(t=t.replace(/#\{([\w.-]+)\}/g,(function(t,r){return e[r]}))),t)}var ht={getSubAttribute:Z,hasProperties:Q,omitProps:ut,typecast:tt,merge:et,clone:rt,short:st,notValue:it,anyValue:nt,validate:at,isKey:ot,template:ct};function lt(t){return function(e,r,s,n){var i=e,a=[];"object"===typeof e&&(i=Object.keys(e)[0],Array.isArray(e[i])?a=e[i]:a.push(e[i]));var o=i.split("."),u=t();while(o.length>1)u=u[o.shift()];return e="object"===typeof u?u[o[0]]:u,"function"===typeof e&&(e=e.apply(u,a.map((function(t){return ht.template(t,n)})))),"[object Object]"===Object.prototype.toString.call(e)&&Object.keys(e).forEach((function(t){if("function"===typeof e[t])throw new Error("Cannot resolve value for '"+s+": "+i+"', given: "+e)})),e}}var pt=function(){this.registry={},this.support={}};pt.prototype.reset=function(t){t?(delete this.registry[t],delete this.support[t]):(this.registry={},this.support={})},pt.prototype.extend=function(t,e){var r=this;this.registry[t]=e(this.registry[t]),this.support[t]||(this.support[t]=lt((function(){return r.registry[t]})))},pt.prototype.define=function(t,e){this.support[t]=e},pt.prototype.get=function(t){if("undefined"===typeof this.registry[t])throw new ReferenceError("'"+t+"' dependency doesn't exist.");return this.registry[t]},pt.prototype.wrap=function(t){var e=this,r=Object.keys(t),s={},n=r.length,i=function(){var i=r[n].replace(/^x-/,""),a=e.support[i];if("function"===typeof a)return Object.defineProperty(t,"generate",{configurable:!1,enumerable:!1,writable:!1,value:function(e){return a.call(s,t[r[n]],t,r[n],e)}}),"break"};while(n--){var a=i();if("break"===a)break}return t};var ft=new s;function dt(t,e){if("undefined"===typeof t)return ft.list();if("string"===typeof t)if("function"===typeof e)ft.register(t,e);else{if(null!==e&&!1!==e)return ft.get(t);ft.unregister(t)}else ft.registerMany(t)}var mt=function(t){function e(e,r){t.call(this),t.captureStackTrace&&t.captureStackTrace(this,this.constructor),this.name="ParseError",this.message=e,this.path=r}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(Error),yt={array:["additionalItems","items","maxItems","minItems","uniqueItems"],integer:["exclusiveMaximum","exclusiveMinimum","maximum","minimum","multipleOf"],object:["additionalProperties","dependencies","maxProperties","minProperties","patternProperties","properties","required"],string:["maxLength","minLength","pattern","format"]};yt.number=yt.integer;var Dt=["additionalItems","items","additionalProperties","dependencies","patternProperties","properties"];function gt(t,e,r){return Object.keys(t).filter((function(t){var s=Dt.indexOf(e)>-1,n=r.indexOf(t)>-1;return!(!n||s)})).length>0}function xt(t,e){for(var r=Object.keys(yt),s=0;s<r.length;s+=1){var n=r[s],i=e[e.length-1];if(gt(t,i,yt[n]))return n}}function bt(){return o("random")()>.5}var vt=bt;function wt(){return null}var Et=wt;function Pt(t,e,r,s,n,i){var a=[],o=[];function u(t){var e=JSON.stringify(t);return-1===o.indexOf(e)&&(o.push(e),a.push(t),!0)}e.forEach(u);var c=100;while(a.length!==e.length)if(u(i(r.items||s,t,n))||(c-=1),!c)break;return a}function Ct(t,e,r,s){var n=[];if(!t.items&&!t.additionalItems){if(ht.hasProperties(t,"minItems","maxItems","uniqueItems"))throw new mt("missing items for "+ht.short(t),e);return n}if(Array.isArray(t.items))return t.items.map((function(t,n){var i=e.concat(["items",n]);return s(t,i,r)}));var i=t.minItems,a=t.maxItems;o("minItems")&&(i=a?Math.min(o("minItems"),a):o("minItems")),o("maxItems")&&(a=i?Math.min(o("maxItems"),i):o("maxItems"),a&&a>o("maxItems")&&(a=o("maxItems")),i&&i>o("maxItems")&&(i=a));var u=!0===o("alwaysFakeOptionals")?1:o("optionalsProbability"),c=o("alwaysFakeOptionals")||o("fixedProbabilities")||!1,h=Y.number(i,a,1,5);!1!==u&&(h=Math.max(c?Math.round((a||h)*u):Math.abs(Y.number(i,a)*u),i||0));for(var l="object"===typeof t.additionalItems?t.additionalItems:{},p=n.length;p<h;p+=1){var f=e.concat(["items",p]),d=s(t.items||l,f,r);n.push(d)}return t.uniqueItems?Pt(e.concat(["items"]),n,t,l,r,s):n}function At(t){var e="undefined"===typeof t.minimum?m.MIN_INTEGER:t.minimum,r="undefined"===typeof t.maximum?m.MAX_INTEGER:t.maximum,s=t.multipleOf;if(s&&(r=Math.floor(r/s)*s,e=Math.ceil(e/s)*s),t.exclusiveMinimum&&e===t.minimum&&(e+=s||1),t.exclusiveMaximum&&r===t.maximum&&(r-=s||1),e>r)return NaN;if(s){if(-1===String(s).indexOf(".")){var n=Y.number(Math.floor(e/s),Math.floor(r/s))*s;while(n<e)n+=t.multipleOf;return n}var i,a,o=(r-e)/s;do{i=Y.number(0,o)*s,a=i/s%1}while(0!==a);return e+i}return Y.number(e,r,void 0,void 0,!0)}function Tt(t){return At(Object.assign({multipleOf:1},t))}var St="Lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor incididunt ut labore\net dolore magna aliqua Ut enim ad minim veniam quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea\ncommodo consequat Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla\npariatur Excepteur sint occaecat cupidatat non proident sunt in culpa qui officia deserunt mollit anim id est\nlaborum".split(/\W/);function Ft(t){var e=Y.shuffle(St);return e.slice(0,t)}var kt={type:["string","number","integer","boolean"]};function Nt(t,e,r,s){var n={},i=t.properties||{},a=t.patternProperties||{},u="boolean"===typeof t.required?[]:(t.required||[]).slice(),c=!1!==t.additionalProperties,h=Object.keys(i),l=Object.keys(a),p=h.concat(l).reduce((function(t,e){return-1===u.indexOf(e)&&t.push(e),t}),[]),f=u.concat(p),d=c&&!0===t.additionalProperties?kt:t.additionalProperties;if(!c&&0===h.length&&0===l.length&&ht.hasProperties(t,"minProperties","maxProperties","dependencies","required"))return null;if(!0===o("requiredOnly"))return u.forEach((function(t){i[t]&&(n[t]=i[t])})),s(n,e.concat(["properties"]),r,t);var m=!0===o("alwaysFakeOptionals")?1:o("optionalsProbability"),y=o("alwaysFakeOptionals")||o("fixedProbabilities")||!1,D=o("ignoreProperties")||[],g=Math.max(t.minProperties||0,u.length),x=t.maxProperties||f.length+(c?Y.number(1,5):0),b=Math.max(0,f.length-g);1!==f.length||u.length||(b=Y.number(b,f.length+(f.length-g))),!1!==m&&(b=!0===y?Math.round(g-u.length+m*(f.length-g)):Y.number(g-u.length,m*(f.length-g)));var v=Y.shuffle(p).slice(0,b),w=p.filter((function(t){return-1!==v.indexOf(t)})),E=!1!==m?x:Y.number(0,x),P=u.concat(w.slice(0,E)),C=[];if(t.dependencies&&(Object.keys(t.dependencies).forEach((function(e){var r=t.dependencies[e];-1!==P.indexOf(e)&&(Array.isArray(r)?r.forEach((function(t){-1===P.indexOf(t)&&P.push(t)})):C.push(r))})),C.length))return delete t.dependencies,s({allOf:C.concat(t)},e.concat(["properties"]),r,t);var A=[];P.forEach((function(t){for(var e=0;e<D.length;e+=1)if(D[e]instanceof RegExp&&D[e].test(t)||"string"===typeof D[e]&&D[e]===t||"function"===typeof D[e]&&D[e](i[t],t))return void A.push(t);var r;if(!1===d&&-1!==u.indexOf(t)&&(n[t]=i[t]),i[t]&&(n[t]=i[t]),l.forEach((function(e){t.match(new RegExp(e))&&(r=!0,n[t]?ht.merge(n[t],a[e]):n[Y.randexp(t)]=a[e])})),!r){var s=a[t]||d;s&&!1!==d&&(n[a[t]?Y.randexp(t):t]=i[t]||s)}}));var T=o("fillProperties"),S=o("reuseProperties"),F=Object.keys(n).length+(T?0:A.length),k=function(t){return Y.randexp("_?[_a-f\\d]{1,3}"+(t?"\\$?":""))};function N(t){var e;do{if(!t.length)break;e=t.shift()}while(n[e]);return e}while(T){if(!l.length&&!c)break;if(F>=g)break;if(c)if(S&&h.length-F>g){var _=0,I=void 0;do{if(_+=1,_>1e3)break;I=N(u)||Y.pick(h)}while("undefined"!==typeof n[I]);"undefined"===typeof n[I]&&(n[I]=i[I],F+=1)}else if(l.length&&!d){var O=Y.pick(l),L=Y.randexp(O);n[L]||(n[L]=a[O],F+=1)}else{var R=N(u)||Ft(1)+k();n[R]||(n[R]=d||kt,F+=1)}for(var B=0;F<g&&B<l.length;B+=1){var M=l[B],j=Y.randexp(M);n[j]||(n[j]=a[M],F+=1)}}if(0===u.length&&(!c||!1===m))for(var U=Y.number(g,x);F<U;){var q=N(h);q&&(n[q]=i[q]),F+=1}return s(n,e.concat(["properties"]),r,t)}function _t(){var t=Y.number(1,5);return Ft(t).join(" ")}function It(t,e){void 0===t&&(t=0),void 0===e&&(e=140);var r=Math.max(0,t),s=Y.number(r,e),n=_t();while(n.length<r)n+=_t();return n.length>s&&(n=n.substr(0,s)),n}function Ot(){return[0,0,0,0].map((function(){return Y.number(0,255)})).join(".")}function Lt(){return Y.date().toISOString()}function Rt(){return Lt().slice(0,10)}function Bt(){return Lt().slice(11)}var Mt="[a-zA-Z][a-zA-Z0-9+-.]*",jt="https?://{hostname}(?:"+Mt+")+",Ut="(?:\\?([a-z]{1,7}(=\\w{1,5})?&){0,3})?",qt={email:"[a-zA-Z\\d][a-zA-Z\\d-]{1,13}[a-zA-Z\\d]@{hostname}",hostname:"[a-zA-Z]{1,33}\\.[a-z]{2,4}",ipv6:"[a-f\\d]{4}(:[a-f\\d]{4}){7}",uri:jt,slug:"[a-zA-Z\\d_-]+","uri-reference":""+jt+Ut,"uri-template":jt.replace("(?:","(?:/\\{[a-z][:a-zA-Z0-9-]*\\}|"),"json-pointer":"(/(?:"+Mt.replace("]*","/]*")+"|~[01]))+",uuid:"^[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$"};qt.iri=qt["uri-reference"],qt["iri-reference"]=qt["uri-reference"],qt["idn-email"]=qt.email,qt["idn-hostname"]=qt.hostname;var $t=new RegExp("\\{("+Object.keys(qt).join("|")+")\\}");function zt(t){return Y.randexp(qt[t]).replace($t,(function(t,e){return Y.randexp(qt[e])}))}function Ht(t,e){var r=dt(t.format);if("function"===typeof r)return r(t);switch(t.format){case"date-time":case"datetime":return Lt();case"date":return Rt();case"time":return Bt();case"ipv4":return Ot();case"regex":return".+?";case"email":case"hostname":case"ipv6":case"uri":case"uri-reference":case"iri":case"iri-reference":case"idn-email":case"idn-hostname":case"json-pointer":case"slug":case"uri-template":case"uuid":return zt(t.format);default:if("undefined"===typeof r){if(o("failOnInvalidFormat"))throw new Error("unknown registry key "+ht.short(t.format));return e()}throw new Error("unsupported format '"+t.format+"'")}}function Wt(t){var e=ht.typecast("string",t,(function(e){return t.format?Ht(t,(function(){return It(e.minLength,e.maxLength)})):t.pattern?Y.randexp(t.pattern):It(e.minLength,e.maxLength)}));return e}var Vt={boolean:vt,null:Et,array:Ct,integer:Tt,number:At,object:Nt,string:Wt};function Kt(t,e,r,s){if(t=r(t,null,e),t){if("properties"!==e[e.length-1]){if(o("useExamplesValue")&&Array.isArray(t.examples)){var n=t.examples.concat("default"in t?[t.default]:[]);return ht.typecast(null,t,(function(){return Y.pick(n)}))}if(o("useDefaultValue")&&"default"in t&&(""!==t.default||!o("replaceEmptyByRandomValue")))return t.default;if("template"in t)return ht.template(t.template,s)}if(t.not&&"object"===typeof t.not&&(t=ht.notValue(t.not,ht.omitProps(t,["not"])),t.type&&"object"===t.type))return Kt(t,e.concat(["not"]),r,s);if("const"in t)return t.const;if(Array.isArray(t.enum))return ht.typecast(null,t,(function(){return Y.pick(t.enum)}));if("function"===typeof t.thunk)return Kt(t.thunk(s),e,r);if("function"===typeof t.generate)return ht.typecast(null,t,(function(){return t.generate(s)}));if(t.jsonPath)return t;var i=t.type;if(Array.isArray(i)?i=Y.pick(i):"undefined"===typeof i&&(i=xt(t,e)||i,i&&(t.type=i)),"string"===typeof i){if(!Vt[i]){if(o("failOnInvalidTypes"))throw new mt("unknown primitive "+ht.short(i),e.concat(["type"]));return o("defaultInvalidTypeProduct")}try{return Vt[i](t,e,r,Kt)}catch(u){if("undefined"===typeof u.path)throw new mt(u.stack,e);throw u}}var a={};return Array.isArray(t)&&(a=[]),Object.keys(t).forEach((function(s){"object"===typeof t[s]&&"definitions"!==s?a[s]=Kt(t[s],e.concat([s]),r,a):a[s]=t[s]})),a}}function Jt(t){return"[object Object]"===Object.prototype.toString.call(t)&&!Object.keys(t).length}function Gt(t){return Array.isArray(t)?Y.pick(t):t}function Xt(t,e){if(!Array.isArray(t))return t;var r=e?t.pop():t.shift();return e?t.unshift(r):t.push(r),r}function Yt(t,e){return t&&"object"===typeof t?Array.isArray(t)?t.map((function(t){return Yt(t,!0)})).filter((function(t){return"undefined"!==typeof t})):(Object.keys(t).forEach((function(e){if(Jt(t[e]))delete t[e];else{var r=Yt(t[e]);Jt(r)||(t[e]=r)}})),Object.keys(t).length||!e?t:void 0):t}function Zt(t,e,s,n){if(!t||"object"!==typeof t)return t;if(s||(s={}),e||(e=t),Array.isArray(t))return t.map((function(t){return Zt(t,e,s,n)}));if(t.jsonPath){var i="object"!==typeof t.jsonPath?{path:t.jsonPath}:t.jsonPath;i.group=t.group||i.group||n,i.cycle=t.cycle||i.cycle||!1,i.reverse=t.reverse||i.reverse||!1,i.count=t.count||i.count||1;var a=i.group+"__"+i.path;return s[a]||(i.count>1?s[a]=r.JSONPath(i.path,e).slice(0,i.count):s[a]=r.JSONPath(i.path,e)),i.cycle||i.reverse?Xt(s[a],i.reverse):Gt(s[a])}return Object.keys(t).forEach((function(r){t[r]=Zt(t[r],e,s,r)})),t}function Qt(t,e,r){var s,n=0,i=o("refDepthMin")||0,a=o("refDepthMax")||3;try{var u=Kt(ht.clone(e),[],(function u(c,h,l){if(null===c||void 0===c)return null;if("function"===typeof c.generate)return c;var p=c.$id||c.id;if("string"===typeof p&&(delete c.id,delete c.$id,delete c.$schema),"string"===typeof c.$ref){var f,d=Y.number(Math.min(i,a),Math.max(i,a))-1;if("#"===c.$ref||s===c.$ref&&++n>d)return delete c.$ref,c;if(s=c.$ref,-1===c.$ref.indexOf("#/")&&(f=t[c.$ref]||null),0===c.$ref.indexOf("#/definitions/")&&(f=e.definitions[c.$ref.split("#/definitions/")[1]]||null),"undefined"!==typeof f){if(!f&&!0!==o("ignoreMissingRefs"))throw new Error("Reference not found: "+c.$ref);ht.merge(c,f||{})}return delete c.$ref,c}if(Array.isArray(c.allOf)){var m=c.allOf;delete c.allOf,m.forEach((function(t){var e=u(t,null,l);ht.merge(c,"function"===typeof e.thunk?e.thunk(c):e)}))}if(Array.isArray(c.oneOf||c.anyOf)){var y=c.oneOf||c.anyOf;return c.enum&&c.oneOf&&(c.enum=c.enum.filter((function(t){return ht.validate(t,y)}))),{thunk:function(t){var e=ht.omitProps(c,["anyOf","oneOf"]),r=Y.pick(y);return ht.merge(e,r),y.forEach((function(s){s.required&&s!==r&&s.required.forEach((function(r){e.properties&&e.required&&!e.required.includes(r)&&delete e.properties[r],t&&t.properties&&delete t.properties[r]}))})),e}}}if(Object.keys(c).forEach((function(t){!Array.isArray(c[t])&&"object"!==typeof c[t]||ht.isKey(t)||(c[t]=u(c[t],t,l.concat(t)))})),l){var D=l[l.length-1];if("properties"===D||"items"===D)return c}return r.wrap(c)}));return o("resolveJsonPath")?Zt(Yt(u)):Yt(u)}catch(c){throw c.path?new Error(c.message+" in /"+c.path.join("/")):c}}var te=new pt;function ee(){te.define("pattern",Y.randexp),te.define("autoIncrement",(function(t,e){if(!this.offset){var r=e.minimum||1,s=r+m.MAX_NUMBER,n=t.initialOffset||e.initialOffset;this.offset=n||Y.number(r,s)}return!0===t?this.offset++:e})),te.define("sequentialDate",(function(t,e){if(this.now||(this.now=Y.date()),t){if(e=this.now.toISOString(),t=!0===t?"days":t,-1===["seconds","minutes","hours","days","weeks","months","years"].indexOf(t))throw new Error("Unsupported increment by "+ht.short(t));this.now.setTime(this.now.getTime()+Y.date(t))}return e}))}function re(t){var e={};return Array.isArray(t)?t.forEach((function(t){e[t.$id||t.id]=t})):e=t||{},e}var se=function(t,e,r){return console.log("[json-schema-faker] calling JsonSchemaFaker() is deprecated, call either .generate() or .resolve()"),r&&console.log("[json-schema-faker] references are only supported by calling .resolve()"),se.generate(t,e)};return se.generate=function(t,e){var r=re(e);return Qt(r,t,te)},se.resolve=function(r,s,n){"string"===typeof s&&(n=s,s={}),n=n||("undefined"!==typeof e?e.cwd():""),n=n.replace(/\/+$/,"")+"/";var i=re(s),a={order:300,canRead:!0,read:function(t,e){try{e(null,i[t.url]||i[t.url.split("/").pop()])}catch(r){e(r)}}};return t.dereference(n,r,{resolve:{file:{order:100},http:{order:200},fixedRefs:a},dereference:{circular:"ignore"}}).then((function(t){return Qt(i,t,te)}))},ee(),se.format=dt,se.option=o,se.random=Y,se.extend=function(t,e){return te.extend(t,e),se},se.define=function(t,e){return te.define(t,e),se},se.reset=function(t){return te.reset(t),ee(),se},se.locate=function(t){return te.get(t)},se.version="2.6.4",se}))}).call(this,r("4362"))},e247:function(t,e,r){"use strict";function s(t){return t}var n=s;function i(t,e,r){switch(r.length){case 0:return t.call(e);case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2])}return t.apply(e,r)}var a=i,o=Math.max;function u(t,e,r){return e=o(void 0===e?t.length-1:e,0),function(){var s=arguments,n=-1,i=o(s.length-e,0),u=Array(i);while(++n<i)u[n]=s[e+n];n=-1;var c=Array(e+1);while(++n<e)c[n]=s[n];return c[e]=r(u),a(t,this,c)}}var c=u;function h(t){return function(){return t}}var l=h,p=r("0305"),f=p["a"]?function(t,e){return Object(p["a"])(t,"toString",{configurable:!0,enumerable:!1,value:l(e),writable:!0})}:n,d=f,m=800,y=16,D=Date.now;function g(t){var e=0,r=0;return function(){var s=D(),n=y-(s-r);if(r=s,n>0){if(++e>=m)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}var x=g,b=x(d),v=b;function w(t,e){return v(c(t,e,n),t+"")}var E=w,P=r("6071"),C=r("e56b"),A=r("7129"),T=r("2332");function S(t,e,r){if(!Object(T["a"])(r))return!1;var s=typeof e;return!!("number"==s?Object(C["a"])(r)&&Object(A["a"])(e,r.length):"string"==s&&e in r)&&Object(P["a"])(r[e],t)}var F=S,k=r("e3fa"),N=Object.prototype,_=N.hasOwnProperty,I=E((function(t,e){t=Object(t);var r=-1,s=e.length,n=s>2?e[2]:void 0;n&&F(e[0],e[1],n)&&(s=1);while(++r<s){var i=e[r],a=Object(k["a"])(i),o=-1,u=a.length;while(++o<u){var c=a[o],h=t[c];(void 0===h||Object(P["a"])(h,N[c])&&!_.call(t,c))&&(t[c]=i[c])}}return t}));e["a"]=I},e491:function(t,e,r){"use strict";r.r(e),function(t){function s(t){return s="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"===typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},s(t)}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t,e){if("function"!==typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&o(t,e)}function a(t){return a=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)},a(t)}function o(t,e){return o=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t},o(t,e)}function u(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}function c(t,e,r){return c=u()?Reflect.construct:function(t,e,r){var s=[null];s.push.apply(s,e);var n=Function.bind.apply(t,s),i=new n;return r&&o(i,r.prototype),i},c.apply(null,arguments)}function h(t){return-1!==Function.toString.call(t).indexOf("[native code]")}function l(t){var e="function"===typeof Map?new Map:void 0;return l=function(t){if(null===t||!h(t))return t;if("function"!==typeof t)throw new TypeError("Super expression must either be null or a function");if("undefined"!==typeof e){if(e.has(t))return e.get(t);e.set(t,r)}function r(){return c(t,arguments,a(this).constructor)}return r.prototype=Object.create(t.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),o(r,t)},l(t)}function p(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function f(t,e){return!e||"object"!==typeof e&&"function"!==typeof e?p(t):e}function d(t){return m(t)||y(t)||D()}function m(t){if(Array.isArray(t)){for(var e=0,r=new Array(t.length);e<t.length;e++)r[e]=t[e];return r}}function y(t){if(Symbol.iterator in Object(t)||"[object Arguments]"===Object.prototype.toString.call(t))return Array.from(t)}function D(){throw new TypeError("Invalid attempt to spread non-iterable instance")}r.d(e,"JSONPath",(function(){return A}));var g=function(){try{return"[object process]"===Object.prototype.toString.call(t.process)}catch(e){return!1}},x=["value","path","pointer","parent","parentProperty","all"],b=Object.prototype.hasOwnProperty,v=function(t,e,r){for(var s=t.length,n=0;n<s;n++){var i=t[n];r(i)&&e.push(t.splice(n--,1)[0])}},w=g()?r("0706"):{runInNewContext:function(t,e){var r=Object.keys(e),s=[];v(r,s,(function(t){return"function"===typeof e[t]}));var n=r.map((function(t,r){return e[t]})),i=s.reduce((function(t,r){var s=e[r].toString();return/function/.exec(s)||(s="function "+s),"var "+r+"="+s+";"+t}),"");t=i+t,t.match(/(["'])use strict\1/)||r.includes("arguments")||(t="var arguments = undefined;"+t),t=t.replace(/;[\t-\r \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]*$/,"");var a=t.lastIndexOf(";"),o=a>-1?t.slice(0,a+1)+" return "+t.slice(a+1):" return "+t;return c(Function,d(r).concat([o])).apply(void 0,d(n))}};function E(t,e){return t=t.slice(),t.push(e),t}function P(t,e){return e=e.slice(),e.unshift(t),e}var C=function(t){function e(t){var r;return n(this,e),r=f(this,a(e).call(this,'JSONPath should not be called with "new" (it prevents return of (unwrapped) scalar values)')),r.avoidNew=!0,r.value=t,r.name="NewError",r}return i(e,t),e}(l(Error));function A(t,e,r,n,i){if(!(this instanceof A))try{return new A(t,e,r,n,i)}catch(c){if(!c.avoidNew)throw c;return c.value}"string"===typeof t&&(i=n,n=r,r=e,e=t,t=null);var a=t&&"object"===s(t);if(t=t||{},this.json=t.json||r,this.path=t.path||e,this.resultType=t.resultType&&t.resultType.toLowerCase()||"value",this.flatten=t.flatten||!1,this.wrap=!b.call(t,"wrap")||t.wrap,this.sandbox=t.sandbox||{},this.preventEval=t.preventEval||!1,this.parent=t.parent||null,this.parentProperty=t.parentProperty||null,this.callback=t.callback||n||null,this.otherTypeCallback=t.otherTypeCallback||i||function(){throw new TypeError("You must supply an otherTypeCallback callback option with the @other() operator.")},!1!==t.autostart){var o={path:a?t.path:e};a?"json"in t&&(o.json=t.json):o.json=r;var u=this.evaluate(o);if(!u||"object"!==s(u))throw new C(u);return u}}A.prototype.evaluate=function(t,e,r,n){var i=this,a=this.parent,o=this.parentProperty,u=this.flatten,c=this.wrap;if(this.currResultType=this.resultType,this.currPreventEval=this.preventEval,this.currSandbox=this.sandbox,r=r||this.callback,this.currOtherTypeCallback=n||this.otherTypeCallback,e=e||this.json,t=t||this.path,t&&"object"===s(t)){if(!t.path)throw new TypeError('You must supply a "path" property when providing an object argument to JSONPath.evaluate().');if(!("json"in t))throw new TypeError('You must supply a "json" property when providing an object argument to JSONPath.evaluate().');e=b.call(t,"json")?t.json:e,u=b.call(t,"flatten")?t.flatten:u,this.currResultType=b.call(t,"resultType")?t.resultType:this.currResultType,this.currSandbox=b.call(t,"sandbox")?t.sandbox:this.currSandbox,c=b.call(t,"wrap")?t.wrap:c,this.currPreventEval=b.call(t,"preventEval")?t.preventEval:this.currPreventEval,r=b.call(t,"callback")?t.callback:r,this.currOtherTypeCallback=b.call(t,"otherTypeCallback")?t.otherTypeCallback:this.currOtherTypeCallback,a=b.call(t,"parent")?t.parent:a,o=b.call(t,"parentProperty")?t.parentProperty:o,t=t.path}if(a=a||null,o=o||null,Array.isArray(t)&&(t=A.toPathString(t)),t&&e&&x.includes(this.currResultType)){this._obj=e;var h=A.toPathArray(t);"$"===h[0]&&h.length>1&&h.shift(),this._hasParentSelector=null;var l=this._trace(h,e,["$"],a,o,r).filter((function(t){return t&&!t.isParentSelector}));return l.length?1!==l.length||c||Array.isArray(l[0].value)?l.reduce((function(t,e){var r=i._getPreferredOutput(e);return u&&Array.isArray(r)?t=t.concat(r):t.push(r),t}),[]):this._getPreferredOutput(l[0]):c?[]:void 0}},A.prototype._getPreferredOutput=function(t){var e=this.currResultType;switch(e){default:throw new TypeError("Unknown result type");case"all":return t.pointer=A.toPointer(t.path),t.path="string"===typeof t.path?t.path:A.toPathString(t.path),t;case"value":case"parent":case"parentProperty":return t[e];case"path":return A.toPathString(t[e]);case"pointer":return A.toPointer(t.path)}},A.prototype._handleCallback=function(t,e,r){if(e){var s=this._getPreferredOutput(t);t.path="string"===typeof t.path?t.path:A.toPathString(t.path),e(s,r,t)}},A.prototype._trace=function(t,e,r,n,i,a,o){var u,c=this;if(!t.length)return u={path:r,value:e,parent:n,parentProperty:i},this._handleCallback(u,a,"value"),u;var h=t[0],l=t.slice(1),p=[];function f(t){Array.isArray(t)?t.forEach((function(t){p.push(t)})):p.push(t)}if(("string"!==typeof h||o)&&e&&b.call(e,h))f(this._trace(l,e[h],E(r,h),e,h,a));else if("*"===h)this._walk(h,l,e,r,n,i,a,(function(t,e,r,s,n,i,a,o){f(c._trace(P(t,r),s,n,i,a,o,!0))}));else if(".."===h)f(this._trace(l,e,r,n,i,a)),this._walk(h,l,e,r,n,i,a,(function(t,e,r,n,i,a,o,u){"object"===s(n[t])&&f(c._trace(P(e,r),n[t],E(i,t),n,t,u))}));else{if("^"===h)return this._hasParentSelector=!0,r.length?{path:r.slice(0,-1),expr:l,isParentSelector:!0}:[];if("~"===h)return u={path:E(r,h),value:i,parent:n,parentProperty:null},this._handleCallback(u,a,"property"),u;if("$"===h)f(this._trace(l,e,r,null,null,a));else if(/^(\x2D?[0-9]*):(\x2D?[0-9]*):?([0-9]*)$/.test(h))f(this._slice(h,l,e,r,n,i,a));else if(0===h.indexOf("?(")){if(this.currPreventEval)throw new Error("Eval [?(expr)] prevented in JSONPath expression.");this._walk(h,l,e,r,n,i,a,(function(t,e,r,s,n,i,a,o){c._eval(e.replace(/^\?\(((?:[\0-\t\x0B\f\x0E-\u2027\u202A-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*?)\)$/,"$1"),s[t],t,n,i,a)&&f(c._trace(P(t,r),s,n,i,a,o))}))}else if("("===h[0]){if(this.currPreventEval)throw new Error("Eval [(expr)] prevented in JSONPath expression.");f(this._trace(P(this._eval(h,e,r[r.length-1],r.slice(0,-1),n,i),l),e,r,n,i,a))}else if("@"===h[0]){var d=!1,m=h.slice(1,-2);switch(m){default:throw new TypeError("Unknown value type "+m);case"scalar":e&&["object","function"].includes(s(e))||(d=!0);break;case"boolean":case"string":case"undefined":case"function":s(e)===m&&(d=!0);break;case"number":s(e)===m&&isFinite(e)&&(d=!0);break;case"nonFinite":"number"!==typeof e||isFinite(e)||(d=!0);break;case"object":e&&s(e)===m&&(d=!0);break;case"array":Array.isArray(e)&&(d=!0);break;case"other":d=this.currOtherTypeCallback(e,r,n,i);break;case"integer":e!==Number(e)||!isFinite(e)||e%1||(d=!0);break;case"null":null===e&&(d=!0);break}if(d)return u={path:r,value:e,parent:n,parentProperty:i},this._handleCallback(u,a,"value"),u}else if("`"===h[0]&&e&&b.call(e,h.slice(1))){var y=h.slice(1);f(this._trace(l,e[y],E(r,y),e,y,a,!0))}else if(h.includes(",")){var D=h.split(","),g=!0,x=!1,v=void 0;try{for(var w,C=D[Symbol.iterator]();!(g=(w=C.next()).done);g=!0){var A=w.value;f(this._trace(P(A,l),e,r,n,i,a))}}catch(_){x=!0,v=_}finally{try{g||null==C["return"]||C["return"]()}finally{if(x)throw v}}}else!o&&e&&b.call(e,h)&&f(this._trace(l,e[h],E(r,h),e,h,a,!0))}if(this._hasParentSelector)for(var T=0;T<p.length;T++){var S=p[T];if(S.isParentSelector){var F=c._trace(S.expr,e,S.path,n,i,a);if(Array.isArray(F)){p[T]=F[0];for(var k=F.length,N=1;N<k;N++)T++,p.splice(T,0,F[N])}else p[T]=F}}return p},A.prototype._walk=function(t,e,r,n,i,a,o,u){if(Array.isArray(r))for(var c=r.length,h=0;h<c;h++)u(h,t,e,r,n,i,a,o);else if("object"===s(r))for(var l in r)b.call(r,l)&&u(l,t,e,r,n,i,a,o)},A.prototype._slice=function(t,e,r,s,n,i,a){if(Array.isArray(r)){var o=r.length,u=t.split(":"),c=u[2]&&parseInt(u[2])||1,h=u[0]&&parseInt(u[0])||0,l=u[1]&&parseInt(u[1])||o;h=h<0?Math.max(0,h+o):Math.min(o,h),l=l<0?Math.max(0,l+o):Math.min(o,l);for(var p=[],f=h;f<l;f+=c){var d=this._trace(P(f,e),r,s,n,i,a);Array.isArray(d)?d.forEach((function(t){p.push(t)})):p.push(d)}return p}},A.prototype._eval=function(t,e,r,s,n,i){if(!this._obj||!e)return!1;t.includes("@parentProperty")&&(this.currSandbox._$_parentProperty=i,t=t.replace(/@parentProperty/g,"_$_parentProperty")),t.includes("@parent")&&(this.currSandbox._$_parent=n,t=t.replace(/@parent/g,"_$_parent")),t.includes("@property")&&(this.currSandbox._$_property=r,t=t.replace(/@property/g,"_$_property")),t.includes("@path")&&(this.currSandbox._$_path=A.toPathString(s.concat([r])),t=t.replace(/@path/g,"_$_path")),t.includes("@root")&&(this.currSandbox._$_root=this.json,t=t.replace(/@root/g,"_$_root")),t.match(/@([\t-\r \)\.\[\xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF])/)&&(this.currSandbox._$_v=e,t=t.replace(/@([\t-\r \)\.\[\xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF])/g,"_$_v$1"));try{return w.runInNewContext(t,this.currSandbox)}catch(a){throw console.log(a),new Error("jsonPath: "+a.message+": "+t)}},A.cache={},A.toPathString=function(t){for(var e=t,r=e.length,s="$",n=1;n<r;n++)/^(~|\^|@(?:[\0-\t\x0B\f\x0E-\u2027\u202A-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*?\(\))$/.test(e[n])||(s+=/^[\*0-9]+$/.test(e[n])?"["+e[n]+"]":"['"+e[n]+"']");return s},A.toPointer=function(t){for(var e=t,r=e.length,s="",n=1;n<r;n++)/^(~|\^|@(?:[\0-\t\x0B\f\x0E-\u2027\u202A-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*?\(\))$/.test(e[n])||(s+="/"+e[n].toString().replace(/~/g,"~0").replace(/\//g,"~1"));return s},A.toPathArray=function(t){var e=A.cache;if(e[t])return e[t].concat();var r=[],s=t.replace(/@(?:null|boolean|number|string|integer|undefined|nonFinite|scalar|array|object|function|other)\(\)/g,";$&;").replace(/['\[](\??\((?:[\0-\t\x0B\f\x0E-\u2027\u202A-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*?\))['\]]/g,(function(t,e){return"[#"+(r.push(e)-1)+"]"})).replace(/\['((?:[\0-&\(-\\\^-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)'\]/g,(function(t,e){return"['"+e.replace(/\./g,"%@%").replace(/~/g,"%%@@%%")+"']"})).replace(/~/g,";~;").replace(/'?\.'?(?!(?:[\0-Z\\-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*\])|\['?/g,";").replace(/%@%/g,".").replace(/%%@@%%/g,"~").replace(/(?:;)?(\^+)(?:;)?/g,(function(t,e){return";"+e.split("").join(";")+";"})).replace(/;;;|;;/g,";..;").replace(/;$|'?\]|'$/g,""),n=s.split(";").map((function(t){var e=t.match(/#([0-9]+)/);return e&&e[1]?r[e[1]]:t}));return e[t]=n,e[t]}}.call(this,r("c8ba"))}}]);